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"> <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}">

View file

@ -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>

View file

@ -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);
}
}

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.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");