NIHVIVO-340 for bdc34 - Merging 4710 and 4711 into the trunk.
This commit is contained in:
parent
e65e72a065
commit
b49a6e3b3a
1 changed files with 24 additions and 15 deletions
|
@ -21,20 +21,8 @@
|
||||||
|
|
||||||
VitroRequest vreq = new VitroRequest(request);
|
VitroRequest vreq = new VitroRequest(request);
|
||||||
WebappDaoFactory wdf = vreq.getWebappDaoFactory();
|
WebappDaoFactory wdf = vreq.getWebappDaoFactory();
|
||||||
if( prop.getRangeVClassURI() == null ) {
|
|
||||||
log.debug("Property has null for its range class URI");
|
|
||||||
// If property has no explicit range, we will use e.g. owl:Thing.
|
|
||||||
// Typically an allValuesFrom restriction will come into play later.
|
|
||||||
VClass top = wdf.getVClassDao().getTopConcept();
|
|
||||||
prop.setRangeVClassURI(top.getURI());
|
|
||||||
log.debug("Using "+prop.getRangeVClassURI());
|
|
||||||
}
|
|
||||||
|
|
||||||
VClass rangeClass = wdf.getVClassDao().getVClassByURI( prop.getRangeVClassURI());
|
|
||||||
if( rangeClass == null ) log.debug("Cannot find class for range for property. Looking for " + prop.getRangeVClassURI() );
|
|
||||||
%>
|
%>
|
||||||
|
|
||||||
|
|
||||||
<%@page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.SelectListGenerator"%>
|
<%@page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.SelectListGenerator"%>
|
||||||
<%@page import="java.util.Map"%><v:jsonset var="queryForInverse" >
|
<%@page import="java.util.Map"%><v:jsonset var="queryForInverse" >
|
||||||
PREFIX owl: <http://www.w3.org/2002/07/owl#>
|
PREFIX owl: <http://www.w3.org/2002/07/owl#>
|
||||||
|
@ -112,8 +100,29 @@
|
||||||
} else {
|
} else {
|
||||||
editConfig.prepareForNonUpdate( model );
|
editConfig.prepareForNonUpdate( model );
|
||||||
if ( prop.getOfferCreateNewOption() ) {
|
if ( prop.getOfferCreateNewOption() ) {
|
||||||
|
//Try to get the name of the class to select from
|
||||||
|
VClass classOfObjectFillers = null;
|
||||||
|
|
||||||
|
if( prop.getRangeVClassURI() == null ) {
|
||||||
|
// If property has no explicit range, try to get classes
|
||||||
|
List<VClass> classes = wdf.getVClassDao().getVClassesForProperty(subject.getVClassURI(), prop.getURI());
|
||||||
|
if( classes == null || classes.size() == 0 || classes.get(0) == null ){
|
||||||
|
// If property has no explicit range, we will use e.g. owl:Thing.
|
||||||
|
// Typically an allValuesFrom restriction will come into play later.
|
||||||
|
classOfObjectFillers = wdf.getVClassDao().getTopConcept();
|
||||||
|
} else {
|
||||||
|
if( classes.size() > 1 )
|
||||||
|
log.debug("Found multiple classes when attempting to get range vclass.");
|
||||||
|
classOfObjectFillers = classes.get(0);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
classOfObjectFillers = wdf.getVClassDao().getVClassByURI(prop.getRangeVClassURI());
|
||||||
|
if( classOfObjectFillers == null )
|
||||||
|
classOfObjectFillers = wdf.getVClassDao().getTopConcept();
|
||||||
|
}
|
||||||
|
|
||||||
log.debug("property set to offer \"create new\" option; custom form: ["+prop.getCustomEntryForm()+"]");
|
log.debug("property set to offer \"create new\" option; custom form: ["+prop.getCustomEntryForm()+"]");
|
||||||
formTitle = "Select an existing "+rangeClass.getName()+" for "+subject.getName();
|
formTitle = "Select an existing "+classOfObjectFillers.getName()+" for "+subject.getName();
|
||||||
submitLabel = "select existing";
|
submitLabel = "select existing";
|
||||||
} else {
|
} else {
|
||||||
formTitle = "Add an entry to: <em>"+prop.getDomainPublic()+"</em>";
|
formTitle = "Add an entry to: <em>"+prop.getDomainPublic()+"</em>";
|
||||||
|
|
Loading…
Add table
Reference in a new issue