diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/BaseTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/BaseTemplateModel.java index b1710e141..28f419a76 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/BaseTemplateModel.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/BaseTemplateModel.java @@ -2,8 +2,6 @@ package edu.cornell.mannlib.vitro.webapp.web.templatemodels; -import java.util.HashMap; - import javax.servlet.ServletContext; import org.apache.commons.logging.Log; @@ -17,8 +15,19 @@ public abstract class BaseTemplateModel { private static final Log log = LogFactory.getLog(BaseTemplateModel.class); - protected static ServletContext servletContext = null; - public VitroRequest vitroRequest = null; + protected static ServletContext servletContext; + protected final VitroRequest vreq; + + protected BaseTemplateModel(VitroRequest vreq) { + this.vreq = vreq; + } + + // Some BaseTemplateModel classes don't need vreq, so provide an + // argumentless constructor. + protected BaseTemplateModel() { + this.vreq = null; + }; + // Convenience method so subclasses can call getUrl(path) protected String getUrl(String path) { return UrlBuilder.getUrl(path); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/User.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/User.java index 80c22699c..708b4e64d 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/User.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/User.java @@ -16,12 +16,11 @@ import edu.cornell.mannlib.vitro.webapp.controller.freemarker.SiteAdminControlle import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder; public class User extends BaseTemplateModel { - private final VitroRequest vreq; private final UserAccount currentUser; private final String profileUrl; public User(VitroRequest vreq) { - this.vreq = vreq; + super(vreq); this.currentUser = LoginStatusBean.getCurrentUser(vreq); this.profileUrl = figureAssociatedProfileUrl(); } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/BaseIndividualTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/BaseIndividualTemplateModel.java index 0a1faeec3..3e10a5988 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/BaseIndividualTemplateModel.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/BaseIndividualTemplateModel.java @@ -32,15 +32,14 @@ public abstract class BaseIndividualTemplateModel extends BaseTemplateModel { private static final Log log = LogFactory.getLog(BaseIndividualTemplateModel.class); protected Individual individual; - protected VitroRequest vreq; protected UrlBuilder urlBuilder; - protected GroupedPropertyList propertyList = null; - protected LoginStatusBean loginStatusBean = null; - private EditingPolicyHelper policyHelper = null; + protected GroupedPropertyList propertyList; + protected LoginStatusBean loginStatusBean; + private EditingPolicyHelper policyHelper; public BaseIndividualTemplateModel(Individual individual, VitroRequest vreq) { + super(vreq); this.individual = individual; - this.vreq = vreq; this.loginStatusBean = LoginStatusBean.getBean(vreq); // Needed for getting portal-sensitive urls. Remove if multi-portal support is removed. this.urlBuilder = new UrlBuilder(vreq.getAppBean()); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/CollatedObjectPropertyTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/CollatedObjectPropertyTemplateModel.java index ad967f21a..fdbc60d6f 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/CollatedObjectPropertyTemplateModel.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/CollatedObjectPropertyTemplateModel.java @@ -23,9 +23,7 @@ import edu.cornell.mannlib.vitro.webapp.beans.Individual; import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty; import edu.cornell.mannlib.vitro.webapp.beans.VClass; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; -import edu.cornell.mannlib.vitro.webapp.dao.ObjectPropertyStatementDao; import edu.cornell.mannlib.vitro.webapp.dao.VClassDao; -import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; public class CollatedObjectPropertyTemplateModel extends ObjectPropertyTemplateModel { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyStatementTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyStatementTemplateModel.java index 1e21f39ca..c53a56cf3 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyStatementTemplateModel.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyStatementTemplateModel.java @@ -34,10 +34,9 @@ public class DataPropertyStatementTemplateModel extends PropertyStatementTemplat //Extended to include vitro request to check for special parameters DataPropertyStatementTemplateModel(String subjectUri, String propertyUri, Literal literal, EditingPolicyHelper policyHelper, VitroRequest vreq) { - super(subjectUri, propertyUri, policyHelper); + super(subjectUri, propertyUri, policyHelper, vreq); this.value = literal.getLexicalForm(); - this.vitroRequest = vreq; setEditAccess(literal, policyHelper, propertyUri); } @@ -49,8 +48,7 @@ public class DataPropertyStatementTemplateModel extends PropertyStatementTemplat * rdfs:label. */ DataPropertyStatementTemplateModel(String subjectUri, String propertyUri, VitroRequest vreq, EditingPolicyHelper policyHelper) { - super(subjectUri, propertyUri, policyHelper); - vitroRequest = vreq; + super(subjectUri, propertyUri, policyHelper, vreq); DataPropertyStatementDao dpsDao = vreq.getWebappDaoFactory().getDataPropertyStatementDao(); List literals = dpsDao.getDataPropertyValuesForIndividualByProperty(subjectUri, propertyUri); @@ -112,9 +110,9 @@ public class DataPropertyStatementTemplateModel extends PropertyStatementTemplat if (! isDeletable()) { params.put("deleteProhibited", "prohibited"); } - //Check if special parameters being sent - HashMap specialParams = UrlBuilder.getSpecialParams(vitroRequest); + //Check if special parameters being sent + HashMap specialParams = UrlBuilder.getSpecialParams(vreq); if(specialParams.size() > 0) { params.putAll(specialParams); } @@ -131,11 +129,13 @@ public class DataPropertyStatementTemplateModel extends PropertyStatementTemplat "predicateUri", propertyUri, "datapropKey", dataPropHash, "cmd", "delete"); + //Check if special parameters being sent - HashMap specialParams = UrlBuilder.getSpecialParams(vitroRequest); + HashMap specialParams = UrlBuilder.getSpecialParams(vreq); if(specialParams.size() > 0) { params.putAll(specialParams); } + deleteUrl = UrlBuilder.getUrl(EDIT_PATH, params); } return deleteUrl; diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyTemplateModel.java index e22678d75..be39889a1 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyTemplateModel.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyTemplateModel.java @@ -37,7 +37,6 @@ public class DataPropertyTemplateModel extends PropertyTemplateModel { EditingPolicyHelper policyHelper, List populatedDataPropertyList) { super(dp, subject, policyHelper, vreq); - vitroRequest = vreq; setName(dp.getPublicName()); statements = new ArrayList(); @@ -106,7 +105,7 @@ public class DataPropertyTemplateModel extends PropertyTemplateModel { "predicateUri", propertyUri); //Check if special parameters being sent - HashMap specialParams = UrlBuilder.getSpecialParams(vitroRequest); + HashMap specialParams = UrlBuilder.getSpecialParams(vreq); if(specialParams.size() > 0) { params.putAll(specialParams); } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/GroupedPropertyList.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/GroupedPropertyList.java index e7658096c..fa49d8ab7 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/GroupedPropertyList.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/GroupedPropertyList.java @@ -56,8 +56,8 @@ public class GroupedPropertyList extends BaseTemplateModel { private List groups; GroupedPropertyList(Individual subject, VitroRequest vreq, EditingPolicyHelper policyHelper) { + super(vreq); this.subject = subject; - this.vreq = vreq; this.wdf = vreq.getWebappDaoFactory(); boolean editing = policyHelper != null; diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyStatementTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyStatementTemplateModel.java index b24a1d1fc..4ba3362aa 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyStatementTemplateModel.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyStatementTemplateModel.java @@ -28,18 +28,17 @@ public class ObjectPropertyStatementTemplateModel extends PropertyStatementTempl private Map data; // Used for editing - private String objectUri = null; - private String templateName = null; - private VitroRequest vitroRequest = null; + private String objectUri; + private String templateName; + //Updating to include Vitro Request ObjectPropertyStatementTemplateModel(String subjectUri, String propertyUri, String objectKey, Map data, EditingPolicyHelper policyHelper, String templateName, VitroRequest vreq) { - super(subjectUri, propertyUri, policyHelper); + super(subjectUri, propertyUri, policyHelper, vreq); this.data = data; this.objectUri = data.get(objectKey); this.templateName = templateName; - this.vitroRequest = vreq; setEditAccess(policyHelper); } @@ -52,8 +51,7 @@ public class ObjectPropertyStatementTemplateModel extends PropertyStatementTempl */ ObjectPropertyStatementTemplateModel(String subjectUri, String propertyUri, VitroRequest vreq, EditingPolicyHelper policyHelper) { - super(subjectUri, propertyUri, policyHelper); - vitroRequest = vreq; + super(subjectUri, propertyUri, policyHelper, vreq); } private void setEditAccess(EditingPolicyHelper policyHelper) { @@ -96,11 +94,13 @@ public class ObjectPropertyStatementTemplateModel extends PropertyStatementTempl if (! isDeletable()) { params.put("deleteProhibited", "prohibited"); } + //Check if special parameters being sent - HashMap specialParams = UrlBuilder.getSpecialParams(vitroRequest); + HashMap specialParams = UrlBuilder.getSpecialParams(vreq); if(specialParams.size() > 0) { params.putAll(specialParams); } + editUrl = UrlBuilder.getUrl(EDIT_PATH, params); } @@ -130,11 +130,13 @@ public class ObjectPropertyStatementTemplateModel extends PropertyStatementTempl } } params.put("templateName", templateName); + //Check if special parameters being sent - HashMap specialParams = UrlBuilder.getSpecialParams(vitroRequest); + HashMap specialParams = UrlBuilder.getSpecialParams(vreq); if(specialParams.size() > 0) { params.putAll(specialParams); } + deleteUrl = UrlBuilder.getUrl(EDIT_PATH, params); } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyTemplateModel.java index fe40c4093..c67945b45 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyTemplateModel.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyTemplateModel.java @@ -101,7 +101,6 @@ public abstract class ObjectPropertyTemplateModel extends PropertyTemplateModel throws InvalidConfigurationException { super(op, subject, policyHelper, vreq); - this.vitroRequest = vreq; setName(op.getDomainPublic()); // Get the config for this object property diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyGroupTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyGroupTemplateModel.java index 513401af4..792e848f6 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyGroupTemplateModel.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyGroupTemplateModel.java @@ -28,6 +28,7 @@ public class PropertyGroupTemplateModel extends BaseTemplateModel { PropertyGroupTemplateModel(VitroRequest vreq, PropertyGroup group, Individual subject, EditingPolicyHelper policyHelper, List populatedDataPropertyList, List populatedObjectPropertyList) { + this.name = group.getName(); List propertyList = group.getPropertyList(); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyStatementTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyStatementTemplateModel.java index 8dbdf7edd..a51921d22 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyStatementTemplateModel.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyStatementTemplateModel.java @@ -25,7 +25,8 @@ public abstract class PropertyStatementTemplateModel extends BaseTemplateModel { protected String propertyUri = null; private List editAccessList = null; - PropertyStatementTemplateModel(String subjectUri, String propertyUri, EditingPolicyHelper policyHelper) { + PropertyStatementTemplateModel(String subjectUri, String propertyUri, EditingPolicyHelper policyHelper, VitroRequest vreq) { + super(vreq); // Instantiate the list even if not editing, so calls to getEditUrl() and getDeleteUrl() from // dump methods don't generate an error when they call isEditable() and isDeletable(). editAccessList = new ArrayList(); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyTemplateModel.java index 00a83c8d8..82bc63d7d 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyTemplateModel.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyTemplateModel.java @@ -31,13 +31,12 @@ public abstract class PropertyTemplateModel extends BaseTemplateModel { protected String propertyUri; protected Map verboseDisplay = null; protected String subjectUri = null; - protected VitroRequest vreq; protected boolean addAccess = false; PropertyTemplateModel(Property property, Individual subject, EditingPolicyHelper policyHelper, VitroRequest vreq) { + super(vreq); subjectUri = subject.getURI(); propertyUri = property.getURI(); - this.vreq = vreq; localName = property.getLocalName(); log.debug("Local name for property " + propertyUri + ": " + localName); setVerboseDisplayValues(property); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individuallist/BaseListedIndividual.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individuallist/BaseListedIndividual.java index a24e485d7..9f0e54833 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individuallist/BaseListedIndividual.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individuallist/BaseListedIndividual.java @@ -19,12 +19,11 @@ public abstract class BaseListedIndividual extends BaseTemplateModel { private static final Log log = LogFactory.getLog(BaseListedIndividual.class); - protected Individual individual; - protected VitroRequest vreq; + protected Individual individual; public BaseListedIndividual(Individual individual, VitroRequest vreq) { + super(vreq); this.individual = individual; - this.vreq = vreq; } public static List getIndividualTemplateModels(List individuals, VitroRequest vreq) { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/MainMenu.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/MainMenu.java index 53c7f3cd9..b3c8f58a6 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/MainMenu.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/MainMenu.java @@ -17,12 +17,10 @@ public class MainMenu extends Menu { private static final long serialVersionUID = 1L; private static final Log log = LogFactory.getLog(MainMenu.class); - protected VitroRequest vreq; - public MainMenu(){ } public MainMenu(VitroRequest vreq) { - this.vreq = vreq; + super(vreq); } public void addItem(String text, String path) { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/Menu.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/Menu.java index 9ae142098..fe1c69873 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/Menu.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/Menu.java @@ -18,8 +18,13 @@ public class Menu extends BaseTemplateModel { protected List items; - public Menu() { - items = new ArrayList(); + public Menu(VitroRequest vreq) { + super(vreq); + items = new ArrayList(); + } + + public Menu() { + items = new ArrayList(); } public void addItem(String text, String path) { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/MenuItem.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/MenuItem.java index def4dcff8..715948b5e 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/MenuItem.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/MenuItem.java @@ -21,9 +21,9 @@ public class MenuItem extends BaseTemplateModel { } public MenuItem(String linkText, String path, boolean active){ - this.text= linkText; + this.text = linkText; this.path = path; - this.active= active; + this.active = active; } public String getLinkText() { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/searchresult/BaseIndividualSearchResult.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/searchresult/BaseIndividualSearchResult.java index e497c108e..15d2b5681 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/searchresult/BaseIndividualSearchResult.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/searchresult/BaseIndividualSearchResult.java @@ -23,11 +23,10 @@ public abstract class BaseIndividualSearchResult extends BaseTemplateModel { private static final Log log = LogFactory.getLog(BaseIndividualSearchResult.class); protected Individual individual; - protected VitroRequest vreq; public BaseIndividualSearchResult(Individual individual, VitroRequest vreq) { - this.individual = individual; - this.vreq = vreq; + super(vreq); + this.individual = individual; } protected String getView(ClassView view) { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/searchresult/IndividualSearchResult.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/searchresult/IndividualSearchResult.java index 4014c48ef..36628b9ec 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/searchresult/IndividualSearchResult.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/searchresult/IndividualSearchResult.java @@ -13,7 +13,6 @@ public class IndividualSearchResult extends BaseIndividualSearchResult { private static final Log log = LogFactory.getLog(IndividualSearchResult.class); protected Individual individual; - protected VitroRequest vreq; public IndividualSearchResult(Individual individual, VitroRequest vreq) { super(individual, vreq);