From 53297c182c33fd2c974fa7b49e01a5b969e9a4fa Mon Sep 17 00:00:00 2001 From: rjy7 Date: Tue, 9 Feb 2010 15:23:22 +0000 Subject: [PATCH] NIHVIVO-89 Work on new JSP template for browse controllers --- .../BrowseControllerFreeMarker.java | 14 ++--- .../controller/BrowseControllerJsp.java | 33 ++++++------ .../BrowseControllerStringTemplate.java | 14 ++--- .../controller/BrowseControllerVelocity.java | 14 ++--- .../controller/BrowseControllerWicket.java | 14 ++--- .../web/templates/browse/browseGroupJsp.jsp | 53 +++++++++++++++++++ 6 files changed, 98 insertions(+), 44 deletions(-) create mode 100644 webapp/web/templates/browse/browseGroupJsp.jsp diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseControllerFreeMarker.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseControllerFreeMarker.java index ebf88a213..f56b3d25c 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseControllerFreeMarker.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseControllerFreeMarker.java @@ -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 _groupListMap @@ -41,7 +41,7 @@ public class BrowseControllerFreeMarker extends BrowseController { = new ConcurrentLinkedQueue(); 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() { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseControllerJsp.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseControllerJsp.java index 47b85beaf..e7f73ca21 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseControllerJsp.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseControllerJsp.java @@ -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 _groupListMap @@ -41,7 +44,7 @@ public class BrowseControllerJsp extends BrowseController { = new ConcurrentLinkedQueue(); 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() { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseControllerStringTemplate.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseControllerStringTemplate.java index 946ed7672..0f8ea45cf 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseControllerStringTemplate.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseControllerStringTemplate.java @@ -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 _groupListMap @@ -41,7 +41,7 @@ public class BrowseControllerStringTemplate extends BrowseController { = new ConcurrentLinkedQueue(); 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() { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseControllerVelocity.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseControllerVelocity.java index 5087a59d3..2c2f7830f 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseControllerVelocity.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseControllerVelocity.java @@ -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 _groupListMap @@ -41,7 +41,7 @@ public class BrowseControllerVelocity extends BrowseController { = new ConcurrentLinkedQueue(); 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() { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseControllerWicket.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseControllerWicket.java index cd0e1d9bc..2bb6ed69c 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseControllerWicket.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseControllerWicket.java @@ -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 _groupListMap @@ -41,7 +41,7 @@ public class BrowseControllerWicket extends BrowseController { = new ConcurrentLinkedQueue(); 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() { diff --git a/webapp/web/templates/browse/browseGroupJsp.jsp b/webapp/web/templates/browse/browseGroupJsp.jsp new file mode 100644 index 000000000..b3e476d4e --- /dev/null +++ b/webapp/web/templates/browse/browseGroupJsp.jsp @@ -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" %> + +
+ + + +

There are not yet any items in the system.

+
+ + + <% + 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; %> +

<%=theGroup.getPublicName()%>

+ <% if (theGroup.getVitroClassList()!=null && theGroup.getVitroClassList().size()>0) {%> +
    + <% 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"); %> +
  • <%=theClass.getName()%> (<%=theClass.getEntityCount()%>)
  • + <% } + }%> +
+ <% } else {%> +
  • no entities
+ <% } + } + } + }%> +
+
+ + +