1. Made changes to the coautho/copi link creator utility to first test for short-uri possibility.
This commit is contained in:
parent
29ca04f648
commit
0aeb7dc8f9
3 changed files with 86 additions and 16 deletions
|
@ -19,7 +19,7 @@ function getWellFormedURLs(given_uri, type) {
|
||||||
|
|
||||||
finalURL = $.ajax({
|
finalURL = $.ajax({
|
||||||
url: contextPath + "/visualizationAjax",
|
url: contextPath + "/visualizationAjax",
|
||||||
data: ({vis: "utilities", vis_mode: "PERSON_LEVEL_URL", uri: given_uri}),
|
data: ({vis: "utilities", vis_mode: "COAUTHORSHIP_URL", uri: given_uri}),
|
||||||
dataType: "text",
|
dataType: "text",
|
||||||
async: false,
|
async: false,
|
||||||
success:function(data){
|
success:function(data){
|
||||||
|
|
|
@ -7,6 +7,8 @@ import java.util.Map;
|
||||||
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
|
import org.openrdf.model.URI;
|
||||||
|
import org.openrdf.model.impl.URIImpl;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.hp.hpl.jena.iri.IRI;
|
import com.hp.hpl.jena.iri.IRI;
|
||||||
|
@ -17,6 +19,7 @@ import com.hp.hpl.jena.query.QuerySolution;
|
||||||
import com.hp.hpl.jena.query.ResultSet;
|
import com.hp.hpl.jena.query.ResultSet;
|
||||||
import com.hp.hpl.jena.rdf.model.RDFNode;
|
import com.hp.hpl.jena.rdf.model.RDFNode;
|
||||||
|
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.beans.Individual;
|
||||||
import edu.cornell.mannlib.vitro.webapp.config.ConfigurationProperties;
|
import edu.cornell.mannlib.vitro.webapp.config.ConfigurationProperties;
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
|
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
|
||||||
|
@ -44,6 +47,24 @@ import edu.cornell.mannlib.vitro.webapp.visualization.freemarker.visutils.Visual
|
||||||
*/
|
*/
|
||||||
public class UtilitiesRequestHandler implements VisualizationRequestHandler {
|
public class UtilitiesRequestHandler implements VisualizationRequestHandler {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO: Remove this method once Rebecca creates one. Right now it is the exact copy of the method found in
|
||||||
|
* BaseIndividualTemplateModel.getRdfUrl
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private boolean isIndividualURIBasedOnDefaultNamespace(String givenURI, VitroRequest vitroRequest) {
|
||||||
|
URI uri = new URIImpl(givenURI);
|
||||||
|
String namespace = uri.getNamespace();
|
||||||
|
|
||||||
|
// Individuals in the default namespace
|
||||||
|
// e.g., http://vivo.cornell.edu/individual/n2345/n2345.rdf
|
||||||
|
// where default namespace = http://vivo.cornell.edu/individual/
|
||||||
|
// Other individuals: http://some.other.namespace/n2345?format=rdfxml
|
||||||
|
String defaultNamespace = vitroRequest.getWebappDaoFactory().getDefaultNamespace();
|
||||||
|
return (defaultNamespace.equals(namespace)) ? true : false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public Object generateAjaxVisualization(VitroRequest vitroRequest,
|
public Object generateAjaxVisualization(VitroRequest vitroRequest,
|
||||||
Log log,
|
Log log,
|
||||||
Dataset dataset)
|
Dataset dataset)
|
||||||
|
@ -171,17 +192,31 @@ public class UtilitiesRequestHandler implements VisualizationRequestHandler {
|
||||||
} else if (VisualizationFrameworkConstants.COAUTHOR_UTILS_VIS_MODE
|
} else if (VisualizationFrameworkConstants.COAUTHOR_UTILS_VIS_MODE
|
||||||
.equalsIgnoreCase(visMode)) {
|
.equalsIgnoreCase(visMode)) {
|
||||||
|
|
||||||
|
|
||||||
|
if (isIndividualURIBasedOnDefaultNamespace(individualURI, vitroRequest)) {
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
Individual individual = vitroRequest.getWebappDaoFactory().getIndividualDao().getIndividualByURI(individualURI);
|
||||||
|
|
||||||
|
return UrlBuilder.getUrl(VisualizationFrameworkConstants.SHORT_URL_VISUALIZATION_REQUEST_PREFIX)
|
||||||
|
+ "/" + VisualizationFrameworkConstants.COAUTHORSHIP_VIS_SHORT_URL
|
||||||
|
+ "/" + individual.getLocalName();
|
||||||
|
|
||||||
|
} catch(Exception e) {
|
||||||
/*
|
/*
|
||||||
* By default we will be generating profile url else some specific url like
|
* In case of exception dont do anything let it create long form urls.
|
||||||
* coAuthorShip vis url for that individual.
|
|
||||||
* */
|
* */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ParamMap coAuthorProfileURLParams = new ParamMap(
|
ParamMap coAuthorProfileURLParams = new ParamMap(
|
||||||
VisualizationFrameworkConstants.INDIVIDUAL_URI_KEY,
|
VisualizationFrameworkConstants.INDIVIDUAL_URI_KEY,
|
||||||
individualURI,
|
individualURI,
|
||||||
VisualizationFrameworkConstants.VIS_TYPE_KEY,
|
VisualizationFrameworkConstants.VIS_TYPE_KEY,
|
||||||
VisualizationFrameworkConstants.COAUTHORSHIP_VIS,
|
VisualizationFrameworkConstants.PERSON_LEVEL_VIS,
|
||||||
VisualizationFrameworkConstants.RENDER_MODE_KEY,
|
VisualizationFrameworkConstants.VIS_MODE_KEY,
|
||||||
VisualizationFrameworkConstants.STANDALONE_RENDER_MODE);
|
VisualizationFrameworkConstants.COAUTHOR_VIS_MODE);
|
||||||
|
|
||||||
return UrlBuilder.getUrl(
|
return UrlBuilder.getUrl(
|
||||||
VisualizationFrameworkConstants.FREEMARKERIZED_VISUALIZATION_URL_PREFIX,
|
VisualizationFrameworkConstants.FREEMARKERIZED_VISUALIZATION_URL_PREFIX,
|
||||||
|
@ -190,6 +225,24 @@ public class UtilitiesRequestHandler implements VisualizationRequestHandler {
|
||||||
} else if (VisualizationFrameworkConstants.COPI_UTILS_VIS_MODE
|
} else if (VisualizationFrameworkConstants.COPI_UTILS_VIS_MODE
|
||||||
.equalsIgnoreCase(visMode)) {
|
.equalsIgnoreCase(visMode)) {
|
||||||
|
|
||||||
|
|
||||||
|
if (isIndividualURIBasedOnDefaultNamespace(individualURI, vitroRequest)) {
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
Individual individual = vitroRequest.getWebappDaoFactory().getIndividualDao().getIndividualByURI(individualURI);
|
||||||
|
|
||||||
|
return UrlBuilder.getUrl(VisualizationFrameworkConstants.SHORT_URL_VISUALIZATION_REQUEST_PREFIX)
|
||||||
|
+ "/" + VisualizationFrameworkConstants.COINVESTIGATOR_VIS_SHORT_URL
|
||||||
|
+ "/" + individual.getLocalName();
|
||||||
|
|
||||||
|
} catch(Exception e) {
|
||||||
|
/*
|
||||||
|
* In case of exception dont do anything let it create long form urls.
|
||||||
|
* */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* By default we will be generating profile url else some specific url like
|
* By default we will be generating profile url else some specific url like
|
||||||
* coPI vis url for that individual.
|
* coPI vis url for that individual.
|
||||||
|
@ -289,7 +342,8 @@ public class UtilitiesRequestHandler implements VisualizationRequestHandler {
|
||||||
|
|
||||||
return getHighestLevelOrganizationTemporalGraphVisURL(
|
return getHighestLevelOrganizationTemporalGraphVisURL(
|
||||||
highestLevelOrganizationQueryHandler.getQueryResult(),
|
highestLevelOrganizationQueryHandler.getQueryResult(),
|
||||||
fieldLabelToOutputFieldLabel);
|
fieldLabelToOutputFieldLabel,
|
||||||
|
vitroRequest);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
@ -304,7 +358,8 @@ public class UtilitiesRequestHandler implements VisualizationRequestHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getHighestLevelOrganizationTemporalGraphVisURL(ResultSet resultSet,
|
private String getHighestLevelOrganizationTemporalGraphVisURL(ResultSet resultSet,
|
||||||
Map<String, String> fieldLabelToOutputFieldLabel) {
|
Map<String, String> fieldLabelToOutputFieldLabel,
|
||||||
|
VitroRequest vitroRequest) {
|
||||||
|
|
||||||
GenericQueryMap queryResult = new GenericQueryMap();
|
GenericQueryMap queryResult = new GenericQueryMap();
|
||||||
|
|
||||||
|
@ -321,6 +376,23 @@ public class UtilitiesRequestHandler implements VisualizationRequestHandler {
|
||||||
queryResult.addEntry(fieldLabelToOutputFieldLabel.get("organization"),
|
queryResult.addEntry(fieldLabelToOutputFieldLabel.get("organization"),
|
||||||
organizationNode.toString());
|
organizationNode.toString());
|
||||||
|
|
||||||
|
if (isIndividualURIBasedOnDefaultNamespace(organizationNode.toString(), vitroRequest)) {
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
Individual individual = vitroRequest.getWebappDaoFactory().getIndividualDao().getIndividualByURI(organizationNode.toString());
|
||||||
|
|
||||||
|
return UrlBuilder.getUrl(VisualizationFrameworkConstants.SHORT_URL_VISUALIZATION_REQUEST_PREFIX)
|
||||||
|
+ "/" + VisualizationFrameworkConstants.PUBLICATION_TEMPORAL_VIS_SHORT_URL
|
||||||
|
+ "/" + individual.getLocalName();
|
||||||
|
|
||||||
|
} catch(Exception e) {
|
||||||
|
/*
|
||||||
|
* In case of exception dont do anything let it create long form urls.
|
||||||
|
* */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ParamMap highestLevelOrganizationTemporalGraphVisURLParams = new ParamMap(
|
ParamMap highestLevelOrganizationTemporalGraphVisURLParams = new ParamMap(
|
||||||
VisualizationFrameworkConstants.INDIVIDUAL_URI_KEY,
|
VisualizationFrameworkConstants.INDIVIDUAL_URI_KEY,
|
||||||
organizationNode.toString(),
|
organizationNode.toString(),
|
||||||
|
|
|
@ -50,7 +50,6 @@ public class IndividualTemplateModel extends BaseIndividualTemplateModel {
|
||||||
String coauthorVisURL = getBaseVisUrl() + "/" + VisualizationFrameworkConstants.COAUTHORSHIP_VIS_SHORT_URL + "/";
|
String coauthorVisURL = getBaseVisUrl() + "/" + VisualizationFrameworkConstants.COAUTHORSHIP_VIS_SHORT_URL + "/";
|
||||||
|
|
||||||
return getVisUrl(coauthorVisURL);
|
return getVisUrl(coauthorVisURL);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -100,7 +99,6 @@ public class IndividualTemplateModel extends BaseIndividualTemplateModel {
|
||||||
String temporalVisURL = getBaseVisUrl() + "/" + VisualizationFrameworkConstants.PUBLICATION_TEMPORAL_VIS_SHORT_URL + "/";
|
String temporalVisURL = getBaseVisUrl() + "/" + VisualizationFrameworkConstants.PUBLICATION_TEMPORAL_VIS_SHORT_URL + "/";
|
||||||
|
|
||||||
return getVisUrl(temporalVisURL);
|
return getVisUrl(temporalVisURL);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSelfEditingId() {
|
public String getSelfEditingId() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue