From c833f5d76caf0964ebffc88d2947c21e312a81a8 Mon Sep 17 00:00:00 2001 From: hjkhjk54 Date: Fri, 2 Dec 2011 18:03:28 +0000 Subject: [PATCH] updates for not having entire edit template within read only wrapper as that was causing errors but only the object property information --- .../EditRequestDispatchController.java | 4 +- .../edit/EditConfigurationTemplateModel.java | 47 +++++++------------ 2 files changed, 18 insertions(+), 33 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/EditRequestDispatchController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/EditRequestDispatchController.java index 23c3a249c..8e1a9f64a 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/EditRequestDispatchController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/EditRequestDispatchController.java @@ -106,9 +106,7 @@ public class EditRequestDispatchController extends FreemarkerHttpServlet { //what goes in the map for templates? Map templateData = new HashMap(); EditConfigurationTemplateModel etm = new EditConfigurationTemplateModel( editConfig, vreq); - //Similar to individual controller, we're exposing getters that require paramters as well here - - //Used specifically since we are including object property statement template model - templateData.put("editConfiguration", wrap(etm, new ReadOnlyBeansWrapper())); + templateData.put("editConfiguration", etm); templateData.put("editSubmission", submissionTemplateModel); //Corresponding to original note for consistency with selenium tests and 1.1.1 templateData.put("title", "Edit"); 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 39851dbeb..32d0fdbd0 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 @@ -35,11 +35,16 @@ import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTw import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditElementVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.SelectListGeneratorVTwo; +import edu.cornell.mannlib.vitro.webapp.web.beanswrappers.ReadOnlyBeansWrapper; import edu.cornell.mannlib.vitro.webapp.web.templatemodels.BaseTemplateModel; import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.DataPropertyStatementTemplateModel; import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.EditingPolicyHelper; import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.ObjectPropertyStatementTemplateModel; import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.PropertyStatementTemplateModel; +import freemarker.ext.beans.BeansWrapper; +import freemarker.template.DefaultObjectWrapper; +import freemarker.template.TemplateModel; +import freemarker.template.TemplateModelException; public class EditConfigurationTemplateModel extends BaseTemplateModel { EditConfigurationVTwo editConfig; @@ -89,21 +94,6 @@ public class EditConfigurationTemplateModel extends BaseTemplateModel { //Based on certain pre-set fields/variables, look for what //drop-downs need to be populated 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) { -// WebappDaoFactory wdf = vreq.getWebappDaoFactory(); -// Map optionsMap = SelectListGeneratorVTwo.getOptions(editConfig, field , wdf); -// pageData.put(field, optionsMap); -// } -// } -// } //For each field with an optionType defined, create the options WebappDaoFactory wdf = vreq.getWebappDaoFactory(); @@ -120,18 +110,6 @@ public class EditConfigurationTemplateModel extends BaseTemplateModel { } pageData.put(fieldName, SelectListGeneratorVTwo.getOptions(editConfig, fieldName, wdf)); } - -// String predicateUri = editConfig.getPredicateUri(); -// if(predicateUri != null) { -// if(pageData.containsKey("objectSelect")) { -// List fieldNames = (List)pageData.get("objectSelect"); -// for(String field:fieldNames) { -// WebappDaoFactory wdf = vreq.getWebappDaoFactory(); -// Map optionsMap = SelectListGeneratorVTwo.getOptions(editConfig, field , wdf); -// pageData.put(field, optionsMap); -// } -// } -// } } //TODO: Check if this should return a list instead @@ -254,10 +232,11 @@ public class EditConfigurationTemplateModel extends BaseTemplateModel { return (String) pageData.get("submitLabel"); } + /* public Map getRangeOptions() { Map rangeOptions = (Map) pageData.get("rangeOptions"); return rangeOptions; - } + }*/ //Get literals in scope, i.e. variable names with values assigned public Map> getLiteralValues() { @@ -424,7 +403,7 @@ public class EditConfigurationTemplateModel extends BaseTemplateModel { } //TODO: Implement statement display - public ObjectPropertyStatementTemplateModel getObjectStatementDisplay() { + public TemplateModel getObjectStatementDisplay() throws TemplateModelException { Map statementDisplay = new HashMap(); String subjectUri = EditConfigurationUtils.getSubjectUri(vreq); String predicateUri = EditConfigurationUtils.getPredicateUri(vreq); @@ -450,7 +429,15 @@ public class EditConfigurationTemplateModel extends BaseTemplateModel { objectKey, statementDisplay, null, null, vreq); - return osm; + ReadOnlyBeansWrapper wrapper = new ReadOnlyBeansWrapper(); + return wrapper.wrap(osm); + /* TemplateModel tm = null; + try { + tm = wrapper.wrap(osm); + } catch(Exception ex) { + log.error("Error occurred in wrapping object property statement model", ex); + } + return tm;*/ } public String getDataStatementDisplay() {