1. Added constructs for handling visualization dependency injection into vis controller.
2. Refactored code.
This commit is contained in:
parent
c7bbb54d69
commit
a6a29b7155
3 changed files with 109 additions and 100 deletions
42
src/META-INF/visualizations-beans-injection.xml
Normal file
42
src/META-INF/visualizations-beans-injection.xml
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xmlns:aop="http://www.springframework.org/schema/aop"
|
||||||
|
xmlns:context="http://www.springframework.org/schema/context"
|
||||||
|
xsi:schemaLocation="http://www.springframework.org/schema/beans
|
||||||
|
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
|
||||||
|
http://www.springframework.org/schema/aop
|
||||||
|
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
|
||||||
|
http://www.springframework.org/schema/context
|
||||||
|
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
|
||||||
|
|
||||||
|
|
||||||
|
<bean id="person_pub_count" class="edu.cornell.mannlib.vitro.webapp.visualization.personpubcount.PersonPublicationCountRequestHandler" />
|
||||||
|
<bean id="college_pub_count" class="edu.cornell.mannlib.vitro.webapp.visualization.collegepubcount.CollegePublicationCountRequestHandler" />
|
||||||
|
<bean id="coauthorship" class="edu.cornell.mannlib.vitro.webapp.visualization.coauthorship.CoAuthorshipRequestHandler" />
|
||||||
|
<bean id="person_level" class="edu.cornell.mannlib.vitro.webapp.visualization.personlevel.PersonLevelRequestHandler" />
|
||||||
|
<bean id="utilities" class="edu.cornell.mannlib.vitro.webapp.visualization.utilities.UtilitiesRequestHandler" />
|
||||||
|
|
||||||
|
<bean id="visualizationInjector" class="edu.cornell.mannlib.vitro.webapp.controller.visualization.VisualizationInjector">
|
||||||
|
<property name="visualizations">
|
||||||
|
<map>
|
||||||
|
<entry key="person_pub_count">
|
||||||
|
<ref bean="person_pub_count"></ref>
|
||||||
|
</entry>
|
||||||
|
<entry key="college_pub_count">
|
||||||
|
<ref bean="college_pub_count"></ref>
|
||||||
|
</entry>
|
||||||
|
<entry key="coauthorship">
|
||||||
|
<ref bean="coauthorship"></ref>
|
||||||
|
</entry>
|
||||||
|
<entry key="person_level">
|
||||||
|
<ref bean="person_level"></ref>
|
||||||
|
</entry>
|
||||||
|
<entry key="utilities">
|
||||||
|
<ref bean="utilities"></ref>
|
||||||
|
</entry>
|
||||||
|
</map>
|
||||||
|
</property>
|
||||||
|
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
</beans>
|
|
@ -31,6 +31,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.servlet.RequestDispatcher;
|
import javax.servlet.RequestDispatcher;
|
||||||
import javax.servlet.ServletException;
|
import javax.servlet.ServletException;
|
||||||
|
@ -40,6 +41,9 @@ import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
import org.springframework.beans.factory.BeanFactory;
|
||||||
|
import org.springframework.context.ApplicationContext;
|
||||||
|
import org.springframework.context.support.ClassPathXmlApplicationContext;
|
||||||
|
|
||||||
import com.hp.hpl.jena.query.DataSource;
|
import com.hp.hpl.jena.query.DataSource;
|
||||||
import com.hp.hpl.jena.query.DatasetFactory;
|
import com.hp.hpl.jena.query.DatasetFactory;
|
||||||
|
@ -67,6 +71,8 @@ import edu.cornell.mannlib.vitro.webapp.visualization.visutils.VisualizationRequ
|
||||||
*/
|
*/
|
||||||
public class VisualizationController extends BaseEditController {
|
public class VisualizationController extends BaseEditController {
|
||||||
|
|
||||||
|
private Map<String, VisualizationRequestHandler> visualizationIDsToClass;
|
||||||
|
|
||||||
private static final String VIS_TYPE_URL_HANDLE = "vis";
|
private static final String VIS_TYPE_URL_HANDLE = "vis";
|
||||||
|
|
||||||
public static final String URL_ENCODING_SCHEME = "UTF-8";
|
public static final String URL_ENCODING_SCHEME = "UTF-8";
|
||||||
|
@ -96,6 +102,19 @@ public class VisualizationController extends BaseEditController {
|
||||||
public static final String UTILITIES_URL_VALUE
|
public static final String UTILITIES_URL_VALUE
|
||||||
= "utilities";
|
= "utilities";
|
||||||
|
|
||||||
|
public VisualizationController() {
|
||||||
|
super();
|
||||||
|
|
||||||
|
ApplicationContext context = new ClassPathXmlApplicationContext(
|
||||||
|
"META-INF/visualizations-beans-injection.xml");
|
||||||
|
|
||||||
|
BeanFactory factory = context;
|
||||||
|
VisualizationInjector visualizationInjector = (VisualizationInjector) factory
|
||||||
|
.getBean("visualizationInjector");
|
||||||
|
|
||||||
|
visualizationIDsToClass = visualizationInjector.getVisualizationIDToClass();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -114,128 +133,35 @@ public class VisualizationController extends BaseEditController {
|
||||||
|
|
||||||
String visTypeURLHandle = vreq.getParameter(VIS_TYPE_URL_HANDLE);
|
String visTypeURLHandle = vreq.getParameter(VIS_TYPE_URL_HANDLE);
|
||||||
|
|
||||||
|
VisualizationRequestHandler visRequestHandler = null;
|
||||||
|
|
||||||
if (PERSON_PUBLICATION_COUNT_VIS_URL_VALUE.equalsIgnoreCase(visTypeURLHandle)) {
|
if (PERSON_PUBLICATION_COUNT_VIS_URL_VALUE.equalsIgnoreCase(visTypeURLHandle)) {
|
||||||
|
|
||||||
VisualizationRequestHandler visRequestHandler =
|
visRequestHandler =
|
||||||
new PersonPublicationCountRequestHandler(vreq, request, response, log);
|
new PersonPublicationCountRequestHandler(vreq, request, response, log);
|
||||||
|
|
||||||
String rdfResultFormatParam = "RDF/XML-ABBREV";
|
|
||||||
|
|
||||||
DataSource dataSource = setupJENADataSource(request,
|
|
||||||
response,
|
|
||||||
vreq,
|
|
||||||
rdfResultFormatParam);
|
|
||||||
|
|
||||||
if (dataSource != null) {
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This is side-effecting because the visualization content is added
|
|
||||||
* to the request object.
|
|
||||||
* */
|
|
||||||
visRequestHandler.generateVisualization(dataSource);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
log.error("ERROR! Data Model Empty");
|
|
||||||
}
|
|
||||||
|
|
||||||
} else if (COLLEGE_PUBLICATION_COUNT_VIS_URL_VALUE.equalsIgnoreCase(visTypeURLHandle)) {
|
} else if (COLLEGE_PUBLICATION_COUNT_VIS_URL_VALUE.equalsIgnoreCase(visTypeURLHandle)) {
|
||||||
|
|
||||||
VisualizationRequestHandler visRequestHandler =
|
visRequestHandler =
|
||||||
new CollegePublicationCountRequestHandler(vreq, request, response, log);
|
new CollegePublicationCountRequestHandler(vreq, request, response, log);
|
||||||
|
|
||||||
String rdfResultFormatParam = "RDF/XML-ABBREV";
|
|
||||||
|
|
||||||
DataSource dataSource = setupJENADataSource(request,
|
|
||||||
response,
|
|
||||||
vreq,
|
|
||||||
rdfResultFormatParam);
|
|
||||||
|
|
||||||
if (dataSource != null) {
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This is side-effecting because the visualization content is added
|
|
||||||
* to the request object.
|
|
||||||
* */
|
|
||||||
visRequestHandler.generateVisualization(dataSource);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
log.error("ERROR! data model empoty");
|
|
||||||
}
|
|
||||||
|
|
||||||
} else if (COAUTHORSHIP_VIS_URL_VALUE.equalsIgnoreCase(visTypeURLHandle)) {
|
} else if (COAUTHORSHIP_VIS_URL_VALUE.equalsIgnoreCase(visTypeURLHandle)) {
|
||||||
|
|
||||||
VisualizationRequestHandler visRequestHandler =
|
visRequestHandler =
|
||||||
new CoAuthorshipRequestHandler(vreq, request, response, log);
|
new CoAuthorshipRequestHandler(vreq, request, response, log);
|
||||||
|
|
||||||
String rdfResultFormatParam = "RDF/XML-ABBREV";
|
|
||||||
|
|
||||||
DataSource dataSource = setupJENADataSource(request,
|
|
||||||
response,
|
|
||||||
vreq,
|
|
||||||
rdfResultFormatParam);
|
|
||||||
|
|
||||||
if (dataSource != null) {
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This is side-effecting because the visualization content is added
|
|
||||||
* to the request object.
|
|
||||||
* */
|
|
||||||
visRequestHandler.generateVisualization(dataSource);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
log.error("ERROR! data model empoty");
|
|
||||||
}
|
|
||||||
|
|
||||||
} else if (PERSON_LEVEL_VIS_URL_VALUE.equalsIgnoreCase(visTypeURLHandle)) {
|
} else if (PERSON_LEVEL_VIS_URL_VALUE.equalsIgnoreCase(visTypeURLHandle)) {
|
||||||
|
|
||||||
VisualizationRequestHandler visRequestHandler =
|
visRequestHandler =
|
||||||
new PersonLevelRequestHandler(vreq, request, response, log);
|
new PersonLevelRequestHandler(vreq, request, response, log);
|
||||||
|
|
||||||
String rdfResultFormatParam = "RDF/XML-ABBREV";
|
|
||||||
|
|
||||||
DataSource dataSource = setupJENADataSource(request,
|
|
||||||
response,
|
|
||||||
vreq,
|
|
||||||
rdfResultFormatParam);
|
|
||||||
|
|
||||||
if (dataSource != null) {
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This is side-effecting because the visualization content is added
|
|
||||||
* to the request object.
|
|
||||||
* */
|
|
||||||
visRequestHandler.generateVisualization(dataSource);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
log.error("ERROR! data model empoty");
|
|
||||||
}
|
|
||||||
|
|
||||||
} else if (UTILITIES_URL_VALUE
|
} else if (UTILITIES_URL_VALUE
|
||||||
.equalsIgnoreCase(visTypeURLHandle)) {
|
.equalsIgnoreCase(visTypeURLHandle)) {
|
||||||
|
|
||||||
VisualizationRequestHandler visRequestHandler =
|
visRequestHandler =
|
||||||
new UtilitiesRequestHandler(vreq, request, response, log);
|
new UtilitiesRequestHandler(vreq, request, response, log);
|
||||||
|
|
||||||
String rdfResultFormatParam = "RDF/XML-ABBREV";
|
|
||||||
|
|
||||||
DataSource dataSource = setupJENADataSource(request,
|
|
||||||
response,
|
|
||||||
vreq,
|
|
||||||
rdfResultFormatParam);
|
|
||||||
|
|
||||||
if (dataSource != null) {
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This is side-effecting because the visualization content is added
|
|
||||||
* to the request object.
|
|
||||||
* */
|
|
||||||
visRequestHandler.generateVisualization(dataSource);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
log.error("ERROR! data model empoty");
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
log.debug("vis uqery parameter value -> " + vreq.getParameter("vis"));
|
log.debug("vis uqery parameter value -> " + vreq.getParameter("vis"));
|
||||||
|
@ -252,6 +178,28 @@ public class VisualizationController extends BaseEditController {
|
||||||
response);
|
response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String rdfResultFormatParam = "RDF/XML-ABBREV";
|
||||||
|
|
||||||
|
DataSource dataSource = setupJENADataSource(request,
|
||||||
|
response,
|
||||||
|
vreq,
|
||||||
|
rdfResultFormatParam);
|
||||||
|
|
||||||
|
if (dataSource != null && visRequestHandler != null) {
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is side-effecting because the visualization content is added
|
||||||
|
* to the request object.
|
||||||
|
* */
|
||||||
|
visRequestHandler.generateVisualization(dataSource);
|
||||||
|
|
||||||
|
System.out.println(" VIS ID TO CLASS " + visualizationIDsToClass);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
log.error("ERROR! Data Model Empty &/or inapproppriate vis request made");
|
||||||
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||||
|
package edu.cornell.mannlib.vitro.webapp.controller.visualization;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.visualization.visutils.VisualizationRequestHandler;
|
||||||
|
|
||||||
|
public class VisualizationInjector {
|
||||||
|
private Map<String, VisualizationRequestHandler> visualizationIDToClass;
|
||||||
|
|
||||||
|
public Map<String, VisualizationRequestHandler> getVisualizationIDToClass() {
|
||||||
|
return visualizationIDToClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVisualizations(Map<String, VisualizationRequestHandler> visualizationIDToClass) {
|
||||||
|
this.visualizationIDToClass = visualizationIDToClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue