NIHVIVO-1476 Made ResponseValues and implementing classes public, and moved to their own package, for use by classes not in the freemarker package and not subclassing FreemarkerHttpServlet.

This commit is contained in:
rjy7 2010-12-03 20:36:22 +00:00
parent f6ff54120d
commit e398bdd79a
32 changed files with 343 additions and 336 deletions

View file

@ -17,6 +17,9 @@ import edu.cornell.mannlib.vedit.beans.LoginStatusBean;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.RedirectResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.TemplateResponseValues;
/**
* This allows a DBA to pretend that he's logged in with an external username.

View file

@ -7,6 +7,8 @@ import java.util.Map;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.TemplateResponseValues;
/**
* A user logged in using external authentication, but we don't have an account

View file

@ -26,6 +26,8 @@ import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.Route;
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.jena.DependentResourceDeleteJena;
import edu.cornell.mannlib.vitro.webapp.dao.jena.event.EditEvent;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.EditN3Utils;

View file

@ -10,6 +10,8 @@ import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vitro.webapp.beans.Portal;
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 freemarker.template.Configuration;
public class AboutController extends FreemarkerHttpServlet {

View file

@ -13,8 +13,8 @@ import edu.cornell.mannlib.vitro.webapp.beans.VClass;
import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup;
import edu.cornell.mannlib.vitro.webapp.beans.BaseResourceBean.RoleLevel;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet.ResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet.TemplateResponseValues;
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.VClassGroupDao;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;

View file

@ -19,8 +19,8 @@ import edu.cornell.mannlib.vitro.webapp.beans.Portal;
import edu.cornell.mannlib.vitro.webapp.controller.ContactMailServlet;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet.ResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet.TemplateResponseValues;
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.utils.StringUtils;
import freemarker.template.Configuration;

View file

@ -29,6 +29,8 @@ import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vitro.webapp.ConfigurationProperties;
import edu.cornell.mannlib.vitro.webapp.beans.Portal;
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 freemarker.template.Configuration;
public class ContactMailController extends FreemarkerHttpServlet {

View file

@ -9,6 +9,8 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
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;
/*
* Servlet that only specifies a template, without putting any data

View file

@ -6,7 +6,6 @@ import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Calendar;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@ -17,8 +16,6 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.hp.hpl.jena.rdf.model.Model;
import edu.cornell.mannlib.vedit.beans.LoginStatusBean;
import edu.cornell.mannlib.vitro.webapp.beans.ApplicationBean;
import edu.cornell.mannlib.vitro.webapp.beans.DisplayMessage;
@ -28,9 +25,14 @@ import edu.cornell.mannlib.vitro.webapp.controller.ContactMailServlet;
import edu.cornell.mannlib.vitro.webapp.controller.VitroHttpServlet;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.Route;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ExceptionResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ForwardResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.RdfResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.RedirectResponseValues;
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.utils.StringUtils;
import edu.cornell.mannlib.vitro.webapp.web.BreadCrumbsUtil;
import edu.cornell.mannlib.vitro.webapp.web.ContentType;
import edu.cornell.mannlib.vitro.webapp.web.PortalWebUtil;
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.User;
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.files.Scripts;
@ -245,7 +247,7 @@ public class FreemarkerHttpServlet extends VitroHttpServlet {
protected void doException(VitroRequest vreq, HttpServletResponse response, ResponseValues values) {
// Log the error, and display an error message on the page.
log.error(values.getException(), values.getException());
TemplateResponseValues trv = new TemplateResponseValues(values.getTemplateName(), values.getMap());
TemplateResponseValues trv = TemplateResponseValues.getTemplateResponseValuesFromException((ExceptionResponseValues)values);
doTemplate(vreq, response, trv);
}
@ -504,321 +506,4 @@ public class FreemarkerHttpServlet extends VitroHttpServlet {
// to set up the data model.
new FreemarkerComponentGenerator(request);
}
protected static interface ResponseValues {
String getTemplateName();
int getStatusCode();
void setStatusCode(int statusCode);
Map<String, Object> getMap();
String getRedirectUrl();
String getForwardUrl();
Throwable getException();
ContentType getContentType();
Model getModel();
}
protected static abstract class BaseResponseValues implements ResponseValues {
private int statusCode = 0;
private ContentType contentType = null;
BaseResponseValues() { }
BaseResponseValues(int statusCode) {
this.statusCode = statusCode;
}
BaseResponseValues(ContentType contentType) {
this.contentType = contentType;
}
public int getStatusCode() {
return statusCode;
}
public void setStatusCode(int statusCode) {
this.statusCode = statusCode;
}
public ContentType getContentType() {
return contentType;
}
public void setContentType(ContentType contentType) {
this.contentType = contentType;
}
}
protected static class TemplateResponseValues extends BaseResponseValues {
private final String templateName;
private final Map<String, Object> map;
public TemplateResponseValues(String templateName) {
this.templateName = templateName;
this.map = new HashMap<String, Object>();
}
public TemplateResponseValues(String templateName, int statusCode) {
super(statusCode);
this.templateName = templateName;
this.map = new HashMap<String, Object>();
}
public TemplateResponseValues(String templateName, Map<String, Object> map) {
this.templateName = templateName;
this.map = map;
}
public TemplateResponseValues(String templateName, Map<String, Object> map, int statusCode) {
super(statusCode);
this.templateName = templateName;
this.map = map;
}
public TemplateResponseValues put(String key, Object value) {
this.map.put(key, value);
return this;
}
@Override
public Map<String, Object> getMap() {
return Collections.unmodifiableMap(this.map);
}
@Override
public String getTemplateName() {
return this.templateName;
}
@Override
public String getRedirectUrl() {
throw new UnsupportedOperationException(
"This is not a redirect response.");
}
@Override
public String getForwardUrl() {
throw new UnsupportedOperationException(
"This is not a forwarding response.");
}
@Override
public Throwable getException() {
throw new UnsupportedOperationException(
"This is not an exception response.");
}
@Override
public Model getModel() {
throw new UnsupportedOperationException(
"This is not an RDF response.");
}
}
protected static class RedirectResponseValues extends BaseResponseValues {
private final String redirectUrl;
public RedirectResponseValues(String redirectUrl) {
this.redirectUrl = redirectUrl;
}
public RedirectResponseValues(String redirectUrl, int statusCode) {
super(statusCode);
this.redirectUrl = redirectUrl;
}
@Override
public String getRedirectUrl() {
return this.redirectUrl;
}
@Override
public String getTemplateName() {
throw new UnsupportedOperationException(
"This is not a template response.");
}
@Override
public Map<String, Object> getMap() {
throw new UnsupportedOperationException(
"This is not a template response.");
}
@Override
public String getForwardUrl() {
throw new UnsupportedOperationException(
"This is not a forwarding response.");
}
@Override
public Throwable getException() {
throw new UnsupportedOperationException(
"This is not an exception response.");
}
@Override
public Model getModel() {
throw new UnsupportedOperationException(
"This is not an RDF response.");
}
}
protected static class ForwardResponseValues extends BaseResponseValues {
private final String forwardUrl;
public ForwardResponseValues(String forwardUrl) {
this.forwardUrl = forwardUrl;
}
public ForwardResponseValues(String forwardUrl, int statusCode) {
super(statusCode);
this.forwardUrl = forwardUrl;
}
@Override
public String getForwardUrl() {
return this.forwardUrl;
}
@Override
public String getTemplateName() {
throw new UnsupportedOperationException(
"This is not a template response.");
}
@Override
public Map<String, Object> getMap() {
throw new UnsupportedOperationException(
"This is not a template response.");
}
@Override
public String getRedirectUrl() {
throw new UnsupportedOperationException(
"This is not a redirect response.");
}
@Override
public Throwable getException() {
throw new UnsupportedOperationException(
"This is not an exception response.");
}
@Override
public Model getModel() {
throw new UnsupportedOperationException(
"This is not an RDF response.");
}
}
protected static class ExceptionResponseValues extends TemplateResponseValues {
private final static String DEFAULT_TEMPLATE_NAME = "error-standard.ftl";
private final Throwable cause;
public ExceptionResponseValues(Throwable cause) {
super(DEFAULT_TEMPLATE_NAME);
this.cause = cause;
}
public ExceptionResponseValues(Throwable cause, int statusCode) {
super(DEFAULT_TEMPLATE_NAME, statusCode);
this.cause = cause;
}
public ExceptionResponseValues(String templateName, Throwable cause) {
super(templateName);
this.cause = cause;
}
public ExceptionResponseValues(String templateName, Throwable cause, int statusCode) {
super(templateName, statusCode);
this.cause = cause;
}
public ExceptionResponseValues(String templateName, Map<String, Object> map, Throwable cause) {
super(templateName, map);
this.cause = cause;
}
public ExceptionResponseValues(String templateName, Map<String, Object> map, Throwable cause, int statusCode) {
super(templateName, map, statusCode);
this.cause = cause;
}
@Override
public Throwable getException() {
return cause;
}
@Override
public String getRedirectUrl() {
throw new UnsupportedOperationException(
"This is not a redirect response.");
}
@Override
public String getForwardUrl() {
throw new UnsupportedOperationException(
"This is not a forwarding response.");
}
@Override
public Model getModel() {
throw new UnsupportedOperationException(
"This is not an RDF response.");
}
}
protected static class RdfResponseValues extends BaseResponseValues {
private final Model model;
RdfResponseValues(ContentType contentType, Model model) {
super(contentType);
this.model = model;
}
@Override
public String getTemplateName() {
throw new UnsupportedOperationException(
"This is not a template response.");
}
@Override
public Map<String, Object> getMap() {
throw new UnsupportedOperationException(
"This is not a template response.");
}
@Override
public String getRedirectUrl() {
throw new UnsupportedOperationException(
"This is not a redirect response.");
}
@Override
public String getForwardUrl() {
throw new UnsupportedOperationException(
"This is not a forwarding response.");
}
@Override
public Throwable getException() {
throw new UnsupportedOperationException(
"This is not an exception response.");
}
@Override
public Model getModel() {
return model;
}
}
}

View file

@ -10,9 +10,9 @@ import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vitro.webapp.beans.Portal;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet.ResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet.Template;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet.TemplateResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.TemplateResponseValues;
public class HomePageController extends FreemarkerHttpServlet {

View file

@ -27,6 +27,11 @@ import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.EditObjPro
import edu.cornell.mannlib.vitro.webapp.beans.Individual;
import edu.cornell.mannlib.vitro.webapp.controller.Controllers;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ExceptionResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ForwardResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.RedirectResponseValues;
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.VitroVocabulary;
import edu.cornell.mannlib.vitro.webapp.filestorage.backend.FileStorage;
import edu.cornell.mannlib.vitro.webapp.filestorage.backend.FileStorageSetup;

View file

@ -40,6 +40,11 @@ import edu.cornell.mannlib.vitro.webapp.beans.Portal;
import edu.cornell.mannlib.vitro.webapp.beans.SelfEditingConfiguration;
import edu.cornell.mannlib.vitro.webapp.beans.VClass;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ExceptionResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.RdfResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.RedirectResponseValues;
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.IndividualDao;
import edu.cornell.mannlib.vitro.webapp.dao.ObjectPropertyDao;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.EditConfiguration;

View file

@ -14,7 +14,9 @@ import edu.cornell.mannlib.vitro.webapp.beans.Individual;
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.FreemarkerHttpServlet.ResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ExceptionResponseValues;
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.utils.StringUtils;
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.IndividualTemplateModel;
import freemarker.template.Configuration;

View file

@ -8,6 +8,9 @@ import java.util.Map;
import javax.servlet.http.HttpSession;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ExceptionResponseValues;
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.edit.n3editing.EditConfiguration;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.EditSubmission;
import freemarker.template.ObjectWrapper;

View file

@ -28,7 +28,8 @@ import com.hp.hpl.jena.rdf.model.Statement;
import com.hp.hpl.jena.rdf.model.StmtIterator;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet.ResponseValues;
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.web.DisplayVocabulary;
import freemarker.template.Configuration;

View file

@ -13,6 +13,9 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ExceptionResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.TemplateResponseValues;
/**
* Controller for getting data for pages defined in the display model.

View file

@ -11,6 +11,8 @@ import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vedit.beans.LoginStatusBean;
import edu.cornell.mannlib.vitro.webapp.config.RevisionInfoBean;
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;
/**
* Display the detailed revision information.

View file

@ -14,6 +14,8 @@ import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vitro.webapp.beans.Portal;
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.edit.n3editing.EditConfiguration;
/**

View file

@ -15,9 +15,10 @@ import edu.cornell.mannlib.vedit.beans.LoginStatusBean;
import edu.cornell.mannlib.vedit.util.FormUtils;
import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet.ResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.ParamMap;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.Route;
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.controller.login.LoginTemplateHelper;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
import edu.cornell.mannlib.vitro.webapp.dao.jena.pellet.PelletListener;

View file

@ -13,7 +13,7 @@ import javax.servlet.http.HttpServletRequest;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet.ResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues;
import freemarker.core.Environment;
import freemarker.template.Configuration;
import freemarker.template.Template;

View file

@ -10,8 +10,8 @@ import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vitro.webapp.beans.Portal;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet.ResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet.TemplateResponseValues;
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.utils.StringUtils;
import freemarker.template.Configuration;

View file

@ -14,8 +14,8 @@ import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vitro.webapp.beans.Portal;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet.ResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet.TemplateResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.TemplateResponseValues;
import freemarker.template.Configuration;
/**

View file

@ -0,0 +1,80 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues;
import java.util.Map;
import com.hp.hpl.jena.rdf.model.Model;
import edu.cornell.mannlib.vitro.webapp.web.ContentType;
public abstract class BaseResponseValues implements ResponseValues {
private int statusCode = 0;
private ContentType contentType = null;
BaseResponseValues() { }
BaseResponseValues(int statusCode) {
this.statusCode = statusCode;
}
BaseResponseValues(ContentType contentType) {
this.contentType = contentType;
}
@Override
public int getStatusCode() {
return statusCode;
}
@Override
public void setStatusCode(int statusCode) {
this.statusCode = statusCode;
}
@Override
public ContentType getContentType() {
return contentType;
}
public void setContentType(ContentType contentType) {
this.contentType = contentType;
}
@Override
public String getTemplateName() {
throw new UnsupportedOperationException(
"This is not a template response.");
}
@Override
public Map<String, Object> getMap() {
throw new UnsupportedOperationException(
"This is not a template response.");
}
@Override
public String getRedirectUrl() {
throw new UnsupportedOperationException(
"This is not a redirect response.");
}
@Override
public String getForwardUrl() {
throw new UnsupportedOperationException(
"This is not a forwarding response.");
}
@Override
public Throwable getException() {
throw new UnsupportedOperationException(
"This is not an exception response.");
}
@Override
public Model getModel() {
throw new UnsupportedOperationException(
"This is not an RDF response.");
}
}

View file

@ -0,0 +1,45 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues;
import java.util.Map;
public class ExceptionResponseValues extends TemplateResponseValues {
private final static String DEFAULT_TEMPLATE_NAME = "error-standard.ftl";
private final Throwable cause;
public ExceptionResponseValues(Throwable cause) {
super(DEFAULT_TEMPLATE_NAME);
this.cause = cause;
}
public ExceptionResponseValues(Throwable cause, int statusCode) {
super(DEFAULT_TEMPLATE_NAME, statusCode);
this.cause = cause;
}
public ExceptionResponseValues(String templateName, Throwable cause) {
super(templateName);
this.cause = cause;
}
public ExceptionResponseValues(String templateName, Throwable cause, int statusCode) {
super(templateName, statusCode);
this.cause = cause;
}
public ExceptionResponseValues(String templateName, Map<String, Object> map, Throwable cause) {
super(templateName, map);
this.cause = cause;
}
public ExceptionResponseValues(String templateName, Map<String, Object> map, Throwable cause, int statusCode) {
super(templateName, map, statusCode);
this.cause = cause;
}
@Override
public Throwable getException() {
return cause;
}
}

View file

@ -0,0 +1,22 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues;
public class ForwardResponseValues extends BaseResponseValues {
private final String forwardUrl;
public ForwardResponseValues(String forwardUrl) {
this.forwardUrl = forwardUrl;
}
public ForwardResponseValues(String forwardUrl, int statusCode) {
super(statusCode);
this.forwardUrl = forwardUrl;
}
@Override
public String getForwardUrl() {
return this.forwardUrl;
}
}

View file

@ -0,0 +1,21 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues;
import com.hp.hpl.jena.rdf.model.Model;
import edu.cornell.mannlib.vitro.webapp.web.ContentType;
public class RdfResponseValues extends BaseResponseValues {
private final Model model;
public RdfResponseValues(ContentType contentType, Model model) {
super(contentType);
this.model = model;
}
@Override
public Model getModel() {
return model;
}
}

View file

@ -0,0 +1,23 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues;
public class RedirectResponseValues extends BaseResponseValues {
private final String redirectUrl;
public RedirectResponseValues(String redirectUrl) {
this.redirectUrl = redirectUrl;
}
public RedirectResponseValues(String redirectUrl, int statusCode) {
super(statusCode);
this.redirectUrl = redirectUrl;
}
@Override
public String getRedirectUrl() {
return this.redirectUrl;
}
}

View file

@ -0,0 +1,31 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues;
import java.util.Map;
import com.hp.hpl.jena.rdf.model.Model;
import edu.cornell.mannlib.vitro.webapp.web.ContentType;
public interface ResponseValues {
public String getTemplateName();
public int getStatusCode();
public void setStatusCode(int statusCode);
public Map<String, Object> getMap();
public String getRedirectUrl();
public String getForwardUrl();
public Throwable getException();
public ContentType getContentType();
public Model getModel();
}

View file

@ -0,0 +1,55 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
public class TemplateResponseValues extends BaseResponseValues {
private final String templateName;
private final Map<String, Object> map;
public TemplateResponseValues(String templateName) {
this.templateName = templateName;
this.map = new HashMap<String, Object>();
}
public TemplateResponseValues(String templateName, int statusCode) {
super(statusCode);
this.templateName = templateName;
this.map = new HashMap<String, Object>();
}
public TemplateResponseValues(String templateName, Map<String, Object> map) {
this.templateName = templateName;
this.map = map;
}
public TemplateResponseValues(String templateName, Map<String, Object> map, int statusCode) {
super(statusCode);
this.templateName = templateName;
this.map = map;
}
public TemplateResponseValues put(String key, Object value) {
this.map.put(key, value);
return this;
}
@Override
public Map<String, Object> getMap() {
return Collections.unmodifiableMap(this.map);
}
@Override
public String getTemplateName() {
return this.templateName;
}
public static TemplateResponseValues getTemplateResponseValuesFromException(ExceptionResponseValues responseValues) {
return new TemplateResponseValues(responseValues.getTemplateName(), responseValues.getMap());
}
}

View file

@ -15,6 +15,7 @@ import edu.cornell.mannlib.vedit.beans.LoginStatusBean;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.edit.Authenticate;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.TemplateResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.login.LoginProcessBean.State;
import freemarker.template.Configuration;

View file

@ -52,6 +52,9 @@ import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.ParamMap;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ExceptionResponseValues;
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.DataPropertyDao;
import edu.cornell.mannlib.vitro.webapp.dao.IndividualDao;
import edu.cornell.mannlib.vitro.webapp.dao.ObjectPropertyDao;

View file

@ -13,6 +13,10 @@ import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.Route;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ExceptionResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.RedirectResponseValues;
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.search.IndexingException;
import edu.cornell.mannlib.vitro.webapp.search.indexing.IndexBuilder;