NIHVIVO-149 Mechanism for modifying vitro namespace properties based on data property editing

NIHVIVO-142 Added edit link to name field on individual page; currently routes to a dummy page
This commit is contained in:
rjy7 2010-03-11 18:59:11 +00:00
parent 7c8fa0f544
commit 30663a3932
9 changed files with 643 additions and 28 deletions

View file

@ -70,21 +70,26 @@
Individual subject = wdf.getIndividualDao().getIndividualByURI(subjectUri);
if( subject == null ) {
log.error("Could not find subject Individual '"+subjectUri+"' in model");
throw new Error("editDatapropStmtRequest.jsp: Could not find subject Individual in model: '" + subjectUri + "'");
throw new Error("editDatapropStmtRequestDispatch.jsp: Could not find subject Individual in model: '" + subjectUri + "'");
}
vreq.setAttribute("subject", subject);
DataProperty dataproperty = wdf.getDataPropertyDao().getDataPropertyByURI( predicateUri );
if( dataproperty == null ) {
log.error("Could not find data property '"+predicateUri+"' in model");
throw new Error("editDatapropStmtRequest.jsp: Could not find DataProperty in model: " + predicateUri);
if( dataproperty == null) {
// We must have either a dataproperty or a custom form
// A custom form is used for a vitro namespace property
if (formParam == null) {
log.error("Could not find data property '"+predicateUri+"' in model");
throw new Error("editDatapropStmtRequest.jsp: Could not find DataProperty in model: " + predicateUri);
}
}
else {
vreq.setAttribute("predicate", dataproperty);
}
vreq.setAttribute("predicate", dataproperty);
String url= "/edit/editDatapropStmtRequestDispatch.jsp"; //I'd like to get this from the request but...
vreq.setAttribute("formUrl", url + "?" + vreq.getQueryString());
String datapropKeyStr = vreq.getParameter("datapropKey");
int dataHash = 0;
if( datapropKeyStr != null ){
@ -99,7 +104,7 @@
DataPropertyStatement dps = null;
if( dataHash != 0) {
dps = RdfLiteralHash.getDataPropertyStmtByHash( subject ,dataHash);
dps = RdfLiteralHash.getDataPropertyStmtByHash(subject, dataHash);
if (dps==null) {
log.error("No match to existing data property \""+predicateUri+"\" statement for subject \""+subjectUri+"\" via key "+datapropKeyStr);
@ -112,7 +117,7 @@
if( log.isDebugEnabled() ){
log.debug("predicate for DataProperty from request is " + dataproperty.getURI() + " with rangeDatatypeUri of '" + dataproperty.getRangeDatatypeURI() + "'");
if( dps == null )
log.debug("no exisitng DataPropertyStatement statement was found, making a new statemet");
log.debug("no existng DataPropertyStatement statement was found, making a new statemet");
else{
log.debug("Found an existing DataPropertyStatement");
String msg = "existing datapropstmt: ";
@ -141,7 +146,7 @@
} else {
form = DEFAULT_DATA_FORM;
}
vreq.setAttribute("form" ,form);
vreq.setAttribute("form", form);
} else {
vreq.setAttribute("form", formParam);
}

View file

@ -0,0 +1 @@
In vitroNsLabelForm

View file

@ -10,8 +10,10 @@
<%@ page import="org.apache.commons.logging.Log" %>
<%@ page import="org.apache.commons.logging.LogFactory" %>
<%@ page import="java.util.List" %>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<%@ taglib uri="http://vitro.mannlib.cornell.edu/vitro/tags/StringProcessorTag" prefix="p" %>
<%@ taglib uri="http://vitro.mannlib.cornell.edu/vitro/tags/PropertyEditLink" prefix="edLnk" %>
<%@ page errorPage="/error.jsp"%>
<%!
@ -50,6 +52,9 @@ if (VitroRequestPrep.isSelfEditing(request) || LoginFormBean.loggedIn(request, L
sessionScope.loginHandler.loginRole >= LoginFormBean.NON_EDITOR}">
<c:set var="showCuratorEdits" value="${true}"/>
</c:if>
<c:set var="showEdits" value="${showSelfEdits || showCuratorEdits}" />
<c:set var='imageDir' value='images' />
<c:set var="themeDir"><c:out value="${portalBean.themeDir}" /></c:set>
<%
@ -73,6 +78,10 @@ if (VitroRequestPrep.isSelfEditing(request) || LoginFormBean.loggedIn(request, L
<c:set var='portal' value='${currentPortalId}'/>
<c:set var='portalBean' value='${currentPortal}'/>
<c:set var="vitroNsUri" value="http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" />
<c:set var="typeUri" value="http://www.w3.org/1999/02/22-rdf-syntax-ns#type" />
<c:set var="labelUri" value="http://www.w3.org/2000/01/rdf-schema#label" />
<c:set var='themeDir'><c:out value='${portalBean.themeDir}' /></c:set>
<div id="content">
@ -91,7 +100,14 @@ if (VitroRequestPrep.isSelfEditing(request) || LoginFormBean.loggedIn(request, L
<p><a href="${backToSubjectLink}">&larr; return to ${relatedSubject.name}</a></p>
</c:when>
<c:otherwise>
<h2><p:process>${entity.name}</p:process></h2>
<div class="vitroNsPropertyValue">
<div class="statementWrap">
<h2><p:process>${entity.name}</p:process></h2>
<c:if test="${showEdits}">
<c:set var="editLinks"><edLnk:editLinks item="${labelUri}" icons="false"/></c:set>
<c:if test="${!empty editLinks}"><span class="editLinks">${editLinks}</span></c:if>
</c:if>
</div></div>
<c:if test="${!empty entity.moniker}">
<p:process><em class="moniker">${entity.moniker}</em></p:process>
</c:if>
@ -142,7 +158,7 @@ if (VitroRequestPrep.isSelfEditing(request) || LoginFormBean.loggedIn(request, L
<div class='description'>${entity.description}</div>
</p:process>
<c:choose>
<c:when test="${showCuratorEdits || showSelfEdits}">
<c:when test="${showEdits}">
<c:import url="${entityMergedPropsListJsp}">
<c:param name="mode" value="edit"/>
<c:param name="grouped" value="false"/>