diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditN3GeneratorVTwo.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditN3GeneratorVTwo.java index 9b264c5ae..6e97c5a75 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditN3GeneratorVTwo.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditN3GeneratorVTwo.java @@ -168,7 +168,11 @@ public class EditN3GeneratorVTwo { //make the multivalue literal string List n3Values = new ArrayList(values.size()); for( Literal value : values){ - n3Values.add( formatLiteral(value) ); + if(value != null) { + n3Values.add( formatLiteral(value) ); + } else { + log.debug("value of literal for " + var + " was null"); + } } String valueString = org.apache.commons.lang.StringUtils.join(n3Values, ","); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultObjectPropertyFormGenerator.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultObjectPropertyFormGenerator.java index fd7899d8e..d89683657 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultObjectPropertyFormGenerator.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultObjectPropertyFormGenerator.java @@ -123,6 +123,8 @@ public class DefaultObjectPropertyFormGenerator implements EditConfigurationGene setTemplate(editConfiguration, vreq); //Set edit key setEditKey(editConfiguration, vreq); + //Adding additional data, specifically edit mode + addFormSpecificData(editConfiguration, vreq); return editConfiguration; } @@ -523,6 +525,18 @@ public class DefaultObjectPropertyFormGenerator implements EditConfigurationGene } } + //Form specific data + public void addFormSpecificData(EditConfigurationVTwo editConfiguration, VitroRequest vreq) { + HashMap formSpecificData = new HashMap(); + //range options need to be stored for object property + //Store field names + List objectSelect = new ArrayList(); + objectSelect.add(editConfiguration.getVarNameForObject()); + //TODO: Check if this is the proper way to do this? + formSpecificData.put("objectSelect", objectSelect); + editConfiguration.setFormSpecificData(formSpecificData); + } + } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/edit/EditConfigurationTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/edit/EditConfigurationTemplateModel.java index 3c40db334..2e9ffa819 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/edit/EditConfigurationTemplateModel.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/edit/EditConfigurationTemplateModel.java @@ -96,9 +96,6 @@ public class EditConfigurationTemplateModel extends BaseTemplateModel { private void populateDropdowns() { String predicateUri = editConfig.getPredicateUri(); if(predicateUri != null) { - if(EditConfigurationUtils.isObjectProperty(editConfig.getPredicateUri(), vreq)) { - setRangeOptions(); - } if(pageData.containsKey("objectSelect")) { List fieldNames = (List)pageData.get("objectSelect"); for(String field:fieldNames) { @@ -123,11 +120,6 @@ public class EditConfigurationTemplateModel extends BaseTemplateModel { } return selectedValue; } - - private boolean isRangeOptionsExist() { - boolean rangeOptionsExist = (pageData.get("rangeOptionsExist") != null && (Boolean) pageData.get("rangeOptionsExist") == true); - return rangeOptionsExist; - } private void setFormTitle() { String predicateUri = editConfig.getPredicateUri(); @@ -228,29 +220,6 @@ public class EditConfigurationTemplateModel extends BaseTemplateModel { } - private void setRangeOptions() { - ObjectProperty prop = EditConfigurationUtils.getObjectProperty(vreq); - if( prop != null && prop.getSelectFromExisting() ){ - WebappDaoFactory wdf = vreq.getWebappDaoFactory(); - //TODO: Change this to varname for object from object property? - String fieldName = editConfig.getVarNameForObject(); - //TODO: Check if this still works? - Map rangeOptions = SelectListGeneratorVTwo.getOptions(editConfig, fieldName , wdf); - if( rangeOptions != null && rangeOptions.size() > 0 ) { - pageData.put("rangeOptionsExist", true); - pageData.put("rangeOptions", rangeOptions); - } else { - pageData.put("rangeOptionsExist",false); - } - } - - } - - - //Get page data - public boolean getRangeOptionsExist() { - return isRangeOptionsExist(); - } public String getFormTitle() { return (String) pageData.get("formTitle"); 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 432cd0491..1f4322fb8 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 @@ -28,5 +28,9 @@ public class MultiValueEditSubmissionTemplateModel { public Map> getUrisFromForm() { return editSub.getUrisFromForm(); } + + public boolean getSubmissionExists() { + return (this.editSub != null); + } } diff --git a/webapp/web/templates/freemarker/edit/forms/defaultOfferCreateNewOptionForm.ftl b/webapp/web/templates/freemarker/edit/forms/defaultOfferCreateNewOptionForm.ftl index 0415b145f..0cb338828 100644 --- a/webapp/web/templates/freemarker/edit/forms/defaultOfferCreateNewOptionForm.ftl +++ b/webapp/web/templates/freemarker/edit/forms/defaultOfferCreateNewOptionForm.ftl @@ -1,6 +1,6 @@ <#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> - <#if editConfiguration.rangeOptionsExist = true > + <#if rangeOptionsExist = true >

If you don't find the appropriate entry on the selection list above:

<#else>

Please create a new entry.

diff --git a/webapp/web/templates/freemarker/edit/forms/defaultPropertyForm.ftl b/webapp/web/templates/freemarker/edit/forms/defaultPropertyForm.ftl index 69589bc99..52de6a490 100644 --- a/webapp/web/templates/freemarker/edit/forms/defaultPropertyForm.ftl +++ b/webapp/web/templates/freemarker/edit/forms/defaultPropertyForm.ftl @@ -1,10 +1,17 @@ <#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> +<#--Assign variables from editConfig--> +<#assign rangeOptions = editConfiguration.pageData.objectVar /> +<#assign rangeOptionsExist = false /> +<#if (rangeOptions?keys?size > 0)> + <#assign rangeOptionsExist = true/> + +

${editConfiguration.formTitle}

<#if editConfiguration.propertySelectFromExisting = true> - <#if editConfiguration.rangeOptionsExist = true > - <#assign rangeOptionKeys = editConfiguration.rangeOptions?keys /> + <#if rangeOptionsExist = true > + <#assign rangeOptionKeys = rangeOptions?keys />
<#if editConfiguration.propertyPublicDescription?has_content> @@ -12,14 +19,14 @@

or - Cancel + Cancel