Fixed problem with OpeningHoursParser.

The parser did not distinguish between "off" (valid in opening_hours)
and "of".
This commit is contained in:
Robin Schneider 2013-07-23 22:48:30 +02:00
parent 7813006b96
commit 3f963b511f
2 changed files with 7 additions and 6 deletions

View file

@ -1,3 +1,4 @@
Authors of patches and pull requests : Authors of patches and pull requests:
Hardy Mueller Hardy Mueller
Robin `ypid` Schneider

View file

@ -468,7 +468,7 @@ public class OpeningHoursParser {
// time starts // time starts
break; break;
} }
if (ch == 'o' && r.charAt(k+1) == 'f' && r.charAt(k+1) == 'f'){ if (r.substring(k, k + 2).equals("off")) {
// value "off" is found // value "off" is found
break; break;
} }
@ -584,18 +584,18 @@ public class OpeningHoursParser {
if(i1 == -1) { if(i1 == -1) {
// if no minutes are given, try complete value as hour // if no minutes are given, try complete value as hour
startHour = Integer.parseInt(stEnd[0].trim()); startHour = Integer.parseInt(stEnd[0].trim());
startMin = 0; startMin = 0;
} else { } else {
startHour = Integer.parseInt(stEnd[0].substring(0, i1).trim()); startHour = Integer.parseInt(stEnd[0].substring(0, i1).trim());
startMin = Integer.parseInt(stEnd[0].substring(i1 + 1).trim()); startMin = Integer.parseInt(stEnd[0].substring(i1 + 1).trim());
} }
if(i2 == -1) { if(i2 == -1) {
// if no minutes are given, try complete value as hour // if no minutes are given, try complete value as hour
endHour = Integer.parseInt(stEnd[1].trim()); endHour = Integer.parseInt(stEnd[1].trim());
endMin = 0; endMin = 0;
} else { } else {
endHour = Integer.parseInt(stEnd[1].substring(0, i2).trim()); endHour = Integer.parseInt(stEnd[1].substring(0, i2).trim());
endMin = Integer.parseInt(stEnd[1].substring(i2 + 1).trim()); endMin = Integer.parseInt(stEnd[1].substring(i2 + 1).trim());
} }
st = startHour * 60 + startMin; st = startHour * 60 + startMin;
end = endHour * 60 + endMin; end = endHour * 60 + endMin;