Skip to content

Commit 3a4dbdc

Browse files
authored
Merge 6fe7e3e into b597b7c
2 parents b597b7c + 6fe7e3e commit 3a4dbdc

File tree

3 files changed

+38
-8
lines changed

3 files changed

+38
-8
lines changed

core/src/main/java/org/mobilitydata/gtfsvalidator/table/AnyTableLoader.java

-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ public final class AnyTableLoader {
3232
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
3333
private static final List<Class<? extends FileValidator>> singleFileValidatorsWithParsingErrors =
3434
new ArrayList<>();
35-
3635
private static final List<Class<? extends SingleEntityValidator>>
3736
singleEntityValidatorsWithParsingErrors = new ArrayList<>();
3837

main/src/main/java/org/mobilitydata/gtfsvalidator/table/GtfsFeedInfoSchema.java

+2-7
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,11 @@
1717
package org.mobilitydata.gtfsvalidator.table;
1818

1919
import java.util.Locale;
20-
import org.mobilitydata.gtfsvalidator.annotation.EndRange;
21-
import org.mobilitydata.gtfsvalidator.annotation.FieldType;
22-
import org.mobilitydata.gtfsvalidator.annotation.FieldTypeEnum;
23-
import org.mobilitydata.gtfsvalidator.annotation.GtfsTable;
24-
import org.mobilitydata.gtfsvalidator.annotation.Recommended;
25-
import org.mobilitydata.gtfsvalidator.annotation.Required;
20+
import org.mobilitydata.gtfsvalidator.annotation.*;
2621
import org.mobilitydata.gtfsvalidator.type.GtfsDate;
2722

2823
@GtfsTable(value = "feed_info.txt", singleRow = true)
29-
@Recommended
24+
@ConditionallyRequired
3025
public interface GtfsFeedInfoSchema extends GtfsEntity {
3126
@Required
3227
String feedPublisherName();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package org.mobilitydata.gtfsvalidator.validator;
2+
3+
import javax.inject.Inject;
4+
import org.mobilitydata.gtfsvalidator.annotation.GtfsValidator;
5+
import org.mobilitydata.gtfsvalidator.notice.MissingRecommendedFileNotice;
6+
import org.mobilitydata.gtfsvalidator.notice.MissingRequiredFileNotice;
7+
import org.mobilitydata.gtfsvalidator.notice.NoticeContainer;
8+
import org.mobilitydata.gtfsvalidator.table.GtfsFeedInfo;
9+
import org.mobilitydata.gtfsvalidator.table.GtfsFeedInfoTableContainer;
10+
import org.mobilitydata.gtfsvalidator.table.GtfsTranslationTableContainer;
11+
12+
@GtfsValidator
13+
public class MissingFeedInfoValidator extends FileValidator {
14+
15+
private final GtfsFeedInfoTableContainer feedInfoTable;
16+
private final GtfsTranslationTableContainer translationTable;
17+
18+
@Inject
19+
public MissingFeedInfoValidator(
20+
GtfsFeedInfoTableContainer feedInfoTable, GtfsTranslationTableContainer translationTable) {
21+
this.feedInfoTable = feedInfoTable;
22+
this.translationTable = translationTable;
23+
}
24+
25+
@Override
26+
public void validate(NoticeContainer noticeContainer) {
27+
if (feedInfoTable.isMissingFile()) {
28+
if (translationTable.isMissingFile()) {
29+
noticeContainer.addValidationNotice(
30+
new MissingRecommendedFileNotice(GtfsFeedInfo.FILENAME));
31+
} else {
32+
noticeContainer.addValidationNotice(new MissingRequiredFileNotice(GtfsFeedInfo.FILENAME));
33+
}
34+
}
35+
}
36+
}

0 commit comments

Comments
 (0)