diff --git a/main/src/main/java/org/mobilitydata/gtfsvalidator/report/JsonReportSummary.java b/main/src/main/java/org/mobilitydata/gtfsvalidator/report/JsonReportSummary.java index 4732ad4bde..3840cbe9a8 100644 --- a/main/src/main/java/org/mobilitydata/gtfsvalidator/report/JsonReportSummary.java +++ b/main/src/main/java/org/mobilitydata/gtfsvalidator/report/JsonReportSummary.java @@ -114,6 +114,7 @@ private static class JsonReportFeedInfo { public JsonReportFeedInfo(Map feedInfo) { publisherName = feedInfo.get(FeedMetadata.FEED_INFO_PUBLISHER_NAME); publisherUrl = feedInfo.get(FeedMetadata.FEED_INFO_PUBLISHER_URL); + feedContactEmail = feedInfo.get(FeedMetadata.FEED_INFO_FEED_CONTACT_EMAIL); feedLanguage = feedInfo.get(FeedMetadata.FEED_INFO_FEED_LANGUAGE); feedStartDate = feedInfo.get(FeedMetadata.FEED_INFO_FEED_START_DATE); feedEndDate = feedInfo.get(FeedMetadata.FEED_INFO_FEED_END_DATE); @@ -124,6 +125,7 @@ public JsonReportFeedInfo(Map feedInfo) { String feedLanguage; String feedStartDate; String feedEndDate; + String feedContactEmail; } private static class JsonReportAgencyMetadata { diff --git a/main/src/main/java/org/mobilitydata/gtfsvalidator/report/model/FeedMetadata.java b/main/src/main/java/org/mobilitydata/gtfsvalidator/report/model/FeedMetadata.java index 4aba98a51b..46bbe985c3 100644 --- a/main/src/main/java/org/mobilitydata/gtfsvalidator/report/model/FeedMetadata.java +++ b/main/src/main/java/org/mobilitydata/gtfsvalidator/report/model/FeedMetadata.java @@ -16,6 +16,7 @@ public class FeedMetadata { */ public static final String FEED_INFO_PUBLISHER_NAME = "Publisher Name"; public static final String FEED_INFO_PUBLISHER_URL = "Publisher URL"; + public static final String FEED_INFO_FEED_CONTACT_EMAIL = "Feed Email"; public static final String FEED_INFO_FEED_LANGUAGE = "Feed Language"; public static final String FEED_INFO_FEED_START_DATE = "Feed Start Date"; public static final String FEED_INFO_FEED_END_DATE = "Feed End Date"; @@ -363,6 +364,7 @@ private void loadFeedInfo(GtfsTableContainer feedTable) { feedInfo.put(FEED_INFO_PUBLISHER_NAME, info == null ? "N/A" : info.feedPublisherName()); feedInfo.put(FEED_INFO_PUBLISHER_URL, info == null ? "N/A" : info.feedPublisherUrl()); + feedInfo.put(FEED_INFO_FEED_CONTACT_EMAIL, info == null ? "N/A" : info.feedContactEmail()); feedInfo.put( FEED_INFO_FEED_LANGUAGE, info == null ? "N/A" : info.feedLang().getDisplayLanguage()); if (feedTable.hasColumn(GtfsFeedInfo.FEED_START_DATE_FIELD_NAME)) { diff --git a/main/src/test/java/org/mobilitydata/gtfsvalidator/report/model/JsonReportSummaryTest.java b/main/src/test/java/org/mobilitydata/gtfsvalidator/report/model/JsonReportSummaryTest.java index 7b554f6b3b..8cda2a8007 100644 --- a/main/src/test/java/org/mobilitydata/gtfsvalidator/report/model/JsonReportSummaryTest.java +++ b/main/src/test/java/org/mobilitydata/gtfsvalidator/report/model/JsonReportSummaryTest.java @@ -62,6 +62,8 @@ private static FeedMetadata generateFeedMetaData() { "value1", FeedMetadata.FEED_INFO_PUBLISHER_URL, "value2", + FeedMetadata.FEED_INFO_FEED_CONTACT_EMAIL, + "me@foo.com", "Illegal Key", "Some Value" // Should not be present in the resulting GSON ); @@ -118,7 +120,7 @@ public void withFeedMetadataWithConfigTest() throws Exception { + "\"htmlReportName\":\"some_html_filename\"," + "\"countryCode\":\"GB\"," + "\"dateForValidation\":\"2020-01-02\"," - + "\"feedInfo\":{\"publisherName\":\"value1\",\"publisherUrl\":\"value2\"}," + + "\"feedInfo\":{\"publisherName\":\"value1\",\"publisherUrl\":\"value2\",\"feedContactEmail\":\"me@foo.com\"}," + "\"validationTimeSeconds\":100.0," + "\"agencies\":[" + "{\"name\":\"agency1\",\"url\":\"some URL 1\",\"phone\":\"phone1\",\"email\":\"email1\"}," @@ -140,7 +142,7 @@ public void withFeedMetadataNoConfigTest() throws Exception { "{\"validatorVersion\":\"1.0\"," + "\"validatedAt\":\"now\"," + "\"threads\":0," - + "\"feedInfo\":{\"publisherName\":\"value1\",\"publisherUrl\":\"value2\"}," + + "\"feedInfo\":{\"publisherName\":\"value1\",\"publisherUrl\":\"value2\",\"feedContactEmail\":\"me@foo.com\"}," + "\"validationTimeSeconds\":100.0," + "\"agencies\":[" + "{\"name\":\"agency1\",\"url\":\"some URL 1\",\"phone\":\"phone1\",\"email\":\"email1\"},"