From 558737bf8002b0175de15cf8394b804f042c9eab Mon Sep 17 00:00:00 2001 From: briancaruso Date: Tue, 24 Apr 2012 22:02:01 +0000 Subject: [PATCH] Working on refactoring select option generation NIHVIVO-3657 --- .../AddAssociatedConceptGenerator.java | 6 +- .../AddAttendeeRoleToPersonGenerator.java | 59 ++- ...AuthorsToInformationResourceGenerator.java | 6 +- .../AddClinicalRoleToPersonGenerator.java | 30 +- .../AddEditWebpageFormGenerator.java | 2 +- .../AddEditorRoleToPersonGenerator.java | 33 +- .../AddGrantRoleToPersonGenerator.java | 94 +---- .../AddHeadOfRoleToPersonGenerator.java | 83 ++-- .../AddMemberRoleToPersonGenerator.java | 30 +- .../AddOrganizerRoleToPersonGenerator.java | 50 +-- ...OutreachProviderRoleToPersonGenerator.java | 83 ++-- .../AddPresenterRoleToPersonGenerator.java | 27 +- .../AddPublicationToPersonGenerator.java | 65 +-- .../AddResearcherRoleToPersonGenerator.java | 29 +- .../AddReviewerRoleToPersonGenerator.java | 47 +-- .../AddRoleToPersonTwoStageGenerator.java | 381 +++++++----------- ...dServiceProviderRoleToPersonGenerator.java | 95 ++--- .../AddTeacherRoleToPersonGenerator.java | 30 +- .../AddUserDefinedConceptGenerator.java | 8 +- .../NewIndividualFormGenerator.java | 2 +- ...ganizationHasPositionHistoryGenerator.java | 18 +- ...ersonHasAdvisingRelationshipGenerator.java | 37 +- .../PersonHasAwardOrHonorGenerator.java | 26 +- .../PersonHasEducationalTraining.java | 32 +- .../PersonHasMailingAddressGenerator.java | 48 +-- .../PersonHasPositionHistoryGenerator.java | 37 +- .../AddAssociatedConceptsPreprocessor.java | 2 +- .../RoleToActivityPredicatePreprocessor.java | 3 +- .../RoleToPredicatePreprocessor.java | 3 +- 29 files changed, 545 insertions(+), 821 deletions(-) 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 63a90a74..a51c32f9 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 @@ -30,7 +30,7 @@ import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder; import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.AddAssociatedConceptsPreprocessor; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; import edu.cornell.mannlib.vitro.webapp.utils.ConceptSearchService.ConceptSearchServiceUtils; @@ -270,9 +270,7 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements VitroRequest vreq) { editConfiguration.addField(new FieldVTwo(). setName("conceptNode"). - setValidators(list("nonempty")). - setOptionsType("UNDEFINED")); - + setValidators(list("nonempty"))); } diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAttendeeRoleToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAttendeeRoleToPersonGenerator.java index b4658ba0..72ed8cee 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAttendeeRoleToPersonGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAttendeeRoleToPersonGenerator.java @@ -2,9 +2,9 @@ package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; -import java.util.HashMap; - import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ConstantFieldOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldOptions; public class AddAttendeeRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator { @@ -17,41 +17,32 @@ public class AddAttendeeRoleToPersonGenerator extends AddRoleToPersonTwoStageGen String getRoleType() { return "http://vivoweb.org/ontology/core#AttendeeRole"; } - + + /** Editor role involves hard-coded options for the "right side" of the role or activity. */ @Override - public String getRoleActivityTypeObjectClassUri(VitroRequest vreq) { - //no ClassURI since it uses hard coded literals - return null; - } - - @Override - public RoleActivityOptionTypes getRoleActivityTypeOptionsType() { - return RoleActivityOptionTypes.HARDCODED_LITERALS; - } - - //Editor role involves hard-coded options for the "right side" of the role or activity - @Override - protected HashMap getRoleActivityTypeLiteralOptions() { - HashMap literalOptions = new HashMap(); - literalOptions.put("", "Select type"); - literalOptions.put("http://purl.org/NET/c4dm/event.owl#Event", "Event"); - literalOptions.put("http://vivoweb.org/ontology/core#Competition", "Competition"); - literalOptions.put("http://purl.org/ontology/bibo/Conference", "Conference"); - literalOptions.put("http://vivoweb.org/ontology/core#Course", "Course"); - literalOptions.put("http://vivoweb.org/ontology/core#Exhibit", "Exhibit"); - literalOptions.put("http://vivoweb.org/ontology/core#Meeting", "Meeting"); - literalOptions.put("http://vivoweb.org/ontology/core#Presentation", "Presentation"); - literalOptions.put("http://vivoweb.org/ontology/core#InvitedTalk", "Invited Talk"); - literalOptions.put("http://purl.org/ontology/bibo/Workshop", "Workshop"); - literalOptions.put("http://vivoweb.org/ontology/core#EventSeries", "Event Series"); - literalOptions.put("http://vivoweb.org/ontology/core#ConferenceSeries", "Conference Series"); - literalOptions.put("http://vivoweb.org/ontology/core#SeminarSeries", "Seminar Series"); - literalOptions.put("http://vivoweb.org/ontology/core#WorkshopSeries", "Workshop Series"); - return literalOptions; + FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception { + return new ConstantFieldOptions( + "", "Select type", + "http://purl.org/NET/c4dm/event.owl#Event", "Event", + "http://vivoweb.org/ontology/core#Competition", "Competition", + "http://purl.org/ontology/bibo/Conference", "Conference", + "http://vivoweb.org/ontology/core#Course", "Course", + "http://vivoweb.org/ontology/core#Exhibit", "Exhibit", + "http://vivoweb.org/ontology/core#Meeting", "Meeting", + "http://vivoweb.org/ontology/core#Presentation", "Presentation", + "http://vivoweb.org/ontology/core#InvitedTalk", "Invited Talk", + "http://purl.org/ontology/bibo/Workshop", "Workshop", + "http://vivoweb.org/ontology/core#EventSeries", "Event Series", + "http://vivoweb.org/ontology/core#ConferenceSeries", "Conference Series", + "http://vivoweb.org/ontology/core#SeminarSeries", "Seminar Series", + "http://vivoweb.org/ontology/core#WorkshopSeries", "Workshop Series" + ); } - + @Override boolean isShowRoleLabelField() { return false; - } + } + + } diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java index e6e2fa7a..d28c0c6d 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java @@ -23,7 +23,7 @@ import edu.cornell.mannlib.vitro.webapp.edit.n3editing.PublicationHasAuthorValid import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeIntervalValidationVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; /** @@ -272,8 +272,8 @@ public class AddAuthorsToInformationResourceGenerator extends VivoBaseGenerator private void setPersonUriField(EditConfigurationVTwo editConfiguration) { editConfiguration.addField(new FieldVTwo(). - setName("personUri"). - setObjectClassUri(personClass) + setName("personUri") + //.setObjectClassUri(personClass) ); } diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddClinicalRoleToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddClinicalRoleToPersonGenerator.java index 032dc35b..dbd7a51d 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddClinicalRoleToPersonGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddClinicalRoleToPersonGenerator.java @@ -5,6 +5,8 @@ package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators import java.util.HashMap; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ConstantFieldOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldOptions; public class AddClinicalRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator { @@ -21,24 +23,14 @@ public class AddClinicalRoleToPersonGenerator extends AddRoleToPersonTwoStageGen return "http://vivoweb.org/ontology/core#ClinicalRole"; } - @Override - RoleActivityOptionTypes getRoleActivityTypeOptionsType() { - return RoleActivityOptionTypes.HARDCODED_LITERALS; - } - - @Override - String getRoleActivityTypeObjectClassUri(VitroRequest vreq) { - return null; //not needed since the options are hard coded - } - - //Clinical role involves hard-coded options for the "right side" of the role or activity - @Override - HashMap getRoleActivityTypeLiteralOptions() { - HashMap literalOptions = new HashMap(); - literalOptions.put("", "Select one"); - literalOptions.put("http://vivoweb.org/ontology/core#Project", "Project"); - literalOptions.put("http://vivoweb.org/ontology/core#Service","Service"); - return literalOptions; + /** Clinical role involves hard-coded options for the "right side" of the role or activity. */ + @Override + FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception { + return new ConstantFieldOptions( + "", "Select one", + "http://vivoweb.org/ontology/core#Project", "Project", + "http://vivoweb.org/ontology/core#Service", "Service" + ); } //isShowRoleLabelField remains true for this so doesn't need to be overwritten @@ -46,5 +38,7 @@ public class AddClinicalRoleToPersonGenerator extends AddRoleToPersonTwoStageGen boolean isShowRoleLabelField(){ return true; } + + } diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddEditWebpageFormGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddEditWebpageFormGenerator.java index 82289d6d..fe65700a 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddEditWebpageFormGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddEditWebpageFormGenerator.java @@ -16,7 +16,7 @@ import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.dao.jena.QueryUtils; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; /** diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddEditorRoleToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddEditorRoleToPersonGenerator.java index 460d7c95..07c7e315 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddEditorRoleToPersonGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddEditorRoleToPersonGenerator.java @@ -39,8 +39,10 @@ import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTw import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.Field; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.processEdit.RdfLiteralHash; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditN3GeneratorVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.SelectListGeneratorVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.SelectListGeneratorVTwo; import edu.cornell.mannlib.vitro.webapp.web.MiscWebUtils; import edu.cornell.mannlib.vitro.webapp.search.beans.ProhibitedFromSearch; import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils; @@ -75,6 +77,7 @@ import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators. */ public class AddEditorRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator { private static String TEMPLATE = "addEditorRoleToPerson.ftl"; + private static String OPTION_CLASS_URI = "http://purl.org/ontology/bibo/Collection"; @Override String getTemplate(){ return TEMPLATE; } @@ -83,26 +86,16 @@ public class AddEditorRoleToPersonGenerator extends AddRoleToPersonTwoStageGener String getRoleType() { return "http://vivoweb.org/ontology/core#EditorRole"; } - - @Override - public RoleActivityOptionTypes getRoleActivityTypeOptionsType() { - return RoleActivityOptionTypes.CHILD_VCLASSES; - } - - @Override - public String getRoleActivityTypeObjectClassUri(VitroRequest vreq) { - return "http://purl.org/ontology/bibo/Collection"; - } - - //Editor role involves hard-coded options for the "right side" of the role or activity - @Override - protected HashMap getRoleActivityTypeLiteralOptions() { - HashMap literalOptions = new HashMap(); - literalOptions.put("", "Select type"); - return literalOptions; - } + @Override + FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception { + return new + ChildVClassesOptions(OPTION_CLASS_URI) + .setDefaultOptionLabel("Select type"); + } + /** Do not show the role label field for the AddEditorRoleToPerson form */ @Override boolean isShowRoleLabelField() { return false; } + } diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddGrantRoleToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddGrantRoleToPersonGenerator.java index 4ae98f23..33b648cf 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddGrantRoleToPersonGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddGrantRoleToPersonGenerator.java @@ -20,21 +20,18 @@ import com.hp.hpl.jena.vocabulary.RDF; import com.hp.hpl.jena.vocabulary.RDFS; import com.hp.hpl.jena.vocabulary.XSD; -import edu.cornell.mannlib.vitro.webapp.beans.Individual; import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.AutocompleteRequiredInputValidator; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeIntervalValidationVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditN3GeneratorVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; -import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils; import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode; import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.AutocompleteRequiredInputValidator; /** * Custom form for adding a grant to an person for the predicates hasCo-PrincipalInvestigatorRole @@ -470,17 +467,7 @@ public class AddGrantRoleToPersonGenerator implements EditConfigurationGenerator //queryForExisting is not being used anywhere in Field List validators = new ArrayList(); - field.setValidators(validators); - - //subjectUri and subjectClassUri are not being used in Field - - field.setOptionsType("UNDEFINED"); - //why isn't predicate uri set for data properties? - field.setPredicateUri(null); - field.setObjectClassUri(getGrantType()); - field.setRangeDatatypeUri(null); - - field.setLiteralOptions(new ArrayList>()); + field.setValidators(validators); fields.put(field.getName(), field); @@ -499,17 +486,7 @@ public class AddGrantRoleToPersonGenerator implements EditConfigurationGenerator //Not really interested in validators here List validators = new ArrayList(); validators.add("datatype:" + stringDatatypeUri); - field.setValidators(validators); - - //subjectUri and subjectClassUri are not being used in Field - - field.setOptionsType("UNDEFINED"); - //why isn't predicate uri set for data properties? - field.setPredicateUri(null); - field.setObjectClassUri(null); - field.setRangeDatatypeUri(null); - - field.setLiteralOptions(new ArrayList>()); + field.setValidators(validators); fields.put(field.getName(), field); @@ -517,23 +494,14 @@ public class AddGrantRoleToPersonGenerator implements EditConfigurationGenerator private void getGrantLabelDisplayField(EditConfigurationVTwo editConfiguration, VitroRequest vreq, Map fields) { - String fieldName = "grantLabelDisplay"; - //get range data type uri and range language - String stringDatatypeUri = XSD.xstring.toString(); - - FieldVTwo field = new FieldVTwo(); + + FieldVTwo field = new FieldVTwo(); + + String fieldName = "grantLabelDisplay"; field.setName(fieldName); - //queryForExisting is not being used anywhere in Field - - //subjectUri and subjectClassUri are not being used in Field - field.setOptionsType("UNDEFINED"); - //why isn't predicate uri set for data properties? - field.setPredicateUri(null); - field.setObjectClassUri(null); - field.setRangeDatatypeUri(null); - - field.setLiteralOptions(new ArrayList>()); + String stringDatatypeUri = XSD.xstring.toString(); + field.setRangeDatatypeUri(null); fields.put(field.getName(), field); @@ -548,19 +516,6 @@ public class AddGrantRoleToPersonGenerator implements EditConfigurationGenerator field.setName(fieldName); //queryForExisting is not being used anywhere in Field - //Not really interested in validators here - List validators = new ArrayList(); - field.setValidators(validators); - - //subjectUri and subjectClassUri are not being used in Field - - field.setOptionsType("UNDEFINED"); - //why isn't predicate uri set for data properties? - field.setPredicateUri(null); - field.setObjectClassUri(null); - field.setRangeDatatypeUri(null); - field.setLiteralOptions(new ArrayList>()); - fields.put(field.getName(), field); } @@ -569,21 +524,8 @@ public class AddGrantRoleToPersonGenerator implements EditConfigurationGenerator String fieldName = "startField"; FieldVTwo field = new FieldVTwo(); - field.setName(fieldName); - - List validators = new ArrayList(); - field.setValidators(validators); - - //subjectUri and subjectClassUri are not being used in Field - - field.setOptionsType("UNDEFINED"); - //why isn't predicate uri set for data properties? - field.setPredicateUri(null); - field.setObjectClassUri(null); - field.setRangeDatatypeUri(null); - //empty - field.setLiteralOptions(new ArrayList>()); - + field.setName(fieldName); + //This logic was originally after edit configuration object created from json in original jsp field.setEditElement( new DateTimeWithPrecisionVTwo(field, @@ -603,17 +545,7 @@ public class AddGrantRoleToPersonGenerator implements EditConfigurationGenerator List validators = new ArrayList(); field.setValidators(validators); - - //subjectUri and subjectClassUri are not being used in Field - - field.setOptionsType("UNDEFINED"); - //why isn't predicate uri set for data properties? - field.setPredicateUri(null); - field.setObjectClassUri(null); - field.setRangeDatatypeUri(null); - //empty - field.setLiteralOptions(new ArrayList>()); - + //Set edit element field.setEditElement( new DateTimeWithPrecisionVTwo(field, diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddHeadOfRoleToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddHeadOfRoleToPersonGenerator.java index 250b78ef..1a6a1324 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddHeadOfRoleToPersonGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddHeadOfRoleToPersonGenerator.java @@ -2,9 +2,9 @@ package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; -import java.util.HashMap; - import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ConstantFieldOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldOptions; public class AddHeadOfRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator { @@ -19,57 +19,48 @@ public class AddHeadOfRoleToPersonGenerator extends AddRoleToPersonTwoStageGener @Override String getRoleType() { return "http://vivoweb.org/ontology/core#LeaderRole"; - } - - @Override - RoleActivityOptionTypes getRoleActivityTypeOptionsType() { - return RoleActivityOptionTypes.HARDCODED_LITERALS; - } - - @Override - String getRoleActivityTypeObjectClassUri(VitroRequest vreq) { - return null; //not needed since this is HARDCODED_LITERALS } /** Head Of role involves hard-coded options for the "right side" of the role or activity */ - @Override - HashMap getRoleActivityTypeLiteralOptions() { - HashMap literalOptions = new HashMap(); - literalOptions.put("", "Select type"); - literalOptions.put("http://vivoweb.org/ontology/core#Association", "Association"); - literalOptions.put("http://vivoweb.org/ontology/core#Center", "Center"); - literalOptions.put("http://vivoweb.org/ontology/core#ClinicalOrganization", "Clinical Organization"); - literalOptions.put("http://vivoweb.org/ontology/core#College", "College"); - literalOptions.put("http://vivoweb.org/ontology/core#Committee", "Committee"); - literalOptions.put("http://vivoweb.org/ontology/core#Consortium", "Consortium"); - literalOptions.put("http://vivoweb.org/ontology/core#Department", "Department"); - literalOptions.put("http://vivoweb.org/ontology/core#Division", "Division"); - literalOptions.put("http://purl.org/NET/c4dm/event.owl#Event", "Event"); - literalOptions.put("http://vivoweb.org/ontology/core#ExtensionUnit", "Extension Unit"); - literalOptions.put("http://vivoweb.org/ontology/core#Foundation", "Foundation"); - literalOptions.put("http://vivoweb.org/ontology/core#FundingOrganization", "Funding Organization"); - literalOptions.put("http://vivoweb.org/ontology/core#GovernmentAgency", "Government Agency"); - literalOptions.put("http://vivoweb.org/ontology/core#Hospital", "Hospital"); - literalOptions.put("http://vivoweb.org/ontology/core#Institute", "Institute"); - literalOptions.put("http://vivoweb.org/ontology/core#Laboratory", "Laboratory"); - literalOptions.put("http://vivoweb.org/ontology/core#Library", "Library"); - literalOptions.put("http://vivoweb.org/ontology/core#Museum", "Museum"); - literalOptions.put("http://xmlns.com/foaf/0.1/Organization", "Organization"); - literalOptions.put("http://vivoweb.org/ontology/core#PrivateCompany", "Private Company"); - literalOptions.put("http://vivoweb.org/ontology/core#Program", "Program"); - literalOptions.put("http://vivoweb.org/ontology/core#Project", "Project"); - literalOptions.put("http://vivoweb.org/ontology/core#Publisher", "Publisher"); - literalOptions.put("http://vivoweb.org/ontology/core#ResearchOrganization", "Research Organization"); - literalOptions.put("http://vivoweb.org/ontology/core#School", "School"); - literalOptions.put("http://vivoweb.org/ontology/core#Service","Service"); - literalOptions.put("http://vivoweb.org/ontology/core#Team", "Team"); - literalOptions.put("http://vivoweb.org/ontology/core#StudentOrganization", "Student Organization"); - literalOptions.put("http://vivoweb.org/ontology/core#University", "University"); - return literalOptions; + @Override + FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception { + + return new ConstantFieldOptions( + "", "Select type", + "http://vivoweb.org/ontology/core#Association", "Association", + "http://vivoweb.org/ontology/core#Center", "Center", + "http://vivoweb.org/ontology/core#ClinicalOrganization", "Clinical Organization", + "http://vivoweb.org/ontology/core#College", "College", + "http://vivoweb.org/ontology/core#Committee", "Committee", + "http://vivoweb.org/ontology/core#Consortium", "Consortium", + "http://vivoweb.org/ontology/core#Department", "Department", + "http://vivoweb.org/ontology/core#Division", "Division", + "http://purl.org/NET/c4dm/event.owl#Event", "Event", + "http://vivoweb.org/ontology/core#ExtensionUnit", "Extension Unit", + "http://vivoweb.org/ontology/core#Foundation", "Foundation", + "http://vivoweb.org/ontology/core#FundingOrganization", "Funding Organization", + "http://vivoweb.org/ontology/core#GovernmentAgency", "Government Agency", + "http://vivoweb.org/ontology/core#Hospital", "Hospital", + "http://vivoweb.org/ontology/core#Institute", "Institute", + "http://vivoweb.org/ontology/core#Laboratory", "Laboratory", + "http://vivoweb.org/ontology/core#Library", "Library", + "http://vivoweb.org/ontology/core#Museum", "Museum", + "http://xmlns.com/foaf/0.1/Organization", "Organization", + "http://vivoweb.org/ontology/core#PrivateCompany", "Private Company", + "http://vivoweb.org/ontology/core#Program", "Program", + "http://vivoweb.org/ontology/core#Project", "Project", + "http://vivoweb.org/ontology/core#Publisher", "Publisher", + "http://vivoweb.org/ontology/core#ResearchOrganization", "Research Organization", + "http://vivoweb.org/ontology/core#School", "School", + "http://vivoweb.org/ontology/core#Service", "Service", + "http://vivoweb.org/ontology/core#Team", "Team", + "http://vivoweb.org/ontology/core#StudentOrganization", "Student Organization", + "http://vivoweb.org/ontology/core#University", "University"); } @Override boolean isShowRoleLabelField(){return true;} + } diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddMemberRoleToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddMemberRoleToPersonGenerator.java index edb75bc5..9c5418e6 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddMemberRoleToPersonGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddMemberRoleToPersonGenerator.java @@ -2,14 +2,14 @@ package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; -import java.util.HashMap; - import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.IndividualsViaClassGroupOptions; public class AddMemberRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator { private static String template = "addMemberRoleToPerson.ftl"; - + private static String VCLASS_GROUP_URI = "http://vivoweb.org/ontology#vitroClassGrouporganizations"; @Override String getTemplate() { return template; @@ -20,26 +20,12 @@ public class AddMemberRoleToPersonGenerator extends AddRoleToPersonTwoStageGener return "http://vivoweb.org/ontology/core#MemberRole"; } - @Override - RoleActivityOptionTypes getRoleActivityTypeOptionsType() { - return RoleActivityOptionTypes.VCLASSGROUP; + @Override + FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception { + return new IndividualsViaClassGroupOptions(VCLASS_GROUP_URI) + .setDefaultOptionLabel( "Select one"); } @Override - public String getRoleActivityTypeObjectClassUri(VitroRequest vreq) { - //this is needed since the OptionTypes is VCLASSGROUP - return "http://vivoweb.org/ontology#vitroClassGrouporganizations"; - } - - - @Override - HashMap getRoleActivityTypeLiteralOptions() { - HashMap literalOptions = new HashMap(); - literalOptions.put("", "Select type"); - return literalOptions; - } - - @Override - boolean isShowRoleLabelField(){return true;} - + boolean isShowRoleLabelField(){return true;} } diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddOrganizerRoleToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddOrganizerRoleToPersonGenerator.java index 31f97a7b..05c37fde 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddOrganizerRoleToPersonGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddOrganizerRoleToPersonGenerator.java @@ -2,9 +2,9 @@ package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; -import java.util.HashMap; - import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ConstantFieldOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldOptions; public class AddOrganizerRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator { @@ -21,40 +21,28 @@ public class AddOrganizerRoleToPersonGenerator extends AddRoleToPersonTwoStageGe return "http://vivoweb.org/ontology/core#OrganizerRole"; } - @Override - RoleActivityOptionTypes getRoleActivityTypeOptionsType() { - return RoleActivityOptionTypes.HARDCODED_LITERALS; - } - - @Override - String getRoleActivityTypeObjectClassUri(VitroRequest vreq) { - return null; - } - //Organizer role involves hard-coded options for the "right side" of the role or activity - @Override - HashMap getRoleActivityTypeLiteralOptions() { - HashMap literalOptions = new HashMap(); - literalOptions.put("", "Select type"); - literalOptions.put("http://purl.org/NET/c4dm/event.owl#Event", "Event"); - literalOptions.put("http://vivoweb.org/ontology/core#Competition", "Competition"); - literalOptions.put("http://purl.org/ontology/bibo/Conference", "Conference"); - literalOptions.put("http://vivoweb.org/ontology/core#Course", "Course"); - literalOptions.put("http://vivoweb.org/ontology/core#Exhibit", "Exhibit"); - literalOptions.put("http://vivoweb.org/ontology/core#Meeting", "Meeting"); - literalOptions.put("http://vivoweb.org/ontology/core#Presentation", "Presentation"); - literalOptions.put("http://vivoweb.org/ontology/core#InvitedTalk", "Invited Talk"); - literalOptions.put("http://purl.org/ontology/bibo/Workshop", "Workshop"); - literalOptions.put("http://vivoweb.org/ontology/core#EventSeries", "Event Series"); - literalOptions.put("http://vivoweb.org/ontology/core#ConferenceSeries", "Conference Series"); - literalOptions.put("http://vivoweb.org/ontology/core#SeminarSeries", "Seminar Series"); - literalOptions.put("http://vivoweb.org/ontology/core#WorkshopSeries", "Workshop Series"); - return literalOptions; + @Override + FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception { + return new ConstantFieldOptions( + "","Select type", + "http://purl.org/NET/c4dm/event.owl#Event","Event", + "http://vivoweb.org/ontology/core#Competition","Competition", + "http://purl.org/ontology/bibo/Conference","Conference", + "http://vivoweb.org/ontology/core#Course","Course", + "http://vivoweb.org/ontology/core#Exhibit","Exhibit", + "http://vivoweb.org/ontology/core#Meeting","Meeting", + "http://vivoweb.org/ontology/core#Presentation","Presentation", + "http://vivoweb.org/ontology/core#InvitedTalk","Invited Talk", + "http://purl.org/ontology/bibo/Workshop","Workshop", + "http://vivoweb.org/ontology/core#EventSeries","Event Series", + "http://vivoweb.org/ontology/core#ConferenceSeries","Conference Series", + "http://vivoweb.org/ontology/core#SeminarSeries","Seminar Series", + "http://vivoweb.org/ontology/core#WorkshopSeries","Workshop Series"); } @Override boolean isShowRoleLabelField() { return false; } - } diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddOutreachProviderRoleToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddOutreachProviderRoleToPersonGenerator.java index f3c4f92f..127753ed 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddOutreachProviderRoleToPersonGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddOutreachProviderRoleToPersonGenerator.java @@ -2,9 +2,9 @@ package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; -import java.util.HashMap; - import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ConstantFieldOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldOptions; public class AddOutreachProviderRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator { @@ -20,53 +20,44 @@ public class AddOutreachProviderRoleToPersonGenerator extends AddRoleToPersonTwo return "http://vivoweb.org/ontology/core#OutreachProviderRole"; } - @Override - RoleActivityOptionTypes getRoleActivityTypeOptionsType() { - return RoleActivityOptionTypes.HARDCODED_LITERALS; - } - - @Override - String getRoleActivityTypeObjectClassUri(VitroRequest vreq) { - return null; - } - //Outreach Provider role involves hard-coded options for the "right side" of the role or activity - @Override - HashMap getRoleActivityTypeLiteralOptions() { - HashMap literalOptions = new HashMap(); - literalOptions.put("", "Select type"); - literalOptions.put("http://vivoweb.org/ontology/core#Association", "Association"); - literalOptions.put("http://vivoweb.org/ontology/core#Center", "Center"); - literalOptions.put("http://vivoweb.org/ontology/core#ClinicalOrganization", "Clinical Organization"); - literalOptions.put("http://vivoweb.org/ontology/core#College", "College"); - literalOptions.put("http://vivoweb.org/ontology/core#Committee", "Committee"); - literalOptions.put("http://vivoweb.org/ontology/core#Consortium", "Consortium"); - literalOptions.put("http://vivoweb.org/ontology/core#Department", "Department"); - literalOptions.put("http://vivoweb.org/ontology/core#Division", "Division"); - literalOptions.put("http://purl.org/NET/c4dm/event.owl#Event", "Event"); - literalOptions.put("http://vivoweb.org/ontology/core#ExtensionUnit", "Extension Unit"); - literalOptions.put("http://vivoweb.org/ontology/core#Foundation", "Foundation"); - literalOptions.put("http://vivoweb.org/ontology/core#FundingOrganization", "Funding Organization"); - literalOptions.put("http://vivoweb.org/ontology/core#GovernmentAgency", "Government Agency"); - literalOptions.put("http://vivoweb.org/ontology/core#Hospital", "Hospital"); - literalOptions.put("http://vivoweb.org/ontology/core#Institute", "Institute"); - literalOptions.put("http://vivoweb.org/ontology/core#Laboratory", "Laboratory"); - literalOptions.put("http://vivoweb.org/ontology/core#Library", "Library"); - literalOptions.put("http://vivoweb.org/ontology/core#Museum", "Museum"); - literalOptions.put("http://xmlns.com/foaf/0.1/Organization", "Organization"); - literalOptions.put("http://vivoweb.org/ontology/core#PrivateCompany", "Private Company"); - literalOptions.put("http://vivoweb.org/ontology/core#Program", "Program"); - literalOptions.put("http://vivoweb.org/ontology/core#Project", "Project"); - literalOptions.put("http://vivoweb.org/ontology/core#Publisher", "Publisher"); - literalOptions.put("http://vivoweb.org/ontology/core#ResearchOrganization", "Research Organization"); - literalOptions.put("http://vivoweb.org/ontology/core#Team", "Team"); - literalOptions.put("http://vivoweb.org/ontology/core#School", "School"); - literalOptions.put("http://vivoweb.org/ontology/core#Service","Service"); - literalOptions.put("http://vivoweb.org/ontology/core#StudentOrganization", "Student Organization"); - literalOptions.put("http://vivoweb.org/ontology/core#University", "University"); - return literalOptions; + @Override + FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception { + return new ConstantFieldOptions( + "","Select type", + "http://vivoweb.org/ontology/core#Association","Association", + "http://vivoweb.org/ontology/core#Center","Center", + "http://vivoweb.org/ontology/core#ClinicalOrganization","Clinical Organization", + "http://vivoweb.org/ontology/core#College","College", + "http://vivoweb.org/ontology/core#Committee","Committee", + "http://vivoweb.org/ontology/core#Consortium","Consortium", + "http://vivoweb.org/ontology/core#Department","Department", + "http://vivoweb.org/ontology/core#Division","Division", + "http://purl.org/NET/c4dm/event.owl#Event","Event", + "http://vivoweb.org/ontology/core#ExtensionUnit","Extension Unit", + "http://vivoweb.org/ontology/core#Foundation","Foundation", + "http://vivoweb.org/ontology/core#FundingOrganization","Funding Organization", + "http://vivoweb.org/ontology/core#GovernmentAgency","Government Agency", + "http://vivoweb.org/ontology/core#Hospital","Hospital", + "http://vivoweb.org/ontology/core#Institute","Institute", + "http://vivoweb.org/ontology/core#Laboratory","Laboratory", + "http://vivoweb.org/ontology/core#Library","Library", + "http://vivoweb.org/ontology/core#Museum","Museum", + "http://xmlns.com/foaf/0.1/Organization","Organization", + "http://vivoweb.org/ontology/core#PrivateCompany","Private Company", + "http://vivoweb.org/ontology/core#Program","Program", + "http://vivoweb.org/ontology/core#Project","Project", + "http://vivoweb.org/ontology/core#Publisher","Publisher", + "http://vivoweb.org/ontology/core#ResearchOrganization","Research Organization", + "http://vivoweb.org/ontology/core#Team","Team", + "http://vivoweb.org/ontology/core#School","School", + "http://vivoweb.org/ontology/core#Service","Service", + "http://vivoweb.org/ontology/core#StudentOrganization","Student Organization", + "http://vivoweb.org/ontology/core#University","University"); + } @Override boolean isShowRoleLabelField(){return true;} + } diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPresenterRoleToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPresenterRoleToPersonGenerator.java index 1bee904e..6ea250f4 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPresenterRoleToPersonGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPresenterRoleToPersonGenerator.java @@ -2,27 +2,22 @@ package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; -import java.util.ArrayList; import java.util.Arrays; -import java.util.HashMap; -import java.util.List; import javax.servlet.http.HttpSession; -import com.hp.hpl.jena.vocabulary.RDFS; import com.hp.hpl.jena.vocabulary.XSD; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.AutocompleteRequiredInputValidator; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeIntervalValidationVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.IndividualsViaVClassOptions; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; -import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils; -import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode; -import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.AutocompleteRequiredInputValidator; public class AddPresenterRoleToPersonGenerator extends VivoBaseGenerator implements EditConfigurationGenerator { @@ -48,7 +43,7 @@ public class AddPresenterRoleToPersonGenerator extends VivoBaseGenerator impleme @Override public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, - HttpSession session) { + HttpSession session) throws Exception { EditConfigurationVTwo conf = new EditConfigurationVTwo(); @@ -100,8 +95,7 @@ public class AddPresenterRoleToPersonGenerator extends VivoBaseGenerator impleme conf.addField( new FieldVTwo(). setName("existingPresentation"). - setOptionsType(FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS). - setObjectClassUri(presentationClass) + setOptions(new IndividualsViaVClassOptions(presentationClass)) ); conf.addField( new FieldVTwo(). @@ -118,9 +112,9 @@ public class AddPresenterRoleToPersonGenerator extends VivoBaseGenerator impleme conf.addField( new FieldVTwo(). setName("presentationType"). - setOptionsType(FieldVTwo.OptionsType.CHILD_VCLASSES_WITH_PARENT). - setObjectClassUri(presentationClass). - setValidators( list("nonempty") ) + setValidators( list("nonempty") ). + setOptions( new ChildVClassesOptions( + presentationClass)) ); conf.addField( new FieldVTwo(). @@ -131,8 +125,7 @@ public class AddPresenterRoleToPersonGenerator extends VivoBaseGenerator impleme conf.addField( new FieldVTwo(). setName("existingConference"). - setOptionsType(FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS). - setObjectClassUri(conferenceClass) + setOptions(new IndividualsViaVClassOptions(conferenceClass)) ); conf.addField( new FieldVTwo(). diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPublicationToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPublicationToPersonGenerator.java index 2fdeba51..cb8cd8ba 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPublicationToPersonGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPublicationToPersonGenerator.java @@ -13,21 +13,21 @@ import com.hp.hpl.jena.rdf.model.Literal; import com.hp.hpl.jena.vocabulary.XSD; import edu.cornell.mannlib.vitro.webapp.beans.Individual; -import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; import edu.cornell.mannlib.vitro.webapp.beans.ObjectPropertyStatement; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder; +import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.AutocompleteRequiredInputValidator; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.PersonHasPublicationValidator; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo; -import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode; -import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils; -import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ConstantFieldOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeIntervalValidationVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.AutocompleteRequiredInputValidator; +import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode; +import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils; + /** * On an add/new, this will show a form, on an edit/update this will skip to the @@ -55,7 +55,7 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement public AddPublicationToPersonGenerator() {} @Override - public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, HttpSession session) { + public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, HttpSession session) throws Exception { if( EditConfigurationUtils.getObjectUri(vreq) == null ){ return doAddNew(vreq,session); @@ -83,7 +83,7 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement } protected EditConfigurationVTwo doAddNew(VitroRequest vreq, - HttpSession session) { + HttpSession session) throws Exception { EditConfigurationVTwo editConfiguration = new EditConfigurationVTwo(); initBasics(editConfiguration, vreq); initPropertyParameters(vreq, session, editConfiguration); @@ -417,9 +417,10 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement /** * * Set Fields and supporting methods + * @throws Exception */ - private void setFields(EditConfigurationVTwo editConfiguration, VitroRequest vreq) { + private void setFields(EditConfigurationVTwo editConfiguration, VitroRequest vreq) throws Exception { setTitleField(editConfiguration); setPubTypeField(editConfiguration); setPubUriField(editConfiguration); @@ -460,18 +461,19 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement setRangeDatatypeUri(stringDatatypeUri)); } - private void setPubTypeField(EditConfigurationVTwo editConfiguration) { + private void setPubTypeField(EditConfigurationVTwo editConfiguration) throws Exception { editConfiguration.addField(new FieldVTwo(). setName("pubType"). - setOptionsType("HARDCODED_LITERALS"). - setLiteralOptions(getPublicationTypeLiteralOptions()). - setValidators( list("nonempty") )); + setValidators( list("nonempty") ). + setOptions( new ConstantFieldOptions("pubType", getPublicationTypeLiteralOptions() )) + ); } private void setPubUriField(EditConfigurationVTwo editConfiguration) { editConfiguration.addField(new FieldVTwo(). - setName("pubUri"). - setObjectClassUri(personClass)); + setName("pubUri")); + //Bdc34: What is this for? I'm sure that this will break autocomplete + //setObjectClassUri(personClass)); } private void setCollectionLabelField(EditConfigurationVTwo editConfiguration) { @@ -492,8 +494,9 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement private void setCollectionUriField(EditConfigurationVTwo editConfiguration) { editConfiguration.addField(new FieldVTwo(). - setName("collectionUri"). - setObjectClassUri(collectionClass)); + setName("collectionUri")); + //Bdc34: What is this for? I'm sure that commenting this out will break autocomplete + //setObjectClassUri(collectionClass)); } private void setBookLabelField(EditConfigurationVTwo editConfiguration) { @@ -514,8 +517,9 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement private void setBookUriField(EditConfigurationVTwo editConfiguration) { editConfiguration.addField(new FieldVTwo(). - setName("bookUri"). - setObjectClassUri(bookClass)); + setName("bookUri")); + //Bdc34: What is this for? I'm sure that commenting this out will break autocomplete + //setObjectClassUri(bookClass)); } private void setConferenceLabelField(EditConfigurationVTwo editConfiguration) { @@ -536,8 +540,9 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement private void setConferenceUriField(EditConfigurationVTwo editConfiguration) { editConfiguration.addField(new FieldVTwo(). - setName("conferenceUri"). - setObjectClassUri(conferenceClass)); + setName("conferenceUri")); + //Bdc34: What is this for? I'm sure that commenting this out will break autocomplete + //setObjectClassUri(conferenceClass)); } private void setEventLabelField(EditConfigurationVTwo editConfiguration) { @@ -574,8 +579,8 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement } private void setEventUriField(EditConfigurationVTwo editConfiguration) { editConfiguration.addField(new FieldVTwo(). - setName("eventUri"). - setObjectClassUri(conferenceClass)); + setName("eventUri")); + //setObjectClassUri(conferenceClass)); } private void setEditorLabelField(EditConfigurationVTwo editConfiguration) { @@ -596,8 +601,9 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement private void setEditorUriField(EditConfigurationVTwo editConfiguration) { editConfiguration.addField(new FieldVTwo(). - setName("editorUri"). - setObjectClassUri(editorClass)); + setName("editorUri")); + //Bdc34: What is this for? I'm sure that commenting this out will break autocomplete + //setObjectClassUri(editorClass)); } private void setPublisherLabelField(EditConfigurationVTwo editConfiguration) { @@ -618,8 +624,9 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement private void setPublisherUriField(EditConfigurationVTwo editConfiguration) { editConfiguration.addField(new FieldVTwo(). - setName("publisherUri"). - setObjectClassUri(publisherClass)); + setName("publisherUri")); + //Bdc34: What is this for? I'm sure that commenting this out will break autocomplete + //setObjectClassUri(publisherClass)); } private void setLocaleField(EditConfigurationVTwo editConfiguration) { diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddResearcherRoleToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddResearcherRoleToPersonGenerator.java index fc9745e1..94d4c2b6 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddResearcherRoleToPersonGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddResearcherRoleToPersonGenerator.java @@ -2,9 +2,9 @@ package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; -import java.util.HashMap; - import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ConstantFieldOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldOptions; public class AddResearcherRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator { @@ -19,25 +19,14 @@ public class AddResearcherRoleToPersonGenerator extends AddRoleToPersonTwoStageG public String getRoleType() { return "http://vivoweb.org/ontology/core#ResearcherRole"; } - + + /** Researcher role involves hard-coded options for the "right side" of the role or activity. */ @Override - RoleActivityOptionTypes getRoleActivityTypeOptionsType() { - return RoleActivityOptionTypes.HARDCODED_LITERALS; - } - - @Override - String getRoleActivityTypeObjectClassUri(VitroRequest vreq) { - return null; - } - - //Researcher role involves hard-coded options for the "right side" of the role or activity - @Override - HashMap getRoleActivityTypeLiteralOptions() { - HashMap literalOptions = new HashMap(); - literalOptions.put("", "Select one"); - literalOptions.put("http://vivoweb.org/ontology/core#Grant", "Grant"); - literalOptions.put("http://vivoweb.org/ontology/core#Project","Project"); - return literalOptions; + FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception { + return new ConstantFieldOptions( + "", "Select one", + "http://vivoweb.org/ontology/core#Grant", "Grant", + "http://vivoweb.org/ontology/core#Project", "Project"); } @Override diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddReviewerRoleToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddReviewerRoleToPersonGenerator.java index 586f85db..c21a3bf8 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddReviewerRoleToPersonGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddReviewerRoleToPersonGenerator.java @@ -2,56 +2,49 @@ package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; -import java.util.HashMap; - import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldOptions; public class AddReviewerRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator { + private static String OBJECT_VCLASS_URI = "http://vivoweb.org/ontology/core#InformationResource"; + @Override String getTemplate() { return "addReviewerRoleToPerson.ftl"; } - //The default activityToRolePredicate and roleToActivityPredicates are //correct for this subclass so they don't need to be overwritten - public String getActivityToRolePredicate(VitroRequest vreq) { - return "http://vivoweb.org/ontology/core#linkedRole"; - } + @Override public String getRoleToActivityPredicate(VitroRequest vreq) { return ""; } //role type will always be set based on particular form + @Override public String getRoleType() { //TODO: Get dynamic way of including vivoweb ontology return "http://vivoweb.org/ontology/core#ReviewerRole"; - } + } - //Each subclass generator will return its own type of option here: - //whether literal hardcoded, based on class group, or subclasses of a specific class - //The latter two will apparently lend some kind of uri to objectClassUri ? - public RoleActivityOptionTypes getRoleActivityTypeOptionsType() { - return RoleActivityOptionTypes.CHILD_VCLASSES; - } - - //This too will depend on the specific subclass of generator - public String getRoleActivityTypeObjectClassUri(VitroRequest vreq) { - return "http://vivoweb.org/ontology/core#InformationResource"; - } - - - //Reviewer role involves hard-coded options for the "right side" of the role or activity - protected HashMap getRoleActivityTypeLiteralOptions() { - HashMap literalOptions = new HashMap(); - literalOptions.put("", "Select type"); - return literalOptions; - } - + /** + * Each subclass generator will return its own type of option here: + * whether literal hardcoded, based on class group, or subclasses of a specific class + */ + @Override + FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception { + return new ChildVClassesOptions(OBJECT_VCLASS_URI) + .setDefaultOptionLabel("Select type"); + } + //isShowRoleLabelField remains true for this so doesn't need to be overwritten public boolean isShowRoleLabelField() { return false; } + + + } diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddRoleToPersonTwoStageGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddRoleToPersonTwoStageGenerator.java index 41022a4d..a18f8adc 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddRoleToPersonTwoStageGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddRoleToPersonTwoStageGenerator.java @@ -3,11 +3,9 @@ package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Set; import javax.servlet.http.HttpSession; @@ -16,7 +14,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.vivoweb.webapp.util.ModelUtils; -import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.vocabulary.RDF; import com.hp.hpl.jena.vocabulary.RDFS; import com.hp.hpl.jena.vocabulary.XSD; @@ -26,16 +23,20 @@ import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; import edu.cornell.mannlib.vitro.webapp.dao.jena.QueryUtils; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.AutocompleteRequiredInputValidator; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeIntervalValidationVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ConstantFieldOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.IndividualsViaClassGroupOptions; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.RoleToActivityPredicatePreprocessor; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode; import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.AutocompleteRequiredInputValidator; /** * Generates the edit configuration for adding a Role to a Person. @@ -94,30 +95,39 @@ public abstract class AddRoleToPersonTwoStageGenerator extends BaseEditConfigura /** URI of type for the role context node */ abstract String getRoleType(); + /** return the java object that generates the role activity field options for + * the subclass. + * @throws Exception */ + abstract FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception; + /** In the case of literal options, subclass generator will set the options to be returned */ - abstract HashMap getRoleActivityTypeLiteralOptions(); + //not needed any more since the FieldOption can be returned + //abstract HashMap getRoleActivityTypeLiteralOptions(); /** * Each subclass generator will return its own type of option here: * whether literal hardcoded, based on class group, or subclasses of a specific class * The latter two will apparently lend some kind of uri to objectClassUri ? */ - abstract RoleActivityOptionTypes getRoleActivityTypeOptionsType(); + //not needed any more since the FieldOption can be returned + //abstract RoleActivityOptionTypes getRoleActivityTypeOptionsType(); /** The URI of a Class to use with options if required. An option type like * CHILD_VCLASSES would reqire a role activity object class URI. */ - abstract String getRoleActivityTypeObjectClassUri(VitroRequest vreq); + //not needed any more since the FieldOption can be returned + //abstract String getRoleActivityTypeObjectClassUri(VitroRequest vreq); /** If true an input should be shown on the form for a * label for the role context node * TODO: move this to the FTL and have label optional. */ abstract boolean isShowRoleLabelField(); - /** URI of predicate between role context node and activity */ + /** URI of predicate between role context node and activity + * @throws Exception */ //Bdc34: not used anywhere? that's odd -// abstract String getActivityToRolePredicate(); + //abstract String getActivityToRolePredicate(); @Override - public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, HttpSession session) { + public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, HttpSession session) throws Exception { EditConfigurationVTwo editConfiguration = new EditConfigurationVTwo(); initProcessParameters(vreq, session, editConfiguration); @@ -294,8 +304,9 @@ public abstract class AddRoleToPersonTwoStageGenerator extends BaseEditConfigura editConfiguration.setLiteralsOnForm(literalsOnForm); } - /** Set SPARQL Queries and supporting methods. */ - private void setSparqlQueries(EditConfigurationVTwo editConfiguration, VitroRequest vreq) { + /** Set SPARQL Queries and supporting methods. + * @throws Exception */ + private void setSparqlQueries(EditConfigurationVTwo editConfiguration, VitroRequest vreq) throws Exception { //Queries for activity label, role label, start Field value, end Field value HashMap map = new HashMap(); map.put("activityLabel", getActivityLabelQuery(vreq)); @@ -392,7 +403,55 @@ public abstract class AddRoleToPersonTwoStageGenerator extends BaseEditConfigura return query; } + /** + * Utility method for subclasses to make a query for type from a ConstantFieldOptions object. + * @throws Exception + */ + protected String getActivityTypeQueryForConstantOptions(VitroRequest vreq, ConstantFieldOptions fieldOptions ) + throws Exception{ + + //make list of type URIs from options, this can be called with null since + //ConstantFieldOptions doesn't use any of the arguments. + Map options = fieldOptions.getOptions(null, null, null) ; + + if (options != null && options.size() > 0) { + List typeUris = new ArrayList(); + for(String typeUri: options.keySet()) { + if(typeUri != null && !typeUri.isEmpty()) { + typeUris.add("(?existingActivityType = <" + typeUri + ">)"); + } + } + + String defaultActivityTypeQuery = getDefaultActivityTypeQuery(vreq); + String typeFilters = "FILTER (" + StringUtils.join(typeUris, "||") + ")"; + return defaultActivityTypeQuery.replaceAll("}$", "") + typeFilters + "}"; + } else { + return getDefaultActivityTypeQuery(vreq); + } + } + /** + * Utility method for subclasses to make a query for type from a ChildVClassesOptions object. + * @throws Exception + */ + protected String getActivityTypeQueryForChildVClassOptions(VitroRequest vreq, ChildVClassesOptions opts){ + log.debug("objectClassUri = " + opts.getClassUri()); + return QueryUtils.subUriForQueryVar( + getSubclassActivityTypeQuery(vreq), + "objectClassUri", opts.getClassUri()); + } + + /** + * Utility method for subclasses to make a query for type from a IndividualsViaClassGroupOptions object. + * @throws Exception + */ + protected String getActivityTypeQueryForIndividualsViaClassGroupOptions(VitroRequest vreq, IndividualsViaClassGroupOptions opts){ + log.debug("ClassGroupUri = " + opts.getClassGroupUri()); + return QueryUtils.subUriForQueryVar( + getClassgroupActivityTypeQuery(vreq), + "classgroup", opts.getClassGroupUri()); + } + /* * The activity type query results must be limited to the values in the activity type select element. * Sometimes the query returns a superclass such as owl:Thing instead. @@ -402,71 +461,36 @@ public abstract class AddRoleToPersonTwoStageGenerator extends BaseEditConfigura * is in the select list. * We could still have problems if the value from the select list is not a vitro:mostSpecificType, * but that is unlikely. + * */ - //This method had some code already setup in the jsp file - private String getActivityTypeQuery(VitroRequest vreq) { - String activityTypeQuery = null; + private String getActivityTypeQuery(VitroRequest vreq) throws Exception { - //roleActivityType_optionsType: This gets you whether this is a literal - // - RoleActivityOptionTypes optionsType = getRoleActivityTypeOptionsType(); - - // Note that this value is overloaded to specify either object class uri or classgroup uri - String objectClassUri = getRoleActivityTypeObjectClassUri(vreq); + String activityTypeQuery = null; - if (StringUtils.isNotBlank(objectClassUri)) { - log.debug("objectClassUri = " + objectClassUri); - - if (RoleActivityOptionTypes.VCLASSGROUP.equals(optionsType)) { - activityTypeQuery = getClassgroupActivityTypeQuery(vreq); - activityTypeQuery = QueryUtils.subUriForQueryVar(activityTypeQuery, "classgroup", objectClassUri); - - } else if (RoleActivityOptionTypes.CHILD_VCLASSES.equals(optionsType)) { - activityTypeQuery = getSubclassActivityTypeQuery(vreq); - activityTypeQuery = QueryUtils.subUriForQueryVar(activityTypeQuery, "objectClassUri", objectClassUri); - - } else { - activityTypeQuery = getDefaultActivityTypeQuery(vreq); - } - - // Select options are hardcoded - } else if (RoleActivityOptionTypes.HARDCODED_LITERALS.equals(optionsType)) { - - //literal options - HashMap typeLiteralOptions = getRoleActivityTypeLiteralOptions(); - if (typeLiteralOptions.size() > 0) { - try { - List typeUris = new ArrayList(); - Set optionUris = typeLiteralOptions.keySet(); - for(String uri: optionUris) { - if(!uri.isEmpty()) { - typeUris.add("(?existingActivityType = <" + uri + ">)"); - } - } - String typeFilters = "FILTER (" + StringUtils.join(typeUris, "||") + ")"; - String defaultActivityTypeQuery = getDefaultActivityTypeQuery(vreq); - activityTypeQuery = defaultActivityTypeQuery.replaceAll("}$", "") + typeFilters + "}"; - } catch (Exception e) { - activityTypeQuery = getDefaultActivityTypeQuery(vreq); - } - - } else { - activityTypeQuery = getDefaultActivityTypeQuery(vreq); - } - - } else { - activityTypeQuery = getDefaultActivityTypeQuery(vreq); - } + FieldOptions fieldOpts = getRoleActivityFieldOptions(vreq); + try{ + if( fieldOpts == null ){ + activityTypeQuery = getDefaultActivityTypeQuery(vreq); + }if( fieldOpts instanceof ConstantFieldOptions ){ + activityTypeQuery = getActivityTypeQueryForConstantOptions(vreq, (ConstantFieldOptions)fieldOpts); // + }else if (fieldOpts instanceof ChildVClassesOptions ){ + activityTypeQuery = getActivityTypeQueryForChildVClassOptions(vreq, (ChildVClassesOptions)fieldOpts); + }else if( fieldOpts instanceof IndividualsViaClassGroupOptions){ + activityTypeQuery = getActivityTypeQueryForIndividualsViaClassGroupOptions(vreq, (IndividualsViaClassGroupOptions)fieldOpts); + } + }catch(Exception ex){ + log.debug("error while building activity type query",ex); + } + activityTypeQuery = getDefaultActivityTypeQuery(vreq); //The replacement of activity type query's predicate was only relevant when we actually //know which predicate is definitely being used here //Here we have multiple values possible for predicate so the original - //Replacement should only happen when we have an actual predicate - - String replaceRoleToActivityPredicate = getRoleToActivityPredicate(vreq); + //Replacement should only happen when we have an actual predicate + //String replaceRoleToActivityPredicate = getRoleToActivityPredicate(vreq); activityTypeQuery = QueryUtils.replaceQueryVar(activityTypeQuery, "predicate", getRoleToActivityPlaceholderName()); - log.debug("Activity type query: " + activityTypeQuery); + log.debug("Activity type query: " + activityTypeQuery); return activityTypeQuery; } @@ -513,9 +537,6 @@ public abstract class AddRoleToPersonTwoStageGenerator extends BaseEditConfigura //of both realizedIn and the other String query = "PREFIX core: <" + VIVO_NS + ">"; - //Portion below for multiple possible predicates - List predicates = getPossibleRoleToActivityPredicates(); - List addToQuery = new ArrayList(); query += "SELECT ?existingRoleActivity WHERE { \n" + " ?role ?predicate ?existingRoleActivity . \n "; query += getFilterRoleToActivityPredicate("predicate"); @@ -565,9 +586,10 @@ public abstract class AddRoleToPersonTwoStageGenerator extends BaseEditConfigura /** * * Set Fields and supporting methods + * @throws Exception */ - private void setFields(EditConfigurationVTwo editConfiguration, VitroRequest vreq, String predicateUri) { + private void setFields(EditConfigurationVTwo editConfiguration, VitroRequest vreq, String predicateUri) throws Exception { Map fields = new HashMap(); //Multiple fields getActivityLabelField(editConfiguration, vreq, fields); @@ -588,54 +610,31 @@ public abstract class AddRoleToPersonTwoStageGenerator extends BaseEditConfigura private void getActivityToRolePredicateField( EditConfigurationVTwo editConfiguration, VitroRequest vreq, Map fields) { - String fieldName = "activityToRolePredicate"; - //get range data type uri and range language - String stringDatatypeUri = XSD.xstring.toString(); - + FieldVTwo field = new FieldVTwo(); - field.setName(fieldName); - //queryForExisting is not being used anywhere in Field + + String fieldName = "activityToRolePredicate"; + field.setName(fieldName); - //Not really interested in validators here - List validators = new ArrayList(); - field.setValidators(validators); + //get range data type uri and range language + String stringDatatypeUri = XSD.xstring.toString(); + field.setRangeDatatypeUri( stringDatatypeUri ); - //subjectUri and subjectClassUri are not being used in Field - - field.setOptionsType("UNDEFINED"); - //why isn't predicate uri set for data properties? - field.setPredicateUri(null); - field.setObjectClassUri(null); - field.setRangeDatatypeUri(null); - - field.setLiteralOptions(new ArrayList>()); fields.put(field.getName(), field); } private void getRoleToActivityPredicateField( EditConfigurationVTwo editConfiguration, VitroRequest vreq, Map fields) { - String fieldName = "roleToActivityPredicate"; - //get range data type uri and range language - String stringDatatypeUri = XSD.xstring.toString(); - + FieldVTwo field = new FieldVTwo(); + + String fieldName = "roleToActivityPredicate"; field.setName(fieldName); - //queryForExisting is not being used anywhere in Field - //Not really interested in validators here - List validators = new ArrayList(); - field.setValidators(validators); - - //subjectUri and subjectClassUri are not being used in Field - - field.setOptionsType("UNDEFINED"); - //why isn't predicate uri set for data properties? - field.setPredicateUri(null); - field.setObjectClassUri(null); - field.setRangeDatatypeUri(null); - - field.setLiteralOptions(new ArrayList>()); + //get range data type uri and range language + String stringDatatypeUri = XSD.xstring.toString(); + field.setRangeDatatypeUri(stringDatatypeUri); fields.put(field.getName(), field); } @@ -643,58 +642,40 @@ public abstract class AddRoleToPersonTwoStageGenerator extends BaseEditConfigura //Label of "right side" of role, i.e. label for role roleIn Activity private void getActivityLabelField(EditConfigurationVTwo editConfiguration, VitroRequest vreq, Map fields) { - String fieldName = "activityLabel"; - //get range data type uri and range language - String stringDatatypeUri = XSD.xstring.toString(); - + FieldVTwo field = new FieldVTwo(); - field.setName(fieldName); - //queryForExisting is not being used anywhere in Field + String fieldName = "activityLabel"; + field.setName(fieldName); + //get range data type uri and range language + String stringDatatypeUri = XSD.xstring.toString(); + field.setRangeDatatypeUri(stringDatatypeUri); + List validators = new ArrayList(); validators.add("datatype:" + stringDatatypeUri); - field.setValidators(validators); - - //subjectUri and subjectClassUri are not being used in Field - - field.setOptionsType("UNDEFINED"); - //why isn't predicate uri set for data properties? - field.setPredicateUri(null); - field.setObjectClassUri(null); - field.setRangeDatatypeUri(stringDatatypeUri); - - field.setLiteralOptions(new ArrayList>()); - + field.setValidators(validators); + fields.put(field.getName(), field); } private void getActivityLabelDisplayField(EditConfigurationVTwo editConfiguration, - VitroRequest vreq, Map fields) { - String fieldName = "activityLabelDisplay"; - //get range data type uri and range language - String stringDatatypeUri = XSD.xstring.toString(); - + VitroRequest vreq, Map fields) { FieldVTwo field = new FieldVTwo(); + + String fieldName = "activityLabelDisplay"; field.setName(fieldName); - //queryForExisting is not being used anywhere in Field - - //subjectUri and subjectClassUri are not being used in Field - field.setOptionsType("UNDEFINED"); - //why isn't predicate uri set for data properties? - field.setPredicateUri(null); - field.setObjectClassUri(null); + //get range data type uri and range language + String stringDatatypeUri = XSD.xstring.toString(); field.setRangeDatatypeUri(stringDatatypeUri); - field.setLiteralOptions(new ArrayList>()); - fields.put(field.getName(), field); } //type of "right side" of role, i.e. type of activity from role roleIn activity private void getRoleActivityTypeField( EditConfigurationVTwo editConfiguration, VitroRequest vreq, - Map fields) { + Map fields) throws Exception { String fieldName = "roleActivityType"; //get range data type uri and range language @@ -707,104 +688,66 @@ public abstract class AddRoleToPersonTwoStageGenerator extends BaseEditConfigura } field.setValidators(validators); - //subjectUri and subjectClassUri are not being used in Field - //TODO: Check if this is correct - field.setOptionsType(getRoleActivityTypeOptionsType().toString()); - //why isn't predicate uri set for data properties? - field.setPredicateUri(null); - field.setObjectClassUri(getRoleActivityTypeObjectClassUri(vreq)); - field.setRangeDatatypeUri(null); + field.setOptions( getRoleActivityFieldOptions(vreq) ); - - HashMap literalOptionsMap = getRoleActivityTypeLiteralOptions(); - List> fieldLiteralOptions = new ArrayList>(); - Set optionUris = literalOptionsMap.keySet(); - for(String optionUri: optionUris) { - List uriLabelArray = new ArrayList(); - uriLabelArray.add(optionUri); - uriLabelArray.add(literalOptionsMap.get(optionUri)); - fieldLiteralOptions.add(uriLabelArray); - } - field.setLiteralOptions(fieldLiteralOptions); +// field.setOptionsType(getRoleActivityTypeOptionsType().toString()); +// field.setObjectClassUri(getRoleActivityTypeObjectClassUri(vreq)); +// +// HashMap literalOptionsMap = getRoleActivityTypeLiteralOptions(); +// List> fieldLiteralOptions = new ArrayList>(); +// Set optionUris = literalOptionsMap.keySet(); +// for(String optionUri: optionUris) { +// List uriLabelArray = new ArrayList(); +// uriLabelArray.add(optionUri); +// uriLabelArray.add(literalOptionsMap.get(optionUri)); +// fieldLiteralOptions.add(uriLabelArray); +// } +// field.setLiteralOptions(fieldLiteralOptions); fields.put(field.getName(), field); } - //Assuming URI for activity for role? + + + //Assuming URI for activity for role? private void getExistingRoleActivityField(EditConfigurationVTwo editConfiguration, VitroRequest vreq, Map fields) { String fieldName = "existingRoleActivity"; - //get range data type uri and range language FieldVTwo field = new FieldVTwo(); field.setName(fieldName); - - List validators = new ArrayList(); - field.setValidators(validators); - - //subjectUri and subjectClassUri are not being used in Field - - field.setOptionsType("UNDEFINED"); - //why isn't predicate uri set for data properties? - field.setPredicateUri(null); - field.setObjectClassUri(null); - field.setRangeDatatypeUri(null); - //empty - field.setLiteralOptions(new ArrayList>()); - + fields.put(field.getName(), field); } private void getRoleLabelField(EditConfigurationVTwo editConfiguration, VitroRequest vreq, Map fields) { String fieldName = "roleLabel"; - String stringDatatypeUri = XSD.xstring.toString(); - + FieldVTwo field = new FieldVTwo(); field.setName(fieldName); + String stringDatatypeUri = XSD.xstring.toString(); + field.setRangeDatatypeUri(stringDatatypeUri); + List validators = new ArrayList(); validators.add("datatype:" + stringDatatypeUri); if(isShowRoleLabelField()) { validators.add("nonempty"); } - field.setValidators(validators); - - //subjectUri and subjectClassUri are not being used in Field - - field.setOptionsType("UNDEFINED"); - //why isn't predicate uri set for data properties? - field.setPredicateUri(null); - field.setObjectClassUri(null); - field.setRangeDatatypeUri(stringDatatypeUri); - //empty - field.setLiteralOptions(new ArrayList>()); + field.setValidators(validators); fields.put(field.getName(), field); } private void getStartField(EditConfigurationVTwo editConfiguration, VitroRequest vreq, Map fields) { - String fieldName = "startField"; - - FieldVTwo field = new FieldVTwo(); - field.setName(fieldName); - - List validators = new ArrayList(); - field.setValidators(validators); - - //subjectUri and subjectClassUri are not being used in Field - - field.setOptionsType("UNDEFINED"); - //why isn't predicate uri set for data properties? - field.setPredicateUri(null); - field.setObjectClassUri(null); - field.setRangeDatatypeUri(null); - //empty - field.setLiteralOptions(new ArrayList>()); - - //This logic was originally after edit configuration object created from json in original jsp + FieldVTwo field = new FieldVTwo(); + + String fieldName = "startField"; + field.setName(fieldName); + field.setEditElement( new DateTimeWithPrecisionVTwo(field, VitroVocabulary.Precision.YEAR.uri(), @@ -815,25 +758,11 @@ public abstract class AddRoleToPersonTwoStageGenerator extends BaseEditConfigura private void getEndField(EditConfigurationVTwo editConfiguration, VitroRequest vreq, Map fields) { - String fieldName = "endField"; - FieldVTwo field = new FieldVTwo(); - field.setName(fieldName); - - List validators = new ArrayList(); - field.setValidators(validators); - - //subjectUri and subjectClassUri are not being used in Field - - field.setOptionsType("UNDEFINED"); - //why isn't predicate uri set for data properties? - field.setPredicateUri(null); - field.setObjectClassUri(null); - field.setRangeDatatypeUri(null); - //empty - field.setLiteralOptions(new ArrayList>()); - - //Set edit element + + String fieldName = "endField"; + field.setName(fieldName); + field.setEditElement( new DateTimeWithPrecisionVTwo(field, VitroVocabulary.Precision.YEAR.uri(), diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddServiceProviderRoleToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddServiceProviderRoleToPersonGenerator.java index 9007ab1e..0057c472 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddServiceProviderRoleToPersonGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddServiceProviderRoleToPersonGenerator.java @@ -2,73 +2,60 @@ package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; -import java.util.HashMap; - import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ConstantFieldOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldOptions; -public class AddServiceProviderRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator { - - private static String template = "addServiceProviderRoleToPerson.ftl"; - +public class AddServiceProviderRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator { @Override - String getTemplate() { - return template; - } + String getTemplate() { return "addServiceProviderRoleToPerson.ftl"; } @Override String getRoleType() { return "http://vivoweb.org/ontology/core#ServiceProviderRole"; - } - - @Override - RoleActivityOptionTypes getRoleActivityTypeOptionsType() { - return RoleActivityOptionTypes.HARDCODED_LITERALS; - } - - @Override - String getRoleActivityTypeObjectClassUri(VitroRequest vreq) { - return null; } - //Service Provider role involves hard-coded options for the "right side" of the role or activity + /** Service Provider role involves hard-coded options for the + * "right side" of the role or activity. */ @Override - HashMap getRoleActivityTypeLiteralOptions() { - HashMap literalOptions = new HashMap(); - literalOptions.put("", "Select one"); - literalOptions.put("http://purl.org/ontology/bibo/Conference", "Conference"); - literalOptions.put("http://vivoweb.org/ontology/core#Association", "Association"); - literalOptions.put("http://vivoweb.org/ontology/core#Center", "Center"); - literalOptions.put("http://vivoweb.org/ontology/core#ClinicalOrganization", "Clinical Organization"); - literalOptions.put("http://vivoweb.org/ontology/core#College", "College"); - literalOptions.put("http://vivoweb.org/ontology/core#Committee", "Committee"); - literalOptions.put("http://vivoweb.org/ontology/core#Consortium", "Consortium"); - literalOptions.put("http://vivoweb.org/ontology/core#Department", "Department"); - literalOptions.put("http://vivoweb.org/ontology/core#Division", "Division"); - literalOptions.put("http://purl.org/NET/c4dm/event.owl#Event", "Event"); - literalOptions.put("http://vivoweb.org/ontology/core#ExtensionUnit", "Extension Unit"); - literalOptions.put("http://vivoweb.org/ontology/core#Foundation", "Foundation"); - literalOptions.put("http://vivoweb.org/ontology/core#FundingOrganization", "Funding Organization"); - literalOptions.put("http://vivoweb.org/ontology/core#GovernmentAgency", "Government Agency"); - literalOptions.put("http://vivoweb.org/ontology/core#Hospital", "Hospital"); - literalOptions.put("http://vivoweb.org/ontology/core#Institute", "Institute"); - literalOptions.put("http://vivoweb.org/ontology/core#Laboratory", "Laboratory"); - literalOptions.put("http://vivoweb.org/ontology/core#Library", "Library"); - literalOptions.put("http://vivoweb.org/ontology/core#Museum", "Museum"); - literalOptions.put("http://xmlns.com/foaf/0.1/Organization", "Organization"); - literalOptions.put("http://vivoweb.org/ontology/core#PrivateCompany", "Private Company"); - literalOptions.put("http://vivoweb.org/ontology/core#Program", "Program"); - literalOptions.put("http://vivoweb.org/ontology/core#Project", "Project"); - literalOptions.put("http://vivoweb.org/ontology/core#Publisher", "Publisher"); - literalOptions.put("http://vivoweb.org/ontology/core#ResearchOrganization", "Research Organization"); - literalOptions.put("http://vivoweb.org/ontology/core#Team", "Team"); - literalOptions.put("http://vivoweb.org/ontology/core#School", "School"); - literalOptions.put("http://vivoweb.org/ontology/core#Service","Service"); - literalOptions.put("http://vivoweb.org/ontology/core#StudentOrganization", "Student Organization"); - literalOptions.put("http://vivoweb.org/ontology/core#University", "University"); - return literalOptions; + FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception { + return new ConstantFieldOptions( + "","Select one", + "http://purl.org/ontology/bibo/Conference","Conference", + "http://vivoweb.org/ontology/core#Association","Association", + "http://vivoweb.org/ontology/core#Center","Center", + "http://vivoweb.org/ontology/core#ClinicalOrganization","Clinical Organization", + "http://vivoweb.org/ontology/core#College","College", + "http://vivoweb.org/ontology/core#Committee","Committee", + "http://vivoweb.org/ontology/core#Consortium","Consortium", + "http://vivoweb.org/ontology/core#Department","Department", + "http://vivoweb.org/ontology/core#Division","Division", + "http://purl.org/NET/c4dm/event.owl#Event","Event", + "http://vivoweb.org/ontology/core#ExtensionUnit","Extension Unit", + "http://vivoweb.org/ontology/core#Foundation","Foundation", + "http://vivoweb.org/ontology/core#FundingOrganization","Funding Organization", + "http://vivoweb.org/ontology/core#GovernmentAgency","Government Agency", + "http://vivoweb.org/ontology/core#Hospital","Hospital", + "http://vivoweb.org/ontology/core#Institute","Institute", + "http://vivoweb.org/ontology/core#Laboratory","Laboratory", + "http://vivoweb.org/ontology/core#Library","Library", + "http://vivoweb.org/ontology/core#Museum","Museum", + "http://xmlns.com/foaf/0.1/Organization","Organization", + "http://vivoweb.org/ontology/core#PrivateCompany","Private Company", + "http://vivoweb.org/ontology/core#Program","Program", + "http://vivoweb.org/ontology/core#Project","Project", + "http://vivoweb.org/ontology/core#Publisher","Publisher", + "http://vivoweb.org/ontology/core#ResearchOrganization","Research Organization", + "http://vivoweb.org/ontology/core#Team","Team", + "http://vivoweb.org/ontology/core#School","School", + "http://vivoweb.org/ontology/core#Service","Service", + "http://vivoweb.org/ontology/core#StudentOrganization","Student Organization", + "http://vivoweb.org/ontology/core#University","University"); } + @Override boolean isShowRoleLabelField(){return true;} + } diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddTeacherRoleToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddTeacherRoleToPersonGenerator.java index cf34b41d..68194116 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddTeacherRoleToPersonGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddTeacherRoleToPersonGenerator.java @@ -2,9 +2,9 @@ package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; -import java.util.HashMap; - import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ConstantFieldOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldOptions; public class AddTeacherRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator { @@ -20,26 +20,16 @@ public class AddTeacherRoleToPersonGenerator extends AddRoleToPersonTwoStageGene return "http://vivoweb.org/ontology/core#TeacherRole"; } - @Override - RoleActivityOptionTypes getRoleActivityTypeOptionsType() { - return RoleActivityOptionTypes.HARDCODED_LITERALS; - } + /** Teacher role involves hard-coded options for the "right side" + * of the role or activity. */ @Override - String getRoleActivityTypeObjectClassUri(VitroRequest vreq) { - return null; - } - - - //Teacher role involves hard-coded options for the "right side" of the role or activity - @Override - HashMap getRoleActivityTypeLiteralOptions() { - HashMap literalOptions = new HashMap(); - literalOptions.put("", "Select one"); - literalOptions.put("http://purl.org/ontology/bibo/Conference", "Conference"); - literalOptions.put("http://vivoweb.org/ontology/core#Course","Course"); - literalOptions.put("http://purl.org/ontology/bibo/Workshop","Workshop"); - return literalOptions; + FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception { + return new ConstantFieldOptions( + "", "Select one", + "http://purl.org/ontology/bibo/Conference", "Conference", + "http://vivoweb.org/ontology/core#Course", "Course", + "http://purl.org/ontology/bibo/Workshop", "Workshop"); } @Override 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 e27b3192..d2f1b554 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 @@ -45,8 +45,8 @@ import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocesso import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.processEdit.RdfLiteralHash; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditN3GeneratorVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.SelectListGeneratorVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.SelectListGeneratorVTwo; import edu.cornell.mannlib.vitro.webapp.web.MiscWebUtils; import edu.cornell.mannlib.vitro.webapp.search.beans.ProhibitedFromSearch; import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils; @@ -280,9 +280,7 @@ public class AddUserDefinedConceptGenerator extends VivoBaseGenerator implement private void setConceptNodeField(EditConfigurationVTwo editConfiguration, VitroRequest vreq) { editConfiguration.addField(new FieldVTwo(). - setName("conceptNode"). - setOptionsType("UNDEFINED")); - + setName("conceptNode")); } diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/NewIndividualFormGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/NewIndividualFormGenerator.java index 129c606e..60d4f156 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/NewIndividualFormGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/NewIndividualFormGenerator.java @@ -19,7 +19,7 @@ import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.FoafNameToRdfsLabelPreprocessor; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/OrganizationHasPositionHistoryGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/OrganizationHasPositionHistoryGenerator.java index e09b3abd..41a90a5b 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/OrganizationHasPositionHistoryGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/OrganizationHasPositionHistoryGenerator.java @@ -13,7 +13,9 @@ import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary.Precision; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeIntervalValidationVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesWithParent; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.IndividualsViaVClassOptions; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.OrganizationHasPositionValidator; @@ -170,7 +172,7 @@ public class OrganizationHasPositionHistoryGenerator extends VivoBaseGenerator @Override public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, - HttpSession session) { + HttpSession session) throws Exception { EditConfigurationVTwo conf = new EditConfigurationVTwo(); initBasics(conf, vreq); @@ -220,18 +222,18 @@ public class OrganizationHasPositionHistoryGenerator extends VivoBaseGenerator conf.addField(new FieldVTwo() .setName("positionType") - .setOptionsType( - FieldVTwo.OptionsType.CHILD_VCLASSES_WITH_PARENT) - .setObjectClassUri(URI_POSITION_CLASS) - .setValidators(list("nonempty"))); + .setValidators(list("nonempty")) + .setOptions( + new ChildVClassesWithParent(URI_POSITION_CLASS)) + ); conf.addField(new FieldVTwo().setName("positionTitle") .setRangeDatatypeUri(XSD.xstring.toString()) .setValidators(list("nonempty"))); conf.addField(new FieldVTwo().setName("existingPerson") - .setOptionsType(FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS) - .setObjectClassUri(personClass)); + .setOptions( + new IndividualsViaVClassOptions(personClass))); conf.addField(new FieldVTwo().setName("personLabel") .setRangeDatatypeUri(XSD.xstring.toString()) diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdvisingRelationshipGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdvisingRelationshipGenerator.java index d65a5019..873e5034 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdvisingRelationshipGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdvisingRelationshipGenerator.java @@ -2,28 +2,24 @@ package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; -import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; -import java.util.List; import javax.servlet.http.HttpSession; -import com.hp.hpl.jena.vocabulary.RDFS; import com.hp.hpl.jena.vocabulary.XSD; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.PersonHasAdviseesValidator; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeIntervalValidationVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesWithParent; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.IndividualsViaVClassOptions; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; -import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils; -import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode; -import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.PersonHasAdviseesValidator; public class PersonHasAdvisingRelationshipGenerator extends VivoBaseGenerator implements EditConfigurationGenerator { @@ -50,7 +46,7 @@ public class PersonHasAdvisingRelationshipGenerator extends VivoBaseGenerator im @Override public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, - HttpSession session) { + HttpSession session) throws Exception { EditConfigurationVTwo conf = new EditConfigurationVTwo(); @@ -108,9 +104,8 @@ public class PersonHasAdvisingRelationshipGenerator extends VivoBaseGenerator im conf.addField( new FieldVTwo(). setName("advisingRelType"). - setOptionsType(FieldVTwo.OptionsType.CHILD_VCLASSES_WITH_PARENT). - setObjectClassUri(advisingRelClass). - setValidators( list("nonempty") ) + setValidators( list("nonempty") ). + setOptions( new ChildVClassesWithParent(advisingRelClass)) ); conf.addField( new FieldVTwo(). @@ -133,9 +128,9 @@ public class PersonHasAdvisingRelationshipGenerator extends VivoBaseGenerator im conf.addField( new FieldVTwo(). setName("existingSubjArea"). - setOptionsType(FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS). - setObjectClassUri( subjAreaClass ) - ); + setOptions( + new IndividualsViaVClassOptions(subjAreaClass)) + ); conf.addField( new FieldVTwo(). setName("subjAreaLabel"). @@ -145,15 +140,15 @@ public class PersonHasAdvisingRelationshipGenerator extends VivoBaseGenerator im conf.addField( new FieldVTwo(). setName("degree"). - setOptionsType( FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS ). - setObjectClassUri( degreeClass ) + setOptions( + new IndividualsViaVClassOptions(degreeClass)) ); conf.addField( new FieldVTwo(). setName("existingAdvisee"). - setOptionsType(FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS). - setObjectClassUri( adviseeClass ) - ); + setOptions( + new IndividualsViaVClassOptions(adviseeClass)) + ); conf.addField( new FieldVTwo(). setName("adviseeLabel"). diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAwardOrHonorGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAwardOrHonorGenerator.java index 8d2fcf0f..e5175a49 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAwardOrHonorGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAwardOrHonorGenerator.java @@ -2,27 +2,21 @@ package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; -import java.util.ArrayList; import java.util.Arrays; -import java.util.HashMap; -import java.util.List; import javax.servlet.http.HttpSession; -import com.hp.hpl.jena.vocabulary.RDFS; import com.hp.hpl.jena.vocabulary.XSD; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.AutocompleteRequiredInputValidator; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeIntervalValidationVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.IndividualsViaVClassOptions; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; -import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils; -import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode; -import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.AutocompleteRequiredInputValidator; public class PersonHasAwardOrHonorGenerator extends VivoBaseGenerator implements EditConfigurationGenerator { @@ -50,7 +44,7 @@ public class PersonHasAwardOrHonorGenerator extends VivoBaseGenerator implements @Override public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, - HttpSession session) { + HttpSession session) throws Exception { EditConfigurationVTwo conf = new EditConfigurationVTwo(); @@ -117,15 +111,15 @@ public class PersonHasAwardOrHonorGenerator extends VivoBaseGenerator implements conf.addField( new FieldVTwo(). setName("existingOrg"). - setOptionsType(FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS). - setObjectClassUri( orgClass ) - ); + setOptions( new IndividualsViaVClassOptions( + orgClass)) + ); conf.addField( new FieldVTwo(). setName("existingAward"). - setOptionsType(FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS). - setObjectClassUri( awardClass ) - ); + setOptions( new IndividualsViaVClassOptions( + awardClass)) + ); conf.addField( new FieldVTwo(). setName("awardReceiptLabel"). diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasEducationalTraining.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasEducationalTraining.java index fdb0548b..aa7ed956 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasEducationalTraining.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasEducationalTraining.java @@ -8,7 +8,6 @@ import java.util.List; import javax.servlet.http.HttpSession; -import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.vocabulary.XSD; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; @@ -16,11 +15,13 @@ import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeIntervalValidationVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesWithParent; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.IndividualsViaVClassOptions; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode; import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.AutocompleteRequiredInputValidator; /** Form for adding an educational attainment to an individual @@ -73,7 +74,7 @@ import edu.cornell.mannlib.vitro.webapp.edit.n3editing.AutocompleteRequiredInput public class PersonHasEducationalTraining extends VivoBaseGenerator implements EditConfigurationGenerator{ //TODO: can we get rid of the session and get it form the vreq? - public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, HttpSession session) { + public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, HttpSession session) throws Exception { EditConfigurationVTwo conf = new EditConfigurationVTwo(); @@ -126,8 +127,8 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements conf.addField( new FieldVTwo(). setName("degree"). - setOptionsType( FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS ). - setObjectClassUri( degreeClass )); + setOptions( new IndividualsViaVClassOptions( + degreeClass))); conf.addField( new FieldVTwo(). setName("majorField"). @@ -136,9 +137,8 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements conf.addField( new FieldVTwo(). setName("existingOrg"). - setOptionsType(FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS). - setObjectClassUri( orgClass )); - //setLiteralOptions( [ "Select One" } ) + setOptions( new IndividualsViaVClassOptions( + orgClass))); conf.addField( new FieldVTwo(). setName("orgLabel"). @@ -151,17 +151,15 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements conf.addField( new FieldVTwo(). setName("orgType"). - setOptionsType(FieldVTwo.OptionsType.CHILD_VCLASSES). - setObjectClassUri( orgClass ). - setValidators( list("nonempty"))); - //setLiteralOptions( [ "Select one" ] ) + setValidators( list("nonempty")). + setOptions( new ChildVClassesOptions( + orgClass))); conf.addField( new FieldVTwo(). setName("trainingType"). - setOptionsType(FieldVTwo.OptionsType.CHILD_VCLASSES_WITH_PARENT). - setObjectClassUri(trainingClass). - setValidators( list("nonempty") ) - ); + setValidators( list("nonempty") ). + setOptions( + new ChildVClassesWithParent(trainingClass))); conf.addField( new FieldVTwo(). setName("dept"). diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasMailingAddressGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasMailingAddressGenerator.java index ed54f664..1e54a758 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasMailingAddressGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasMailingAddressGenerator.java @@ -2,25 +2,19 @@ package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; -import java.util.ArrayList; import java.util.Arrays; -import java.util.HashMap; -import java.util.List; import javax.servlet.http.HttpSession; -import com.hp.hpl.jena.vocabulary.RDFS; import com.hp.hpl.jena.vocabulary.XSD; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeIntervalValidationVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.IndividualsViaVClassOptions; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; -import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode; -import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils; public class PersonHasMailingAddressGenerator extends VivoBaseGenerator implements EditConfigurationGenerator { @@ -40,7 +34,7 @@ public class PersonHasMailingAddressGenerator extends VivoBaseGenerator implemen @Override public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, - HttpSession session) { + HttpSession session) throws Exception { EditConfigurationVTwo conf = new EditConfigurationVTwo(); @@ -80,58 +74,50 @@ public class PersonHasMailingAddressGenerator extends VivoBaseGenerator implemen conf.addField( new FieldVTwo(). setName("country"). - setOptionsType( FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS ). - setObjectClassUri( countryClass ) . - setValidators( list("nonempty") ) - ); + setValidators( list("nonempty") ). + setOptions( + new IndividualsViaVClassOptions( + countryClass))); conf.addField( new FieldVTwo(). setName("addrLineOne") .setRangeDatatypeUri( XSD.xstring.toString() ). - setValidators( list("nonempty") ) - ); + setValidators( list("nonempty") )); conf.addField( new FieldVTwo(). setName("addrLineTwo") .setRangeDatatypeUri( XSD.xstring.toString() ). - setValidators( list("datatype:" + XSD.xstring.toString()) ) - ); + setValidators( list("datatype:" + XSD.xstring.toString()) )); conf.addField( new FieldVTwo(). setName("addrLineThree") .setRangeDatatypeUri( XSD.xstring.toString() ). - setValidators( list("datatype:" + XSD.xstring.toString()) ) - ); + setValidators( list("datatype:" + XSD.xstring.toString()) )); conf.addField( new FieldVTwo(). setName("postalCode") .setRangeDatatypeUri( XSD.xstring.toString() ). - setValidators( list("nonempty") ) - ); + setValidators( list("nonempty") )); conf.addField( new FieldVTwo(). setName("city") .setRangeDatatypeUri( XSD.xstring.toString() ). - setValidators( list("nonempty") ) - ); + setValidators( list("nonempty") ) ); conf.addField( new FieldVTwo(). setName("state") .setRangeDatatypeUri( XSD.xstring.toString() ). - setValidators( list("datatype:" + XSD.xstring.toString()) ) - ); + setValidators( list("datatype:" + XSD.xstring.toString()) ) ); conf.addField( new FieldVTwo(). setName("addrLabel") .setRangeDatatypeUri( XSD.xstring.toString() ). - setValidators( list("datatype:" + XSD.xstring.toString()) ) - ); + setValidators( list("datatype:" + XSD.xstring.toString()) ) ); conf.addField( new FieldVTwo(). setName("addressType"). - setOptionsType(FieldVTwo.OptionsType.CHILD_VCLASSES). - setObjectClassUri(addressClass) - ); + setOptions(new ChildVClassesOptions( + addressClass)) ); conf.addValidator(new AntiXssValidation()); diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasPositionHistoryGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasPositionHistoryGenerator.java index b3b93907..d6f60d4e 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasPositionHistoryGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasPositionHistoryGenerator.java @@ -9,19 +9,21 @@ import java.util.List; import javax.servlet.http.HttpSession; -import com.hp.hpl.jena.vocabulary.RDFS; import com.hp.hpl.jena.vocabulary.XSD; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.AutocompleteRequiredInputValidator; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeIntervalValidationVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesWithParent; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.IndividualsViaVClassOptions; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode; import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.AutocompleteRequiredInputValidator; public class PersonHasPositionHistoryGenerator extends VivoBaseGenerator implements EditConfigurationGenerator { @@ -57,7 +59,7 @@ public class PersonHasPositionHistoryGenerator extends VivoBaseGenerator impleme @Override public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, - HttpSession session) { + HttpSession session) throws Exception { EditConfigurationVTwo conf = new EditConfigurationVTwo(); @@ -110,38 +112,33 @@ public class PersonHasPositionHistoryGenerator extends VivoBaseGenerator impleme conf.addField( new FieldVTwo(). setName("positionTitle") .setRangeDatatypeUri( XSD.xstring.toString() ). - setValidators( list("nonempty") ) - ); + setValidators( list("nonempty") ) ); conf.addField( new FieldVTwo(). setName("positionType"). - setOptionsType(FieldVTwo.OptionsType.CHILD_VCLASSES_WITH_PARENT). - setObjectClassUri(positionClass). - setValidators( list("nonempty") ) - ); + setValidators( list("nonempty") ). + setOptions( + new ChildVClassesWithParent(positionClass))); conf.addField( new FieldVTwo(). setName("existingOrg"). - setOptionsType(FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS). - setObjectClassUri(orgClass) - ); + setOptions( + new IndividualsViaVClassOptions( + orgClass))); conf.addField( new FieldVTwo(). setName("orgLabel"). setRangeDatatypeUri(XSD.xstring.toString() ). - setValidators( list("datatype:" + XSD.xstring.toString()) ) - ); + setValidators( list("datatype:" + XSD.xstring.toString()) ) ); conf.addField( new FieldVTwo(). setName("orgLabelDisplay"). - setRangeDatatypeUri(XSD.xstring.toString() ) - ); + setRangeDatatypeUri(XSD.xstring.toString() ) ); conf.addField( new FieldVTwo(). setName("orgType"). - setOptionsType(FieldVTwo.OptionsType.CHILD_VCLASSES). - setObjectClassUri(orgClass) - ); + setOptions( + new ChildVClassesOptions(orgClass))); conf.addField( new FieldVTwo().setName("startField"). setEditElement( diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/AddAssociatedConceptsPreprocessor.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/AddAssociatedConceptsPreprocessor.java index 446ce325..ec24711a 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/AddAssociatedConceptsPreprocessor.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/AddAssociatedConceptsPreprocessor.java @@ -16,8 +16,8 @@ import com.hp.hpl.jena.vocabulary.XSD; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.BaseEditSubmissionPreprocessorVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.MultiValueEditSubmission; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; public class AddAssociatedConceptsPreprocessor extends BaseEditSubmissionPreprocessorVTwo { diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/RoleToActivityPredicatePreprocessor.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/RoleToActivityPredicatePreprocessor.java index 0436215c..df1d6a9a 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/RoleToActivityPredicatePreprocessor.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/RoleToActivityPredicatePreprocessor.java @@ -35,7 +35,8 @@ import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.BaseEditSubmissionPreprocessorVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.MultiValueEditSubmission; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; + import org.vivoweb.webapp.util.ModelUtils; public class RoleToActivityPredicatePreprocessor extends RoleToPredicatePreprocessor { diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/RoleToPredicatePreprocessor.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/RoleToPredicatePreprocessor.java index 02769c57..60967f8b 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/RoleToPredicatePreprocessor.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/RoleToPredicatePreprocessor.java @@ -35,7 +35,8 @@ import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.BaseEditSubmissionPreprocessorVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.MultiValueEditSubmission; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; + import org.vivoweb.webapp.util.ModelUtils; public abstract class RoleToPredicatePreprocessor extends BaseEditSubmissionPreprocessorVTwo {