Working on refactoring select option generation NIHVIVO-3657

This commit is contained in:
briancaruso 2012-04-24 22:02:01 +00:00
parent 584a88d687
commit 558737bf80
29 changed files with 545 additions and 821 deletions

View file

@ -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.dao.WebappDaoFactory;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; 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.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.preprocessors.AddAssociatedConceptsPreprocessor;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation;
import edu.cornell.mannlib.vitro.webapp.utils.ConceptSearchService.ConceptSearchServiceUtils; import edu.cornell.mannlib.vitro.webapp.utils.ConceptSearchService.ConceptSearchServiceUtils;
@ -270,9 +270,7 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements
VitroRequest vreq) { VitroRequest vreq) {
editConfiguration.addField(new FieldVTwo(). editConfiguration.addField(new FieldVTwo().
setName("conceptNode"). setName("conceptNode").
setValidators(list("nonempty")). setValidators(list("nonempty")));
setOptionsType("UNDEFINED"));
} }

View file

@ -2,9 +2,9 @@
package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; 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.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 { public class AddAttendeeRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator {
@ -17,41 +17,32 @@ public class AddAttendeeRoleToPersonGenerator extends AddRoleToPersonTwoStageGen
String getRoleType() { String getRoleType() {
return "http://vivoweb.org/ontology/core#AttendeeRole"; return "http://vivoweb.org/ontology/core#AttendeeRole";
} }
/** Editor role involves hard-coded options for the "right side" of the role or activity. */
@Override @Override
public String getRoleActivityTypeObjectClassUri(VitroRequest vreq) { FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception {
//no ClassURI since it uses hard coded literals return new ConstantFieldOptions(
return null; "", "Select type",
} "http://purl.org/NET/c4dm/event.owl#Event", "Event",
"http://vivoweb.org/ontology/core#Competition", "Competition",
@Override "http://purl.org/ontology/bibo/Conference", "Conference",
public RoleActivityOptionTypes getRoleActivityTypeOptionsType() { "http://vivoweb.org/ontology/core#Course", "Course",
return RoleActivityOptionTypes.HARDCODED_LITERALS; "http://vivoweb.org/ontology/core#Exhibit", "Exhibit",
} "http://vivoweb.org/ontology/core#Meeting", "Meeting",
"http://vivoweb.org/ontology/core#Presentation", "Presentation",
//Editor role involves hard-coded options for the "right side" of the role or activity "http://vivoweb.org/ontology/core#InvitedTalk", "Invited Talk",
@Override "http://purl.org/ontology/bibo/Workshop", "Workshop",
protected HashMap<String, String> getRoleActivityTypeLiteralOptions() { "http://vivoweb.org/ontology/core#EventSeries", "Event Series",
HashMap<String, String> literalOptions = new HashMap<String, String>(); "http://vivoweb.org/ontology/core#ConferenceSeries", "Conference Series",
literalOptions.put("", "Select type"); "http://vivoweb.org/ontology/core#SeminarSeries", "Seminar Series",
literalOptions.put("http://purl.org/NET/c4dm/event.owl#Event", "Event"); "http://vivoweb.org/ontology/core#WorkshopSeries", "Workshop Series"
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 @Override
boolean isShowRoleLabelField() { boolean isShowRoleLabelField() {
return false; return false;
} }
} }

View file

@ -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.DateTimeIntervalValidationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; 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.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; 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) { private void setPersonUriField(EditConfigurationVTwo editConfiguration) {
editConfiguration.addField(new FieldVTwo(). editConfiguration.addField(new FieldVTwo().
setName("personUri"). setName("personUri")
setObjectClassUri(personClass) //.setObjectClassUri(personClass)
); );
} }

View file

@ -5,6 +5,8 @@ package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators
import java.util.HashMap; import java.util.HashMap;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; 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 { public class AddClinicalRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator {
@ -21,24 +23,14 @@ public class AddClinicalRoleToPersonGenerator extends AddRoleToPersonTwoStageGen
return "http://vivoweb.org/ontology/core#ClinicalRole"; return "http://vivoweb.org/ontology/core#ClinicalRole";
} }
@Override /** Clinical role involves hard-coded options for the "right side" of the role or activity. */
RoleActivityOptionTypes getRoleActivityTypeOptionsType() { @Override
return RoleActivityOptionTypes.HARDCODED_LITERALS; FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception {
} return new ConstantFieldOptions(
"", "Select one",
@Override "http://vivoweb.org/ontology/core#Project", "Project",
String getRoleActivityTypeObjectClassUri(VitroRequest vreq) { "http://vivoweb.org/ontology/core#Service", "Service"
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<String, String> getRoleActivityTypeLiteralOptions() {
HashMap<String, String> literalOptions = new HashMap<String, String>();
literalOptions.put("", "Select one");
literalOptions.put("http://vivoweb.org/ontology/core#Project", "Project");
literalOptions.put("http://vivoweb.org/ontology/core#Service","Service");
return literalOptions;
} }
//isShowRoleLabelField remains true for this so doesn't need to be overwritten //isShowRoleLabelField remains true for this so doesn't need to be overwritten
@ -46,5 +38,7 @@ public class AddClinicalRoleToPersonGenerator extends AddRoleToPersonTwoStageGen
boolean isShowRoleLabelField(){ boolean isShowRoleLabelField(){
return true; return true;
} }
} }

View file

@ -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.dao.jena.QueryUtils;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; 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.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; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation;
/** /**

View file

@ -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.configuration.Field;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.processEdit.RdfLiteralHash; 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.EditN3GeneratorVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.SelectListGeneratorVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesOptions;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo; 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.web.MiscWebUtils;
import edu.cornell.mannlib.vitro.webapp.search.beans.ProhibitedFromSearch; import edu.cornell.mannlib.vitro.webapp.search.beans.ProhibitedFromSearch;
import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils; 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 { public class AddEditorRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator {
private static String TEMPLATE = "addEditorRoleToPerson.ftl"; private static String TEMPLATE = "addEditorRoleToPerson.ftl";
private static String OPTION_CLASS_URI = "http://purl.org/ontology/bibo/Collection";
@Override @Override
String getTemplate(){ return TEMPLATE; } String getTemplate(){ return TEMPLATE; }
@ -83,26 +86,16 @@ public class AddEditorRoleToPersonGenerator extends AddRoleToPersonTwoStageGener
String getRoleType() { String getRoleType() {
return "http://vivoweb.org/ontology/core#EditorRole"; 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<String, String> getRoleActivityTypeLiteralOptions() {
HashMap<String, String> literalOptions = new HashMap<String, String>();
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 */ /** Do not show the role label field for the AddEditorRoleToPerson form */
@Override @Override
boolean isShowRoleLabelField() { return false; } boolean isShowRoleLabelField() { return false; }
} }

View file

@ -20,21 +20,18 @@ import com.hp.hpl.jena.vocabulary.RDF;
import com.hp.hpl.jena.vocabulary.RDFS; import com.hp.hpl.jena.vocabulary.RDFS;
import com.hp.hpl.jena.vocabulary.XSD; 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.beans.ObjectProperty;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; 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.DateTimeIntervalValidationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo; 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.EditConfigurationUtils;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; 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.fields.FieldVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; 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.FrontEndEditingUtils.EditMode;
import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils; 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 * 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 //queryForExisting is not being used anywhere in Field
List<String> validators = new ArrayList<String>(); List<String> validators = new ArrayList<String>();
field.setValidators(validators); 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<List<String>>());
fields.put(field.getName(), field); fields.put(field.getName(), field);
@ -499,17 +486,7 @@ public class AddGrantRoleToPersonGenerator implements EditConfigurationGenerator
//Not really interested in validators here //Not really interested in validators here
List<String> validators = new ArrayList<String>(); List<String> validators = new ArrayList<String>();
validators.add("datatype:" + stringDatatypeUri); validators.add("datatype:" + stringDatatypeUri);
field.setValidators(validators); 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<List<String>>());
fields.put(field.getName(), field); fields.put(field.getName(), field);
@ -517,23 +494,14 @@ public class AddGrantRoleToPersonGenerator implements EditConfigurationGenerator
private void getGrantLabelDisplayField(EditConfigurationVTwo editConfiguration, private void getGrantLabelDisplayField(EditConfigurationVTwo editConfiguration,
VitroRequest vreq, Map<String, FieldVTwo> fields) { VitroRequest vreq, Map<String, FieldVTwo> fields) {
String fieldName = "grantLabelDisplay";
//get range data type uri and range language FieldVTwo field = new FieldVTwo();
String stringDatatypeUri = XSD.xstring.toString();
String fieldName = "grantLabelDisplay";
FieldVTwo field = new FieldVTwo();
field.setName(fieldName); field.setName(fieldName);
//queryForExisting is not being used anywhere in Field
//subjectUri and subjectClassUri are not being used in Field
field.setOptionsType("UNDEFINED"); String stringDatatypeUri = XSD.xstring.toString();
//why isn't predicate uri set for data properties? field.setRangeDatatypeUri(null);
field.setPredicateUri(null);
field.setObjectClassUri(null);
field.setRangeDatatypeUri(null);
field.setLiteralOptions(new ArrayList<List<String>>());
fields.put(field.getName(), field); fields.put(field.getName(), field);
@ -548,19 +516,6 @@ public class AddGrantRoleToPersonGenerator implements EditConfigurationGenerator
field.setName(fieldName); field.setName(fieldName);
//queryForExisting is not being used anywhere in Field //queryForExisting is not being used anywhere in Field
//Not really interested in validators here
List<String> validators = new ArrayList<String>();
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<List<String>>());
fields.put(field.getName(), field); fields.put(field.getName(), field);
} }
@ -569,21 +524,8 @@ public class AddGrantRoleToPersonGenerator implements EditConfigurationGenerator
String fieldName = "startField"; String fieldName = "startField";
FieldVTwo field = new FieldVTwo(); FieldVTwo field = new FieldVTwo();
field.setName(fieldName); field.setName(fieldName);
List<String> validators = new ArrayList<String>();
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<List<String>>());
//This logic was originally after edit configuration object created from json in original jsp //This logic was originally after edit configuration object created from json in original jsp
field.setEditElement( field.setEditElement(
new DateTimeWithPrecisionVTwo(field, new DateTimeWithPrecisionVTwo(field,
@ -603,17 +545,7 @@ public class AddGrantRoleToPersonGenerator implements EditConfigurationGenerator
List<String> validators = new ArrayList<String>(); List<String> validators = new ArrayList<String>();
field.setValidators(validators); 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<List<String>>());
//Set edit element //Set edit element
field.setEditElement( field.setEditElement(
new DateTimeWithPrecisionVTwo(field, new DateTimeWithPrecisionVTwo(field,

View file

@ -2,9 +2,9 @@
package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; 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.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 { public class AddHeadOfRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator {
@ -19,57 +19,48 @@ public class AddHeadOfRoleToPersonGenerator extends AddRoleToPersonTwoStageGener
@Override @Override
String getRoleType() { String getRoleType() {
return "http://vivoweb.org/ontology/core#LeaderRole"; 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 */ /** Head Of role involves hard-coded options for the "right side" of the role or activity */
@Override @Override
HashMap<String, String> getRoleActivityTypeLiteralOptions() { FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception {
HashMap<String, String> literalOptions = new HashMap<String, String>();
literalOptions.put("", "Select type"); return new ConstantFieldOptions(
literalOptions.put("http://vivoweb.org/ontology/core#Association", "Association"); "", "Select type",
literalOptions.put("http://vivoweb.org/ontology/core#Center", "Center"); "http://vivoweb.org/ontology/core#Association", "Association",
literalOptions.put("http://vivoweb.org/ontology/core#ClinicalOrganization", "Clinical Organization"); "http://vivoweb.org/ontology/core#Center", "Center",
literalOptions.put("http://vivoweb.org/ontology/core#College", "College"); "http://vivoweb.org/ontology/core#ClinicalOrganization", "Clinical Organization",
literalOptions.put("http://vivoweb.org/ontology/core#Committee", "Committee"); "http://vivoweb.org/ontology/core#College", "College",
literalOptions.put("http://vivoweb.org/ontology/core#Consortium", "Consortium"); "http://vivoweb.org/ontology/core#Committee", "Committee",
literalOptions.put("http://vivoweb.org/ontology/core#Department", "Department"); "http://vivoweb.org/ontology/core#Consortium", "Consortium",
literalOptions.put("http://vivoweb.org/ontology/core#Division", "Division"); "http://vivoweb.org/ontology/core#Department", "Department",
literalOptions.put("http://purl.org/NET/c4dm/event.owl#Event", "Event"); "http://vivoweb.org/ontology/core#Division", "Division",
literalOptions.put("http://vivoweb.org/ontology/core#ExtensionUnit", "Extension Unit"); "http://purl.org/NET/c4dm/event.owl#Event", "Event",
literalOptions.put("http://vivoweb.org/ontology/core#Foundation", "Foundation"); "http://vivoweb.org/ontology/core#ExtensionUnit", "Extension Unit",
literalOptions.put("http://vivoweb.org/ontology/core#FundingOrganization", "Funding Organization"); "http://vivoweb.org/ontology/core#Foundation", "Foundation",
literalOptions.put("http://vivoweb.org/ontology/core#GovernmentAgency", "Government Agency"); "http://vivoweb.org/ontology/core#FundingOrganization", "Funding Organization",
literalOptions.put("http://vivoweb.org/ontology/core#Hospital", "Hospital"); "http://vivoweb.org/ontology/core#GovernmentAgency", "Government Agency",
literalOptions.put("http://vivoweb.org/ontology/core#Institute", "Institute"); "http://vivoweb.org/ontology/core#Hospital", "Hospital",
literalOptions.put("http://vivoweb.org/ontology/core#Laboratory", "Laboratory"); "http://vivoweb.org/ontology/core#Institute", "Institute",
literalOptions.put("http://vivoweb.org/ontology/core#Library", "Library"); "http://vivoweb.org/ontology/core#Laboratory", "Laboratory",
literalOptions.put("http://vivoweb.org/ontology/core#Museum", "Museum"); "http://vivoweb.org/ontology/core#Library", "Library",
literalOptions.put("http://xmlns.com/foaf/0.1/Organization", "Organization"); "http://vivoweb.org/ontology/core#Museum", "Museum",
literalOptions.put("http://vivoweb.org/ontology/core#PrivateCompany", "Private Company"); "http://xmlns.com/foaf/0.1/Organization", "Organization",
literalOptions.put("http://vivoweb.org/ontology/core#Program", "Program"); "http://vivoweb.org/ontology/core#PrivateCompany", "Private Company",
literalOptions.put("http://vivoweb.org/ontology/core#Project", "Project"); "http://vivoweb.org/ontology/core#Program", "Program",
literalOptions.put("http://vivoweb.org/ontology/core#Publisher", "Publisher"); "http://vivoweb.org/ontology/core#Project", "Project",
literalOptions.put("http://vivoweb.org/ontology/core#ResearchOrganization", "Research Organization"); "http://vivoweb.org/ontology/core#Publisher", "Publisher",
literalOptions.put("http://vivoweb.org/ontology/core#School", "School"); "http://vivoweb.org/ontology/core#ResearchOrganization", "Research Organization",
literalOptions.put("http://vivoweb.org/ontology/core#Service","Service"); "http://vivoweb.org/ontology/core#School", "School",
literalOptions.put("http://vivoweb.org/ontology/core#Team", "Team"); "http://vivoweb.org/ontology/core#Service", "Service",
literalOptions.put("http://vivoweb.org/ontology/core#StudentOrganization", "Student Organization"); "http://vivoweb.org/ontology/core#Team", "Team",
literalOptions.put("http://vivoweb.org/ontology/core#University", "University"); "http://vivoweb.org/ontology/core#StudentOrganization", "Student Organization",
return literalOptions; "http://vivoweb.org/ontology/core#University", "University");
} }
@Override @Override
boolean isShowRoleLabelField(){return true;} boolean isShowRoleLabelField(){return true;}
} }

View file

@ -2,14 +2,14 @@
package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; 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.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 { public class AddMemberRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator {
private static String template = "addMemberRoleToPerson.ftl"; private static String template = "addMemberRoleToPerson.ftl";
private static String VCLASS_GROUP_URI = "http://vivoweb.org/ontology#vitroClassGrouporganizations";
@Override @Override
String getTemplate() { String getTemplate() {
return template; return template;
@ -20,26 +20,12 @@ public class AddMemberRoleToPersonGenerator extends AddRoleToPersonTwoStageGener
return "http://vivoweb.org/ontology/core#MemberRole"; return "http://vivoweb.org/ontology/core#MemberRole";
} }
@Override @Override
RoleActivityOptionTypes getRoleActivityTypeOptionsType() { FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception {
return RoleActivityOptionTypes.VCLASSGROUP; return new IndividualsViaClassGroupOptions(VCLASS_GROUP_URI)
.setDefaultOptionLabel( "Select one");
} }
@Override @Override
public String getRoleActivityTypeObjectClassUri(VitroRequest vreq) { boolean isShowRoleLabelField(){return true;}
//this is needed since the OptionTypes is VCLASSGROUP
return "http://vivoweb.org/ontology#vitroClassGrouporganizations";
}
@Override
HashMap<String, String> getRoleActivityTypeLiteralOptions() {
HashMap<String, String> literalOptions = new HashMap<String, String>();
literalOptions.put("", "Select type");
return literalOptions;
}
@Override
boolean isShowRoleLabelField(){return true;}
} }

View file

@ -2,9 +2,9 @@
package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; 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.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 { public class AddOrganizerRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator {
@ -21,40 +21,28 @@ public class AddOrganizerRoleToPersonGenerator extends AddRoleToPersonTwoStageGe
return "http://vivoweb.org/ontology/core#OrganizerRole"; 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 //Organizer role involves hard-coded options for the "right side" of the role or activity
@Override @Override
HashMap<String, String> getRoleActivityTypeLiteralOptions() { FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception {
HashMap<String, String> literalOptions = new HashMap<String, String>(); return new ConstantFieldOptions(
literalOptions.put("", "Select type"); "","Select type",
literalOptions.put("http://purl.org/NET/c4dm/event.owl#Event", "Event"); "http://purl.org/NET/c4dm/event.owl#Event","Event",
literalOptions.put("http://vivoweb.org/ontology/core#Competition", "Competition"); "http://vivoweb.org/ontology/core#Competition","Competition",
literalOptions.put("http://purl.org/ontology/bibo/Conference", "Conference"); "http://purl.org/ontology/bibo/Conference","Conference",
literalOptions.put("http://vivoweb.org/ontology/core#Course", "Course"); "http://vivoweb.org/ontology/core#Course","Course",
literalOptions.put("http://vivoweb.org/ontology/core#Exhibit", "Exhibit"); "http://vivoweb.org/ontology/core#Exhibit","Exhibit",
literalOptions.put("http://vivoweb.org/ontology/core#Meeting", "Meeting"); "http://vivoweb.org/ontology/core#Meeting","Meeting",
literalOptions.put("http://vivoweb.org/ontology/core#Presentation", "Presentation"); "http://vivoweb.org/ontology/core#Presentation","Presentation",
literalOptions.put("http://vivoweb.org/ontology/core#InvitedTalk", "Invited Talk"); "http://vivoweb.org/ontology/core#InvitedTalk","Invited Talk",
literalOptions.put("http://purl.org/ontology/bibo/Workshop", "Workshop"); "http://purl.org/ontology/bibo/Workshop","Workshop",
literalOptions.put("http://vivoweb.org/ontology/core#EventSeries", "Event Series"); "http://vivoweb.org/ontology/core#EventSeries","Event Series",
literalOptions.put("http://vivoweb.org/ontology/core#ConferenceSeries", "Conference Series"); "http://vivoweb.org/ontology/core#ConferenceSeries","Conference Series",
literalOptions.put("http://vivoweb.org/ontology/core#SeminarSeries", "Seminar Series"); "http://vivoweb.org/ontology/core#SeminarSeries","Seminar Series",
literalOptions.put("http://vivoweb.org/ontology/core#WorkshopSeries", "Workshop Series"); "http://vivoweb.org/ontology/core#WorkshopSeries","Workshop Series");
return literalOptions;
} }
@Override @Override
boolean isShowRoleLabelField() { boolean isShowRoleLabelField() {
return false; return false;
} }
} }

View file

@ -2,9 +2,9 @@
package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; 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.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 { public class AddOutreachProviderRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator {
@ -20,53 +20,44 @@ public class AddOutreachProviderRoleToPersonGenerator extends AddRoleToPersonTwo
return "http://vivoweb.org/ontology/core#OutreachProviderRole"; 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 //Outreach Provider role involves hard-coded options for the "right side" of the role or activity
@Override @Override
HashMap<String, String> getRoleActivityTypeLiteralOptions() { FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception {
HashMap<String, String> literalOptions = new HashMap<String, String>(); return new ConstantFieldOptions(
literalOptions.put("", "Select type"); "","Select type",
literalOptions.put("http://vivoweb.org/ontology/core#Association", "Association"); "http://vivoweb.org/ontology/core#Association","Association",
literalOptions.put("http://vivoweb.org/ontology/core#Center", "Center"); "http://vivoweb.org/ontology/core#Center","Center",
literalOptions.put("http://vivoweb.org/ontology/core#ClinicalOrganization", "Clinical Organization"); "http://vivoweb.org/ontology/core#ClinicalOrganization","Clinical Organization",
literalOptions.put("http://vivoweb.org/ontology/core#College", "College"); "http://vivoweb.org/ontology/core#College","College",
literalOptions.put("http://vivoweb.org/ontology/core#Committee", "Committee"); "http://vivoweb.org/ontology/core#Committee","Committee",
literalOptions.put("http://vivoweb.org/ontology/core#Consortium", "Consortium"); "http://vivoweb.org/ontology/core#Consortium","Consortium",
literalOptions.put("http://vivoweb.org/ontology/core#Department", "Department"); "http://vivoweb.org/ontology/core#Department","Department",
literalOptions.put("http://vivoweb.org/ontology/core#Division", "Division"); "http://vivoweb.org/ontology/core#Division","Division",
literalOptions.put("http://purl.org/NET/c4dm/event.owl#Event", "Event"); "http://purl.org/NET/c4dm/event.owl#Event","Event",
literalOptions.put("http://vivoweb.org/ontology/core#ExtensionUnit", "Extension Unit"); "http://vivoweb.org/ontology/core#ExtensionUnit","Extension Unit",
literalOptions.put("http://vivoweb.org/ontology/core#Foundation", "Foundation"); "http://vivoweb.org/ontology/core#Foundation","Foundation",
literalOptions.put("http://vivoweb.org/ontology/core#FundingOrganization", "Funding Organization"); "http://vivoweb.org/ontology/core#FundingOrganization","Funding Organization",
literalOptions.put("http://vivoweb.org/ontology/core#GovernmentAgency", "Government Agency"); "http://vivoweb.org/ontology/core#GovernmentAgency","Government Agency",
literalOptions.put("http://vivoweb.org/ontology/core#Hospital", "Hospital"); "http://vivoweb.org/ontology/core#Hospital","Hospital",
literalOptions.put("http://vivoweb.org/ontology/core#Institute", "Institute"); "http://vivoweb.org/ontology/core#Institute","Institute",
literalOptions.put("http://vivoweb.org/ontology/core#Laboratory", "Laboratory"); "http://vivoweb.org/ontology/core#Laboratory","Laboratory",
literalOptions.put("http://vivoweb.org/ontology/core#Library", "Library"); "http://vivoweb.org/ontology/core#Library","Library",
literalOptions.put("http://vivoweb.org/ontology/core#Museum", "Museum"); "http://vivoweb.org/ontology/core#Museum","Museum",
literalOptions.put("http://xmlns.com/foaf/0.1/Organization", "Organization"); "http://xmlns.com/foaf/0.1/Organization","Organization",
literalOptions.put("http://vivoweb.org/ontology/core#PrivateCompany", "Private Company"); "http://vivoweb.org/ontology/core#PrivateCompany","Private Company",
literalOptions.put("http://vivoweb.org/ontology/core#Program", "Program"); "http://vivoweb.org/ontology/core#Program","Program",
literalOptions.put("http://vivoweb.org/ontology/core#Project", "Project"); "http://vivoweb.org/ontology/core#Project","Project",
literalOptions.put("http://vivoweb.org/ontology/core#Publisher", "Publisher"); "http://vivoweb.org/ontology/core#Publisher","Publisher",
literalOptions.put("http://vivoweb.org/ontology/core#ResearchOrganization", "Research Organization"); "http://vivoweb.org/ontology/core#ResearchOrganization","Research Organization",
literalOptions.put("http://vivoweb.org/ontology/core#Team", "Team"); "http://vivoweb.org/ontology/core#Team","Team",
literalOptions.put("http://vivoweb.org/ontology/core#School", "School"); "http://vivoweb.org/ontology/core#School","School",
literalOptions.put("http://vivoweb.org/ontology/core#Service","Service"); "http://vivoweb.org/ontology/core#Service","Service",
literalOptions.put("http://vivoweb.org/ontology/core#StudentOrganization", "Student Organization"); "http://vivoweb.org/ontology/core#StudentOrganization","Student Organization",
literalOptions.put("http://vivoweb.org/ontology/core#University", "University"); "http://vivoweb.org/ontology/core#University","University");
return literalOptions;
} }
@Override @Override
boolean isShowRoleLabelField(){return true;} boolean isShowRoleLabelField(){return true;}
} }

View file

@ -2,27 +2,22 @@
package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import com.hp.hpl.jena.vocabulary.RDFS;
import com.hp.hpl.jena.vocabulary.XSD; import com.hp.hpl.jena.vocabulary.XSD;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; 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.DateTimeIntervalValidationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo; 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.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.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 public class AddPresenterRoleToPersonGenerator extends VivoBaseGenerator implements
EditConfigurationGenerator { EditConfigurationGenerator {
@ -48,7 +43,7 @@ public class AddPresenterRoleToPersonGenerator extends VivoBaseGenerator impleme
@Override @Override
public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq,
HttpSession session) { HttpSession session) throws Exception {
EditConfigurationVTwo conf = new EditConfigurationVTwo(); EditConfigurationVTwo conf = new EditConfigurationVTwo();
@ -100,8 +95,7 @@ public class AddPresenterRoleToPersonGenerator extends VivoBaseGenerator impleme
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("existingPresentation"). setName("existingPresentation").
setOptionsType(FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS). setOptions(new IndividualsViaVClassOptions(presentationClass))
setObjectClassUri(presentationClass)
); );
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
@ -118,9 +112,9 @@ public class AddPresenterRoleToPersonGenerator extends VivoBaseGenerator impleme
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("presentationType"). setName("presentationType").
setOptionsType(FieldVTwo.OptionsType.CHILD_VCLASSES_WITH_PARENT). setValidators( list("nonempty") ).
setObjectClassUri(presentationClass). setOptions( new ChildVClassesOptions(
setValidators( list("nonempty") ) presentationClass))
); );
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
@ -131,8 +125,7 @@ public class AddPresenterRoleToPersonGenerator extends VivoBaseGenerator impleme
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("existingConference"). setName("existingConference").
setOptionsType(FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS). setOptions(new IndividualsViaVClassOptions(conferenceClass))
setObjectClassUri(conferenceClass)
); );
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().

View file

@ -13,21 +13,21 @@ import com.hp.hpl.jena.rdf.model.Literal;
import com.hp.hpl.jena.vocabulary.XSD; import com.hp.hpl.jena.vocabulary.XSD;
import edu.cornell.mannlib.vitro.webapp.beans.Individual; 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.beans.ObjectPropertyStatement;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.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.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.EditConfigurationUtils;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; 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.ConstantFieldOptions;
import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo;
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.configuration.validators.AntiXssValidation; 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.utils.FrontEndEditingUtils.EditMode;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo; import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.AutocompleteRequiredInputValidator;
/** /**
* On an add/new, this will show a form, on an edit/update this will skip to the * 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() {} public AddPublicationToPersonGenerator() {}
@Override @Override
public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, HttpSession session) { public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, HttpSession session) throws Exception {
if( EditConfigurationUtils.getObjectUri(vreq) == null ){ if( EditConfigurationUtils.getObjectUri(vreq) == null ){
return doAddNew(vreq,session); return doAddNew(vreq,session);
@ -83,7 +83,7 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement
} }
protected EditConfigurationVTwo doAddNew(VitroRequest vreq, protected EditConfigurationVTwo doAddNew(VitroRequest vreq,
HttpSession session) { HttpSession session) throws Exception {
EditConfigurationVTwo editConfiguration = new EditConfigurationVTwo(); EditConfigurationVTwo editConfiguration = new EditConfigurationVTwo();
initBasics(editConfiguration, vreq); initBasics(editConfiguration, vreq);
initPropertyParameters(vreq, session, editConfiguration); initPropertyParameters(vreq, session, editConfiguration);
@ -417,9 +417,10 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement
/** /**
* *
* Set Fields and supporting methods * 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); setTitleField(editConfiguration);
setPubTypeField(editConfiguration); setPubTypeField(editConfiguration);
setPubUriField(editConfiguration); setPubUriField(editConfiguration);
@ -460,18 +461,19 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement
setRangeDatatypeUri(stringDatatypeUri)); setRangeDatatypeUri(stringDatatypeUri));
} }
private void setPubTypeField(EditConfigurationVTwo editConfiguration) { private void setPubTypeField(EditConfigurationVTwo editConfiguration) throws Exception {
editConfiguration.addField(new FieldVTwo(). editConfiguration.addField(new FieldVTwo().
setName("pubType"). setName("pubType").
setOptionsType("HARDCODED_LITERALS"). setValidators( list("nonempty") ).
setLiteralOptions(getPublicationTypeLiteralOptions()). setOptions( new ConstantFieldOptions("pubType", getPublicationTypeLiteralOptions() ))
setValidators( list("nonempty") )); );
} }
private void setPubUriField(EditConfigurationVTwo editConfiguration) { private void setPubUriField(EditConfigurationVTwo editConfiguration) {
editConfiguration.addField(new FieldVTwo(). editConfiguration.addField(new FieldVTwo().
setName("pubUri"). setName("pubUri"));
setObjectClassUri(personClass)); //Bdc34: What is this for? I'm sure that this will break autocomplete
//setObjectClassUri(personClass));
} }
private void setCollectionLabelField(EditConfigurationVTwo editConfiguration) { private void setCollectionLabelField(EditConfigurationVTwo editConfiguration) {
@ -492,8 +494,9 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement
private void setCollectionUriField(EditConfigurationVTwo editConfiguration) { private void setCollectionUriField(EditConfigurationVTwo editConfiguration) {
editConfiguration.addField(new FieldVTwo(). editConfiguration.addField(new FieldVTwo().
setName("collectionUri"). setName("collectionUri"));
setObjectClassUri(collectionClass)); //Bdc34: What is this for? I'm sure that commenting this out will break autocomplete
//setObjectClassUri(collectionClass));
} }
private void setBookLabelField(EditConfigurationVTwo editConfiguration) { private void setBookLabelField(EditConfigurationVTwo editConfiguration) {
@ -514,8 +517,9 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement
private void setBookUriField(EditConfigurationVTwo editConfiguration) { private void setBookUriField(EditConfigurationVTwo editConfiguration) {
editConfiguration.addField(new FieldVTwo(). editConfiguration.addField(new FieldVTwo().
setName("bookUri"). setName("bookUri"));
setObjectClassUri(bookClass)); //Bdc34: What is this for? I'm sure that commenting this out will break autocomplete
//setObjectClassUri(bookClass));
} }
private void setConferenceLabelField(EditConfigurationVTwo editConfiguration) { private void setConferenceLabelField(EditConfigurationVTwo editConfiguration) {
@ -536,8 +540,9 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement
private void setConferenceUriField(EditConfigurationVTwo editConfiguration) { private void setConferenceUriField(EditConfigurationVTwo editConfiguration) {
editConfiguration.addField(new FieldVTwo(). editConfiguration.addField(new FieldVTwo().
setName("conferenceUri"). setName("conferenceUri"));
setObjectClassUri(conferenceClass)); //Bdc34: What is this for? I'm sure that commenting this out will break autocomplete
//setObjectClassUri(conferenceClass));
} }
private void setEventLabelField(EditConfigurationVTwo editConfiguration) { private void setEventLabelField(EditConfigurationVTwo editConfiguration) {
@ -574,8 +579,8 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement
} }
private void setEventUriField(EditConfigurationVTwo editConfiguration) { private void setEventUriField(EditConfigurationVTwo editConfiguration) {
editConfiguration.addField(new FieldVTwo(). editConfiguration.addField(new FieldVTwo().
setName("eventUri"). setName("eventUri"));
setObjectClassUri(conferenceClass)); //setObjectClassUri(conferenceClass));
} }
private void setEditorLabelField(EditConfigurationVTwo editConfiguration) { private void setEditorLabelField(EditConfigurationVTwo editConfiguration) {
@ -596,8 +601,9 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement
private void setEditorUriField(EditConfigurationVTwo editConfiguration) { private void setEditorUriField(EditConfigurationVTwo editConfiguration) {
editConfiguration.addField(new FieldVTwo(). editConfiguration.addField(new FieldVTwo().
setName("editorUri"). setName("editorUri"));
setObjectClassUri(editorClass)); //Bdc34: What is this for? I'm sure that commenting this out will break autocomplete
//setObjectClassUri(editorClass));
} }
private void setPublisherLabelField(EditConfigurationVTwo editConfiguration) { private void setPublisherLabelField(EditConfigurationVTwo editConfiguration) {
@ -618,8 +624,9 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement
private void setPublisherUriField(EditConfigurationVTwo editConfiguration) { private void setPublisherUriField(EditConfigurationVTwo editConfiguration) {
editConfiguration.addField(new FieldVTwo(). editConfiguration.addField(new FieldVTwo().
setName("publisherUri"). setName("publisherUri"));
setObjectClassUri(publisherClass)); //Bdc34: What is this for? I'm sure that commenting this out will break autocomplete
//setObjectClassUri(publisherClass));
} }
private void setLocaleField(EditConfigurationVTwo editConfiguration) { private void setLocaleField(EditConfigurationVTwo editConfiguration) {

View file

@ -2,9 +2,9 @@
package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; 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.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 { public class AddResearcherRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator {
@ -19,25 +19,14 @@ public class AddResearcherRoleToPersonGenerator extends AddRoleToPersonTwoStageG
public String getRoleType() { public String getRoleType() {
return "http://vivoweb.org/ontology/core#ResearcherRole"; return "http://vivoweb.org/ontology/core#ResearcherRole";
} }
/** Researcher role involves hard-coded options for the "right side" of the role or activity. */
@Override @Override
RoleActivityOptionTypes getRoleActivityTypeOptionsType() { FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception {
return RoleActivityOptionTypes.HARDCODED_LITERALS; return new ConstantFieldOptions(
} "", "Select one",
"http://vivoweb.org/ontology/core#Grant", "Grant",
@Override "http://vivoweb.org/ontology/core#Project", "Project");
String getRoleActivityTypeObjectClassUri(VitroRequest vreq) {
return null;
}
//Researcher role involves hard-coded options for the "right side" of the role or activity
@Override
HashMap<String, String> getRoleActivityTypeLiteralOptions() {
HashMap<String, String> literalOptions = new HashMap<String, String>();
literalOptions.put("", "Select one");
literalOptions.put("http://vivoweb.org/ontology/core#Grant", "Grant");
literalOptions.put("http://vivoweb.org/ontology/core#Project","Project");
return literalOptions;
} }
@Override @Override

View file

@ -2,56 +2,49 @@
package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; 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.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 { public class AddReviewerRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator {
private static String OBJECT_VCLASS_URI = "http://vivoweb.org/ontology/core#InformationResource";
@Override @Override
String getTemplate() { return "addReviewerRoleToPerson.ftl"; } String getTemplate() { return "addReviewerRoleToPerson.ftl"; }
//The default activityToRolePredicate and roleToActivityPredicates are //The default activityToRolePredicate and roleToActivityPredicates are
//correct for this subclass so they don't need to be overwritten //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) { public String getRoleToActivityPredicate(VitroRequest vreq) {
return "<http://vivoweb.org/ontology/core#forInformationResource>"; return "<http://vivoweb.org/ontology/core#forInformationResource>";
} }
//role type will always be set based on particular form //role type will always be set based on particular form
@Override
public String getRoleType() { public String getRoleType() {
//TODO: Get dynamic way of including vivoweb ontology //TODO: Get dynamic way of including vivoweb ontology
return "http://vivoweb.org/ontology/core#ReviewerRole"; 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 * Each subclass generator will return its own type of option here:
//The latter two will apparently lend some kind of uri to objectClassUri ? * whether literal hardcoded, based on class group, or subclasses of a specific class
public RoleActivityOptionTypes getRoleActivityTypeOptionsType() { */
return RoleActivityOptionTypes.CHILD_VCLASSES; @Override
} FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception {
return new ChildVClassesOptions(OBJECT_VCLASS_URI)
//This too will depend on the specific subclass of generator .setDefaultOptionLabel("Select type");
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<String, String> getRoleActivityTypeLiteralOptions() {
HashMap<String, String> literalOptions = new HashMap<String, String>();
literalOptions.put("", "Select type");
return literalOptions;
}
//isShowRoleLabelField remains true for this so doesn't need to be overwritten //isShowRoleLabelField remains true for this so doesn't need to be overwritten
public boolean isShowRoleLabelField() { public boolean isShowRoleLabelField() {
return false; return false;
} }
} }

View file

@ -3,11 +3,9 @@
package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
@ -16,7 +14,6 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.vivoweb.webapp.util.ModelUtils; 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.RDF;
import com.hp.hpl.jena.vocabulary.RDFS; import com.hp.hpl.jena.vocabulary.RDFS;
import com.hp.hpl.jena.vocabulary.XSD; 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.VitroVocabulary;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
import edu.cornell.mannlib.vitro.webapp.dao.jena.QueryUtils; 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.DateTimeIntervalValidationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo; 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.EditConfigurationUtils;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; 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.preprocessors.RoleToActivityPredicatePreprocessor;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; 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.FrontEndEditingUtils.EditMode;
import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils; 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. * 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 */ /** URI of type for the role context node */
abstract String getRoleType(); 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 */ /** In the case of literal options, subclass generator will set the options to be returned */
abstract HashMap<String, String> getRoleActivityTypeLiteralOptions(); //not needed any more since the FieldOption can be returned
//abstract HashMap<String, String> getRoleActivityTypeLiteralOptions();
/** /**
* Each subclass generator will return its own type of option here: * Each subclass generator will return its own type of option here:
* whether literal hardcoded, based on class group, or subclasses of a specific class * 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 ? */ * 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 /** 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. */ * 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 /** If true an input should be shown on the form for a
* label for the role context node * label for the role context node
* TODO: move this to the FTL and have label optional. */ * TODO: move this to the FTL and have label optional. */
abstract boolean isShowRoleLabelField(); 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 //Bdc34: not used anywhere? that's odd
// abstract String getActivityToRolePredicate(); //abstract String getActivityToRolePredicate();
@Override @Override
public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, HttpSession session) { public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, HttpSession session) throws Exception {
EditConfigurationVTwo editConfiguration = new EditConfigurationVTwo(); EditConfigurationVTwo editConfiguration = new EditConfigurationVTwo();
initProcessParameters(vreq, session, editConfiguration); initProcessParameters(vreq, session, editConfiguration);
@ -294,8 +304,9 @@ public abstract class AddRoleToPersonTwoStageGenerator extends BaseEditConfigura
editConfiguration.setLiteralsOnForm(literalsOnForm); editConfiguration.setLiteralsOnForm(literalsOnForm);
} }
/** Set SPARQL Queries and supporting methods. */ /** Set SPARQL Queries and supporting methods.
private void setSparqlQueries(EditConfigurationVTwo editConfiguration, VitroRequest vreq) { * @throws Exception */
private void setSparqlQueries(EditConfigurationVTwo editConfiguration, VitroRequest vreq) throws Exception {
//Queries for activity label, role label, start Field value, end Field value //Queries for activity label, role label, start Field value, end Field value
HashMap<String, String> map = new HashMap<String, String>(); HashMap<String, String> map = new HashMap<String, String>();
map.put("activityLabel", getActivityLabelQuery(vreq)); map.put("activityLabel", getActivityLabelQuery(vreq));
@ -392,7 +403,55 @@ public abstract class AddRoleToPersonTwoStageGenerator extends BaseEditConfigura
return query; 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<String,String> options = fieldOptions.getOptions(null, null, null) ;
if (options != null && options.size() > 0) {
List<String> typeUris = new ArrayList<String>();
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. * 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. * 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. * is in the select list.
* We could still have problems if the value from the select list is not a vitro:mostSpecificType, * We could still have problems if the value from the select list is not a vitro:mostSpecificType,
* but that is unlikely. * but that is unlikely.
*
*/ */
//This method had some code already setup in the jsp file private String getActivityTypeQuery(VitroRequest vreq) throws Exception {
private String getActivityTypeQuery(VitroRequest vreq) {
String activityTypeQuery = null;
//roleActivityType_optionsType: This gets you whether this is a literal String activityTypeQuery = null;
//
RoleActivityOptionTypes optionsType = getRoleActivityTypeOptionsType();
// Note that this value is overloaded to specify either object class uri or classgroup uri
String objectClassUri = getRoleActivityTypeObjectClassUri(vreq);
if (StringUtils.isNotBlank(objectClassUri)) { FieldOptions fieldOpts = getRoleActivityFieldOptions(vreq);
log.debug("objectClassUri = " + objectClassUri); try{
if( fieldOpts == null ){
if (RoleActivityOptionTypes.VCLASSGROUP.equals(optionsType)) { activityTypeQuery = getDefaultActivityTypeQuery(vreq);
activityTypeQuery = getClassgroupActivityTypeQuery(vreq); }if( fieldOpts instanceof ConstantFieldOptions ){
activityTypeQuery = QueryUtils.subUriForQueryVar(activityTypeQuery, "classgroup", objectClassUri); activityTypeQuery = getActivityTypeQueryForConstantOptions(vreq, (ConstantFieldOptions)fieldOpts); //
}else if (fieldOpts instanceof ChildVClassesOptions ){
} else if (RoleActivityOptionTypes.CHILD_VCLASSES.equals(optionsType)) { activityTypeQuery = getActivityTypeQueryForChildVClassOptions(vreq, (ChildVClassesOptions)fieldOpts);
activityTypeQuery = getSubclassActivityTypeQuery(vreq); }else if( fieldOpts instanceof IndividualsViaClassGroupOptions){
activityTypeQuery = QueryUtils.subUriForQueryVar(activityTypeQuery, "objectClassUri", objectClassUri); activityTypeQuery = getActivityTypeQueryForIndividualsViaClassGroupOptions(vreq, (IndividualsViaClassGroupOptions)fieldOpts);
}
} else { }catch(Exception ex){
activityTypeQuery = getDefaultActivityTypeQuery(vreq); log.debug("error while building activity type query",ex);
} }
activityTypeQuery = getDefaultActivityTypeQuery(vreq);
// Select options are hardcoded
} else if (RoleActivityOptionTypes.HARDCODED_LITERALS.equals(optionsType)) {
//literal options
HashMap<String, String> typeLiteralOptions = getRoleActivityTypeLiteralOptions();
if (typeLiteralOptions.size() > 0) {
try {
List<String> typeUris = new ArrayList<String>();
Set<String> 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);
}
//The replacement of activity type query's predicate was only relevant when we actually //The replacement of activity type query's predicate was only relevant when we actually
//know which predicate is definitely being used here //know which predicate is definitely being used here
//Here we have multiple values possible for predicate so the original //Here we have multiple values possible for predicate so the original
//Replacement should only happen when we have an actual predicate //Replacement should only happen when we have an actual predicate
//String replaceRoleToActivityPredicate = getRoleToActivityPredicate(vreq);
String replaceRoleToActivityPredicate = getRoleToActivityPredicate(vreq);
activityTypeQuery = QueryUtils.replaceQueryVar(activityTypeQuery, "predicate", getRoleToActivityPlaceholderName()); activityTypeQuery = QueryUtils.replaceQueryVar(activityTypeQuery, "predicate", getRoleToActivityPlaceholderName());
log.debug("Activity type query: " + activityTypeQuery);
log.debug("Activity type query: " + activityTypeQuery);
return activityTypeQuery; return activityTypeQuery;
} }
@ -513,9 +537,6 @@ public abstract class AddRoleToPersonTwoStageGenerator extends BaseEditConfigura
//of both realizedIn and the other //of both realizedIn and the other
String query = "PREFIX core: <" + VIVO_NS + ">"; String query = "PREFIX core: <" + VIVO_NS + ">";
//Portion below for multiple possible predicates
List<String> predicates = getPossibleRoleToActivityPredicates();
List<String> addToQuery = new ArrayList<String>();
query += "SELECT ?existingRoleActivity WHERE { \n" + query += "SELECT ?existingRoleActivity WHERE { \n" +
" ?role ?predicate ?existingRoleActivity . \n "; " ?role ?predicate ?existingRoleActivity . \n ";
query += getFilterRoleToActivityPredicate("predicate"); query += getFilterRoleToActivityPredicate("predicate");
@ -565,9 +586,10 @@ public abstract class AddRoleToPersonTwoStageGenerator extends BaseEditConfigura
/** /**
* *
* Set Fields and supporting methods * 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<String, FieldVTwo> fields = new HashMap<String, FieldVTwo>(); Map<String, FieldVTwo> fields = new HashMap<String, FieldVTwo>();
//Multiple fields //Multiple fields
getActivityLabelField(editConfiguration, vreq, fields); getActivityLabelField(editConfiguration, vreq, fields);
@ -588,54 +610,31 @@ public abstract class AddRoleToPersonTwoStageGenerator extends BaseEditConfigura
private void getActivityToRolePredicateField( private void getActivityToRolePredicateField(
EditConfigurationVTwo editConfiguration, VitroRequest vreq, EditConfigurationVTwo editConfiguration, VitroRequest vreq,
Map<String, FieldVTwo> fields) { Map<String, FieldVTwo> fields) {
String fieldName = "activityToRolePredicate";
//get range data type uri and range language
String stringDatatypeUri = XSD.xstring.toString();
FieldVTwo field = new FieldVTwo(); 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 //get range data type uri and range language
List<String> validators = new ArrayList<String>(); String stringDatatypeUri = XSD.xstring.toString();
field.setValidators(validators); 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<List<String>>());
fields.put(field.getName(), field); fields.put(field.getName(), field);
} }
private void getRoleToActivityPredicateField( private void getRoleToActivityPredicateField(
EditConfigurationVTwo editConfiguration, VitroRequest vreq, EditConfigurationVTwo editConfiguration, VitroRequest vreq,
Map<String, FieldVTwo> fields) { Map<String, FieldVTwo> fields) {
String fieldName = "roleToActivityPredicate";
//get range data type uri and range language
String stringDatatypeUri = XSD.xstring.toString();
FieldVTwo field = new FieldVTwo(); FieldVTwo field = new FieldVTwo();
String fieldName = "roleToActivityPredicate";
field.setName(fieldName); field.setName(fieldName);
//queryForExisting is not being used anywhere in Field
//Not really interested in validators here //get range data type uri and range language
List<String> validators = new ArrayList<String>(); String stringDatatypeUri = XSD.xstring.toString();
field.setValidators(validators); 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<List<String>>());
fields.put(field.getName(), field); 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 //Label of "right side" of role, i.e. label for role roleIn Activity
private void getActivityLabelField(EditConfigurationVTwo editConfiguration, private void getActivityLabelField(EditConfigurationVTwo editConfiguration,
VitroRequest vreq, Map<String, FieldVTwo> fields) { VitroRequest vreq, Map<String, FieldVTwo> fields) {
String fieldName = "activityLabel";
//get range data type uri and range language
String stringDatatypeUri = XSD.xstring.toString();
FieldVTwo field = new FieldVTwo(); FieldVTwo field = new FieldVTwo();
field.setName(fieldName); String fieldName = "activityLabel";
//queryForExisting is not being used anywhere in Field field.setName(fieldName);
//get range data type uri and range language
String stringDatatypeUri = XSD.xstring.toString();
field.setRangeDatatypeUri(stringDatatypeUri);
List<String> validators = new ArrayList<String>(); List<String> validators = new ArrayList<String>();
validators.add("datatype:" + stringDatatypeUri); validators.add("datatype:" + stringDatatypeUri);
field.setValidators(validators); 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<List<String>>());
fields.put(field.getName(), field); fields.put(field.getName(), field);
} }
private void getActivityLabelDisplayField(EditConfigurationVTwo editConfiguration, private void getActivityLabelDisplayField(EditConfigurationVTwo editConfiguration,
VitroRequest vreq, Map<String, FieldVTwo> fields) { VitroRequest vreq, Map<String, FieldVTwo> fields) {
String fieldName = "activityLabelDisplay";
//get range data type uri and range language
String stringDatatypeUri = XSD.xstring.toString();
FieldVTwo field = new FieldVTwo(); FieldVTwo field = new FieldVTwo();
String fieldName = "activityLabelDisplay";
field.setName(fieldName); field.setName(fieldName);
//queryForExisting is not being used anywhere in Field
//subjectUri and subjectClassUri are not being used in Field
field.setOptionsType("UNDEFINED"); //get range data type uri and range language
//why isn't predicate uri set for data properties? String stringDatatypeUri = XSD.xstring.toString();
field.setPredicateUri(null);
field.setObjectClassUri(null);
field.setRangeDatatypeUri(stringDatatypeUri); field.setRangeDatatypeUri(stringDatatypeUri);
field.setLiteralOptions(new ArrayList<List<String>>());
fields.put(field.getName(), field); fields.put(field.getName(), field);
} }
//type of "right side" of role, i.e. type of activity from role roleIn activity //type of "right side" of role, i.e. type of activity from role roleIn activity
private void getRoleActivityTypeField( private void getRoleActivityTypeField(
EditConfigurationVTwo editConfiguration, VitroRequest vreq, EditConfigurationVTwo editConfiguration, VitroRequest vreq,
Map<String, FieldVTwo> fields) { Map<String, FieldVTwo> fields) throws Exception {
String fieldName = "roleActivityType"; String fieldName = "roleActivityType";
//get range data type uri and range language //get range data type uri and range language
@ -707,104 +688,66 @@ public abstract class AddRoleToPersonTwoStageGenerator extends BaseEditConfigura
} }
field.setValidators(validators); field.setValidators(validators);
//subjectUri and subjectClassUri are not being used in Field field.setOptions( getRoleActivityFieldOptions(vreq) );
//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.setOptionsType(getRoleActivityTypeOptionsType().toString());
HashMap<String, String> literalOptionsMap = getRoleActivityTypeLiteralOptions(); // field.setObjectClassUri(getRoleActivityTypeObjectClassUri(vreq));
List<List<String>> fieldLiteralOptions = new ArrayList<List<String>>(); //
Set<String> optionUris = literalOptionsMap.keySet(); // HashMap<String, String> literalOptionsMap = getRoleActivityTypeLiteralOptions();
for(String optionUri: optionUris) { // List<List<String>> fieldLiteralOptions = new ArrayList<List<String>>();
List<String> uriLabelArray = new ArrayList<String>(); // Set<String> optionUris = literalOptionsMap.keySet();
uriLabelArray.add(optionUri); // for(String optionUri: optionUris) {
uriLabelArray.add(literalOptionsMap.get(optionUri)); // List<String> uriLabelArray = new ArrayList<String>();
fieldLiteralOptions.add(uriLabelArray); // uriLabelArray.add(optionUri);
} // uriLabelArray.add(literalOptionsMap.get(optionUri));
field.setLiteralOptions(fieldLiteralOptions); // fieldLiteralOptions.add(uriLabelArray);
// }
// field.setLiteralOptions(fieldLiteralOptions);
fields.put(field.getName(), field); fields.put(field.getName(), field);
} }
//Assuming URI for activity for role?
//Assuming URI for activity for role?
private void getExistingRoleActivityField(EditConfigurationVTwo editConfiguration, private void getExistingRoleActivityField(EditConfigurationVTwo editConfiguration,
VitroRequest vreq, Map<String, FieldVTwo> fields) { VitroRequest vreq, Map<String, FieldVTwo> fields) {
String fieldName = "existingRoleActivity"; String fieldName = "existingRoleActivity";
//get range data type uri and range language
FieldVTwo field = new FieldVTwo(); FieldVTwo field = new FieldVTwo();
field.setName(fieldName); field.setName(fieldName);
List<String> validators = new ArrayList<String>();
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<List<String>>());
fields.put(field.getName(), field); fields.put(field.getName(), field);
} }
private void getRoleLabelField(EditConfigurationVTwo editConfiguration, private void getRoleLabelField(EditConfigurationVTwo editConfiguration,
VitroRequest vreq, Map<String, FieldVTwo> fields) { VitroRequest vreq, Map<String, FieldVTwo> fields) {
String fieldName = "roleLabel"; String fieldName = "roleLabel";
String stringDatatypeUri = XSD.xstring.toString();
FieldVTwo field = new FieldVTwo(); FieldVTwo field = new FieldVTwo();
field.setName(fieldName); field.setName(fieldName);
String stringDatatypeUri = XSD.xstring.toString();
field.setRangeDatatypeUri(stringDatatypeUri);
List<String> validators = new ArrayList<String>(); List<String> validators = new ArrayList<String>();
validators.add("datatype:" + stringDatatypeUri); validators.add("datatype:" + stringDatatypeUri);
if(isShowRoleLabelField()) { if(isShowRoleLabelField()) {
validators.add("nonempty"); validators.add("nonempty");
} }
field.setValidators(validators); 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<List<String>>());
fields.put(field.getName(), field); fields.put(field.getName(), field);
} }
private void getStartField(EditConfigurationVTwo editConfiguration, private void getStartField(EditConfigurationVTwo editConfiguration,
VitroRequest vreq, Map<String, FieldVTwo> fields) { VitroRequest vreq, Map<String, FieldVTwo> fields) {
String fieldName = "startField"; FieldVTwo field = new FieldVTwo();
FieldVTwo field = new FieldVTwo(); String fieldName = "startField";
field.setName(fieldName); field.setName(fieldName);
List<String> validators = new ArrayList<String>();
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<List<String>>());
//This logic was originally after edit configuration object created from json in original jsp
field.setEditElement( field.setEditElement(
new DateTimeWithPrecisionVTwo(field, new DateTimeWithPrecisionVTwo(field,
VitroVocabulary.Precision.YEAR.uri(), VitroVocabulary.Precision.YEAR.uri(),
@ -815,25 +758,11 @@ public abstract class AddRoleToPersonTwoStageGenerator extends BaseEditConfigura
private void getEndField(EditConfigurationVTwo editConfiguration, private void getEndField(EditConfigurationVTwo editConfiguration,
VitroRequest vreq, Map<String, FieldVTwo> fields) { VitroRequest vreq, Map<String, FieldVTwo> fields) {
String fieldName = "endField";
FieldVTwo field = new FieldVTwo(); FieldVTwo field = new FieldVTwo();
field.setName(fieldName);
String fieldName = "endField";
List<String> validators = new ArrayList<String>(); field.setName(fieldName);
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<List<String>>());
//Set edit element
field.setEditElement( field.setEditElement(
new DateTimeWithPrecisionVTwo(field, new DateTimeWithPrecisionVTwo(field,
VitroVocabulary.Precision.YEAR.uri(), VitroVocabulary.Precision.YEAR.uri(),

View file

@ -2,73 +2,60 @@
package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; 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.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 { public class AddServiceProviderRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator {
private static String template = "addServiceProviderRoleToPerson.ftl";
@Override @Override
String getTemplate() { String getTemplate() { return "addServiceProviderRoleToPerson.ftl"; }
return template;
}
@Override @Override
String getRoleType() { String getRoleType() {
return "http://vivoweb.org/ontology/core#ServiceProviderRole"; 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 @Override
HashMap<String, String> getRoleActivityTypeLiteralOptions() { FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception {
HashMap<String, String> literalOptions = new HashMap<String, String>(); return new ConstantFieldOptions(
literalOptions.put("", "Select one"); "","Select one",
literalOptions.put("http://purl.org/ontology/bibo/Conference", "Conference"); "http://purl.org/ontology/bibo/Conference","Conference",
literalOptions.put("http://vivoweb.org/ontology/core#Association", "Association"); "http://vivoweb.org/ontology/core#Association","Association",
literalOptions.put("http://vivoweb.org/ontology/core#Center", "Center"); "http://vivoweb.org/ontology/core#Center","Center",
literalOptions.put("http://vivoweb.org/ontology/core#ClinicalOrganization", "Clinical Organization"); "http://vivoweb.org/ontology/core#ClinicalOrganization","Clinical Organization",
literalOptions.put("http://vivoweb.org/ontology/core#College", "College"); "http://vivoweb.org/ontology/core#College","College",
literalOptions.put("http://vivoweb.org/ontology/core#Committee", "Committee"); "http://vivoweb.org/ontology/core#Committee","Committee",
literalOptions.put("http://vivoweb.org/ontology/core#Consortium", "Consortium"); "http://vivoweb.org/ontology/core#Consortium","Consortium",
literalOptions.put("http://vivoweb.org/ontology/core#Department", "Department"); "http://vivoweb.org/ontology/core#Department","Department",
literalOptions.put("http://vivoweb.org/ontology/core#Division", "Division"); "http://vivoweb.org/ontology/core#Division","Division",
literalOptions.put("http://purl.org/NET/c4dm/event.owl#Event", "Event"); "http://purl.org/NET/c4dm/event.owl#Event","Event",
literalOptions.put("http://vivoweb.org/ontology/core#ExtensionUnit", "Extension Unit"); "http://vivoweb.org/ontology/core#ExtensionUnit","Extension Unit",
literalOptions.put("http://vivoweb.org/ontology/core#Foundation", "Foundation"); "http://vivoweb.org/ontology/core#Foundation","Foundation",
literalOptions.put("http://vivoweb.org/ontology/core#FundingOrganization", "Funding Organization"); "http://vivoweb.org/ontology/core#FundingOrganization","Funding Organization",
literalOptions.put("http://vivoweb.org/ontology/core#GovernmentAgency", "Government Agency"); "http://vivoweb.org/ontology/core#GovernmentAgency","Government Agency",
literalOptions.put("http://vivoweb.org/ontology/core#Hospital", "Hospital"); "http://vivoweb.org/ontology/core#Hospital","Hospital",
literalOptions.put("http://vivoweb.org/ontology/core#Institute", "Institute"); "http://vivoweb.org/ontology/core#Institute","Institute",
literalOptions.put("http://vivoweb.org/ontology/core#Laboratory", "Laboratory"); "http://vivoweb.org/ontology/core#Laboratory","Laboratory",
literalOptions.put("http://vivoweb.org/ontology/core#Library", "Library"); "http://vivoweb.org/ontology/core#Library","Library",
literalOptions.put("http://vivoweb.org/ontology/core#Museum", "Museum"); "http://vivoweb.org/ontology/core#Museum","Museum",
literalOptions.put("http://xmlns.com/foaf/0.1/Organization", "Organization"); "http://xmlns.com/foaf/0.1/Organization","Organization",
literalOptions.put("http://vivoweb.org/ontology/core#PrivateCompany", "Private Company"); "http://vivoweb.org/ontology/core#PrivateCompany","Private Company",
literalOptions.put("http://vivoweb.org/ontology/core#Program", "Program"); "http://vivoweb.org/ontology/core#Program","Program",
literalOptions.put("http://vivoweb.org/ontology/core#Project", "Project"); "http://vivoweb.org/ontology/core#Project","Project",
literalOptions.put("http://vivoweb.org/ontology/core#Publisher", "Publisher"); "http://vivoweb.org/ontology/core#Publisher","Publisher",
literalOptions.put("http://vivoweb.org/ontology/core#ResearchOrganization", "Research Organization"); "http://vivoweb.org/ontology/core#ResearchOrganization","Research Organization",
literalOptions.put("http://vivoweb.org/ontology/core#Team", "Team"); "http://vivoweb.org/ontology/core#Team","Team",
literalOptions.put("http://vivoweb.org/ontology/core#School", "School"); "http://vivoweb.org/ontology/core#School","School",
literalOptions.put("http://vivoweb.org/ontology/core#Service","Service"); "http://vivoweb.org/ontology/core#Service","Service",
literalOptions.put("http://vivoweb.org/ontology/core#StudentOrganization", "Student Organization"); "http://vivoweb.org/ontology/core#StudentOrganization","Student Organization",
literalOptions.put("http://vivoweb.org/ontology/core#University", "University"); "http://vivoweb.org/ontology/core#University","University");
return literalOptions;
} }
@Override @Override
boolean isShowRoleLabelField(){return true;} boolean isShowRoleLabelField(){return true;}
} }

View file

@ -2,9 +2,9 @@
package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; 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.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 { public class AddTeacherRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator {
@ -20,26 +20,16 @@ public class AddTeacherRoleToPersonGenerator extends AddRoleToPersonTwoStageGene
return "http://vivoweb.org/ontology/core#TeacherRole"; 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 @Override
String getRoleActivityTypeObjectClassUri(VitroRequest vreq) { FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception {
return null; return new ConstantFieldOptions(
} "", "Select one",
"http://purl.org/ontology/bibo/Conference", "Conference",
"http://vivoweb.org/ontology/core#Course", "Course",
//Teacher role involves hard-coded options for the "right side" of the role or activity "http://purl.org/ontology/bibo/Workshop", "Workshop");
@Override
HashMap<String, String> getRoleActivityTypeLiteralOptions() {
HashMap<String, String> literalOptions = new HashMap<String, String>();
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;
} }
@Override @Override

View file

@ -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.configuration.validators.AntiXssValidation;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.processEdit.RdfLiteralHash; 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.EditN3GeneratorVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.SelectListGeneratorVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.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.web.MiscWebUtils;
import edu.cornell.mannlib.vitro.webapp.search.beans.ProhibitedFromSearch; import edu.cornell.mannlib.vitro.webapp.search.beans.ProhibitedFromSearch;
import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils; import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils;
@ -280,9 +280,7 @@ public class AddUserDefinedConceptGenerator extends VivoBaseGenerator implement
private void setConceptNodeField(EditConfigurationVTwo editConfiguration, private void setConceptNodeField(EditConfigurationVTwo editConfiguration,
VitroRequest vreq) { VitroRequest vreq) {
editConfiguration.addField(new FieldVTwo(). editConfiguration.addField(new FieldVTwo().
setName("conceptNode"). setName("conceptNode"));
setOptionsType("UNDEFINED"));
} }

View file

@ -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.dao.WebappDaoFactory;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; 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.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.preprocessors.FoafNameToRdfsLabelPreprocessor;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation;

View file

@ -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.DateTimeIntervalValidationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo; 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.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.configuration.validators.AntiXssValidation;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.OrganizationHasPositionValidator; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.OrganizationHasPositionValidator;
@ -170,7 +172,7 @@ public class OrganizationHasPositionHistoryGenerator extends VivoBaseGenerator
@Override @Override
public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq,
HttpSession session) { HttpSession session) throws Exception {
EditConfigurationVTwo conf = new EditConfigurationVTwo(); EditConfigurationVTwo conf = new EditConfigurationVTwo();
initBasics(conf, vreq); initBasics(conf, vreq);
@ -220,18 +222,18 @@ public class OrganizationHasPositionHistoryGenerator extends VivoBaseGenerator
conf.addField(new FieldVTwo() conf.addField(new FieldVTwo()
.setName("positionType") .setName("positionType")
.setOptionsType( .setValidators(list("nonempty"))
FieldVTwo.OptionsType.CHILD_VCLASSES_WITH_PARENT) .setOptions(
.setObjectClassUri(URI_POSITION_CLASS) new ChildVClassesWithParent(URI_POSITION_CLASS))
.setValidators(list("nonempty"))); );
conf.addField(new FieldVTwo().setName("positionTitle") conf.addField(new FieldVTwo().setName("positionTitle")
.setRangeDatatypeUri(XSD.xstring.toString()) .setRangeDatatypeUri(XSD.xstring.toString())
.setValidators(list("nonempty"))); .setValidators(list("nonempty")));
conf.addField(new FieldVTwo().setName("existingPerson") conf.addField(new FieldVTwo().setName("existingPerson")
.setOptionsType(FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS) .setOptions(
.setObjectClassUri(personClass)); new IndividualsViaVClassOptions(personClass)));
conf.addField(new FieldVTwo().setName("personLabel") conf.addField(new FieldVTwo().setName("personLabel")
.setRangeDatatypeUri(XSD.xstring.toString()) .setRangeDatatypeUri(XSD.xstring.toString())

View file

@ -2,28 +2,24 @@
package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import com.hp.hpl.jena.vocabulary.RDFS;
import com.hp.hpl.jena.vocabulary.XSD; import com.hp.hpl.jena.vocabulary.XSD;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; 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.DateTimeIntervalValidationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo; 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.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.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 public class PersonHasAdvisingRelationshipGenerator extends VivoBaseGenerator implements
EditConfigurationGenerator { EditConfigurationGenerator {
@ -50,7 +46,7 @@ public class PersonHasAdvisingRelationshipGenerator extends VivoBaseGenerator im
@Override @Override
public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq,
HttpSession session) { HttpSession session) throws Exception {
EditConfigurationVTwo conf = new EditConfigurationVTwo(); EditConfigurationVTwo conf = new EditConfigurationVTwo();
@ -108,9 +104,8 @@ public class PersonHasAdvisingRelationshipGenerator extends VivoBaseGenerator im
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("advisingRelType"). setName("advisingRelType").
setOptionsType(FieldVTwo.OptionsType.CHILD_VCLASSES_WITH_PARENT). setValidators( list("nonempty") ).
setObjectClassUri(advisingRelClass). setOptions( new ChildVClassesWithParent(advisingRelClass))
setValidators( list("nonempty") )
); );
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
@ -133,9 +128,9 @@ public class PersonHasAdvisingRelationshipGenerator extends VivoBaseGenerator im
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("existingSubjArea"). setName("existingSubjArea").
setOptionsType(FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS). setOptions(
setObjectClassUri( subjAreaClass ) new IndividualsViaVClassOptions(subjAreaClass))
); );
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("subjAreaLabel"). setName("subjAreaLabel").
@ -145,15 +140,15 @@ public class PersonHasAdvisingRelationshipGenerator extends VivoBaseGenerator im
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("degree"). setName("degree").
setOptionsType( FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS ). setOptions(
setObjectClassUri( degreeClass ) new IndividualsViaVClassOptions(degreeClass))
); );
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("existingAdvisee"). setName("existingAdvisee").
setOptionsType(FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS). setOptions(
setObjectClassUri( adviseeClass ) new IndividualsViaVClassOptions(adviseeClass))
); );
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("adviseeLabel"). setName("adviseeLabel").

View file

@ -2,27 +2,21 @@
package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import com.hp.hpl.jena.vocabulary.RDFS;
import com.hp.hpl.jena.vocabulary.XSD; import com.hp.hpl.jena.vocabulary.XSD;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; 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.DateTimeIntervalValidationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo; 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.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.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 public class PersonHasAwardOrHonorGenerator extends VivoBaseGenerator implements
EditConfigurationGenerator { EditConfigurationGenerator {
@ -50,7 +44,7 @@ public class PersonHasAwardOrHonorGenerator extends VivoBaseGenerator implements
@Override @Override
public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq,
HttpSession session) { HttpSession session) throws Exception {
EditConfigurationVTwo conf = new EditConfigurationVTwo(); EditConfigurationVTwo conf = new EditConfigurationVTwo();
@ -117,15 +111,15 @@ public class PersonHasAwardOrHonorGenerator extends VivoBaseGenerator implements
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("existingOrg"). setName("existingOrg").
setOptionsType(FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS). setOptions( new IndividualsViaVClassOptions(
setObjectClassUri( orgClass ) orgClass))
); );
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("existingAward"). setName("existingAward").
setOptionsType(FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS). setOptions( new IndividualsViaVClassOptions(
setObjectClassUri( awardClass ) awardClass))
); );
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("awardReceiptLabel"). setName("awardReceiptLabel").

View file

@ -8,7 +8,6 @@ import java.util.List;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.vocabulary.XSD; import com.hp.hpl.jena.vocabulary.XSD;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; 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.DateTimeIntervalValidationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo; 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.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.edit.n3editing.configuration.validators.AntiXssValidation;
import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode; import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode;
import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils; 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 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{ public class PersonHasEducationalTraining extends VivoBaseGenerator implements EditConfigurationGenerator{
//TODO: can we get rid of the session and get it form the vreq? //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(); EditConfigurationVTwo conf = new EditConfigurationVTwo();
@ -126,8 +127,8 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("degree"). setName("degree").
setOptionsType( FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS ). setOptions( new IndividualsViaVClassOptions(
setObjectClassUri( degreeClass )); degreeClass)));
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("majorField"). setName("majorField").
@ -136,9 +137,8 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("existingOrg"). setName("existingOrg").
setOptionsType(FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS). setOptions( new IndividualsViaVClassOptions(
setObjectClassUri( orgClass )); orgClass)));
//setLiteralOptions( [ "Select One" } )
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("orgLabel"). setName("orgLabel").
@ -151,17 +151,15 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("orgType"). setName("orgType").
setOptionsType(FieldVTwo.OptionsType.CHILD_VCLASSES). setValidators( list("nonempty")).
setObjectClassUri( orgClass ). setOptions( new ChildVClassesOptions(
setValidators( list("nonempty"))); orgClass)));
//setLiteralOptions( [ "Select one" ] )
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("trainingType"). setName("trainingType").
setOptionsType(FieldVTwo.OptionsType.CHILD_VCLASSES_WITH_PARENT). setValidators( list("nonempty") ).
setObjectClassUri(trainingClass). setOptions(
setValidators( list("nonempty") ) new ChildVClassesWithParent(trainingClass)));
);
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("dept"). setName("dept").

View file

@ -2,25 +2,19 @@
package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import com.hp.hpl.jena.vocabulary.RDFS;
import com.hp.hpl.jena.vocabulary.XSD; import com.hp.hpl.jena.vocabulary.XSD;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; 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.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.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 public class PersonHasMailingAddressGenerator extends VivoBaseGenerator implements
EditConfigurationGenerator { EditConfigurationGenerator {
@ -40,7 +34,7 @@ public class PersonHasMailingAddressGenerator extends VivoBaseGenerator implemen
@Override @Override
public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq,
HttpSession session) { HttpSession session) throws Exception {
EditConfigurationVTwo conf = new EditConfigurationVTwo(); EditConfigurationVTwo conf = new EditConfigurationVTwo();
@ -80,58 +74,50 @@ public class PersonHasMailingAddressGenerator extends VivoBaseGenerator implemen
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("country"). setName("country").
setOptionsType( FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS ). setValidators( list("nonempty") ).
setObjectClassUri( countryClass ) . setOptions(
setValidators( list("nonempty") ) new IndividualsViaVClassOptions(
); countryClass)));
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("addrLineOne") setName("addrLineOne")
.setRangeDatatypeUri( XSD.xstring.toString() ). .setRangeDatatypeUri( XSD.xstring.toString() ).
setValidators( list("nonempty") ) setValidators( list("nonempty") ));
);
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("addrLineTwo") setName("addrLineTwo")
.setRangeDatatypeUri( XSD.xstring.toString() ). .setRangeDatatypeUri( XSD.xstring.toString() ).
setValidators( list("datatype:" + XSD.xstring.toString()) ) setValidators( list("datatype:" + XSD.xstring.toString()) ));
);
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("addrLineThree") setName("addrLineThree")
.setRangeDatatypeUri( XSD.xstring.toString() ). .setRangeDatatypeUri( XSD.xstring.toString() ).
setValidators( list("datatype:" + XSD.xstring.toString()) ) setValidators( list("datatype:" + XSD.xstring.toString()) ));
);
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("postalCode") setName("postalCode")
.setRangeDatatypeUri( XSD.xstring.toString() ). .setRangeDatatypeUri( XSD.xstring.toString() ).
setValidators( list("nonempty") ) setValidators( list("nonempty") ));
);
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("city") setName("city")
.setRangeDatatypeUri( XSD.xstring.toString() ). .setRangeDatatypeUri( XSD.xstring.toString() ).
setValidators( list("nonempty") ) setValidators( list("nonempty") ) );
);
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("state") setName("state")
.setRangeDatatypeUri( XSD.xstring.toString() ). .setRangeDatatypeUri( XSD.xstring.toString() ).
setValidators( list("datatype:" + XSD.xstring.toString()) ) setValidators( list("datatype:" + XSD.xstring.toString()) ) );
);
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("addrLabel") setName("addrLabel")
.setRangeDatatypeUri( XSD.xstring.toString() ). .setRangeDatatypeUri( XSD.xstring.toString() ).
setValidators( list("datatype:" + XSD.xstring.toString()) ) setValidators( list("datatype:" + XSD.xstring.toString()) ) );
);
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("addressType"). setName("addressType").
setOptionsType(FieldVTwo.OptionsType.CHILD_VCLASSES). setOptions(new ChildVClassesOptions(
setObjectClassUri(addressClass) addressClass)) );
);
conf.addValidator(new AntiXssValidation()); conf.addValidator(new AntiXssValidation());

View file

@ -9,19 +9,21 @@ import java.util.List;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import com.hp.hpl.jena.vocabulary.RDFS;
import com.hp.hpl.jena.vocabulary.XSD; import com.hp.hpl.jena.vocabulary.XSD;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; 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.DateTimeIntervalValidationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo; 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.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.edit.n3editing.configuration.validators.AntiXssValidation;
import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode; import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode;
import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils; import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.AutocompleteRequiredInputValidator;
public class PersonHasPositionHistoryGenerator extends VivoBaseGenerator implements public class PersonHasPositionHistoryGenerator extends VivoBaseGenerator implements
EditConfigurationGenerator { EditConfigurationGenerator {
@ -57,7 +59,7 @@ public class PersonHasPositionHistoryGenerator extends VivoBaseGenerator impleme
@Override @Override
public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq,
HttpSession session) { HttpSession session) throws Exception {
EditConfigurationVTwo conf = new EditConfigurationVTwo(); EditConfigurationVTwo conf = new EditConfigurationVTwo();
@ -110,38 +112,33 @@ public class PersonHasPositionHistoryGenerator extends VivoBaseGenerator impleme
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("positionTitle") setName("positionTitle")
.setRangeDatatypeUri( XSD.xstring.toString() ). .setRangeDatatypeUri( XSD.xstring.toString() ).
setValidators( list("nonempty") ) setValidators( list("nonempty") ) );
);
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("positionType"). setName("positionType").
setOptionsType(FieldVTwo.OptionsType.CHILD_VCLASSES_WITH_PARENT). setValidators( list("nonempty") ).
setObjectClassUri(positionClass). setOptions(
setValidators( list("nonempty") ) new ChildVClassesWithParent(positionClass)));
);
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("existingOrg"). setName("existingOrg").
setOptionsType(FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS). setOptions(
setObjectClassUri(orgClass) new IndividualsViaVClassOptions(
); orgClass)));
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("orgLabel"). setName("orgLabel").
setRangeDatatypeUri(XSD.xstring.toString() ). setRangeDatatypeUri(XSD.xstring.toString() ).
setValidators( list("datatype:" + XSD.xstring.toString()) ) setValidators( list("datatype:" + XSD.xstring.toString()) ) );
);
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("orgLabelDisplay"). setName("orgLabelDisplay").
setRangeDatatypeUri(XSD.xstring.toString() ) setRangeDatatypeUri(XSD.xstring.toString() ) );
);
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("orgType"). setName("orgType").
setOptionsType(FieldVTwo.OptionsType.CHILD_VCLASSES). setOptions(
setObjectClassUri(orgClass) new ChildVClassesOptions(orgClass)));
);
conf.addField( new FieldVTwo().setName("startField"). conf.addField( new FieldVTwo().setName("startField").
setEditElement( setEditElement(

View file

@ -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.BaseEditSubmissionPreprocessorVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; 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.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.MultiValueEditSubmission;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo;
public class AddAssociatedConceptsPreprocessor extends public class AddAssociatedConceptsPreprocessor extends
BaseEditSubmissionPreprocessorVTwo { BaseEditSubmissionPreprocessorVTwo {

View file

@ -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.BaseEditSubmissionPreprocessorVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; 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.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; import org.vivoweb.webapp.util.ModelUtils;
public class RoleToActivityPredicatePreprocessor extends RoleToPredicatePreprocessor { public class RoleToActivityPredicatePreprocessor extends RoleToPredicatePreprocessor {

View file

@ -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.BaseEditSubmissionPreprocessorVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; 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.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; import org.vivoweb.webapp.util.ModelUtils;
public abstract class RoleToPredicatePreprocessor extends BaseEditSubmissionPreprocessorVTwo { public abstract class RoleToPredicatePreprocessor extends BaseEditSubmissionPreprocessorVTwo {