VIVO-140 Modify client code to get language-aware extract from VClassGroupCache
This commit is contained in:
parent
24562b6746
commit
ebcf6079a5
16 changed files with 85 additions and 77 deletions
|
@ -17,6 +17,7 @@ import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup;
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues;
|
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues;
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.TemplateResponseValues;
|
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.TemplateResponseValues;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupsForRequest;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.VClassGroupCache;
|
import edu.cornell.mannlib.vitro.webapp.dao.jena.VClassGroupCache;
|
||||||
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.VClassGroupTemplateModel;
|
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.VClassGroupTemplateModel;
|
||||||
|
|
||||||
|
@ -46,7 +47,6 @@ public class BrowseController extends FreemarkerHttpServlet {
|
||||||
protected ResponseValues processRequest(VitroRequest vreq) {
|
protected ResponseValues processRequest(VitroRequest vreq) {
|
||||||
|
|
||||||
Map<String, Object> body = new HashMap<String, Object>();
|
Map<String, Object> body = new HashMap<String, Object>();
|
||||||
String message = null;
|
|
||||||
String templateName = TEMPLATE_DEFAULT;
|
String templateName = TEMPLATE_DEFAULT;
|
||||||
|
|
||||||
if ( vreq.getParameter("clearcache") != null ) {
|
if ( vreq.getParameter("clearcache") != null ) {
|
||||||
|
@ -57,25 +57,13 @@ public class BrowseController extends FreemarkerHttpServlet {
|
||||||
}
|
}
|
||||||
|
|
||||||
List<VClassGroup> groups = null;
|
List<VClassGroup> groups = null;
|
||||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(getServletContext());
|
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||||
if ( vcgc == null ) {
|
groups =vcgc.getGroups();
|
||||||
log.error("Could not get VClassGroupCache");
|
List<VClassGroupTemplateModel> vcgroups = new ArrayList<VClassGroupTemplateModel>(groups.size());
|
||||||
message = "The system is not configured correctly. Please check your logs for error messages.";
|
for (VClassGroup group : groups) {
|
||||||
} else {
|
vcgroups.add(new VClassGroupTemplateModel(group));
|
||||||
groups =vcgc.getGroups();
|
|
||||||
List<VClassGroupTemplateModel> vcgroups = new ArrayList<VClassGroupTemplateModel>(groups.size());
|
|
||||||
for (VClassGroup group : groups) {
|
|
||||||
vcgroups.add(new VClassGroupTemplateModel(group));
|
|
||||||
}
|
|
||||||
body.put("classGroups", vcgroups);
|
|
||||||
}
|
}
|
||||||
|
body.put("classGroups", vcgroups);
|
||||||
if (message != null) {
|
|
||||||
body.put("message", message);
|
|
||||||
templateName = Template.TITLED_MESSAGE.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return new TemplateResponseValues(templateName, body);
|
return new TemplateResponseValues(templateName, body);
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,7 @@ import org.json.JSONObject;
|
||||||
import edu.cornell.mannlib.vitro.webapp.beans.VClass;
|
import edu.cornell.mannlib.vitro.webapp.beans.VClass;
|
||||||
import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup;
|
import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup;
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupsForRequest;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.VClassGroupCache;
|
import edu.cornell.mannlib.vitro.webapp.dao.jena.VClassGroupCache;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -32,7 +33,7 @@ public class GetVClassesForVClassGroup extends JsonObjectProducer {
|
||||||
throw new Exception("no URI passed for classgroupUri");
|
throw new Exception("no URI passed for classgroupUri");
|
||||||
}
|
}
|
||||||
|
|
||||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(ctx);
|
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||||
VClassGroup vcg = vcgc.getGroup(vcgUri);
|
VClassGroup vcg = vcgc.getGroup(vcgUri);
|
||||||
if( vcg == null ){
|
if( vcg == null ){
|
||||||
throw new Exception("Could not find vclassgroup: " + vcgUri);
|
throw new Exception("Could not find vclassgroup: " + vcgUri);
|
||||||
|
|
|
@ -18,8 +18,6 @@ import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
|
||||||
import com.hp.hpl.jena.ontology.OntModel;
|
import com.hp.hpl.jena.ontology.OntModel;
|
||||||
import com.hp.hpl.jena.rdf.model.Literal;
|
|
||||||
import com.hp.hpl.jena.rdf.model.Resource;
|
|
||||||
import com.hp.hpl.jena.query.Query;
|
import com.hp.hpl.jena.query.Query;
|
||||||
import com.hp.hpl.jena.query.QueryExecution;
|
import com.hp.hpl.jena.query.QueryExecution;
|
||||||
import com.hp.hpl.jena.query.QueryExecutionFactory;
|
import com.hp.hpl.jena.query.QueryExecutionFactory;
|
||||||
|
@ -27,6 +25,8 @@ import com.hp.hpl.jena.query.QueryFactory;
|
||||||
import com.hp.hpl.jena.query.QuerySolution;
|
import com.hp.hpl.jena.query.QuerySolution;
|
||||||
import com.hp.hpl.jena.query.QuerySolutionMap;
|
import com.hp.hpl.jena.query.QuerySolutionMap;
|
||||||
import com.hp.hpl.jena.query.ResultSet;
|
import com.hp.hpl.jena.query.ResultSet;
|
||||||
|
import com.hp.hpl.jena.rdf.model.Literal;
|
||||||
|
import com.hp.hpl.jena.rdf.model.Resource;
|
||||||
import com.hp.hpl.jena.rdf.model.ResourceFactory;
|
import com.hp.hpl.jena.rdf.model.ResourceFactory;
|
||||||
import com.hp.hpl.jena.vocabulary.XSD;
|
import com.hp.hpl.jena.vocabulary.XSD;
|
||||||
|
|
||||||
|
@ -508,7 +508,7 @@ private String getExistingIsSelfContainedTemplateQuery() {
|
||||||
private void addRequiredPageData(VitroRequest vreq, Map<String, Object> data) {
|
private void addRequiredPageData(VitroRequest vreq, Map<String, Object> data) {
|
||||||
MenuManagementDataUtils.includeRequiredSystemData(vreq.getSession().getServletContext(), data);
|
MenuManagementDataUtils.includeRequiredSystemData(vreq.getSession().getServletContext(), data);
|
||||||
data.put("classGroup", new ArrayList<String>());
|
data.put("classGroup", new ArrayList<String>());
|
||||||
data.put("classGroups", DataGetterUtils.getClassGroups(vreq.getSession().getServletContext()));
|
data.put("classGroups", DataGetterUtils.getClassGroups(vreq));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addExistingPageData(VitroRequest vreq, Map<String, Object> data) {
|
private void addExistingPageData(VitroRequest vreq, Map<String, Object> data) {
|
||||||
|
|
|
@ -25,6 +25,7 @@ import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
|
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.json.JsonServlet;
|
import edu.cornell.mannlib.vitro.webapp.controller.json.JsonServlet;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.DisplayVocabulary;
|
import edu.cornell.mannlib.vitro.webapp.dao.DisplayVocabulary;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupsForRequest;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.VClassGroupCache;
|
import edu.cornell.mannlib.vitro.webapp.dao.jena.VClassGroupCache;
|
||||||
import edu.cornell.mannlib.vitro.webapp.utils.JsonToFmModel;
|
import edu.cornell.mannlib.vitro.webapp.utils.JsonToFmModel;
|
||||||
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.VClassGroupTemplateModel;
|
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.VClassGroupTemplateModel;
|
||||||
|
@ -120,7 +121,7 @@ public class BrowseDataGetter extends DataGetterBase implements DataGetter {
|
||||||
private Map<String,Object> getCommonValues( ServletContext context, VitroRequest vreq){
|
private Map<String,Object> getCommonValues( ServletContext context, VitroRequest vreq){
|
||||||
Map<String,Object> values = new HashMap<String,Object>();
|
Map<String,Object> values = new HashMap<String,Object>();
|
||||||
|
|
||||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||||
List<VClassGroup> cgList = vcgc.getGroups();
|
List<VClassGroup> cgList = vcgc.getGroups();
|
||||||
LinkedList<VClassGroupTemplateModel> cgtmList = new LinkedList<VClassGroupTemplateModel>();
|
LinkedList<VClassGroupTemplateModel> cgtmList = new LinkedList<VClassGroupTemplateModel>();
|
||||||
for( VClassGroup classGroup : cgList){
|
for( VClassGroup classGroup : cgList){
|
||||||
|
@ -194,7 +195,7 @@ public class BrowseDataGetter extends DataGetterBase implements DataGetter {
|
||||||
String vcgUri = getParam(Mode.CLASS_GROUP, request, params);
|
String vcgUri = getParam(Mode.CLASS_GROUP, request, params);
|
||||||
VitroRequest vreq = new VitroRequest(request);
|
VitroRequest vreq = new VitroRequest(request);
|
||||||
|
|
||||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(request);
|
||||||
VClassGroup vcg = vcgc.getGroup(vcgUri);
|
VClassGroup vcg = vcgc.getGroup(vcgUri);
|
||||||
|
|
||||||
ArrayList<VClassTemplateModel> classes = new ArrayList<VClassTemplateModel>(vcg.size());
|
ArrayList<VClassTemplateModel> classes = new ArrayList<VClassTemplateModel>(vcg.size());
|
||||||
|
|
|
@ -19,6 +19,7 @@ import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup;
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
|
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.DisplayVocabulary;
|
import edu.cornell.mannlib.vitro.webapp.dao.DisplayVocabulary;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupsForRequest;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.VClassGroupCache;
|
import edu.cornell.mannlib.vitro.webapp.dao.jena.VClassGroupCache;
|
||||||
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.VClassGroupTemplateModel;
|
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.VClassGroupTemplateModel;
|
||||||
|
|
||||||
|
@ -65,7 +66,7 @@ public class ClassGroupPageData extends DataGetterBase implements DataGetter{
|
||||||
HashMap<String, Object> data = new HashMap<String,Object>();
|
HashMap<String, Object> data = new HashMap<String,Object>();
|
||||||
data.put("classGroupUri", this.classGroupUri);
|
data.put("classGroupUri", this.classGroupUri);
|
||||||
|
|
||||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||||
List<VClassGroup> vcgList = vcgc.getGroups();
|
List<VClassGroup> vcgList = vcgc.getGroups();
|
||||||
VClassGroup group = null;
|
VClassGroup group = null;
|
||||||
for( VClassGroup vcg : vcgList){
|
for( VClassGroup vcg : vcgList){
|
||||||
|
@ -119,7 +120,7 @@ public class ClassGroupPageData extends DataGetterBase implements DataGetter{
|
||||||
|
|
||||||
public static VClassGroupTemplateModel getClassGroup(String classGroupUri, ServletContext context, VitroRequest vreq){
|
public static VClassGroupTemplateModel getClassGroup(String classGroupUri, ServletContext context, VitroRequest vreq){
|
||||||
|
|
||||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||||
List<VClassGroup> vcgList = vcgc.getGroups();
|
List<VClassGroup> vcgList = vcgc.getGroups();
|
||||||
VClassGroup group = null;
|
VClassGroup group = null;
|
||||||
for( VClassGroup vcg : vcgList){
|
for( VClassGroup vcg : vcgList){
|
||||||
|
|
|
@ -12,6 +12,7 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.servlet.ServletContext;
|
import javax.servlet.ServletContext;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
|
@ -45,6 +46,7 @@ import edu.cornell.mannlib.vitro.webapp.controller.freemarker.IndividualListCont
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
|
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.json.JsonServlet;
|
import edu.cornell.mannlib.vitro.webapp.controller.json.JsonServlet;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.DisplayVocabulary;
|
import edu.cornell.mannlib.vitro.webapp.dao.DisplayVocabulary;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupsForRequest;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
|
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
|
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.VClassGroupCache;
|
import edu.cornell.mannlib.vitro.webapp.dao.jena.VClassGroupCache;
|
||||||
|
@ -102,7 +104,7 @@ public class DataGetterUtils {
|
||||||
* May return an empty list, but will not return null.
|
* May return an empty list, but will not return null.
|
||||||
*/
|
*/
|
||||||
private static List<DataGetter> dataGettersForURIs(VitroRequest vreq, Model displayModel, List<String> dgUris)
|
private static List<DataGetter> dataGettersForURIs(VitroRequest vreq, Model displayModel, List<String> dgUris)
|
||||||
throws InstantiationException, IllegalAccessException, ClassNotFoundException, InvocationTargetException, NoSuchMethodException {
|
throws InstantiationException, IllegalAccessException, ClassNotFoundException, InvocationTargetException {
|
||||||
List<DataGetter> dgList = new ArrayList<DataGetter>();
|
List<DataGetter> dgList = new ArrayList<DataGetter>();
|
||||||
for( String dgURI: dgUris){
|
for( String dgURI: dgUris){
|
||||||
DataGetter dg =dataGetterForURI(vreq, displayModel, dgURI) ;
|
DataGetter dg =dataGetterForURI(vreq, displayModel, dgURI) ;
|
||||||
|
@ -332,7 +334,7 @@ public class DataGetterUtils {
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
Enumeration<String> e = vreq.getParameterNames();
|
Enumeration<String> e = vreq.getParameterNames();
|
||||||
while(e.hasMoreElements()){
|
while(e.hasMoreElements()){
|
||||||
String name = (String)e.nextElement();
|
String name = e.nextElement();
|
||||||
log.debug("parameter: " + name);
|
log.debug("parameter: " + name);
|
||||||
for( String value : vreq.getParameterValues(name) ){
|
for( String value : vreq.getParameterValues(name) ){
|
||||||
log.debug("value for " + name + ": '" + value + "'");
|
log.debug("value for " + name + ": '" + value + "'");
|
||||||
|
@ -550,9 +552,9 @@ public class DataGetterUtils {
|
||||||
//Get All VClass Groups information
|
//Get All VClass Groups information
|
||||||
//Used within menu management and processing
|
//Used within menu management and processing
|
||||||
//TODO: Check if more appropriate location possible
|
//TODO: Check if more appropriate location possible
|
||||||
public static List<HashMap<String, String>> getClassGroups(ServletContext context) {
|
public static List<HashMap<String, String>> getClassGroups(HttpServletRequest req) {
|
||||||
//Wanted this to be
|
//Wanted this to be
|
||||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(req);
|
||||||
List<VClassGroup> vcgList = vcgc.getGroups();
|
List<VClassGroup> vcgList = vcgc.getGroups();
|
||||||
//For now encoding as hashmap with label and URI as trying to retrieve class group
|
//For now encoding as hashmap with label and URI as trying to retrieve class group
|
||||||
//results in errors for some reason
|
//results in errors for some reason
|
||||||
|
@ -570,11 +572,11 @@ public class DataGetterUtils {
|
||||||
//TODO: Check whether this needs to be put here or elsewhere, as this is data getter specific
|
//TODO: Check whether this needs to be put here or elsewhere, as this is data getter specific
|
||||||
//with respect to class groups
|
//with respect to class groups
|
||||||
//Need to use VClassGroupCache to retrieve class group information - this is the information returned from "for class group"
|
//Need to use VClassGroupCache to retrieve class group information - this is the information returned from "for class group"
|
||||||
public static void getClassGroupForDataGetter(ServletContext context, Map<String, Object> pageData, Map<String, Object> templateData) {
|
public static void getClassGroupForDataGetter(HttpServletRequest req, Map<String, Object> pageData, Map<String, Object> templateData) {
|
||||||
//Get the class group from VClassGroup, this is the same as the class group for the class group page data getter
|
//Get the class group from VClassGroup, this is the same as the class group for the class group page data getter
|
||||||
//and the associated class group (not custom) for individuals datagetter
|
//and the associated class group (not custom) for individuals datagetter
|
||||||
String classGroupUri = (String) pageData.get("classGroupUri");
|
String classGroupUri = (String) pageData.get("classGroupUri");
|
||||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(req);
|
||||||
VClassGroup group = vcgc.getGroup(classGroupUri);
|
VClassGroup group = vcgc.getGroup(classGroupUri);
|
||||||
|
|
||||||
templateData.put("classGroup", group);
|
templateData.put("classGroup", group);
|
||||||
|
|
|
@ -30,6 +30,7 @@ import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup;
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
|
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.DisplayVocabulary;
|
import edu.cornell.mannlib.vitro.webapp.dao.DisplayVocabulary;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupsForRequest;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
|
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.VClassGroupCache;
|
import edu.cornell.mannlib.vitro.webapp.dao.jena.VClassGroupCache;
|
||||||
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.VClassGroupTemplateModel;
|
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.VClassGroupTemplateModel;
|
||||||
|
@ -227,7 +228,7 @@ public class IndividualsForClassesDataGetter extends DataGetterBase implements D
|
||||||
log.debug("Processing classes that will be displayed");
|
log.debug("Processing classes that will be displayed");
|
||||||
List<VClass> vClasses = new ArrayList<VClass>();
|
List<VClass> vClasses = new ArrayList<VClass>();
|
||||||
|
|
||||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||||
for(String classUri: classes) {
|
for(String classUri: classes) {
|
||||||
//Retrieve vclass from cache to get the count
|
//Retrieve vclass from cache to get the count
|
||||||
VClass vclass = vcgc.getCachedVClass(classUri);
|
VClass vclass = vcgc.getCachedVClass(classUri);
|
||||||
|
@ -262,7 +263,7 @@ public class IndividualsForClassesDataGetter extends DataGetterBase implements D
|
||||||
List<VClass> restrictVClasses = new ArrayList<VClass>();
|
List<VClass> restrictVClasses = new ArrayList<VClass>();
|
||||||
|
|
||||||
List<String> urlEncodedRestrictClasses = new ArrayList<String>();
|
List<String> urlEncodedRestrictClasses = new ArrayList<String>();
|
||||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||||
|
|
||||||
if(restrictClasses.size() > 0) {
|
if(restrictClasses.size() > 0) {
|
||||||
//classes for restriction are not displayed so don't need to include their class individual counts
|
//classes for restriction are not displayed so don't need to include their class individual counts
|
||||||
|
@ -306,7 +307,7 @@ public class IndividualsForClassesDataGetter extends DataGetterBase implements D
|
||||||
|
|
||||||
public static VClassGroupTemplateModel getClassGroup(String classGroupUri, ServletContext context, VitroRequest vreq){
|
public static VClassGroupTemplateModel getClassGroup(String classGroupUri, ServletContext context, VitroRequest vreq){
|
||||||
|
|
||||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||||
List<VClassGroup> vcgList = vcgc.getGroups();
|
List<VClassGroup> vcgList = vcgc.getGroups();
|
||||||
VClassGroup group = null;
|
VClassGroup group = null;
|
||||||
for( VClassGroup vcg : vcgList){
|
for( VClassGroup vcg : vcgList){
|
||||||
|
|
|
@ -4,7 +4,7 @@ package edu.cornell.mannlib.vitro.webapp.utils.menuManagement;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.servlet.ServletContext;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
@ -28,19 +28,21 @@ public class ProcessClassGroup implements ProcessDataGetter{
|
||||||
|
|
||||||
//template data represents what needs to be modified and returned to template
|
//template data represents what needs to be modified and returned to template
|
||||||
//page data is data retrieved from data getter
|
//page data is data retrieved from data getter
|
||||||
public void populateTemplate(ServletContext context, Map<String, Object> pageData, Map<String, Object> templateData) {
|
@Override
|
||||||
|
public void populateTemplate(HttpServletRequest req, Map<String, Object> pageData, Map<String, Object> templateData) {
|
||||||
//This is a class group page so
|
//This is a class group page so
|
||||||
templateData.put("isClassGroupPage", true);
|
templateData.put("isClassGroupPage", true);
|
||||||
templateData.put("includeAllClasses", true);
|
templateData.put("includeAllClasses", true);
|
||||||
|
|
||||||
//Get the class group from VClassGroup
|
//Get the class group from VClassGroup
|
||||||
DataGetterUtils.getClassGroupForDataGetter(context, pageData, templateData);
|
DataGetterUtils.getClassGroupForDataGetter(req, pageData, templateData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//Process submission
|
//Process submission
|
||||||
|
|
||||||
public Model processSubmission(VitroRequest vreq, Resource dataGetterResource) {
|
@Override
|
||||||
|
public Model processSubmission(VitroRequest vreq, Resource dataGetterResource) {
|
||||||
Model dgModel = ModelFactory.createDefaultModel();
|
Model dgModel = ModelFactory.createDefaultModel();
|
||||||
String dataGetterTypeUri = DataGetterUtils.generateDataGetterTypeURI(ClassGroupPageData.class.getName());
|
String dataGetterTypeUri = DataGetterUtils.generateDataGetterTypeURI(ClassGroupPageData.class.getName());
|
||||||
dgModel.add(dgModel.createStatement(dataGetterResource,
|
dgModel.add(dgModel.createStatement(dataGetterResource,
|
||||||
|
|
|
@ -4,18 +4,15 @@ package edu.cornell.mannlib.vitro.webapp.utils.menuManagement;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.servlet.ServletContext;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
|
|
||||||
|
|
||||||
import org.json.JSONObject;
|
|
||||||
|
|
||||||
import com.hp.hpl.jena.rdf.model.Model;
|
import com.hp.hpl.jena.rdf.model.Model;
|
||||||
import com.hp.hpl.jena.rdf.model.Resource;
|
import com.hp.hpl.jena.rdf.model.Resource;
|
||||||
|
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
||||||
|
|
||||||
public interface ProcessDataGetter{
|
public interface ProcessDataGetter{
|
||||||
public void populateTemplate(ServletContext context, Map<String, Object> pageData, Map<String, Object> templateData);
|
public void populateTemplate(HttpServletRequest req, Map<String, Object> pageData, Map<String, Object> templateData);
|
||||||
|
|
||||||
public Model processSubmission(VitroRequest vreq, Resource dataGetterResource);
|
public Model processSubmission(VitroRequest vreq, Resource dataGetterResource);
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.servlet.ServletContext;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
@ -34,12 +34,13 @@ public class ProcessIndividualsForClasses implements ProcessDataGetter {
|
||||||
/**Retrieve and populate**/
|
/**Retrieve and populate**/
|
||||||
|
|
||||||
//Based on institutional internal page and not general individualsForClasses
|
//Based on institutional internal page and not general individualsForClasses
|
||||||
public void populateTemplate(ServletContext context, Map<String, Object> pageData, Map<String, Object> templateData) {
|
@Override
|
||||||
|
public void populateTemplate(HttpServletRequest req, Map<String, Object> pageData, Map<String, Object> templateData) {
|
||||||
initTemplateData(templateData);
|
initTemplateData(templateData);
|
||||||
populateIncludedClasses(pageData, templateData);
|
populateIncludedClasses(pageData, templateData);
|
||||||
populateRestrictedClasses(pageData, templateData);
|
populateRestrictedClasses(pageData, templateData);
|
||||||
//Also save the class group for display
|
//Also save the class group for display
|
||||||
DataGetterUtils.getClassGroupForDataGetter(context, pageData, templateData);
|
DataGetterUtils.getClassGroupForDataGetter(req, pageData, templateData);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,6 +77,7 @@ public class ProcessIndividualsForClasses implements ProcessDataGetter {
|
||||||
public boolean useProcessor(VitroRequest vreq) {
|
public boolean useProcessor(VitroRequest vreq) {
|
||||||
return(!allClassesSelected(vreq));
|
return(!allClassesSelected(vreq));
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
public Model processSubmission(VitroRequest vreq, Resource dataGetterResource) {
|
public Model processSubmission(VitroRequest vreq, Resource dataGetterResource) {
|
||||||
String[] selectedClasses = vreq.getParameterValues("classInClassGroup");
|
String[] selectedClasses = vreq.getParameterValues("classInClassGroup");
|
||||||
String dataGetterTypeUri = DataGetterUtils.generateDataGetterTypeURI(IndividualsForClassesDataGetter.class.getName());
|
String dataGetterTypeUri = DataGetterUtils.generateDataGetterTypeURI(IndividualsForClassesDataGetter.class.getName());
|
||||||
|
|
|
@ -30,7 +30,7 @@ public class SelectDataGetterUtils {
|
||||||
public static void processAndRetrieveData(VitroRequest vreq, ServletContext context, Map<String, Object> pageData, String dataGetterClass, Map<String, Object> templateData) {
|
public static void processAndRetrieveData(VitroRequest vreq, ServletContext context, Map<String, Object> pageData, String dataGetterClass, Map<String, Object> templateData) {
|
||||||
//The type of the data getter will show how to process the data from the data getter
|
//The type of the data getter will show how to process the data from the data getter
|
||||||
ProcessDataGetter processor = selectProcessor(dataGetterClass);
|
ProcessDataGetter processor = selectProcessor(dataGetterClass);
|
||||||
processor.populateTemplate(context, pageData, templateData);
|
processor.populateTemplate(vreq, pageData, templateData);
|
||||||
}
|
}
|
||||||
|
|
||||||
//This will be different in VIVO than in VITRO
|
//This will be different in VIVO than in VITRO
|
||||||
|
|
|
@ -23,6 +23,7 @@ import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
|
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.json.JsonServlet;
|
import edu.cornell.mannlib.vitro.webapp.controller.json.JsonServlet;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.DisplayVocabulary;
|
import edu.cornell.mannlib.vitro.webapp.dao.DisplayVocabulary;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupsForRequest;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.VClassGroupCache;
|
import edu.cornell.mannlib.vitro.webapp.dao.jena.VClassGroupCache;
|
||||||
import edu.cornell.mannlib.vitro.webapp.utils.JsonToFmModel;
|
import edu.cornell.mannlib.vitro.webapp.utils.JsonToFmModel;
|
||||||
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.VClassGroupTemplateModel;
|
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.VClassGroupTemplateModel;
|
||||||
|
@ -63,7 +64,8 @@ public class BrowseDataGetter implements PageDataGetter {
|
||||||
}
|
}
|
||||||
|
|
||||||
//Get data servuice
|
//Get data servuice
|
||||||
public String getDataServiceUrl() {
|
@Override
|
||||||
|
public String getDataServiceUrl() {
|
||||||
return UrlBuilder.getUrl("/dataservice?getSolrIndividualsByVClass=1&vclassId=");
|
return UrlBuilder.getUrl("/dataservice?getSolrIndividualsByVClass=1&vclassId=");
|
||||||
}
|
}
|
||||||
private Map<String, Object> doClassAlphaDisplay( Map params, VitroRequest request, ServletContext context) throws Exception {
|
private Map<String, Object> doClassAlphaDisplay( Map params, VitroRequest request, ServletContext context) throws Exception {
|
||||||
|
@ -94,7 +96,7 @@ public class BrowseDataGetter implements PageDataGetter {
|
||||||
private Map<String,Object> getCommonValues( ServletContext context, VitroRequest vreq){
|
private Map<String,Object> getCommonValues( ServletContext context, VitroRequest vreq){
|
||||||
Map<String,Object> values = new HashMap<String,Object>();
|
Map<String,Object> values = new HashMap<String,Object>();
|
||||||
|
|
||||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||||
List<VClassGroup> cgList = vcgc.getGroups();
|
List<VClassGroup> cgList = vcgc.getGroups();
|
||||||
LinkedList<VClassGroupTemplateModel> cgtmList = new LinkedList<VClassGroupTemplateModel>();
|
LinkedList<VClassGroupTemplateModel> cgtmList = new LinkedList<VClassGroupTemplateModel>();
|
||||||
for( VClassGroup classGroup : cgList){
|
for( VClassGroup classGroup : cgList){
|
||||||
|
@ -168,7 +170,7 @@ public class BrowseDataGetter implements PageDataGetter {
|
||||||
String vcgUri = getParam(Mode.CLASS_GROUP, request, params);
|
String vcgUri = getParam(Mode.CLASS_GROUP, request, params);
|
||||||
VitroRequest vreq = new VitroRequest(request);
|
VitroRequest vreq = new VitroRequest(request);
|
||||||
|
|
||||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(request);
|
||||||
VClassGroup vcg = vcgc.getGroup(vcgUri);
|
VClassGroup vcg = vcgc.getGroup(vcgUri);
|
||||||
|
|
||||||
ArrayList<VClassTemplateModel> classes = new ArrayList<VClassTemplateModel>(vcg.size());
|
ArrayList<VClassTemplateModel> classes = new ArrayList<VClassTemplateModel>(vcg.size());
|
||||||
|
|
|
@ -16,7 +16,7 @@ import edu.cornell.mannlib.vitro.webapp.beans.VClass;
|
||||||
import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup;
|
import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup;
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
|
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.DisplayVocabulary;
|
import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupsForRequest;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.VClassGroupCache;
|
import edu.cornell.mannlib.vitro.webapp.dao.jena.VClassGroupCache;
|
||||||
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.VClassGroupTemplateModel;
|
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.VClassGroupTemplateModel;
|
||||||
|
|
||||||
|
@ -28,12 +28,13 @@ import edu.cornell.mannlib.vitro.webapp.web.templatemodels.VClassGroupTemplateMo
|
||||||
public class ClassGroupPageData implements PageDataGetter{
|
public class ClassGroupPageData implements PageDataGetter{
|
||||||
private static final Log log = LogFactory.getLog(ClassGroupPageData.class);
|
private static final Log log = LogFactory.getLog(ClassGroupPageData.class);
|
||||||
|
|
||||||
public Map<String,Object> getData(ServletContext context, VitroRequest vreq, String pageUri, Map<String, Object> page ){
|
@Override
|
||||||
|
public Map<String,Object> getData(ServletContext context, VitroRequest vreq, String pageUri, Map<String, Object> page ){
|
||||||
HashMap<String, Object> data = new HashMap<String,Object>();
|
HashMap<String, Object> data = new HashMap<String,Object>();
|
||||||
String classGroupUri = vreq.getWebappDaoFactory().getPageDao().getClassGroupPage(pageUri);
|
String classGroupUri = vreq.getWebappDaoFactory().getPageDao().getClassGroupPage(pageUri);
|
||||||
data.put("classGroupUri", classGroupUri);
|
data.put("classGroupUri", classGroupUri);
|
||||||
|
|
||||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||||
List<VClassGroup> vcgList = vcgc.getGroups();
|
List<VClassGroup> vcgList = vcgc.getGroups();
|
||||||
VClassGroup group = null;
|
VClassGroup group = null;
|
||||||
for( VClassGroup vcg : vcgList){
|
for( VClassGroup vcg : vcgList){
|
||||||
|
@ -87,7 +88,7 @@ public class ClassGroupPageData implements PageDataGetter{
|
||||||
|
|
||||||
public static VClassGroupTemplateModel getClassGroup(String classGroupUri, ServletContext context, VitroRequest vreq){
|
public static VClassGroupTemplateModel getClassGroup(String classGroupUri, ServletContext context, VitroRequest vreq){
|
||||||
|
|
||||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||||
List<VClassGroup> vcgList = vcgc.getGroups();
|
List<VClassGroup> vcgList = vcgc.getGroups();
|
||||||
VClassGroup group = null;
|
VClassGroup group = null;
|
||||||
for( VClassGroup vcg : vcgList){
|
for( VClassGroup vcg : vcgList){
|
||||||
|
@ -125,12 +126,14 @@ public class ClassGroupPageData implements PageDataGetter{
|
||||||
return new VClassGroupTemplateModel(group);
|
return new VClassGroupTemplateModel(group);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getType(){
|
@Override
|
||||||
|
public String getType(){
|
||||||
return PageDataGetterUtils.generateDataGetterTypeURI(ClassGroupPageData.class.getName());
|
return PageDataGetterUtils.generateDataGetterTypeURI(ClassGroupPageData.class.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
//Get data servuice
|
//Get data servuice
|
||||||
public String getDataServiceUrl() {
|
@Override
|
||||||
|
public String getDataServiceUrl() {
|
||||||
return UrlBuilder.getUrl("/dataservice?getSolrIndividualsByVClass=1&vclassId=");
|
return UrlBuilder.getUrl("/dataservice?getSolrIndividualsByVClass=1&vclassId=");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -139,7 +142,8 @@ public class ClassGroupPageData implements PageDataGetter{
|
||||||
* For processing of JSONObject
|
* For processing of JSONObject
|
||||||
*/
|
*/
|
||||||
//Currently empty, TODO: Review requirements
|
//Currently empty, TODO: Review requirements
|
||||||
public JSONObject convertToJSON(Map<String, Object> dataMap, VitroRequest vreq) {
|
@Override
|
||||||
|
public JSONObject convertToJSON(Map<String, Object> dataMap, VitroRequest vreq) {
|
||||||
JSONObject rObj = null;
|
JSONObject rObj = null;
|
||||||
return rObj;
|
return rObj;
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,7 @@ import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup;
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
|
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.PageDao;
|
import edu.cornell.mannlib.vitro.webapp.dao.PageDao;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupsForRequest;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.VClassGroupCache;
|
import edu.cornell.mannlib.vitro.webapp.dao.jena.VClassGroupCache;
|
||||||
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.VClassGroupTemplateModel;
|
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.VClassGroupTemplateModel;
|
||||||
|
|
||||||
|
@ -32,7 +33,8 @@ import edu.cornell.mannlib.vitro.webapp.web.templatemodels.VClassGroupTemplateMo
|
||||||
public class IndividualsForClassesDataGetter implements PageDataGetter{
|
public class IndividualsForClassesDataGetter implements PageDataGetter{
|
||||||
private static final Log log = LogFactory.getLog(IndividualsForClassesDataGetter.class);
|
private static final Log log = LogFactory.getLog(IndividualsForClassesDataGetter.class);
|
||||||
protected static String restrictClassesTemplateName = null;
|
protected static String restrictClassesTemplateName = null;
|
||||||
public Map<String,Object> getData(ServletContext context, VitroRequest vreq, String pageUri, Map<String, Object> page ){
|
@Override
|
||||||
|
public Map<String,Object> getData(ServletContext context, VitroRequest vreq, String pageUri, Map<String, Object> page ){
|
||||||
this.setTemplateName();
|
this.setTemplateName();
|
||||||
HashMap<String, Object> data = new HashMap<String,Object>();
|
HashMap<String, Object> data = new HashMap<String,Object>();
|
||||||
//This is the old technique of getting class intersections
|
//This is the old technique of getting class intersections
|
||||||
|
@ -146,7 +148,7 @@ public class IndividualsForClassesDataGetter implements PageDataGetter{
|
||||||
log.debug("Processing classes that will be displayed");
|
log.debug("Processing classes that will be displayed");
|
||||||
List<VClass> vClasses = new ArrayList<VClass>();
|
List<VClass> vClasses = new ArrayList<VClass>();
|
||||||
|
|
||||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||||
for(String classUri: classes) {
|
for(String classUri: classes) {
|
||||||
//Retrieve vclass from cache to get the count
|
//Retrieve vclass from cache to get the count
|
||||||
VClass vclass = vcgc.getCachedVClass(classUri);
|
VClass vclass = vcgc.getCachedVClass(classUri);
|
||||||
|
@ -181,7 +183,7 @@ public class IndividualsForClassesDataGetter implements PageDataGetter{
|
||||||
List<VClass> restrictVClasses = new ArrayList<VClass>();
|
List<VClass> restrictVClasses = new ArrayList<VClass>();
|
||||||
|
|
||||||
List<String> urlEncodedRestrictClasses = new ArrayList<String>();
|
List<String> urlEncodedRestrictClasses = new ArrayList<String>();
|
||||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||||
|
|
||||||
if(restrictClasses.size() > 0) {
|
if(restrictClasses.size() > 0) {
|
||||||
//classes for restriction are not displayed so don't need to include their class individual counts
|
//classes for restriction are not displayed so don't need to include their class individual counts
|
||||||
|
@ -225,7 +227,7 @@ public class IndividualsForClassesDataGetter implements PageDataGetter{
|
||||||
|
|
||||||
public static VClassGroupTemplateModel getClassGroup(String classGroupUri, ServletContext context, VitroRequest vreq){
|
public static VClassGroupTemplateModel getClassGroup(String classGroupUri, ServletContext context, VitroRequest vreq){
|
||||||
|
|
||||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||||
List<VClassGroup> vcgList = vcgc.getGroups();
|
List<VClassGroup> vcgList = vcgc.getGroups();
|
||||||
VClassGroup group = null;
|
VClassGroup group = null;
|
||||||
for( VClassGroup vcg : vcgList){
|
for( VClassGroup vcg : vcgList){
|
||||||
|
@ -263,18 +265,21 @@ public class IndividualsForClassesDataGetter implements PageDataGetter{
|
||||||
return new VClassGroupTemplateModel(group);
|
return new VClassGroupTemplateModel(group);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getType(){
|
@Override
|
||||||
|
public String getType(){
|
||||||
return PageDataGetterUtils.generateDataGetterTypeURI(IndividualsForClassesDataGetter.class.getName());
|
return PageDataGetterUtils.generateDataGetterTypeURI(IndividualsForClassesDataGetter.class.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
//Get data servuice
|
//Get data servuice
|
||||||
public String getDataServiceUrl() {
|
@Override
|
||||||
|
public String getDataServiceUrl() {
|
||||||
return UrlBuilder.getUrl("/dataservice?getSolrIndividualsByVClasses=1&vclassId=");
|
return UrlBuilder.getUrl("/dataservice?getSolrIndividualsByVClasses=1&vclassId=");
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* For processig of JSONObject
|
* For processig of JSONObject
|
||||||
*/
|
*/
|
||||||
public JSONObject convertToJSON(Map<String, Object> map, VitroRequest vreq) {
|
@Override
|
||||||
|
public JSONObject convertToJSON(Map<String, Object> map, VitroRequest vreq) {
|
||||||
JSONObject rObj = PageDataGetterUtils.processVclassResultsJSON(map, vreq, true);
|
JSONObject rObj = PageDataGetterUtils.processVclassResultsJSON(map, vreq, true);
|
||||||
return rObj;
|
return rObj;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.servlet.ServletContext;
|
import javax.servlet.ServletContext;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
|
@ -29,9 +30,9 @@ import edu.cornell.mannlib.vitro.webapp.controller.freemarker.IndividualListCont
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.IndividualListController.PageRecord;
|
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.IndividualListController.PageRecord;
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
|
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.json.JsonServlet;
|
import edu.cornell.mannlib.vitro.webapp.controller.json.JsonServlet;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupsForRequest;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
|
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.VClassGroupCache;
|
import edu.cornell.mannlib.vitro.webapp.dao.jena.VClassGroupCache;
|
||||||
import edu.cornell.mannlib.vitro.webapp.utils.dataGetter.DataGetterUtils;
|
|
||||||
|
|
||||||
public class PageDataGetterUtils {
|
public class PageDataGetterUtils {
|
||||||
protected static final String DATA_GETTER_MAP = "pageTypeToDataGetterMap";
|
protected static final String DATA_GETTER_MAP = "pageTypeToDataGetterMap";
|
||||||
|
@ -124,7 +125,7 @@ public class PageDataGetterUtils {
|
||||||
|
|
||||||
for(String dgClassName: dataGetterClassNames) {
|
for(String dgClassName: dataGetterClassNames) {
|
||||||
String className = getClassNameFromUri(dgClassName);
|
String className = getClassNameFromUri(dgClassName);
|
||||||
Class clz = Class.forName(className);
|
Class<?> clz = Class.forName(className);
|
||||||
|
|
||||||
if( PageDataGetter.class.isAssignableFrom(clz)){
|
if( PageDataGetter.class.isAssignableFrom(clz)){
|
||||||
PageDataGetter pg = (PageDataGetter) clz.newInstance();
|
PageDataGetter pg = (PageDataGetter) clz.newInstance();
|
||||||
|
@ -175,7 +176,7 @@ public class PageDataGetterUtils {
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
Enumeration<String> e = vreq.getParameterNames();
|
Enumeration<String> e = vreq.getParameterNames();
|
||||||
while(e.hasMoreElements()){
|
while(e.hasMoreElements()){
|
||||||
String name = (String)e.nextElement();
|
String name = e.nextElement();
|
||||||
log.debug("parameter: " + name);
|
log.debug("parameter: " + name);
|
||||||
for( String value : vreq.getParameterValues(name) ){
|
for( String value : vreq.getParameterValues(name) ){
|
||||||
log.debug("value for " + name + ": '" + value + "'");
|
log.debug("value for " + name + ": '" + value + "'");
|
||||||
|
@ -299,9 +300,9 @@ public class PageDataGetterUtils {
|
||||||
//Get All VClass Groups information
|
//Get All VClass Groups information
|
||||||
//Used within menu management and processing
|
//Used within menu management and processing
|
||||||
//TODO: Check if more appropriate location possible
|
//TODO: Check if more appropriate location possible
|
||||||
public static List<HashMap<String, String>> getClassGroups(ServletContext context) {
|
public static List<HashMap<String, String>> getClassGroups(HttpServletRequest req) {
|
||||||
//Wanted this to be
|
//Wanted this to be
|
||||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(req);
|
||||||
List<VClassGroup> vcgList = vcgc.getGroups();
|
List<VClassGroup> vcgList = vcgc.getGroups();
|
||||||
//For now encoding as hashmap with label and URI as trying to retrieve class group
|
//For now encoding as hashmap with label and URI as trying to retrieve class group
|
||||||
//results in errors for some reason
|
//results in errors for some reason
|
||||||
|
@ -323,11 +324,11 @@ public class PageDataGetterUtils {
|
||||||
//TODO: Check whether this needs to be put here or elsewhere, as this is data getter specific
|
//TODO: Check whether this needs to be put here or elsewhere, as this is data getter specific
|
||||||
//with respect to class groups
|
//with respect to class groups
|
||||||
//Need to use VClassGroupCache to retrieve class group information - this is the information returned from "for class group"
|
//Need to use VClassGroupCache to retrieve class group information - this is the information returned from "for class group"
|
||||||
public static void getClassGroupForDataGetter(ServletContext context, Map<String, Object> pageData, Map<String, Object> templateData) {
|
public static void getClassGroupForDataGetter(HttpServletRequest req, Map<String, Object> pageData, Map<String, Object> templateData) {
|
||||||
//Get the class group from VClassGroup, this is the same as the class group for the class group page data getter
|
//Get the class group from VClassGroup, this is the same as the class group for the class group page data getter
|
||||||
//and the associated class group (not custom) for individuals datagetter
|
//and the associated class group (not custom) for individuals datagetter
|
||||||
String classGroupUri = (String) pageData.get("classGroupUri");
|
String classGroupUri = (String) pageData.get("classGroupUri");
|
||||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(req);
|
||||||
VClassGroup group = vcgc.getGroup(classGroupUri);
|
VClassGroup group = vcgc.getGroup(classGroupUri);
|
||||||
|
|
||||||
templateData.put("classGroup", group);
|
templateData.put("classGroup", group);
|
||||||
|
|
|
@ -21,6 +21,7 @@ import edu.cornell.mannlib.vitro.webapp.beans.VClass;
|
||||||
import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup;
|
import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup;
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.json.JsonServlet;
|
import edu.cornell.mannlib.vitro.webapp.controller.json.JsonServlet;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupsForRequest;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.VClassGroupCache;
|
import edu.cornell.mannlib.vitro.webapp.dao.jena.VClassGroupCache;
|
||||||
import edu.cornell.mannlib.vitro.webapp.utils.JsonToFmModel;
|
import edu.cornell.mannlib.vitro.webapp.utils.JsonToFmModel;
|
||||||
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.VClassGroupTemplateModel;
|
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.VClassGroupTemplateModel;
|
||||||
|
@ -123,7 +124,7 @@ public class BrowseWidget extends Widget {
|
||||||
|
|
||||||
VitroRequest vreq = new VitroRequest(request);
|
VitroRequest vreq = new VitroRequest(request);
|
||||||
|
|
||||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(request);
|
||||||
List<VClassGroup> cgList = vcgc.getGroups();
|
List<VClassGroup> cgList = vcgc.getGroups();
|
||||||
|
|
||||||
// List<VClassGroup> classGroups =
|
// List<VClassGroup> classGroups =
|
||||||
|
@ -186,7 +187,7 @@ public class BrowseWidget extends Widget {
|
||||||
VitroRequest vreq = new VitroRequest(request);
|
VitroRequest vreq = new VitroRequest(request);
|
||||||
//VClassGroup vcg = vreq.getWebappDaoFactory().getVClassGroupDao().getGroupByURI(vcgUri);
|
//VClassGroup vcg = vreq.getWebappDaoFactory().getVClassGroupDao().getGroupByURI(vcgUri);
|
||||||
|
|
||||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(request);
|
||||||
VClassGroup vcg = vcgc.getGroup(vcgUri);
|
VClassGroup vcg = vcgc.getGroup(vcgUri);
|
||||||
|
|
||||||
//vreq.getWebappDaoFactory().getVClassDao().addVClassesToGroup(vcg, false, true);
|
//vreq.getWebappDaoFactory().getVClassDao().addVClassesToGroup(vcg, false, true);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue