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.freemarker.responsevalues.ResponseValues;
|
||||
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.web.templatemodels.VClassGroupTemplateModel;
|
||||
|
||||
|
@ -46,7 +47,6 @@ public class BrowseController extends FreemarkerHttpServlet {
|
|||
protected ResponseValues processRequest(VitroRequest vreq) {
|
||||
|
||||
Map<String, Object> body = new HashMap<String, Object>();
|
||||
String message = null;
|
||||
String templateName = TEMPLATE_DEFAULT;
|
||||
|
||||
if ( vreq.getParameter("clearcache") != null ) {
|
||||
|
@ -57,25 +57,13 @@ public class BrowseController extends FreemarkerHttpServlet {
|
|||
}
|
||||
|
||||
List<VClassGroup> groups = null;
|
||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(getServletContext());
|
||||
if ( vcgc == null ) {
|
||||
log.error("Could not get VClassGroupCache");
|
||||
message = "The system is not configured correctly. Please check your logs for error messages.";
|
||||
} else {
|
||||
groups =vcgc.getGroups();
|
||||
List<VClassGroupTemplateModel> vcgroups = new ArrayList<VClassGroupTemplateModel>(groups.size());
|
||||
for (VClassGroup group : groups) {
|
||||
vcgroups.add(new VClassGroupTemplateModel(group));
|
||||
}
|
||||
body.put("classGroups", vcgroups);
|
||||
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||
groups =vcgc.getGroups();
|
||||
List<VClassGroupTemplateModel> vcgroups = new ArrayList<VClassGroupTemplateModel>(groups.size());
|
||||
for (VClassGroup group : groups) {
|
||||
vcgroups.add(new VClassGroupTemplateModel(group));
|
||||
}
|
||||
|
||||
if (message != null) {
|
||||
body.put("message", message);
|
||||
templateName = Template.TITLED_MESSAGE.toString();
|
||||
}
|
||||
|
||||
|
||||
body.put("classGroups", vcgroups);
|
||||
|
||||
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.VClassGroup;
|
||||
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;
|
||||
|
||||
/**
|
||||
|
@ -32,7 +33,7 @@ public class GetVClassesForVClassGroup extends JsonObjectProducer {
|
|||
throw new Exception("no URI passed for classgroupUri");
|
||||
}
|
||||
|
||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(ctx);
|
||||
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||
VClassGroup vcg = vcgc.getGroup(vcgUri);
|
||||
if( vcg == null ){
|
||||
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 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.QueryExecution;
|
||||
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.QuerySolutionMap;
|
||||
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.vocabulary.XSD;
|
||||
|
||||
|
@ -508,7 +508,7 @@ private String getExistingIsSelfContainedTemplateQuery() {
|
|||
private void addRequiredPageData(VitroRequest vreq, Map<String, Object> data) {
|
||||
MenuManagementDataUtils.includeRequiredSystemData(vreq.getSession().getServletContext(), data);
|
||||
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) {
|
||||
|
|
|
@ -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.json.JsonServlet;
|
||||
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.utils.JsonToFmModel;
|
||||
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){
|
||||
Map<String,Object> values = new HashMap<String,Object>();
|
||||
|
||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
||||
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||
List<VClassGroup> cgList = vcgc.getGroups();
|
||||
LinkedList<VClassGroupTemplateModel> cgtmList = new LinkedList<VClassGroupTemplateModel>();
|
||||
for( VClassGroup classGroup : cgList){
|
||||
|
@ -194,7 +195,7 @@ public class BrowseDataGetter extends DataGetterBase implements DataGetter {
|
|||
String vcgUri = getParam(Mode.CLASS_GROUP, request, params);
|
||||
VitroRequest vreq = new VitroRequest(request);
|
||||
|
||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
||||
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(request);
|
||||
VClassGroup vcg = vcgc.getGroup(vcgUri);
|
||||
|
||||
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.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.web.templatemodels.VClassGroupTemplateModel;
|
||||
|
||||
|
@ -65,7 +66,7 @@ public class ClassGroupPageData extends DataGetterBase implements DataGetter{
|
|||
HashMap<String, Object> data = new HashMap<String,Object>();
|
||||
data.put("classGroupUri", this.classGroupUri);
|
||||
|
||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
||||
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||
List<VClassGroup> vcgList = vcgc.getGroups();
|
||||
VClassGroup group = null;
|
||||
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){
|
||||
|
||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
||||
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||
List<VClassGroup> vcgList = vcgc.getGroups();
|
||||
VClassGroup group = null;
|
||||
for( VClassGroup vcg : vcgList){
|
||||
|
|
|
@ -12,6 +12,7 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
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.json.JsonServlet;
|
||||
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.WebappDaoFactory;
|
||||
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.
|
||||
*/
|
||||
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>();
|
||||
for( String dgURI: dgUris){
|
||||
DataGetter dg =dataGetterForURI(vreq, displayModel, dgURI) ;
|
||||
|
@ -332,7 +334,7 @@ public class DataGetterUtils {
|
|||
@SuppressWarnings("unchecked")
|
||||
Enumeration<String> e = vreq.getParameterNames();
|
||||
while(e.hasMoreElements()){
|
||||
String name = (String)e.nextElement();
|
||||
String name = e.nextElement();
|
||||
log.debug("parameter: " + name);
|
||||
for( String value : vreq.getParameterValues(name) ){
|
||||
log.debug("value for " + name + ": '" + value + "'");
|
||||
|
@ -550,9 +552,9 @@ public class DataGetterUtils {
|
|||
//Get All VClass Groups information
|
||||
//Used within menu management and processing
|
||||
//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
|
||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
||||
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(req);
|
||||
List<VClassGroup> vcgList = vcgc.getGroups();
|
||||
//For now encoding as hashmap with label and URI as trying to retrieve class group
|
||||
//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
|
||||
//with respect to class groups
|
||||
//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
|
||||
//and the associated class group (not custom) for individuals datagetter
|
||||
String classGroupUri = (String) pageData.get("classGroupUri");
|
||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
||||
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(req);
|
||||
VClassGroup group = vcgc.getGroup(classGroupUri);
|
||||
|
||||
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.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.VitroVocabulary;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.VClassGroupCache;
|
||||
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");
|
||||
List<VClass> vClasses = new ArrayList<VClass>();
|
||||
|
||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
||||
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||
for(String classUri: classes) {
|
||||
//Retrieve vclass from cache to get the count
|
||||
VClass vclass = vcgc.getCachedVClass(classUri);
|
||||
|
@ -262,7 +263,7 @@ public class IndividualsForClassesDataGetter extends DataGetterBase implements D
|
|||
List<VClass> restrictVClasses = new ArrayList<VClass>();
|
||||
|
||||
List<String> urlEncodedRestrictClasses = new ArrayList<String>();
|
||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
||||
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||
|
||||
if(restrictClasses.size() > 0) {
|
||||
//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){
|
||||
|
||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
||||
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||
List<VClassGroup> vcgList = vcgc.getGroups();
|
||||
VClassGroup group = null;
|
||||
for( VClassGroup vcg : vcgList){
|
||||
|
|
|
@ -4,7 +4,7 @@ package edu.cornell.mannlib.vitro.webapp.utils.menuManagement;
|
|||
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
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
|
||||
//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
|
||||
templateData.put("isClassGroupPage", true);
|
||||
templateData.put("includeAllClasses", true);
|
||||
|
||||
//Get the class group from VClassGroup
|
||||
DataGetterUtils.getClassGroupForDataGetter(context, pageData, templateData);
|
||||
DataGetterUtils.getClassGroupForDataGetter(req, pageData, templateData);
|
||||
}
|
||||
|
||||
|
||||
//Process submission
|
||||
|
||||
public Model processSubmission(VitroRequest vreq, Resource dataGetterResource) {
|
||||
@Override
|
||||
public Model processSubmission(VitroRequest vreq, Resource dataGetterResource) {
|
||||
Model dgModel = ModelFactory.createDefaultModel();
|
||||
String dataGetterTypeUri = DataGetterUtils.generateDataGetterTypeURI(ClassGroupPageData.class.getName());
|
||||
dgModel.add(dgModel.createStatement(dataGetterResource,
|
||||
|
|
|
@ -4,18 +4,15 @@ package edu.cornell.mannlib.vitro.webapp.utils.menuManagement;
|
|||
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
||||
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
|
||||
|
||||
import org.json.JSONObject;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import com.hp.hpl.jena.rdf.model.Model;
|
||||
import com.hp.hpl.jena.rdf.model.Resource;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
||||
|
||||
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);
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
@ -34,12 +34,13 @@ public class ProcessIndividualsForClasses implements ProcessDataGetter {
|
|||
/**Retrieve and populate**/
|
||||
|
||||
//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);
|
||||
populateIncludedClasses(pageData, templateData);
|
||||
populateRestrictedClasses(pageData, templateData);
|
||||
//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) {
|
||||
return(!allClassesSelected(vreq));
|
||||
}
|
||||
@Override
|
||||
public Model processSubmission(VitroRequest vreq, Resource dataGetterResource) {
|
||||
String[] selectedClasses = vreq.getParameterValues("classInClassGroup");
|
||||
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) {
|
||||
//The type of the data getter will show how to process the data from the data getter
|
||||
ProcessDataGetter processor = selectProcessor(dataGetterClass);
|
||||
processor.populateTemplate(context, pageData, templateData);
|
||||
processor.populateTemplate(vreq, pageData, templateData);
|
||||
}
|
||||
|
||||
//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.json.JsonServlet;
|
||||
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.utils.JsonToFmModel;
|
||||
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.VClassGroupTemplateModel;
|
||||
|
@ -63,7 +64,8 @@ public class BrowseDataGetter implements PageDataGetter {
|
|||
}
|
||||
|
||||
//Get data servuice
|
||||
public String getDataServiceUrl() {
|
||||
@Override
|
||||
public String getDataServiceUrl() {
|
||||
return UrlBuilder.getUrl("/dataservice?getSolrIndividualsByVClass=1&vclassId=");
|
||||
}
|
||||
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){
|
||||
Map<String,Object> values = new HashMap<String,Object>();
|
||||
|
||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
||||
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||
List<VClassGroup> cgList = vcgc.getGroups();
|
||||
LinkedList<VClassGroupTemplateModel> cgtmList = new LinkedList<VClassGroupTemplateModel>();
|
||||
for( VClassGroup classGroup : cgList){
|
||||
|
@ -168,7 +170,7 @@ public class BrowseDataGetter implements PageDataGetter {
|
|||
String vcgUri = getParam(Mode.CLASS_GROUP, request, params);
|
||||
VitroRequest vreq = new VitroRequest(request);
|
||||
|
||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
||||
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(request);
|
||||
VClassGroup vcg = vcgc.getGroup(vcgUri);
|
||||
|
||||
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.controller.VitroRequest;
|
||||
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.web.templatemodels.VClassGroupTemplateModel;
|
||||
|
||||
|
@ -28,12 +28,13 @@ import edu.cornell.mannlib.vitro.webapp.web.templatemodels.VClassGroupTemplateMo
|
|||
public class ClassGroupPageData implements PageDataGetter{
|
||||
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>();
|
||||
String classGroupUri = vreq.getWebappDaoFactory().getPageDao().getClassGroupPage(pageUri);
|
||||
data.put("classGroupUri", classGroupUri);
|
||||
|
||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
||||
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||
List<VClassGroup> vcgList = vcgc.getGroups();
|
||||
VClassGroup group = null;
|
||||
for( VClassGroup vcg : vcgList){
|
||||
|
@ -87,7 +88,7 @@ public class ClassGroupPageData implements PageDataGetter{
|
|||
|
||||
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();
|
||||
VClassGroup group = null;
|
||||
for( VClassGroup vcg : vcgList){
|
||||
|
@ -125,12 +126,14 @@ public class ClassGroupPageData implements PageDataGetter{
|
|||
return new VClassGroupTemplateModel(group);
|
||||
}
|
||||
|
||||
public String getType(){
|
||||
@Override
|
||||
public String getType(){
|
||||
return PageDataGetterUtils.generateDataGetterTypeURI(ClassGroupPageData.class.getName());
|
||||
}
|
||||
|
||||
//Get data servuice
|
||||
public String getDataServiceUrl() {
|
||||
@Override
|
||||
public String getDataServiceUrl() {
|
||||
return UrlBuilder.getUrl("/dataservice?getSolrIndividualsByVClass=1&vclassId=");
|
||||
}
|
||||
|
||||
|
@ -139,7 +142,8 @@ public class ClassGroupPageData implements PageDataGetter{
|
|||
* For processing of JSONObject
|
||||
*/
|
||||
//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;
|
||||
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.freemarker.UrlBuilder;
|
||||
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.web.templatemodels.VClassGroupTemplateModel;
|
||||
|
||||
|
@ -32,7 +33,8 @@ import edu.cornell.mannlib.vitro.webapp.web.templatemodels.VClassGroupTemplateMo
|
|||
public class IndividualsForClassesDataGetter implements PageDataGetter{
|
||||
private static final Log log = LogFactory.getLog(IndividualsForClassesDataGetter.class);
|
||||
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();
|
||||
HashMap<String, Object> data = new HashMap<String,Object>();
|
||||
//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");
|
||||
List<VClass> vClasses = new ArrayList<VClass>();
|
||||
|
||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
||||
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||
for(String classUri: classes) {
|
||||
//Retrieve vclass from cache to get the count
|
||||
VClass vclass = vcgc.getCachedVClass(classUri);
|
||||
|
@ -181,7 +183,7 @@ public class IndividualsForClassesDataGetter implements PageDataGetter{
|
|||
List<VClass> restrictVClasses = new ArrayList<VClass>();
|
||||
|
||||
List<String> urlEncodedRestrictClasses = new ArrayList<String>();
|
||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
||||
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||
|
||||
if(restrictClasses.size() > 0) {
|
||||
//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){
|
||||
|
||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
||||
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(vreq);
|
||||
List<VClassGroup> vcgList = vcgc.getGroups();
|
||||
VClassGroup group = null;
|
||||
for( VClassGroup vcg : vcgList){
|
||||
|
@ -263,18 +265,21 @@ public class IndividualsForClassesDataGetter implements PageDataGetter{
|
|||
return new VClassGroupTemplateModel(group);
|
||||
}
|
||||
|
||||
public String getType(){
|
||||
@Override
|
||||
public String getType(){
|
||||
return PageDataGetterUtils.generateDataGetterTypeURI(IndividualsForClassesDataGetter.class.getName());
|
||||
}
|
||||
|
||||
//Get data servuice
|
||||
public String getDataServiceUrl() {
|
||||
@Override
|
||||
public String getDataServiceUrl() {
|
||||
return UrlBuilder.getUrl("/dataservice?getSolrIndividualsByVClasses=1&vclassId=");
|
||||
}
|
||||
/**
|
||||
* 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);
|
||||
return rObj;
|
||||
}
|
||||
|
|
|
@ -12,6 +12,7 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
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.UrlBuilder;
|
||||
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.jena.VClassGroupCache;
|
||||
import edu.cornell.mannlib.vitro.webapp.utils.dataGetter.DataGetterUtils;
|
||||
|
||||
public class PageDataGetterUtils {
|
||||
protected static final String DATA_GETTER_MAP = "pageTypeToDataGetterMap";
|
||||
|
@ -124,7 +125,7 @@ public class PageDataGetterUtils {
|
|||
|
||||
for(String dgClassName: dataGetterClassNames) {
|
||||
String className = getClassNameFromUri(dgClassName);
|
||||
Class clz = Class.forName(className);
|
||||
Class<?> clz = Class.forName(className);
|
||||
|
||||
if( PageDataGetter.class.isAssignableFrom(clz)){
|
||||
PageDataGetter pg = (PageDataGetter) clz.newInstance();
|
||||
|
@ -175,7 +176,7 @@ public class PageDataGetterUtils {
|
|||
@SuppressWarnings("unchecked")
|
||||
Enumeration<String> e = vreq.getParameterNames();
|
||||
while(e.hasMoreElements()){
|
||||
String name = (String)e.nextElement();
|
||||
String name = e.nextElement();
|
||||
log.debug("parameter: " + name);
|
||||
for( String value : vreq.getParameterValues(name) ){
|
||||
log.debug("value for " + name + ": '" + value + "'");
|
||||
|
@ -299,9 +300,9 @@ public class PageDataGetterUtils {
|
|||
//Get All VClass Groups information
|
||||
//Used within menu management and processing
|
||||
//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
|
||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
||||
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(req);
|
||||
List<VClassGroup> vcgList = vcgc.getGroups();
|
||||
//For now encoding as hashmap with label and URI as trying to retrieve class group
|
||||
//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
|
||||
//with respect to class groups
|
||||
//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
|
||||
//and the associated class group (not custom) for individuals datagetter
|
||||
String classGroupUri = (String) pageData.get("classGroupUri");
|
||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
||||
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(req);
|
||||
VClassGroup group = vcgc.getGroup(classGroupUri);
|
||||
|
||||
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.controller.VitroRequest;
|
||||
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.utils.JsonToFmModel;
|
||||
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.VClassGroupTemplateModel;
|
||||
|
@ -123,7 +124,7 @@ public class BrowseWidget extends Widget {
|
|||
|
||||
VitroRequest vreq = new VitroRequest(request);
|
||||
|
||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
||||
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(request);
|
||||
List<VClassGroup> cgList = vcgc.getGroups();
|
||||
|
||||
// List<VClassGroup> classGroups =
|
||||
|
@ -186,7 +187,7 @@ public class BrowseWidget extends Widget {
|
|||
VitroRequest vreq = new VitroRequest(request);
|
||||
//VClassGroup vcg = vreq.getWebappDaoFactory().getVClassGroupDao().getGroupByURI(vcgUri);
|
||||
|
||||
VClassGroupCache vcgc = VClassGroupCache.getVClassGroupCache(context);
|
||||
VClassGroupsForRequest vcgc = VClassGroupCache.getVClassGroups(request);
|
||||
VClassGroup vcg = vcgc.getGroup(vcgUri);
|
||||
|
||||
//vreq.getWebappDaoFactory().getVClassDao().addVClassesToGroup(vcg, false, true);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue