diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditConfigurationUtils.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditConfigurationUtils.java index a62b49d81..93cf1292d 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditConfigurationUtils.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditConfigurationUtils.java @@ -207,34 +207,42 @@ public class EditConfigurationUtils { return dataHash; } + // + //Copied from the original input element formatting tag //Allows the retrieval of the string values for the literals //Useful for cases with date/time and other mechanisms public static Map> getExistingLiteralValues(VitroRequest vreq, EditConfigurationVTwo editConfig) { - Map> literalsInScopeStringValues = new HashMap>(); - Map> literalsInScope = editConfig.getLiteralsInScope(); - - for(String key: literalsInScope.keySet() ) { - List stringValues = processLiteral(editConfig, key); - literalsInScopeStringValues.put(key, stringValues); - } + Map> literalsInScopeStringValues = transformLiteralMap(editConfig.getLiteralsInScope()); return literalsInScopeStringValues; } - //Copied from input element formatting tag - private static List processLiteral(EditConfigurationVTwo editConfig, String fieldName) { - Map> literalsInScope = editConfig.getLiteralsInScope(); + private static List transformLiteralListToStringList(List literalValues){ List stringValues = new ArrayList(); - List literalValues = literalsInScope.get(fieldName); - //TODO: Check whether it's correct that literal values would be null? - if(literalValues != null) { + if(literalValues != null) { for(Literal l: literalValues) { //Could do additional processing here if required, for example if date etc. if need be - stringValues.add(l.getValue().toString()); + if(l != null) { + stringValues.add(l.getValue().toString()); + } + //else { + //TODO: //Do we keep null as a value for this key? + //stringValues.add(null); + //} } } - return stringValues; - } + return stringValues; + } + + public static Map> transformLiteralMap(Map> map) { + Map> literalMapStringValues = new HashMap>(); + + for(String key: map.keySet() ) { + List stringValues = transformLiteralListToStringList(map.get(key)); + literalMapStringValues.put(key, stringValues); + } + return literalMapStringValues; + } public static Map> getExistingUriValues(EditConfigurationVTwo editConfig) { return editConfig.getUrisInScope(); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/edit/MultiValueEditSubmissionTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/edit/MultiValueEditSubmissionTemplateModel.java index bf5331bd8..b60b9b3ff 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/edit/MultiValueEditSubmissionTemplateModel.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/edit/MultiValueEditSubmissionTemplateModel.java @@ -6,6 +6,7 @@ import java.util.Map; import java.util.List; import com.hp.hpl.jena.rdf.model.Literal; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.MultiValueEditSubmission; public class MultiValueEditSubmissionTemplateModel { @@ -16,10 +17,11 @@ public class MultiValueEditSubmissionTemplateModel { this.editSub = editSub; } - public Map> getLiteralsFromForm() { + public Map> getLiteralsFromForm() { if(editSub == null) return null; - return editSub.getLiteralsFromForm(); + //Transforms from string to list of literals TO string to list of strings + return EditConfigurationUtils.transformLiteralMap(editSub.getLiteralsFromForm()); }