1. Adding the tools menu for visualizations. This will provide detailed explanation on why we need the cache refreshing for visualizations and also the link to initiating the reconstruct. It is only accessible to the admins.

This commit is contained in:
tankchintan 2011-07-13 00:36:53 +00:00
parent a83c1180f4
commit 51208948f2
3 changed files with 110 additions and 0 deletions

View file

@ -0,0 +1,72 @@
package edu.cornell.mannlib.vitro.webapp.visualization.tools;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.logging.Log;
import com.hp.hpl.jena.query.Dataset;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions;
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.RefreshVisualizationCacheAction;
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.visualization.exceptions.IllegalConstructedModelIdentifierException;
import edu.cornell.mannlib.vitro.webapp.visualization.exceptions.MalformedQueryParametersException;
import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.ConstructedModel;
import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.ConstructedModelTracker;
import edu.cornell.mannlib.vitro.webapp.visualization.visutils.UtilityFunctions;
import edu.cornell.mannlib.vitro.webapp.visualization.visutils.VisualizationRequestHandler;
public class ToolsRequestHandler implements VisualizationRequestHandler {
public static final Actions REQUIRED_ACTIONS = new Actions(new RefreshVisualizationCacheAction());
@Override
public Object generateAjaxVisualization(VitroRequest vitroRequest, Log log,
Dataset dataSource) throws MalformedQueryParametersException {
throw new UnsupportedOperationException("Visualization Tool does not provide Ajax Response.");
}
@Override
public Map<String, String> generateDataVisualization(
VitroRequest vitroRequest, Log log, Dataset dataset)
throws MalformedQueryParametersException {
throw new UnsupportedOperationException("Visualization Tool does not provide Data Response.");
}
@Override
public ResponseValues generateStandardVisualization(
VitroRequest vitroRequest, Log log, Dataset dataSource)
throws MalformedQueryParametersException {
return renderToolsMenu(vitroRequest, log, dataSource);
}
@Override
public ResponseValues generateVisualizationForShortURLRequests(
Map<String, String> parameters, VitroRequest vitroRequest, Log log,
Dataset dataSource) throws MalformedQueryParametersException {
return renderToolsMenu(vitroRequest, log, dataSource);
}
@Override
public Actions getRequiredPrivileges() {
return REQUIRED_ACTIONS;
}
private ResponseValues renderToolsMenu(VitroRequest vitroRequest,
Log log, Dataset dataSource) {
String standaloneTemplate = "tools.ftl";
Map<String, Object> body = new HashMap<String, Object>();
body.put("title", "Visualization Tools");
return new TemplateResponseValues(standaloneTemplate, body);
}
}