Refactoring in BaseTemplateModel hierarchy: since vreq is declared at the top level, move initializations to the top-level constructor.
This commit is contained in:
parent
45ff2441c6
commit
9d3cfcba69
18 changed files with 56 additions and 50 deletions
|
@ -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);
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -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<Literal> 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<String, String> specialParams = UrlBuilder.getSpecialParams(vitroRequest);
|
||||
//Check if special parameters being sent
|
||||
HashMap<String, String> 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<String, String> specialParams = UrlBuilder.getSpecialParams(vitroRequest);
|
||||
HashMap<String, String> specialParams = UrlBuilder.getSpecialParams(vreq);
|
||||
if(specialParams.size() > 0) {
|
||||
params.putAll(specialParams);
|
||||
}
|
||||
|
||||
deleteUrl = UrlBuilder.getUrl(EDIT_PATH, params);
|
||||
}
|
||||
return deleteUrl;
|
||||
|
|
|
@ -37,7 +37,6 @@ public class DataPropertyTemplateModel extends PropertyTemplateModel {
|
|||
EditingPolicyHelper policyHelper, List<DataProperty> populatedDataPropertyList) {
|
||||
|
||||
super(dp, subject, policyHelper, vreq);
|
||||
vitroRequest = vreq;
|
||||
setName(dp.getPublicName());
|
||||
|
||||
statements = new ArrayList<DataPropertyStatementTemplateModel>();
|
||||
|
@ -106,7 +105,7 @@ public class DataPropertyTemplateModel extends PropertyTemplateModel {
|
|||
"predicateUri", propertyUri);
|
||||
|
||||
//Check if special parameters being sent
|
||||
HashMap<String, String> specialParams = UrlBuilder.getSpecialParams(vitroRequest);
|
||||
HashMap<String, String> specialParams = UrlBuilder.getSpecialParams(vreq);
|
||||
if(specialParams.size() > 0) {
|
||||
params.putAll(specialParams);
|
||||
}
|
||||
|
|
|
@ -56,8 +56,8 @@ public class GroupedPropertyList extends BaseTemplateModel {
|
|||
private List<PropertyGroupTemplateModel> groups;
|
||||
|
||||
GroupedPropertyList(Individual subject, VitroRequest vreq, EditingPolicyHelper policyHelper) {
|
||||
super(vreq);
|
||||
this.subject = subject;
|
||||
this.vreq = vreq;
|
||||
this.wdf = vreq.getWebappDaoFactory();
|
||||
|
||||
boolean editing = policyHelper != null;
|
||||
|
|
|
@ -28,18 +28,17 @@ public class ObjectPropertyStatementTemplateModel extends PropertyStatementTempl
|
|||
private Map<String, String> 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<String, String> 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<String, String> specialParams = UrlBuilder.getSpecialParams(vitroRequest);
|
||||
HashMap<String, String> 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<String, String> specialParams = UrlBuilder.getSpecialParams(vitroRequest);
|
||||
HashMap<String, String> specialParams = UrlBuilder.getSpecialParams(vreq);
|
||||
if(specialParams.size() > 0) {
|
||||
params.putAll(specialParams);
|
||||
}
|
||||
|
||||
deleteUrl = UrlBuilder.getUrl(EDIT_PATH, params);
|
||||
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -28,6 +28,7 @@ public class PropertyGroupTemplateModel extends BaseTemplateModel {
|
|||
PropertyGroupTemplateModel(VitroRequest vreq, PropertyGroup group,
|
||||
Individual subject, EditingPolicyHelper policyHelper,
|
||||
List<DataProperty> populatedDataPropertyList, List<ObjectProperty> populatedObjectPropertyList) {
|
||||
|
||||
this.name = group.getName();
|
||||
|
||||
List<Property> propertyList = group.getPropertyList();
|
||||
|
|
|
@ -25,7 +25,8 @@ public abstract class PropertyStatementTemplateModel extends BaseTemplateModel {
|
|||
protected String propertyUri = null;
|
||||
private List<EditAccess> 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<EditAccess>();
|
||||
|
|
|
@ -31,13 +31,12 @@ public abstract class PropertyTemplateModel extends BaseTemplateModel {
|
|||
protected String propertyUri;
|
||||
protected Map<String, Object> 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);
|
||||
|
|
|
@ -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<ListedIndividual> getIndividualTemplateModels(List<Individual> individuals, VitroRequest vreq) {
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -18,8 +18,13 @@ public class Menu extends BaseTemplateModel {
|
|||
|
||||
protected List<MenuItem> items;
|
||||
|
||||
public Menu() {
|
||||
items = new ArrayList<MenuItem>();
|
||||
public Menu(VitroRequest vreq) {
|
||||
super(vreq);
|
||||
items = new ArrayList<MenuItem>();
|
||||
}
|
||||
|
||||
public Menu() {
|
||||
items = new ArrayList<MenuItem>();
|
||||
}
|
||||
|
||||
public void addItem(String text, String path) {
|
||||
|
|
|
@ -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() {
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue