From fc8c9876f0286eaeecf9aa1c0da74c57ce75d6c8 Mon Sep 17 00:00:00 2001 From: rjy7 Date: Mon, 17 May 2010 21:30:54 +0000 Subject: [PATCH] Move Terms of Use controller & template into FreeMarker. --- webapp/config/web.xml | 2 +- .../webapp/controller/AboutControllerFM.java | 15 ++------ .../webapp/controller/BrowseControllerFM.java | 2 +- .../vitro/webapp/controller/Controllers.java | 32 ++++++++-------- .../controller/FreeMarkerHttpServlet.java | 8 ++++ .../IndividualListControllerFM.java | 3 +- .../controller/TermsOfUseController.java | 2 +- .../controller/TermsOfUseControllerFM.java | 37 +++++++++++++++++++ .../web/templates/freemarker/body/about.ftl | 2 + .../{browseGroups.ftl => classGroups.ftl} | 2 + .../freemarker/body/individualList.ftl | 2 + .../templates/freemarker/body/termsOfUse.ftl | 32 ++++++++++++++++ .../web/templates/freemarker/page/default.ftl | 2 + 13 files changed, 109 insertions(+), 32 deletions(-) create mode 100644 webapp/src/edu/cornell/mannlib/vitro/webapp/controller/TermsOfUseControllerFM.java rename webapp/web/templates/freemarker/body/{browseGroups.ftl => classGroups.ftl} (87%) create mode 100644 webapp/web/templates/freemarker/body/termsOfUse.ftl diff --git a/webapp/config/web.xml b/webapp/config/web.xml index bc7d5611f..b89069ab0 100644 --- a/webapp/config/web.xml +++ b/webapp/config/web.xml @@ -829,7 +829,7 @@ TermsOfUseController - edu.cornell.mannlib.vitro.webapp.controller.TermsOfUseController + edu.cornell.mannlib.vitro.webapp.controller.TermsOfUseControllerFM TermsOfUseController diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/AboutControllerFM.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/AboutControllerFM.java index 1c463c7fb..a880ad179 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/AboutControllerFM.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/AboutControllerFM.java @@ -2,28 +2,19 @@ package edu.cornell.mannlib.vitro.webapp.controller; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import edu.cornell.mannlib.vitro.webapp.controller.FreeMarkerHttpServlet; - -import freemarker.template.SimpleDate; -import freemarker.template.TemplateDateModel; -import freemarker.template.TemplateModelException; - public class AboutControllerFM extends FreeMarkerHttpServlet { - private static final Log log = LogFactory.getLog(AboutControllerFM.class.getName()); + private static final long serialVersionUID = 1L; + private static final Log log = LogFactory.getLog(AboutControllerFM.class.getName()); protected String getTitle() { - return "About " + portal.getAppName(); + return "About " + appName; } protected String getBody() { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseControllerFM.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseControllerFM.java index 10c8d5a3e..576765ae5 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseControllerFM.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/BrowseControllerFM.java @@ -100,7 +100,7 @@ public class BrowseControllerFM extends FreeMarkerHttpServlet { body.put("classGroups", vcgroups); } - String templateName = "body/browseGroups.ftl"; + String templateName = "body/classGroups.ftl"; return mergeBodyToTemplate(templateName, body); } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/Controllers.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/Controllers.java index cef7c595a..e1feb6039 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/Controllers.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/Controllers.java @@ -18,28 +18,28 @@ import java.util.List; public class Controllers { // Servlet urls - - public static final String ENTITY = "/entity"; - public static final String ENTITY_PROP_LIST = "/entityPropList"; - public static final String ENTITY_LIST = "/EntityList"; - - public static final String BROWSE_CONTROLLER = "browsecontroller"; - public static final String RETRY_URL = "editForm"; - public static final String TAB_ENTITIES = "/TabEntitiesController"; - - public static final String ABOUT = "/about"; - + public static final String SITE_ADMIN = "/siteAdmin"; public static final String LOGIN = "/siteAdmin"; public static final String LOGOUT = "/siteAdmin"; - - public static final String EXPORT_RDF = "/export"; - + + public static final String ABOUT = "/about"; public static final String CONTACT_URL = "/comments"; public static final String TERMS_OF_USE_URL = "/termsOfUse"; + public static final String BROWSE = "/browse"; - public static final String INDIVIDUAL_LIST_URL = "/entitylist"; // will change to individuallist - + public static final String INDIVIDUAL_LIST_URL = "/individuallist"; + + public static final String ENTITY = "/entity"; + public static final String ENTITY_PROP_LIST = "/entityPropList"; + public static final String ENTITY_LIST = "/EntityList"; + + public static final String BROWSE_CONTROLLER = "browse"; + public static final String RETRY_URL = "editForm"; + public static final String TAB_ENTITIES = "/TabEntitiesController"; + + public static final String EXPORT_RDF = "/export"; + // jsps go here: public static final String EMPTY = "/empty.jsp"; diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/FreeMarkerHttpServlet.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/FreeMarkerHttpServlet.java index eefeb95bf..674a181d7 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/FreeMarkerHttpServlet.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/FreeMarkerHttpServlet.java @@ -56,6 +56,7 @@ public class FreeMarkerHttpServlet extends VitroHttpServlet { protected VitroRequest vreq; protected HttpServletResponse response; protected Portal portal; + protected String appName; protected Map root = new HashMap(); // Some servlets have their own doGet() method, in which case they need to call @@ -201,6 +202,13 @@ public class FreeMarkerHttpServlet extends VitroHttpServlet { } catch (TemplateModelException e) { log.error("Can't set shared variable 'portalId'."); } + + appName = portal.getAppName(); + try { + config.setSharedVariable("appName", appName); + } catch (TemplateModelException e) { + log.error("Can't set shared variable 'appName'."); + } setTemplateLoader(); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/IndividualListControllerFM.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/IndividualListControllerFM.java index def1a1850..1c18d16ca 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/IndividualListControllerFM.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/IndividualListControllerFM.java @@ -26,6 +26,7 @@ public class IndividualListControllerFM extends FreeMarkerHttpServlet { long startTime = -1; + private static final long serialVersionUID = 1L; private static final Log log = LogFactory.getLog(IndividualListControllerFM.class.getName()); private VClass vclass = null; @@ -117,7 +118,7 @@ public class IndividualListControllerFM extends FreeMarkerHttpServlet { } setSharedVariable("title", title); - String templateName = "entityList.ftl"; + String templateName = "individualList.ftl"; return mergeBodyToTemplate(templateName, body); } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/TermsOfUseController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/TermsOfUseController.java index 10976e3e9..083970b22 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/TermsOfUseController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/TermsOfUseController.java @@ -16,7 +16,7 @@ import edu.cornell.mannlib.vitro.webapp.beans.Portal; * Controller for Terms of Use page * @author bjl23 */ -public class TermsOfUseController extends VitroHttpServlet{ +public class TermsOfUseController extends VitroHttpServlet{ private static final long serialVersionUID = 1L; public void doPost(HttpServletRequest request, HttpServletResponse response) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/TermsOfUseControllerFM.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/TermsOfUseControllerFM.java new file mode 100644 index 000000000..92060e120 --- /dev/null +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/TermsOfUseControllerFM.java @@ -0,0 +1,37 @@ +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +package edu.cornell.mannlib.vitro.webapp.controller; + +import java.util.HashMap; +import java.util.Map; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import edu.cornell.mannlib.vitro.webapp.utils.StringUtils; + +public class TermsOfUseControllerFM extends FreeMarkerHttpServlet { + + private static final long serialVersionUID = 1L; + private static final Log log = LogFactory.getLog(TermsOfUseControllerFM.class.getName()); + + protected String getTitle() { + return appName + " Terms of Use"; + } + + protected String getBody() { + + Map body = new HashMap(); + + String websiteName = portal.getRootBreadCrumbAnchor(); + if (StringUtils.isEmpty(websiteName)) { + websiteName = appName; + } + + body.put("websiteName", websiteName); + body.put("copyrightAnchor", portal.getCopyrightAnchor()); + + String templateName = "body/termsOfUse.ftl"; + return mergeBodyToTemplate(templateName, body); + } +} \ No newline at end of file diff --git a/webapp/web/templates/freemarker/body/about.ftl b/webapp/web/templates/freemarker/body/about.ftl index 1435d72d8..262812102 100644 --- a/webapp/web/templates/freemarker/body/about.ftl +++ b/webapp/web/templates/freemarker/body/about.ftl @@ -1,5 +1,7 @@ <#-- $This file is distributed under the terms of the license in /doc/license.txt --> +<#-- Template for the body of the About page --> +

${title}

<#if aboutText??> diff --git a/webapp/web/templates/freemarker/body/browseGroups.ftl b/webapp/web/templates/freemarker/body/classGroups.ftl similarity index 87% rename from webapp/web/templates/freemarker/body/browseGroups.ftl rename to webapp/web/templates/freemarker/body/classGroups.ftl index 90fd749d0..594a83648 100644 --- a/webapp/web/templates/freemarker/body/browseGroups.ftl +++ b/webapp/web/templates/freemarker/body/classGroups.ftl @@ -1,5 +1,7 @@ <#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> +<#-- List class groups, and classes within each group. --> + <#if message??>

${message}

<#else> diff --git a/webapp/web/templates/freemarker/body/individualList.ftl b/webapp/web/templates/freemarker/body/individualList.ftl index c9237aca5..5f931713f 100644 --- a/webapp/web/templates/freemarker/body/individualList.ftl +++ b/webapp/web/templates/freemarker/body/individualList.ftl @@ -1,5 +1,7 @@ <#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> +<#-- List individual members of a class. --> +
diff --git a/webapp/web/templates/freemarker/body/termsOfUse.ftl b/webapp/web/templates/freemarker/body/termsOfUse.ftl new file mode 100644 index 000000000..6dae5b47f --- /dev/null +++ b/webapp/web/templates/freemarker/body/termsOfUse.ftl @@ -0,0 +1,32 @@ +<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> + +
+ +

Terms of Use

+ +

Disclaimers

+

This ${websiteName} website contains material—text information, publication + citations, links, and images—provided by ${copyrightAnchor} and by various + third parties, both individuals and organizations, commercial and otherwise. The use of this material + is protected by copyright and unless the terms of use are clearly stated with respect to individual items, + users must seek permission from the copyright owner for all uses that are not allowed by fair use and + other provisions of the United States Copyright Act. Redistribution or commercial use is prohibited + without express written permission.

+ +

Disclaimer of Liability

+

${copyrightAnchor} makes no warranty, expressed or implied, including the warranties of merchantability + and fitness for a particular purpose, or assumes any legal liability or responsibility for the accuracy, + completeness, currency or usefulness of any material displayed or distributed through the + ${appName} website or represents that its use would not infringe privately owned rights. + ${copyrightAnchor} disclaims all warranties with regard to the information provided. Any reliance upon such information + is at your own risk. In no event will ${copyrightAnchor} be liable to you for any damages or losses whatsoever resulting + from or caused by the ${appName} website or its contents.

+ +

Disclaimer of Endorsement

+

Reference herein to any specific commercial product, process, or service by trade name, + trademark, manufacturer, or otherwise, does not necessarily constitute or imply its endorsement or recommendation + by ${copyrightAnchor}. The views and opinions of authors expressed herein do not necessarily state or reflect those of + ${copyrightAnchor} and shall not be used for advertising or product endorsement purposes.

+ +
+ diff --git a/webapp/web/templates/freemarker/page/default.ftl b/webapp/web/templates/freemarker/page/default.ftl index 1725f5c16..ab3f06026 100644 --- a/webapp/web/templates/freemarker/page/default.ftl +++ b/webapp/web/templates/freemarker/page/default.ftl @@ -23,6 +23,8 @@
class="${contentClass}" > + <#-- We don't do title here because some pages don't get a title, or it may not be the same as the text. + <h2>${title}</h2> --> ${body} </div> <!-- content --> </div> <!-- contentwrap -->