From a3dfd5f179e6e9b697dea90cad132d0c97e9ef86 Mon Sep 17 00:00:00 2001 From: hjkhjk54 Date: Wed, 30 Nov 2011 22:51:22 +0000 Subject: [PATCH] updates for concept addition --- .../edit/forms/addAssociatedConcept.ftl | 2 +- .../edit/forms/addUserDefinedConcept.ftl | 3 +- .../AddAssociatedConceptGenerator.java | 28 +++++++++++++------ .../AddUserDefinedConceptGenerator.java | 15 +++++++++- 4 files changed, 35 insertions(+), 13 deletions(-) diff --git a/productMods/templates/freemarker/edit/forms/addAssociatedConcept.ftl b/productMods/templates/freemarker/edit/forms/addAssociatedConcept.ftl index 569da54a..5a155aa5 100644 --- a/productMods/templates/freemarker/edit/forms/addAssociatedConcept.ftl +++ b/productMods/templates/freemarker/edit/forms/addAssociatedConcept.ftl @@ -74,7 +74,7 @@
or - Return + Return
diff --git a/productMods/templates/freemarker/edit/forms/addUserDefinedConcept.ftl b/productMods/templates/freemarker/edit/forms/addUserDefinedConcept.ftl index 2d18acbe..99967d72 100644 --- a/productMods/templates/freemarker/edit/forms/addUserDefinedConcept.ftl +++ b/productMods/templates/freemarker/edit/forms/addUserDefinedConcept.ftl @@ -6,7 +6,6 @@ <#assign sparqlForAcFilter = editConfiguration.pageData.sparqlForAcFilter /> -<#assign returnUrl = ""/>

Add Your Own Concept

@@ -34,7 +33,7 @@

- or Return to Manage Concepts + or Return to Manage Concepts

* required fields

diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAssociatedConceptGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAssociatedConceptGenerator.java index 7c76ee05..ec7292e3 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAssociatedConceptGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAssociatedConceptGenerator.java @@ -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 concepts = individual.getRelatedIndividuals( EditConfigurationUtils.getPredicateUri(vreq)); - //TODO: Check if sorted correctly - sortConceptIndividuals(concepts); - - return getAssociatedConceptInfo(concepts, vreq); + List associatedConcepts = getAssociatedConceptInfo(concepts, vreq); + sortConcepts(associatedConcepts); + return associatedConcepts; } - private void sortConceptIndividuals(List concepts) { - DataPropertyComparator comp = new DataPropertyComparator(RDFS.label.getURI()); - Collections.sort(concepts, comp); + private void sortConcepts(List concepts) { + Collections.sort(concepts, new AssociatedConceptInfoComparator()); + log.debug("Concepts should be sorted now" + concepts.toString()); } + private List getAssociatedConceptInfo( List concepts, VitroRequest vreq) { List info = new ArrayList(); @@ -418,6 +420,14 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements } + public class AssociatedConceptInfoComparator implements Comparator{ + public int compare(AssociatedConceptInfo concept1, AssociatedConceptInfo concept2) { + String concept1Label = concept1.getConceptLabel().toLowerCase(); + String concept2Label = concept2.getConceptLabel().toLowerCase(); + return concept1Label.compareTo(concept2Label); + } + } + diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddUserDefinedConceptGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddUserDefinedConceptGenerator.java index abb96955..ca955fbe 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddUserDefinedConceptGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddUserDefinedConceptGenerator.java @@ -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");