updating these two generators to include methods to return queries/etc. that can then be overridden in Datastar. The code for VIVO should still function exactly the same.

This commit is contained in:
hjkhjk54 2012-10-22 21:58:10 +00:00
parent 117f634829
commit fbcbaa75cb
2 changed files with 34 additions and 8 deletions

View file

@ -45,12 +45,12 @@ core:rank
*/
public class AddEditWebpageFormGenerator extends BaseEditConfigurationGenerator implements EditConfigurationGenerator {
public static Log log = LogFactory.getLog( AddEditWebpageFormGenerator.class );
private static String formTemplate = "addEditWebpageForm.ftl";
@Override
public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, HttpSession session) throws Exception {
EditConfigurationVTwo config = new EditConfigurationVTwo();
config.setTemplate("addEditWebpageForm.ftl");
config.setTemplate(this.getTemplate());
initBasics(config, vreq);
initPropertyParameters(vreq, session, config);
@ -64,8 +64,8 @@ public class AddEditWebpageFormGenerator extends BaseEditConfigurationGenerator
config.setN3Required(list( N3_FOR_WEBPAGE, N3_FOR_URLTYPE ));
config.setN3Optional(list( N3_FOR_ANCHOR, N3_FOR_RANK));
config.addUrisInScope("webpageProperty", list( core + "webpage"));
config.addUrisInScope("inverseProperty", list( core + "webpageOf"));
config.addUrisInScope("webpageProperty", list( this.getWebpageProperty()));
config.addUrisInScope("inverseProperty", list( this.getWebpageOfProperty()));
config.addUrisInScope("linkClass", list( core + "URLLink"));
config.addUrisInScope("linkURI", list( core + "linkURI" ));
config.addUrisInScope("linkAnchorPredicate", list( core + "linkAnchorText" ));
@ -167,7 +167,7 @@ public class AddEditWebpageFormGenerator extends BaseEditConfigurationGenerator
int maxRank = 0; // default value
if (objectUri == null) { // adding new webpage
String queryStr = QueryUtils.subUriForQueryVar(MAX_RANK_QUERY, "subject", subjectUri);
String queryStr = QueryUtils.subUriForQueryVar(this.getMaxRankQueryStr(), "subject", subjectUri);
log.debug("Query string is: " + queryStr);
try {
ResultSet results = QueryUtils.getQueryResults(queryStr, vreq);
@ -193,4 +193,21 @@ public class AddEditWebpageFormGenerator extends BaseEditConfigurationGenerator
return maxRank;
}
protected String getTemplate() {
return formTemplate;
}
protected String getWebpageProperty() {
return core + "webpage";
}
protected String getWebpageOfProperty() {
return core + "webpageOf";
}
protected String getMaxRankQueryStr() {
return MAX_RANK_QUERY;
}
}

View file

@ -55,7 +55,7 @@ public class ManageWebpagesForIndividualGenerator extends BaseEditConfigurationG
ParamMap paramMap = new ParamMap();
paramMap.put("subjectUri", config.getSubjectUri());
paramMap.put("editForm", AddEditWebpageFormGenerator.class.getName());
paramMap.put("editForm", this.getEditForm());
paramMap.put("view", "form");
String path = UrlBuilder.getUrl( UrlBuilder.Route.EDIT_REQUEST_DISPATCH ,paramMap);
@ -64,7 +64,7 @@ public class ManageWebpagesForIndividualGenerator extends BaseEditConfigurationG
paramMap = new ParamMap();
paramMap.put("subjectUri", config.getSubjectUri());
paramMap.put("predicateUri", config.getPredicateUri());
paramMap.put("editForm" , AddEditWebpageFormGenerator.class.getName() );
paramMap.put("editForm" , this.getEditForm() );
paramMap.put("cancelTo", "manage");
path = UrlBuilder.getUrl( UrlBuilder.Route.EDIT_REQUEST_DISPATCH ,paramMap);
@ -93,7 +93,7 @@ public class ManageWebpagesForIndividualGenerator extends BaseEditConfigurationG
private List<Map<String, String>> getWebpages(String subjectUri, VitroRequest vreq) {
String queryStr = QueryUtils.subUriForQueryVar(WEBPAGE_QUERY, "subject", subjectUri);
String queryStr = QueryUtils.subUriForQueryVar(this.getQuery(), "subject", subjectUri);
log.debug("Query string is: " + queryStr);
List<Map<String, String>> webpages = new ArrayList<Map<String, String>>();
try {
@ -111,4 +111,13 @@ public class ManageWebpagesForIndividualGenerator extends BaseEditConfigurationG
return webpages;
}
//Putting this into a method allows overriding it in subclasses
protected String getEditForm() {
return AddEditWebpageFormGenerator.class.getName();
}
protected String getQuery() {
return WEBPAGE_QUERY;
}
}