updates for concept addition
This commit is contained in:
parent
49ff104d3a
commit
a3dfd5f179
4 changed files with 35 additions and 13 deletions
|
@ -74,7 +74,7 @@
|
||||||
|
|
||||||
<div id="showAddForm">
|
<div id="showAddForm">
|
||||||
<input type="submit" value="Add Concept" id="showAddFormButton" name="showAddFormButton"> or
|
<input type="submit" value="Add Concept" id="showAddFormButton" name="showAddFormButton"> or
|
||||||
<a class="cancel" href="${cancelUrl}">Return</a>
|
<a class="cancel" href="${cancelUrl}&url=/individual">Return</a>
|
||||||
</div>
|
</div>
|
||||||
<form id="addConceptForm" class="customForm" action="${submitUrl}">
|
<form id="addConceptForm" class="customForm" action="${submitUrl}">
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,6 @@
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
<#assign sparqlForAcFilter = editConfiguration.pageData.sparqlForAcFilter />
|
<#assign sparqlForAcFilter = editConfiguration.pageData.sparqlForAcFilter />
|
||||||
<#assign returnUrl = ""/>
|
|
||||||
|
|
||||||
<h2>Add Your Own Concept</h2>
|
<h2>Add Your Own Concept</h2>
|
||||||
|
|
||||||
|
@ -34,7 +33,7 @@
|
||||||
|
|
||||||
<p class="submit">
|
<p class="submit">
|
||||||
<input type="hidden" name = "editKey" value="${editKey}"/>
|
<input type="hidden" name = "editKey" value="${editKey}"/>
|
||||||
<input type="submit" id="submit" value="Add Concept"/><span class="or"> or </span><a class="cancel" href="${returnUrl}">Return to Manage Concepts</a>
|
<input type="submit" id="submit" value="Add Concept"/><span class="or"> or </span><a class="cancel" href="${cancelUrl}">Return to Manage Concepts</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p id="requiredLegend" class="requiredHint">* required fields</p>
|
<p id="requiredLegend" class="requiredHint">* required fields</p>
|
||||||
|
|
|
@ -5,6 +5,7 @@ package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.Comparator;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -313,6 +314,7 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements
|
||||||
formSpecificData.put("userDefinedConceptUrl", getUserDefinedConceptUrl(vreq));
|
formSpecificData.put("userDefinedConceptUrl", getUserDefinedConceptUrl(vreq));
|
||||||
//Add URIs and labels for different services
|
//Add URIs and labels for different services
|
||||||
formSpecificData.put("searchServices", ConceptSearchServiceUtils.getVocabSources());
|
formSpecificData.put("searchServices", ConceptSearchServiceUtils.getVocabSources());
|
||||||
|
|
||||||
editConfiguration.setFormSpecificData(formSpecificData);
|
editConfiguration.setFormSpecificData(formSpecificData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -324,8 +326,8 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements
|
||||||
String generatorName = "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddUserDefinedConceptGenerator";
|
String generatorName = "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddUserDefinedConceptGenerator";
|
||||||
String editUrl = EditConfigurationUtils.getEditUrl(vreq);
|
String editUrl = EditConfigurationUtils.getEditUrl(vreq);
|
||||||
|
|
||||||
return editUrl + "?subject=" + UrlBuilder.urlEncode(subjectUri) +
|
return editUrl + "?subjectUri=" + UrlBuilder.urlEncode(subjectUri) +
|
||||||
"&predicate=" + UrlBuilder.urlEncode(predicateUri) +
|
"&predicateUri=" + UrlBuilder.urlEncode(predicateUri) +
|
||||||
"&editForm=" + UrlBuilder.urlEncode(generatorName);
|
"&editForm=" + UrlBuilder.urlEncode(generatorName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -333,18 +335,18 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements
|
||||||
Individual individual = EditConfigurationUtils.getSubjectIndividual(vreq);
|
Individual individual = EditConfigurationUtils.getSubjectIndividual(vreq);
|
||||||
List<Individual> concepts = individual.getRelatedIndividuals(
|
List<Individual> concepts = individual.getRelatedIndividuals(
|
||||||
EditConfigurationUtils.getPredicateUri(vreq));
|
EditConfigurationUtils.getPredicateUri(vreq));
|
||||||
//TODO: Check if sorted correctly
|
List<AssociatedConceptInfo> associatedConcepts = getAssociatedConceptInfo(concepts, vreq);
|
||||||
sortConceptIndividuals(concepts);
|
sortConcepts(associatedConcepts);
|
||||||
|
return associatedConcepts;
|
||||||
return getAssociatedConceptInfo(concepts, vreq);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void sortConceptIndividuals(List<Individual> concepts) {
|
private void sortConcepts(List<AssociatedConceptInfo> concepts) {
|
||||||
DataPropertyComparator comp = new DataPropertyComparator(RDFS.label.getURI());
|
Collections.sort(concepts, new AssociatedConceptInfoComparator());
|
||||||
Collections.sort(concepts, comp);
|
log.debug("Concepts should be sorted now" + concepts.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private List<AssociatedConceptInfo> getAssociatedConceptInfo(
|
private List<AssociatedConceptInfo> getAssociatedConceptInfo(
|
||||||
List<Individual> concepts, VitroRequest vreq) {
|
List<Individual> concepts, VitroRequest vreq) {
|
||||||
List<AssociatedConceptInfo> info = new ArrayList<AssociatedConceptInfo>();
|
List<AssociatedConceptInfo> info = new ArrayList<AssociatedConceptInfo>();
|
||||||
|
@ -418,6 +420,14 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class AssociatedConceptInfoComparator implements Comparator<AssociatedConceptInfo>{
|
||||||
|
public int compare(AssociatedConceptInfo concept1, AssociatedConceptInfo concept2) {
|
||||||
|
String concept1Label = concept1.getConceptLabel().toLowerCase();
|
||||||
|
String concept2Label = concept2.getConceptLabel().toLowerCase();
|
||||||
|
return concept1Label.compareTo(concept2Label);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -33,6 +33,7 @@ import edu.cornell.mannlib.vitro.webapp.beans.Individual;
|
||||||
import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty;
|
import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty;
|
||||||
import edu.cornell.mannlib.vitro.webapp.beans.VClass;
|
import edu.cornell.mannlib.vitro.webapp.beans.VClass;
|
||||||
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.responsevalues.ResponseValues;
|
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.freemarker.responsevalues.TemplateResponseValues;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.DisplayVocabulary;
|
import edu.cornell.mannlib.vitro.webapp.dao.DisplayVocabulary;
|
||||||
|
@ -117,12 +118,24 @@ public class AddUserDefinedConceptGenerator extends VivoBaseGenerator implement
|
||||||
//and entity
|
//and entity
|
||||||
//Adding term should return to this same page, not the subject
|
//Adding term should return to this same page, not the subject
|
||||||
//Return takes the page back to the individual form
|
//Return takes the page back to the individual form
|
||||||
editConfiguration.setUrlPatternToReturnTo(EditConfigurationUtils.getFormUrlWithoutContext(vreq));
|
editConfiguration.setUrlPatternToReturnTo(getUrlPatternToReturnTo(vreq));
|
||||||
return editConfiguration;
|
return editConfiguration;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private String getUrlPatternToReturnTo(VitroRequest vreq) {
|
||||||
|
String subjectUri = EditConfigurationUtils.getSubjectUri(vreq);
|
||||||
|
String predicateUri = EditConfigurationUtils.getPredicateUri(vreq);
|
||||||
|
String generatorName = "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddAssociatedConceptGenerator";
|
||||||
|
String editUrl = EditConfigurationUtils.getEditUrlWithoutContext(vreq);
|
||||||
|
return editUrl + "?subjectUri=" + UrlBuilder.urlEncode(subjectUri) +
|
||||||
|
"&predicateUri=" + UrlBuilder.urlEncode(predicateUri) +
|
||||||
|
"&editForm=" + UrlBuilder.urlEncode(generatorName);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void setVarNames(EditConfigurationVTwo editConfiguration) {
|
private void setVarNames(EditConfigurationVTwo editConfiguration) {
|
||||||
editConfiguration.setVarNameForSubject("subject");
|
editConfiguration.setVarNameForSubject("subject");
|
||||||
editConfiguration.setVarNameForPredicate("predicate");
|
editConfiguration.setVarNameForPredicate("predicate");
|
||||||
|
|
Loading…
Add table
Reference in a new issue