updates for concept addition

This commit is contained in:
hjkhjk54 2011-11-30 22:51:22 +00:00
parent 49ff104d3a
commit a3dfd5f179
4 changed files with 35 additions and 13 deletions

View file

@ -74,7 +74,7 @@
<div id="showAddForm">
<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>
<form id="addConceptForm" class="customForm" action="${submitUrl}">

View file

@ -6,7 +6,6 @@
</#if>
<#assign sparqlForAcFilter = editConfiguration.pageData.sparqlForAcFilter />
<#assign returnUrl = ""/>
<h2>Add Your Own Concept</h2>
@ -34,7 +33,7 @@
<p class="submit">
<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 id="requiredLegend" class="requiredHint">* required fields</p>

View file

@ -5,6 +5,7 @@ package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators
import java.util.Arrays;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -313,6 +314,7 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements
formSpecificData.put("userDefinedConceptUrl", getUserDefinedConceptUrl(vreq));
//Add URIs and labels for different services
formSpecificData.put("searchServices", ConceptSearchServiceUtils.getVocabSources());
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 editUrl = EditConfigurationUtils.getEditUrl(vreq);
return editUrl + "?subject=" + UrlBuilder.urlEncode(subjectUri) +
"&predicate=" + UrlBuilder.urlEncode(predicateUri) +
return editUrl + "?subjectUri=" + UrlBuilder.urlEncode(subjectUri) +
"&predicateUri=" + UrlBuilder.urlEncode(predicateUri) +
"&editForm=" + UrlBuilder.urlEncode(generatorName);
}
@ -333,18 +335,18 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements
Individual individual = EditConfigurationUtils.getSubjectIndividual(vreq);
List<Individual> concepts = individual.getRelatedIndividuals(
EditConfigurationUtils.getPredicateUri(vreq));
//TODO: Check if sorted correctly
sortConceptIndividuals(concepts);
return getAssociatedConceptInfo(concepts, vreq);
List<AssociatedConceptInfo> associatedConcepts = getAssociatedConceptInfo(concepts, vreq);
sortConcepts(associatedConcepts);
return associatedConcepts;
}
private void sortConceptIndividuals(List<Individual> concepts) {
DataPropertyComparator comp = new DataPropertyComparator(RDFS.label.getURI());
Collections.sort(concepts, comp);
private void sortConcepts(List<AssociatedConceptInfo> concepts) {
Collections.sort(concepts, new AssociatedConceptInfoComparator());
log.debug("Concepts should be sorted now" + concepts.toString());
}
private List<AssociatedConceptInfo> getAssociatedConceptInfo(
List<Individual> concepts, VitroRequest vreq) {
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);
}
}

View file

@ -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.VClass;
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.dao.DisplayVocabulary;
@ -117,12 +118,24 @@ public class AddUserDefinedConceptGenerator extends VivoBaseGenerator implement
//and entity
//Adding term should return to this same page, not the subject
//Return takes the page back to the individual form
editConfiguration.setUrlPatternToReturnTo(EditConfigurationUtils.getFormUrlWithoutContext(vreq));
editConfiguration.setUrlPatternToReturnTo(getUrlPatternToReturnTo(vreq));
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) {
editConfiguration.setVarNameForSubject("subject");
editConfiguration.setVarNameForPredicate("predicate");