diff --git a/productMods/js/visualization/entitycomparison/util.js b/productMods/js/visualization/entitycomparison/util.js index 2c9497af..7fb9d8c3 100644 --- a/productMods/js/visualization/entitycomparison/util.js +++ b/productMods/js/visualization/entitycomparison/util.js @@ -763,7 +763,7 @@ function getVIVOURL(entityURI){ function getTemporalVisURL(entityURI) { - return temporalGraphCommonURL + "&uri=" + entityURI ; + return temporalGraphCommonURL + "?uri=" + entityURI ; } function getVIVOProfileURL(given_uri) { diff --git a/productMods/templates/freemarker/visualization/entitycomparison/entityComparisonErrorCommonBody.ftl b/productMods/templates/freemarker/visualization/entitycomparison/entityComparisonErrorCommonBody.ftl index cccf5652..715992b5 100644 --- a/productMods/templates/freemarker/visualization/entitycomparison/entityComparisonErrorCommonBody.ftl +++ b/productMods/templates/freemarker/visualization/entitycomparison/entityComparisonErrorCommonBody.ftl @@ -1,9 +1,15 @@ <#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> <#assign standardVisualizationURLRoot ="/visualization"> +<#assign shortVisualizationURLRoot ="/vis"> <#assign organizationVivoProfileURL = "${urls.base}/individual?uri=${organizationURI}"> -<#assign temporalGraphURL = '${urls.base}${standardVisualizationURLRoot}?vis=${otherVisType}&uri=${organizationURI}&labelField=label'> + +<#if organizationLocalName?has_content > + <#assign temporalGraphURL = '${urls.base}${shortVisualizationURLRoot}/${otherVisType}/${organizationLocalName}'> +<#else> + <#assign temporalGraphURL = '${urls.base}${shortVisualizationURLRoot}/${otherVisType}/?uri=${organizationURI}'> +
diff --git a/productMods/templates/freemarker/visualization/entitycomparison/entityComparisonSetup.ftl b/productMods/templates/freemarker/visualization/entitycomparison/entityComparisonSetup.ftl index 16812a01..6bb71a43 100644 --- a/productMods/templates/freemarker/visualization/entitycomparison/entityComparisonSetup.ftl +++ b/productMods/templates/freemarker/visualization/entitycomparison/entityComparisonSetup.ftl @@ -3,19 +3,30 @@ <#assign standardVisualizationURLRoot ="/visualization"> <#assign ajaxVisualizationURLRoot ="/visualizationAjax"> <#assign dataVisualizationURLRoot ="/visualizationData"> +<#assign shortVisualizationURLRoot ="/vis"> <#assign organizationURI ="${organizationURI?url}"> <#assign organizationVivoProfileURL = "${urls.base}/individual?uri=${organizationURI}"> <#assign subOrganizationVivoProfileURL = "${urls.base}/individual?"> -<#assign subOrganizationGrantTemporalGraphCommonURL = "${urls.base}${standardVisualizationURLRoot}?vis=entity_grant_count"> -<#assign subOrganizationPublicationTemporalGraphCommonURL = "${urls.base}${standardVisualizationURLRoot}?vis=entity_comparison"> +<#assign subOrganizationGrantTemporalGraphCommonURL = "${urls.base}${shortVisualizationURLRoot}/grant-graph/"> +<#assign subOrganizationPublicationTemporalGraphCommonURL = "${urls.base}${shortVisualizationURLRoot}/publication-graph/"> + + +<#if organizationLocalName?has_content > + + <#assign organizationPublicationTemporalGraphURL = '${urls.base}${shortVisualizationURLRoot}/publication-graph/${organizationLocalName}'> + <#assign organizationGrantTemporalGraphURL = "${urls.base}${shortVisualizationURLRoot}/grant-graph/${organizationLocalName}"> + +<#else> + + <#assign organizationPublicationTemporalGraphURL = '${urls.base}${shortVisualizationURLRoot}/publication-graph/?uri=${organizationURI}'> + <#assign organizationGrantTemporalGraphURL = "${urls.base}${shortVisualizationURLRoot}/grant-graph/?uri=${organizationURI}"> + + -<#assign organizationPublicationTemporalGraphURL = "${urls.base}${standardVisualizationURLRoot}?vis=entity_comparison&uri=${organizationURI}"> <#assign organizationPublicationTemporalGraphDataURL = "${urls.base}${dataVisualizationURLRoot}?vis=entity_comparison&uri=${organizationURI}&vis_mode=json"> - -<#assign organizationGrantTemporalGraphURL = "${urls.base}${standardVisualizationURLRoot}?vis=entity_grant_count&uri=${organizationURI}"> <#assign organizationGrantTemporalGraphDataURL = "${urls.base}${dataVisualizationURLRoot}?vis=entity_grant_count&uri=${organizationURI}&vis_mode=json"> <#assign temporalGraphSmallIcon = '${urls.images}/visualization/temporal_vis_small_icon.jpg'> diff --git a/productMods/templates/freemarker/visualization/entitycomparison/entityGrantComparisonError.ftl b/productMods/templates/freemarker/visualization/entitycomparison/entityGrantComparisonError.ftl index aad4f1c0..35490ac2 100644 --- a/productMods/templates/freemarker/visualization/entitycomparison/entityGrantComparisonError.ftl +++ b/productMods/templates/freemarker/visualization/entitycomparison/entityGrantComparisonError.ftl @@ -1,6 +1,6 @@ <#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> -<#assign otherVisType = "entity_comparison"> +<#assign otherVisType = "publication-graph"> <#assign textForOtherEntityComparisonType = "publications"> <#assign textForCurrentEntityComparisonType = "grants"> diff --git a/productMods/templates/freemarker/visualization/entitycomparison/entityPublicationComparisonError.ftl b/productMods/templates/freemarker/visualization/entitycomparison/entityPublicationComparisonError.ftl index 7d736d38..1a6a661c 100644 --- a/productMods/templates/freemarker/visualization/entitycomparison/entityPublicationComparisonError.ftl +++ b/productMods/templates/freemarker/visualization/entitycomparison/entityPublicationComparisonError.ftl @@ -1,6 +1,6 @@ <#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> -<#assign otherVisType = "entity_grant_count"> +<#assign otherVisType = "grant-graph"> <#assign textForOtherEntityComparisonType = "grants"> <#assign textForCurrentEntityComparisonType = "publications"> diff --git a/productMods/templates/freemarker/visualization/personlevel/coAuthorPersonLevel.ftl b/productMods/templates/freemarker/visualization/personlevel/coAuthorPersonLevel.ftl index e2221f78..9a36a2c7 100644 --- a/productMods/templates/freemarker/visualization/personlevel/coAuthorPersonLevel.ftl +++ b/productMods/templates/freemarker/visualization/personlevel/coAuthorPersonLevel.ftl @@ -8,7 +8,17 @@ <#assign egoURI ="${egoURIParam?url}"> <#assign egoCoAuthorshipDataFeederURL = '${urls.base}${dataVisualizationURLRoot}?vis=coauthorship&uri=${egoURI}&vis_mode=coauthor_network_stream&labelField=label'> -<#assign coprincipalinvestigatorURL = '${urls.base}${shortVisualizationURLRoot}/investigator-network/?uri=${egoURI}'> +<#if egoLocalName?has_content > + + <#assign coprincipalinvestigatorURL = '${urls.base}${shortVisualizationURLRoot}/investigator-network/${egoLocalName}'> + +<#else> + + <#assign coprincipalinvestigatorURL = '${urls.base}${shortVisualizationURLRoot}/investigator-network/?uri=${egoURI}'> + + + + <#assign egoCoAuthorsListDataFileURL = '${urls.base}${dataVisualizationURLRoot}?vis=coauthorship&uri=${egoURI}&vis_mode=coauthors'> <#assign egoCoAuthorshipNetworkDataFileURL = '${urls.base}${dataVisualizationURLRoot}?vis=coauthorship&uri=${egoURI}&vis_mode=coauthor_network_download'> diff --git a/productMods/templates/freemarker/visualization/personlevel/coPIPersonLevel.ftl b/productMods/templates/freemarker/visualization/personlevel/coPIPersonLevel.ftl index a69964eb..75572451 100644 --- a/productMods/templates/freemarker/visualization/personlevel/coPIPersonLevel.ftl +++ b/productMods/templates/freemarker/visualization/personlevel/coPIPersonLevel.ftl @@ -10,6 +10,16 @@ <#assign coauthorshipURL = '${urls.base}${shortVisualizationURLRoot}/author-network/?uri=${egoURI}'> +<#if egoLocalName?has_content > + + <#assign coauthorshipURL = '${urls.base}${shortVisualizationURLRoot}/author-network/${egoLocalName}'> + +<#else> + + <#assign coauthorshipURL = '${urls.base}${shortVisualizationURLRoot}/author-network/?uri=${egoURI}'> + + + <#assign egoCoInvestigatorsListDataFileURL = '${urls.base}${dataVisualizationURLRoot}?vis=coprincipalinvestigator&uri=${egoURI}&vis_mode=copis'> <#assign egoCoInvestigationNetworkDataFileURL = '${urls.base}${dataVisualizationURLRoot}?vis=coprincipalinvestigator&uri=${egoURI}&vis_mode=copi_network_download'> diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/entitycomparison/EntityPublicationCountRequestHandler.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/entitycomparison/EntityPublicationCountRequestHandler.java index 0c93e035..896c592b 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/entitycomparison/EntityPublicationCountRequestHandler.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/entitycomparison/EntityPublicationCountRequestHandler.java @@ -261,6 +261,7 @@ public class EntityPublicationCountRequestHandler implements body.put("portalBean", portal); body.put("title", organizationLabel + " - Temporal Graph Visualization"); body.put("organizationURI", entityURI); + body.put("organizationLocalName", UtilityFunctions.getIndividualLocalName(entityURI, vreq)); body.put("organizationLabel", organizationLabel); return new TemplateResponseValues(standaloneTemplate, body); diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/entitycomparison/cached/TemporalGrantVisualizationRequestHandler.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/entitycomparison/cached/TemporalGrantVisualizationRequestHandler.java index 966d1087..6e2d55ea 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/entitycomparison/cached/TemporalGrantVisualizationRequestHandler.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/entitycomparison/cached/TemporalGrantVisualizationRequestHandler.java @@ -292,6 +292,7 @@ public class TemporalGrantVisualizationRequestHandler implements body.put("portalBean", portal); body.put("title", organizationLabel + " - Temporal Graph Visualization"); body.put("organizationURI", entityURI); + body.put("organizationLocalName", UtilityFunctions.getIndividualLocalName(entityURI, vreq)); body.put("organizationLabel", organizationLabel); return new TemplateResponseValues(standaloneTemplate, body); diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/entitycomparison/cached/TemporalPublicationVisualizationRequestHandler.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/entitycomparison/cached/TemporalPublicationVisualizationRequestHandler.java index 10f80ff2..13a6095c 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/entitycomparison/cached/TemporalPublicationVisualizationRequestHandler.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/entitycomparison/cached/TemporalPublicationVisualizationRequestHandler.java @@ -284,6 +284,7 @@ public class TemporalPublicationVisualizationRequestHandler implements body.put("portalBean", portal); body.put("title", organizationLabel + " - Temporal Graph Visualization"); body.put("organizationURI", entityURI); + body.put("organizationLocalName", UtilityFunctions.getIndividualLocalName(entityURI, vreq)); body.put("organizationLabel", organizationLabel); return new TemplateResponseValues(standaloneTemplate, body); diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/entitygrantcount/EntityGrantCountRequestHandler.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/entitygrantcount/EntityGrantCountRequestHandler.java index 1e814d40..964a40a2 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/entitygrantcount/EntityGrantCountRequestHandler.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/entitygrantcount/EntityGrantCountRequestHandler.java @@ -259,6 +259,7 @@ public class EntityGrantCountRequestHandler implements body.put("portalBean", portal); body.put("title", organizationLabel + " - Temporal Graph Visualization"); body.put("organizationURI", entityURI); + body.put("organizationLocalName", UtilityFunctions.getIndividualLocalName(entityURI, vreq)); body.put("organizationLabel", organizationLabel); return new TemplateResponseValues(standaloneTemplate, body); diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/personlevel/PersonLevelRequestHandler.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/personlevel/PersonLevelRequestHandler.java index 0649623c..0e028363 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/personlevel/PersonLevelRequestHandler.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/personlevel/PersonLevelRequestHandler.java @@ -13,6 +13,7 @@ import com.hp.hpl.jena.rdf.model.Model; import edu.cornell.mannlib.vitro.webapp.beans.Portal; 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.responsevalues.ResponseValues; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.TemplateResponseValues; import edu.cornell.mannlib.vitro.webapp.controller.visualization.freemarker.VisualizationFrameworkConstants; @@ -234,6 +235,8 @@ public class PersonLevelRequestHandler implements VisualizationRequestHandler { body.put("egoURIParam", egoURI); + body.put("egoLocalName", UtilityFunctions.getIndividualLocalName(egoURI, vitroRequest)); + String title = ""; if (coAuthorshipVO.getCollaborators() != null @@ -270,6 +273,8 @@ public class PersonLevelRequestHandler implements VisualizationRequestHandler { body.put("egoURIParam", egoURI); + body.put("egoLocalName", UtilityFunctions.getIndividualLocalName(egoURI, vitroRequest)); + String title = ""; if (coPIVO.getCollaborators() != null && coPIVO.getCollaborators().size() > 0) { diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/utilities/UtilitiesRequestHandler.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/utilities/UtilitiesRequestHandler.java index 9e71ba57..7d64d4f8 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/utilities/UtilitiesRequestHandler.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/utilities/UtilitiesRequestHandler.java @@ -7,8 +7,6 @@ import java.util.Map; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; -import org.openrdf.model.URI; -import org.openrdf.model.impl.URIImpl; import com.google.gson.Gson; import com.hp.hpl.jena.iri.IRI; @@ -19,7 +17,6 @@ import com.hp.hpl.jena.query.QuerySolution; import com.hp.hpl.jena.query.ResultSet; 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.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder; @@ -33,6 +30,7 @@ import edu.cornell.mannlib.vitro.webapp.visualization.freemarker.valueobjects.Ge import edu.cornell.mannlib.vitro.webapp.visualization.freemarker.visutils.AllPropertiesQueryRunner; import edu.cornell.mannlib.vitro.webapp.visualization.freemarker.visutils.GenericQueryRunner; import edu.cornell.mannlib.vitro.webapp.visualization.freemarker.visutils.QueryRunner; +import edu.cornell.mannlib.vitro.webapp.visualization.freemarker.visutils.UtilityFunctions; import edu.cornell.mannlib.vitro.webapp.visualization.freemarker.visutils.VisualizationRequestHandler; /** @@ -47,24 +45,6 @@ import edu.cornell.mannlib.vitro.webapp.visualization.freemarker.visutils.Visual */ 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, Log log, Dataset dataset) @@ -193,23 +173,19 @@ public class UtilitiesRequestHandler implements VisualizationRequestHandler { .equalsIgnoreCase(visMode)) { - if (isIndividualURIBasedOnDefaultNamespace(individualURI, vitroRequest)) { - - try { - - Individual individual = vitroRequest.getWebappDaoFactory().getIndividualDao().getIndividualByURI(individualURI); + + String individualLocalName = UtilityFunctions.getIndividualLocalName( + individualURI, + vitroRequest); - return UrlBuilder.getUrl(VisualizationFrameworkConstants.SHORT_URL_VISUALIZATION_REQUEST_PREFIX) - + "/" + VisualizationFrameworkConstants.COAUTHORSHIP_VIS_SHORT_URL - + "/" + individual.getLocalName(); - - } catch(Exception e) { - /* - * In case of exception dont do anything let it create long form urls. - * */ - } - } + if (StringUtils.isNotBlank(individualLocalName)) { + + return UrlBuilder.getUrl(VisualizationFrameworkConstants.SHORT_URL_VISUALIZATION_REQUEST_PREFIX) + + "/" + VisualizationFrameworkConstants.COAUTHORSHIP_VIS_SHORT_URL + + "/" + individualLocalName; + } + ParamMap coAuthorProfileURLParams = new ParamMap( VisualizationFrameworkConstants.INDIVIDUAL_URI_KEY, individualURI, @@ -226,21 +202,16 @@ public class UtilitiesRequestHandler implements VisualizationRequestHandler { .equalsIgnoreCase(visMode)) { - if (isIndividualURIBasedOnDefaultNamespace(individualURI, vitroRequest)) { - - try { - - Individual individual = vitroRequest.getWebappDaoFactory().getIndividualDao().getIndividualByURI(individualURI); + String individualLocalName = UtilityFunctions.getIndividualLocalName( + individualURI, + vitroRequest); - 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. - * */ - } + if (StringUtils.isNotBlank(individualLocalName)) { + + return UrlBuilder.getUrl(VisualizationFrameworkConstants.SHORT_URL_VISUALIZATION_REQUEST_PREFIX) + + "/" + VisualizationFrameworkConstants.COINVESTIGATOR_VIS_SHORT_URL + + "/" + individualLocalName; + } /* @@ -376,21 +347,15 @@ public class UtilitiesRequestHandler implements VisualizationRequestHandler { queryResult.addEntry(fieldLabelToOutputFieldLabel.get("organization"), organizationNode.toString()); - if (isIndividualURIBasedOnDefaultNamespace(organizationNode.toString(), vitroRequest)) { + String individualLocalName = UtilityFunctions.getIndividualLocalName( + organizationNode.toString(), + vitroRequest); + + if (StringUtils.isNotBlank(individualLocalName)) { - 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. - * */ - } + return UrlBuilder.getUrl(VisualizationFrameworkConstants.SHORT_URL_VISUALIZATION_REQUEST_PREFIX) + + "/" + VisualizationFrameworkConstants.PUBLICATION_TEMPORAL_VIS_SHORT_URL + + "/" + individualLocalName; } ParamMap highestLevelOrganizationTemporalGraphVisURLParams = new ParamMap( diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/visutils/UtilityFunctions.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/visutils/UtilityFunctions.java index 3c42bb2d..3a235a44 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/visutils/UtilityFunctions.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/visutils/UtilityFunctions.java @@ -18,6 +18,7 @@ import org.joda.time.format.DateTimeFormatter; import com.google.gson.Gson; +import edu.cornell.mannlib.vitro.webapp.beans.Individual; import edu.cornell.mannlib.vitro.webapp.beans.Portal; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder; @@ -260,5 +261,32 @@ public class UtilityFunctions { .getIndividualByURI(subentity.getIndividualURI()) .isVClass("http://xmlns.com/foaf/0.1/Person"); } + + /** + * + * This method will test whether the current uri is based off of default namespace. If so, + * go ahead & provide local name. + * @param givenURI + * @param vitroRequest + * @return + */ + public static String getIndividualLocalName(String givenURI, VitroRequest vitroRequest) { + + if (UrlBuilder.isUriInDefaultNamespace(givenURI, vitroRequest)) { + + try { + + Individual individual = vitroRequest.getWebappDaoFactory().getIndividualDao() + .getIndividualByURI(givenURI); + + return individual.getLocalName(); + + } catch (Exception e) { + + } + } + + return ""; + } } \ No newline at end of file diff --git a/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/IndividualTemplateModel.java b/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/IndividualTemplateModel.java index 69ec4e62..f4e85460 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/IndividualTemplateModel.java +++ b/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/IndividualTemplateModel.java @@ -52,23 +52,6 @@ public class IndividualTemplateModel extends BaseIndividualTemplateModel { return getVisUrl(coauthorVisURL); } - /** - * 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() { - URI uri = new URIImpl(getUri()); - 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 = vreq.getWebappDaoFactory().getDefaultNamespace(); - return (defaultNamespace.equals(namespace)) ? true : false; - } - public String getCoInvestigatorVisUrl() { String coinvestigatorVisURL = getBaseVisUrl() + "/" + VisualizationFrameworkConstants.COINVESTIGATOR_VIS_SHORT_URL + "/"; @@ -77,7 +60,9 @@ public class IndividualTemplateModel extends BaseIndividualTemplateModel { } private String getVisUrl(String coinvestigatorVisURL) { - boolean isUsingDefaultNameSpace = isIndividualURIBasedOnDefaultNamespace(); + boolean isUsingDefaultNameSpace = UrlBuilder.isUriInDefaultNamespace( + getUri(), + vreq); if (isUsingDefaultNameSpace) {