NIHVIVO-2508 Preparation for exposing some template model methods as methods rather than properties. Also condensed code used to generate editing links for menu management.

This commit is contained in:
ryounes 2011-08-03 14:55:18 +00:00
parent 44ef90bf6a
commit c356b16807
20 changed files with 83 additions and 51 deletions

View file

@ -140,7 +140,7 @@ public class IndividualController extends FreemarkerHttpServlet {
* This is still safe, because we are only putting BaseTemplateModel objects
* into the data model: no real data can be modified.
*/
//body.put("individual", wrap(itm, BeansWrapper.EXPOSE_SAFE));
// body.put("individual", wrap(itm, BeansWrapper.EXPOSE_SAFE));
body.put("individual", wrap(itm, new ReadOnlyBeansWrapper()));
body.put("headContent", getRdfLinkTag(itm));

View file

@ -272,7 +272,7 @@ public class UrlBuilder {
}
if (profileUrl != null) {
HashMap<String, String> specialParams = getSpecialParams(vreq);
HashMap<String, String> specialParams = getModelParams(vreq);
if(specialParams.size() != 0) {
profileUrl = addParams(profileUrl, new ParamMap(specialParams));
}
@ -321,7 +321,7 @@ public class UrlBuilder {
//To be used in different property templates so placing method for reuse here
//Check if special params included, specifically for menu management and other models
public static HashMap<String,String> getSpecialParams(VitroRequest vreq) {
public static HashMap<String,String> getModelParams(VitroRequest vreq) {
HashMap<String,String> specialParams = new HashMap<String, String>();
if(vreq != null) {

View file

@ -58,7 +58,7 @@ public abstract class BaseTemplateModel {
AntiScript.cleanMapValues(map, getServletContext());
}
public static ServletContext getServletContext() {
protected static ServletContext getServletContext() {
return servletContext;
}
@ -66,5 +66,6 @@ public abstract class BaseTemplateModel {
servletContext = context;
}
/* Template properties */
}

View file

@ -29,10 +29,6 @@ public class LinkTemplateModel extends BaseTemplateModel {
setUrl(path, params);
}
public String getUrl() {
return cleanTextForDisplay( url );
}
protected void setUrl(String path) {
url = UrlBuilder.getUrl(path);
}
@ -45,12 +41,17 @@ public class LinkTemplateModel extends BaseTemplateModel {
url = UrlBuilder.getUrl(path, params);
}
public String getText() {
return cleanTextForDisplay(text);
}
protected void setText(String text) {
this.text = StringEscapeUtils.escapeHtml(text);
}
/* Template properties */
public String getUrl() {
return cleanTextForDisplay( url );
}
public String getText() {
return cleanTextForDisplay(text);
}
}

View file

@ -15,6 +15,8 @@ public class Tags extends BaseTemplateModel {
public Tags(LinkedHashSet<String> tags) {
this.tags = tags;
}
/* Template methods */
public void add(String... tags) {
for (String tag : tags) {

View file

@ -42,6 +42,10 @@ public class User extends BaseTemplateModel {
return url;
}
/* Template methods */
/* Template properties */
public boolean isLoggedIn() {
return currentUser != null;

View file

@ -284,7 +284,7 @@ public class CollatedObjectPropertyTemplateModel extends ObjectPropertyTemplateM
// }
/* Access methods for templates */
/* Template properties */
public List<SubclassTemplateModel> getSubclasses() {
return subclasses;

View file

@ -96,7 +96,10 @@ public class DataPropertyStatementTemplateModel extends PropertyStatementTemplat
}
/* Access methods for templates */
/* Template properties */
/* Template methods */
public String getValue() {
return value;
@ -113,11 +116,8 @@ public class DataPropertyStatementTemplateModel extends PropertyStatementTemplat
params.put("deleteProhibited", "prohibited");
}
//Check if special parameters being sent
HashMap<String, String> specialParams = UrlBuilder.getSpecialParams(vreq);
if(specialParams.size() > 0) {
params.putAll(specialParams);
}
params.putAll(UrlBuilder.getModelParams(vreq));
editUrl = UrlBuilder.getUrl(EDIT_PATH, params);
}
return editUrl;
@ -132,11 +132,7 @@ public class DataPropertyStatementTemplateModel extends PropertyStatementTemplat
"datapropKey", dataPropHash,
"cmd", "delete");
//Check if special parameters being sent
HashMap<String, String> specialParams = UrlBuilder.getSpecialParams(vreq);
if(specialParams.size() > 0) {
params.putAll(specialParams);
}
params.putAll(UrlBuilder.getModelParams(vreq));
deleteUrl = UrlBuilder.getUrl(EDIT_PATH, params);
}

View file

@ -104,11 +104,8 @@ public class DataPropertyTemplateModel extends PropertyTemplateModel {
"subjectUri", subjectUri,
"predicateUri", propertyUri);
//Check if special parameters being sent
HashMap<String, String> specialParams = UrlBuilder.getSpecialParams(vreq);
if(specialParams.size() > 0) {
params.putAll(specialParams);
}
params.putAll(UrlBuilder.getModelParams(vreq));
addUrl = UrlBuilder.getUrl(EDIT_PATH, params);
}
return addUrl;

View file

@ -426,11 +426,14 @@ public class GroupedPropertyList extends BaseTemplateModel {
return label;
}
/* Access methods for templates */
/* Template properties */
public List<PropertyGroupTemplateModel> getAll() {
return groups;
}
/* Template methods */
public PropertyTemplateModel getProperty(String propertyUri) {

View file

@ -82,11 +82,7 @@ public class ObjectPropertyStatementTemplateModel extends PropertyStatementTempl
params.put("deleteProhibited", "prohibited");
}
//Check if special parameters being sent
HashMap<String, String> specialParams = UrlBuilder.getSpecialParams(vreq);
if(specialParams.size() > 0) {
params.putAll(specialParams);
}
params.putAll(UrlBuilder.getModelParams(vreq));
editUrl = UrlBuilder.getUrl(EDIT_PATH, params);
}
@ -105,6 +101,7 @@ public class ObjectPropertyStatementTemplateModel extends PropertyStatementTempl
"predicateUri", propertyUri,
"objectUri", objectUri,
"cmd", "delete");
for ( String key : data.keySet() ) {
String value = data.get(key);
// Remove an entry with a null value instead of letting it get passed
@ -116,13 +113,10 @@ public class ObjectPropertyStatementTemplateModel extends PropertyStatementTempl
params.put("statement_" + key, data.get(key));
}
}
params.put("templateName", templateName);
//Check if special parameters being sent
HashMap<String, String> specialParams = UrlBuilder.getSpecialParams(vreq);
if(specialParams.size() > 0) {
params.putAll(specialParams);
}
params.putAll(UrlBuilder.getModelParams(vreq));
deleteUrl = UrlBuilder.getUrl(EDIT_PATH, params);

View file

@ -583,12 +583,8 @@ public abstract class ObjectPropertyTemplateModel extends PropertyTemplateModel
"subjectUri", subjectUri,
"predicateUri", propertyUri);
//Check if special parameters being sent
HashMap<String, String> specialParams = UrlBuilder.getSpecialParams(vreq);
if(specialParams.size() > 0) {
params.putAll(specialParams);
}
params.putAll(UrlBuilder.getModelParams(vreq));
addUrl = UrlBuilder.getUrl(EDIT_PATH, params);
}

View file

@ -21,6 +21,8 @@ public class MainMenuItem extends MenuItem {
this.active = active;
}
/* Template properties */
public boolean isActive() {
return active;
}

View file

@ -26,6 +26,8 @@ public class Menu extends BaseTemplateModel {
items.add(new MenuItem(text, path));
}
/* Template properties */
public List<MenuItem> getItems() {
return items;
}

View file

@ -26,6 +26,8 @@ public class MenuItem extends BaseTemplateModel {
this.active = active;
}
/* Template properties */
public String getLinkText() {
return text;
}

View file

@ -43,7 +43,7 @@ public abstract class BaseIndividualSearchResult extends BaseTemplateModel {
return models;
}
/* Access methods for templates */
/* Template properties */
public String getProfileUrl() {
return UrlBuilder.getIndividualProfileUrl(individual, vreq);