diff --git a/src/main/java/no/nibio/vips/logic/controller/session/ObservationBean.java b/src/main/java/no/nibio/vips/logic/controller/session/ObservationBean.java index a92f370e5e80a948f855e30dd7a0dfb4d225c597..43a909d005a0db4eb436d9d15966b0706d372675 100755 --- a/src/main/java/no/nibio/vips/logic/controller/session/ObservationBean.java +++ b/src/main/java/no/nibio/vips/logic/controller/session/ObservationBean.java @@ -813,7 +813,10 @@ public class ObservationBean { // First: Convert to Jackson JsonNode tree ObjectMapper m = new ObjectMapper(); JsonNode rootNode = m.readTree(ods.getDataSchema()); - Iterator<Entry<String, JsonNode>> nodeIterator = rootNode.fields(); + // Is this the full schema or just the "properties" property? + JsonNode propertiesNode = rootNode.get("properties") == null ? rootNode : rootNode.get("properties"); + + Iterator<Entry<String, JsonNode>> nodeIterator = propertiesNode.fields(); String fieldKeyPrefix = "observationDataField_"; // Loop through each field @@ -828,9 +831,19 @@ public class ObservationBean { // Get the property field (e.g. {"title":"Counting 2"} ) JsonNode schemaProperty = schemaPropertyField.getValue(); ((ObjectNode)schemaProperty).put("title", bundle.getString(fieldKeyPrefix + fieldKey)); - ((ObjectNode)rootNode).replace(fieldKey, schemaProperty); + ((ObjectNode)propertiesNode).replace(fieldKey, schemaProperty); } } + + // I repeat: Is this the full schema or just the "properties" property? + if(rootNode.get("properties") != null) + { + ((ObjectNode)rootNode).replace("properties", propertiesNode); + } + else + { + rootNode = propertiesNode; + } ods.setDataSchema(m.writeValueAsString(rootNode)); return ods; } diff --git a/src/main/java/no/nibio/vips/observationdata/ObservationDataService.java b/src/main/java/no/nibio/vips/observationdata/ObservationDataService.java index 04e3a2c2838c9c968287f88f0cd1554033d2afdf..0fe287301cfbba0bbaf5018e699ea411dde7e6d2 100755 --- a/src/main/java/no/nibio/vips/observationdata/ObservationDataService.java +++ b/src/main/java/no/nibio/vips/observationdata/ObservationDataService.java @@ -71,34 +71,7 @@ public class ObservationDataService { { // Try to find schema for given organism/organization ObservationDataSchema ods = SessionControllerGetter.getObservationBean().getObservationDataSchema(organizationId, organismId); - /* - ResourceBundle bundle = SessionLocaleUtil.getI18nBundle(httpServletRequest); - // We iterate the schema, replacing default field labels with - // translated ones - // First: Convert to Jackson JsonNode tree - ObjectMapper m = new ObjectMapper(); - JsonNode rootNode = m.readTree(ods.getDataSchema()); - Iterator<Entry<String, JsonNode>> nodeIterator = rootNode.fields(); - - String fieldKeyPrefix = "observationDataField_"; - // Loop through each field - while (nodeIterator.hasNext()) { - Map.Entry<String, JsonNode> schemaPropertyField = (Map.Entry<String, JsonNode>) nodeIterator.next(); - // Get the property field key (e.g. "counting2") - String fieldKey = schemaPropertyField.getKey(); - // Find a translation. - if(bundle.containsKey(fieldKeyPrefix + fieldKey)) - { - // If found, replace with translation - // Get the property field (e.g. {"title":"Counting 2"} ) - JsonNode schemaProperty = schemaPropertyField.getValue(); - ((ObjectNode)schemaProperty).put("title", bundle.getString(fieldKeyPrefix + fieldKey)); - ((ObjectNode)rootNode).replace(fieldKey, schemaProperty); - } - } - return Response.ok().entity(rootNode).build(); - */ ods = SessionControllerGetter.getObservationBean().getLocalizedObservationDataSchema(ods, httpServletRequest); return Response.ok().entity(ods.getDataSchema()).build(); diff --git a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts.properties b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts.properties index 5e16d81b9f6129d5ec23e3bfe42ba75d04001f53..5be420e5e3de518011f1e61eeb00f408a5454a21 100755 --- a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts.properties +++ b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts.properties @@ -519,3 +519,5 @@ slidingHoursAhead=Reference period, forwards (hours) thresholdHumidPeriodHours=Threshold Number of consecutive humid hours sprayingProtectionDays=Expected protection period (days) after spraying leafLifeTime=Leaf life time (days) +observationDataField_trapCountCropEdge=Number of trap counts at field's edge +observationDataField_trapCountCropInside=Number of trap counts inside the field diff --git a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_bs.properties b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_bs.properties index 308b8df9daa6f85eece0964f103e5010f958b648..e05ec2219e43177a3e3a2e6969f8ddf2646c660f 100755 --- a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_bs.properties +++ b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_bs.properties @@ -519,3 +519,5 @@ slidingHoursAhead=Reference period, forwards (hours) thresholdHumidPeriodHours=Threshold Number of consecutive humid hours sprayingProtectionDays=Expected protection period (days) after spraying leafLifeTime=Leaf life time (days) +observationDataField_trapCountCropEdge=Number of trap counts at field's edge +observationDataField_trapCountCropInside=Number of trap counts inside the field diff --git a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_hr.properties b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_hr.properties index 8778e533db693e5274ba898d6029648c42bbd32c..53622e17f15ea09a0ecd7a21a6da0fa101996fa2 100755 --- a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_hr.properties +++ b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_hr.properties @@ -518,3 +518,5 @@ slidingHoursAhead=Reference period, forwards (hours) thresholdHumidPeriodHours=Threshold Number of consecutive humid hours sprayingProtectionDays=Expected protection period (days) after spraying leafLifeTime=Leaf life time (days) +observationDataField_trapCountCropEdge=Number of trap catches at field's edge +observationDataField_trapCountCropInside=Number of trap catches inside the field diff --git a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_nb.properties b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_nb.properties index f51e7c48a13bee175109e3d6738891033431d3d7..06e7837c0d5b959c4dc94bd7b4197ade19a0e66c 100755 --- a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_nb.properties +++ b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_nb.properties @@ -519,3 +519,5 @@ slidingHoursAhead=Prognoseperiode, fremover (timer) thresholdHumidPeriodHours=Antall sammenhengende "fuktige timer" sprayingProtectionDays=Forv. ant. dager beskyttelse etter spr\u00f8yting leafLifeTime=Levetid for blad (dager) +observationDataField_trapCountCropEdge=Antall insekter, fellefangst i kant av felt\n +observationDataField_trapCountCropInside=Antall insekter, fellefangst inne i felt diff --git a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_sr.properties b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_sr.properties index f6215ae74c208098821fc71e8b4bb67a510fc384..72ad9e2d27b17bd624702d02101aedcf6c025a56 100755 --- a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_sr.properties +++ b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_sr.properties @@ -519,3 +519,5 @@ slidingHoursAhead=Reference period, forwards (hours) thresholdHumidPeriodHours=Threshold Number of consecutive humid hours sprayingProtectionDays=Expected protection period (days) after spraying leafLifeTime=Leaf life time (days) +observationDataField_trapCountCropEdge=Number of trap counts at field's edge +observationDataField_trapCountCropInside=Number of trap counts inside the field diff --git a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_zh_CN.properties b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_zh_CN.properties index d81d3f41d0e8643d8c7beb49fe0191544e2fd1cc..1052757bdcaf1927db83c19ac6d1ce4cfbad08c2 100755 --- a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_zh_CN.properties +++ b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_zh_CN.properties @@ -516,3 +516,5 @@ slidingHoursAhead=Reference period, forwards (hours) thresholdHumidPeriodHours=Threshold Number of consecutive humid hours sprayingProtectionDays=Expected protection period (days) after spraying leafLifeTime=Leaf life time (days) +observationDataField_trapCountCropEdge=Number of trap counts at field's edge +observationDataField_trapCountCropInside=Number of trap counts inside the field diff --git a/src/main/webapp/templates/observationForm.ftl b/src/main/webapp/templates/observationForm.ftl index cd245efd4783bebe6d15e265d296494543fcfe95..ba74844547aa78e06a5b4fe6074aa91124f38550 100755 --- a/src/main/webapp/templates/observationForm.ftl +++ b/src/main/webapp/templates/observationForm.ftl @@ -133,6 +133,11 @@ var buildForm = function(schemaProperties) { + // Check if we're getting the whole schema or just the properties + if(schemaProperties.properties != undefined) + { + schemaProperties = schemaProperties.properties; + } observationSchema = schemaProperties; // Erasing whatever was there before var metawidgetC = document.getElementById( 'metawidget' );