NIHVIVO-89 Work on new JSP template for browse controllers

This commit is contained in:
rjy7 2010-02-09 15:23:22 +00:00
parent d72f639f74
commit 53297c182c
6 changed files with 98 additions and 44 deletions

View file

@ -32,7 +32,7 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue;
public class BrowseControllerFreeMarker extends BrowseController {
public class BrowseControllerFreeMarker extends VitroHttpServlet {
static final long serialVersionUID=2006030721126L;
private transient ConcurrentHashMap<Integer, List> _groupListMap
@ -41,7 +41,7 @@ public class BrowseControllerFreeMarker extends BrowseController {
= new ConcurrentLinkedQueue<String>();
private RebuildGroupCacheThread _cacheRebuildThread;
private static final Log log = LogFactory.getLog(BrowseController.class.getName());
private static final Log log = LogFactory.getLog(BrowseControllerFreeMarker.class.getName());
public void init(javax.servlet.ServletConfig servletConfig)
throws javax.servlet.ServletException {
@ -104,7 +104,7 @@ public class BrowseControllerFreeMarker extends BrowseController {
// run directly to body for testing: RequestDispatcher rd = request.getRequestDispatcher(Controllers.BROWSE_GROUP_JSP);
rd.forward(request, response);
} catch (Throwable e) {
log.debug("BrowseController.doGet(): "+ e);
log.debug("BrowseControllerFreeMarker.doGet(): "+ e);
request.setAttribute("javax.servlet.jsp.jspException",e);
RequestDispatcher rd = request.getRequestDispatcher("/error.jsp");
rd.forward(request, response);
@ -237,8 +237,8 @@ public class BrowseControllerFreeMarker extends BrowseController {
/* ****************** Jena Model Change Listener***************************** */
private class BrowseControllerChangeListener extends StatementListener {
private BrowseController controller = null;
public BrowseControllerChangeListener(BrowseController controller){
private BrowseControllerFreeMarker controller = null;
public BrowseControllerChangeListener(BrowseControllerFreeMarker controller){
this.controller=controller;
}
@ -267,13 +267,13 @@ public class BrowseControllerFreeMarker extends BrowseController {
}
/* ******************** RebuildGroupCacheThread **************** */
protected class RebuildGroupCacheThread extends Thread {
BrowseController controller;
BrowseControllerFreeMarker controller;
boolean die = false;
boolean queueChange = false;
long queueChangeMills = 0;
private boolean awareOfQueueChange = false;
RebuildGroupCacheThread(BrowseController controller) {
RebuildGroupCacheThread(BrowseControllerFreeMarker controller) {
this.controller = controller;
}
public void run() {

View file

@ -2,6 +2,9 @@
package edu.cornell.mannlib.vitro.webapp.controller;
import java.util.Collection;
import java.util.Iterator;
import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.rdf.listeners.StatementListener;
import com.hp.hpl.jena.rdf.model.Statement;
@ -32,7 +35,7 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue;
public class BrowseControllerJsp extends BrowseController {
public class BrowseControllerJsp extends VitroHttpServlet {
static final long serialVersionUID=2006030721126L;
private transient ConcurrentHashMap<Integer, List> _groupListMap
@ -41,7 +44,7 @@ public class BrowseControllerJsp extends BrowseController {
= new ConcurrentLinkedQueue<String>();
private RebuildGroupCacheThread _cacheRebuildThread;
private static final Log log = LogFactory.getLog(BrowseController.class.getName());
private static final Log log = LogFactory.getLog(BrowseControllerJsp.class.getName());
public void init(javax.servlet.ServletConfig servletConfig)
throws javax.servlet.ServletException {
@ -86,25 +89,23 @@ public class BrowseControllerJsp extends BrowseController {
PortalFlag portalState= vreq.getPortalFlag();
List groups = getGroups(vreq.getWebappDaoFactory().getVClassGroupDao(), vreq.getPortal().getPortalId());
if( groups == null || groups.isEmpty() )
request.setAttribute("classgroupsIsEmpty", true);
// CREATE THE DATA STRUCTURE HERE!!!
// stick the data in the requestScope
// We probably won't need this value - set classgroups to something, maybe empty string?
request.setAttribute("classgroupsIsEmpty", groups == null || groups.isEmpty() );
request.setAttribute("classgroups",groups);
request.setAttribute("portalState",portalState);
request.setAttribute("title","Index to "+vreq.getPortal().getAppName()+" Contents");
request.setAttribute("bodyJsp",Controllers.BROWSE_GROUP_JSP);
//request.setAttribute("bodyJsp",Controllers.DEBUG_JSP);
request.setAttribute("bodyJsp","/templates/browse/browseGroupJsp.jsp");
//FINALLY: send off to the BASIC_JSP to get turned into HTML
RequestDispatcher rd = request.getRequestDispatcher(Controllers.BASIC_JSP);
// run directly to body for testing: RequestDispatcher rd = request.getRequestDispatcher(Controllers.BROWSE_GROUP_JSP);
rd.forward(request, response);
} catch (Throwable e) {
log.debug("BrowseController.doGet(): "+ e);
log.debug("BrowseControllerJsp.doGet(): "+ e);
request.setAttribute("javax.servlet.jsp.jspException",e);
RequestDispatcher rd = request.getRequestDispatcher("/error.jsp");
rd.forward(request, response);
@ -237,8 +238,8 @@ public class BrowseControllerJsp extends BrowseController {
/* ****************** Jena Model Change Listener***************************** */
private class BrowseControllerChangeListener extends StatementListener {
private BrowseController controller = null;
public BrowseControllerChangeListener(BrowseController controller){
private BrowseControllerJsp controller = null;
public BrowseControllerChangeListener(BrowseControllerJsp controller){
this.controller=controller;
}
@ -267,13 +268,13 @@ public class BrowseControllerJsp extends BrowseController {
}
/* ******************** RebuildGroupCacheThread **************** */
protected class RebuildGroupCacheThread extends Thread {
BrowseController controller;
BrowseControllerJsp controller;
boolean die = false;
boolean queueChange = false;
long queueChangeMills = 0;
private boolean awareOfQueueChange = false;
RebuildGroupCacheThread(BrowseController controller) {
RebuildGroupCacheThread(BrowseControllerJsp controller) {
this.controller = controller;
}
public void run() {

View file

@ -32,7 +32,7 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue;
public class BrowseControllerStringTemplate extends BrowseController {
public class BrowseControllerStringTemplate extends VitroHttpServlet {
static final long serialVersionUID=2006030721126L;
private transient ConcurrentHashMap<Integer, List> _groupListMap
@ -41,7 +41,7 @@ public class BrowseControllerStringTemplate extends BrowseController {
= new ConcurrentLinkedQueue<String>();
private RebuildGroupCacheThread _cacheRebuildThread;
private static final Log log = LogFactory.getLog(BrowseController.class.getName());
private static final Log log = LogFactory.getLog(BrowseControllerStringTemplate.class.getName());
public void init(javax.servlet.ServletConfig servletConfig)
throws javax.servlet.ServletException {
@ -104,7 +104,7 @@ public class BrowseControllerStringTemplate extends BrowseController {
// run directly to body for testing: RequestDispatcher rd = request.getRequestDispatcher(Controllers.BROWSE_GROUP_JSP);
rd.forward(request, response);
} catch (Throwable e) {
log.debug("BrowseController.doGet(): "+ e);
log.debug("BrowseControllerStringTemplate.doGet(): "+ e);
request.setAttribute("javax.servlet.jsp.jspException",e);
RequestDispatcher rd = request.getRequestDispatcher("/error.jsp");
rd.forward(request, response);
@ -237,8 +237,8 @@ public class BrowseControllerStringTemplate extends BrowseController {
/* ****************** Jena Model Change Listener***************************** */
private class BrowseControllerChangeListener extends StatementListener {
private BrowseController controller = null;
public BrowseControllerChangeListener(BrowseController controller){
private BrowseControllerStringTemplate controller = null;
public BrowseControllerChangeListener(BrowseControllerStringTemplate controller){
this.controller=controller;
}
@ -267,13 +267,13 @@ public class BrowseControllerStringTemplate extends BrowseController {
}
/* ******************** RebuildGroupCacheThread **************** */
protected class RebuildGroupCacheThread extends Thread {
BrowseController controller;
BrowseControllerStringTemplate controller;
boolean die = false;
boolean queueChange = false;
long queueChangeMills = 0;
private boolean awareOfQueueChange = false;
RebuildGroupCacheThread(BrowseController controller) {
RebuildGroupCacheThread(BrowseControllerStringTemplate controller) {
this.controller = controller;
}
public void run() {

View file

@ -32,7 +32,7 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue;
public class BrowseControllerVelocity extends BrowseController {
public class BrowseControllerVelocity extends VitroHttpServlet {
static final long serialVersionUID=2006030721126L;
private transient ConcurrentHashMap<Integer, List> _groupListMap
@ -41,7 +41,7 @@ public class BrowseControllerVelocity extends BrowseController {
= new ConcurrentLinkedQueue<String>();
private RebuildGroupCacheThread _cacheRebuildThread;
private static final Log log = LogFactory.getLog(BrowseController.class.getName());
private static final Log log = LogFactory.getLog(BrowseControllerVelocity.class.getName());
public void init(javax.servlet.ServletConfig servletConfig)
throws javax.servlet.ServletException {
@ -104,7 +104,7 @@ public class BrowseControllerVelocity extends BrowseController {
// run directly to body for testing: RequestDispatcher rd = request.getRequestDispatcher(Controllers.BROWSE_GROUP_JSP);
rd.forward(request, response);
} catch (Throwable e) {
log.debug("BrowseController.doGet(): "+ e);
log.debug("BrowseControllerVelocity.doGet(): "+ e);
request.setAttribute("javax.servlet.jsp.jspException",e);
RequestDispatcher rd = request.getRequestDispatcher("/error.jsp");
rd.forward(request, response);
@ -237,8 +237,8 @@ public class BrowseControllerVelocity extends BrowseController {
/* ****************** Jena Model Change Listener***************************** */
private class BrowseControllerChangeListener extends StatementListener {
private BrowseController controller = null;
public BrowseControllerChangeListener(BrowseController controller){
private BrowseControllerVelocity controller = null;
public BrowseControllerChangeListener(BrowseControllerVelocity controller){
this.controller=controller;
}
@ -267,13 +267,13 @@ public class BrowseControllerVelocity extends BrowseController {
}
/* ******************** RebuildGroupCacheThread **************** */
protected class RebuildGroupCacheThread extends Thread {
BrowseController controller;
BrowseControllerVelocity controller;
boolean die = false;
boolean queueChange = false;
long queueChangeMills = 0;
private boolean awareOfQueueChange = false;
RebuildGroupCacheThread(BrowseController controller) {
RebuildGroupCacheThread(BrowseControllerVelocity controller) {
this.controller = controller;
}
public void run() {

View file

@ -32,7 +32,7 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue;
public class BrowseControllerWicket extends BrowseController {
public class BrowseControllerWicket extends VitroHttpServlet {
static final long serialVersionUID=2006030721126L;
private transient ConcurrentHashMap<Integer, List> _groupListMap
@ -41,7 +41,7 @@ public class BrowseControllerWicket extends BrowseController {
= new ConcurrentLinkedQueue<String>();
private RebuildGroupCacheThread _cacheRebuildThread;
private static final Log log = LogFactory.getLog(BrowseController.class.getName());
private static final Log log = LogFactory.getLog(BrowseControllerWicket.class.getName());
public void init(javax.servlet.ServletConfig servletConfig)
throws javax.servlet.ServletException {
@ -104,7 +104,7 @@ public class BrowseControllerWicket extends BrowseController {
// run directly to body for testing: RequestDispatcher rd = request.getRequestDispatcher(Controllers.BROWSE_GROUP_JSP);
rd.forward(request, response);
} catch (Throwable e) {
log.debug("BrowseController.doGet(): "+ e);
log.debug("BrowseControllerWicket.doGet(): "+ e);
request.setAttribute("javax.servlet.jsp.jspException",e);
RequestDispatcher rd = request.getRequestDispatcher("/error.jsp");
rd.forward(request, response);
@ -237,8 +237,8 @@ public class BrowseControllerWicket extends BrowseController {
/* ****************** Jena Model Change Listener***************************** */
private class BrowseControllerChangeListener extends StatementListener {
private BrowseController controller = null;
public BrowseControllerChangeListener(BrowseController controller){
private BrowseControllerWicket controller = null;
public BrowseControllerChangeListener(BrowseControllerWicket controller){
this.controller=controller;
}
@ -267,13 +267,13 @@ public class BrowseControllerWicket extends BrowseController {
}
/* ******************** RebuildGroupCacheThread **************** */
protected class RebuildGroupCacheThread extends Thread {
BrowseController controller;
BrowseControllerWicket controller;
boolean die = false;
boolean queueChange = false;
long queueChangeMills = 0;
private boolean awareOfQueueChange = false;
RebuildGroupCacheThread(BrowseController controller) {
RebuildGroupCacheThread(BrowseControllerWicket controller) {
this.controller = controller;
}
public void run() {

View file

@ -0,0 +1,53 @@
<%-- $This file is distributed under the terms of the license in /doc/license.txt$ --%>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.VClassGroup,edu.cornell.mannlib.vitro.webapp.beans.VClass" %>
<%@ page import="java.net.URLEncoder" %>
<%@ page import="java.util.Collection" %>
<%@ page import="java.util.Iterator" %>
<div id="content" class="siteMap">
<c:choose>
<c:when test="${classgroupsIsEmpty}">
<p>There are not yet any items in the system.</p>
</c:when>
<c:otherwise>
<%
Collection classgroupList = (Collection) request.getAttribute("classgroups");
if (classgroupList != null) {
Iterator groupIter = classgroupList.iterator();
Object groupObj = null;
while (groupIter.hasNext()) {
groupObj = groupIter.next();
if (groupObj != null && groupObj instanceof VClassGroup) {
VClassGroup theGroup = (VClassGroup) groupObj; %>
<h2><%=theGroup.getPublicName()%></h2>
<% if (theGroup.getVitroClassList()!=null && theGroup.getVitroClassList().size()>0) {%>
<ul>
<% Iterator classIter=theGroup.getVitroClassList().iterator();
Object classObj=null;
while (classIter.hasNext()) {
classObj = classIter.next();
if (classObj!=null && classObj instanceof VClass) {
VClass theClass=(VClass)classObj;
String linkStr=response.encodeURL("entitylist");
if (theClass.getURI() == null)
theClass.setURI("null://null");
String queryStr="?vclassId="+URLEncoder.encode(theClass.getURI(),"UTF-8"); %>
<li><a href="<%=linkStr+queryStr%>"><%=theClass.getName()%></a> (<%=theClass.getEntityCount()%>)</li>
<% }
}%>
</ul>
<% } else {%>
<ul><li>no entities</li></ul>
<% }
}
}
}%>
</c:otherwise>
</c:choose>
</div> <!-- content -->