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

View file

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

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.EditConfigurationUtils;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation;
/**
@ -272,8 +272,8 @@ public class AddAuthorsToInformationResourceGenerator extends VivoBaseGenerator
private void setPersonUriField(EditConfigurationVTwo editConfiguration) {
editConfiguration.addField(new FieldVTwo().
setName("personUri").
setObjectClassUri(personClass)
setName("personUri")
//.setObjectClassUri(personClass)
);
}

View file

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

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.edit.n3editing.VTwo.EditConfigurationUtils;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation;
/**

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.processEdit.RdfLiteralHash;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditN3GeneratorVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.SelectListGeneratorVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesOptions;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldOptions;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.SelectListGeneratorVTwo;
import edu.cornell.mannlib.vitro.webapp.web.MiscWebUtils;
import edu.cornell.mannlib.vitro.webapp.search.beans.ProhibitedFromSearch;
import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils;
@ -75,6 +77,7 @@ import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.
*/
public class AddEditorRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator {
private static String TEMPLATE = "addEditorRoleToPerson.ftl";
private static String OPTION_CLASS_URI = "http://purl.org/ontology/bibo/Collection";
@Override
String getTemplate(){ return TEMPLATE; }
@ -83,26 +86,16 @@ public class AddEditorRoleToPersonGenerator extends AddRoleToPersonTwoStageGener
String getRoleType() {
return "http://vivoweb.org/ontology/core#EditorRole";
}
@Override
public RoleActivityOptionTypes getRoleActivityTypeOptionsType() {
return RoleActivityOptionTypes.CHILD_VCLASSES;
}
@Override
public String getRoleActivityTypeObjectClassUri(VitroRequest vreq) {
return "http://purl.org/ontology/bibo/Collection";
}
//Editor role involves hard-coded options for the "right side" of the role or activity
@Override
protected HashMap<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 */
@Override
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.XSD;
import edu.cornell.mannlib.vitro.webapp.beans.Individual;
import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.AutocompleteRequiredInputValidator;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeIntervalValidationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditN3GeneratorVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation;
import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils;
import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode;
import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.AutocompleteRequiredInputValidator;
/**
* Custom form for adding a grant to an person for the predicates hasCo-PrincipalInvestigatorRole
@ -470,17 +467,7 @@ public class AddGrantRoleToPersonGenerator implements EditConfigurationGenerator
//queryForExisting is not being used anywhere in Field
List<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(getGrantType());
field.setRangeDatatypeUri(null);
field.setLiteralOptions(new ArrayList<List<String>>());
field.setValidators(validators);
fields.put(field.getName(), field);
@ -499,17 +486,7 @@ public class AddGrantRoleToPersonGenerator implements EditConfigurationGenerator
//Not really interested in validators here
List<String> validators = new ArrayList<String>();
validators.add("datatype:" + stringDatatypeUri);
field.setValidators(validators);
//subjectUri and subjectClassUri are not being used in Field
field.setOptionsType("UNDEFINED");
//why isn't predicate uri set for data properties?
field.setPredicateUri(null);
field.setObjectClassUri(null);
field.setRangeDatatypeUri(null);
field.setLiteralOptions(new ArrayList<List<String>>());
field.setValidators(validators);
fields.put(field.getName(), field);
@ -517,23 +494,14 @@ public class AddGrantRoleToPersonGenerator implements EditConfigurationGenerator
private void getGrantLabelDisplayField(EditConfigurationVTwo editConfiguration,
VitroRequest vreq, Map<String, FieldVTwo> fields) {
String fieldName = "grantLabelDisplay";
//get range data type uri and range language
String stringDatatypeUri = XSD.xstring.toString();
FieldVTwo field = new FieldVTwo();
FieldVTwo field = new FieldVTwo();
String fieldName = "grantLabelDisplay";
field.setName(fieldName);
//queryForExisting is not being used anywhere in Field
//subjectUri and subjectClassUri are not being used in Field
field.setOptionsType("UNDEFINED");
//why isn't predicate uri set for data properties?
field.setPredicateUri(null);
field.setObjectClassUri(null);
field.setRangeDatatypeUri(null);
field.setLiteralOptions(new ArrayList<List<String>>());
String stringDatatypeUri = XSD.xstring.toString();
field.setRangeDatatypeUri(null);
fields.put(field.getName(), field);
@ -548,19 +516,6 @@ public class AddGrantRoleToPersonGenerator implements EditConfigurationGenerator
field.setName(fieldName);
//queryForExisting is not being used anywhere in Field
//Not really interested in validators here
List<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);
}
@ -569,21 +524,8 @@ public class AddGrantRoleToPersonGenerator implements EditConfigurationGenerator
String fieldName = "startField";
FieldVTwo field = new FieldVTwo();
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>>());
field.setName(fieldName);
//This logic was originally after edit configuration object created from json in original jsp
field.setEditElement(
new DateTimeWithPrecisionVTwo(field,
@ -603,17 +545,7 @@ public class AddGrantRoleToPersonGenerator implements EditConfigurationGenerator
List<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>>());
//Set edit element
field.setEditElement(
new DateTimeWithPrecisionVTwo(field,

View file

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

View file

@ -2,14 +2,14 @@
package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators;
import java.util.HashMap;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldOptions;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.IndividualsViaClassGroupOptions;
public class AddMemberRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator {
private static String template = "addMemberRoleToPerson.ftl";
private static String VCLASS_GROUP_URI = "http://vivoweb.org/ontology#vitroClassGrouporganizations";
@Override
String getTemplate() {
return template;
@ -20,26 +20,12 @@ public class AddMemberRoleToPersonGenerator extends AddRoleToPersonTwoStageGener
return "http://vivoweb.org/ontology/core#MemberRole";
}
@Override
RoleActivityOptionTypes getRoleActivityTypeOptionsType() {
return RoleActivityOptionTypes.VCLASSGROUP;
@Override
FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception {
return new IndividualsViaClassGroupOptions(VCLASS_GROUP_URI)
.setDefaultOptionLabel( "Select one");
}
@Override
public String getRoleActivityTypeObjectClassUri(VitroRequest vreq) {
//this is needed since the OptionTypes is VCLASSGROUP
return "http://vivoweb.org/ontology#vitroClassGrouporganizations";
}
@Override
HashMap<String, String> getRoleActivityTypeLiteralOptions() {
HashMap<String, String> literalOptions = new HashMap<String, String>();
literalOptions.put("", "Select type");
return literalOptions;
}
@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;
import java.util.HashMap;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ConstantFieldOptions;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldOptions;
public class AddOrganizerRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator {
@ -21,40 +21,28 @@ public class AddOrganizerRoleToPersonGenerator extends AddRoleToPersonTwoStageGe
return "http://vivoweb.org/ontology/core#OrganizerRole";
}
@Override
RoleActivityOptionTypes getRoleActivityTypeOptionsType() {
return RoleActivityOptionTypes.HARDCODED_LITERALS;
}
@Override
String getRoleActivityTypeObjectClassUri(VitroRequest vreq) {
return null;
}
//Organizer role involves hard-coded options for the "right side" of the role or activity
@Override
HashMap<String, String> getRoleActivityTypeLiteralOptions() {
HashMap<String, String> literalOptions = new HashMap<String, String>();
literalOptions.put("", "Select type");
literalOptions.put("http://purl.org/NET/c4dm/event.owl#Event", "Event");
literalOptions.put("http://vivoweb.org/ontology/core#Competition", "Competition");
literalOptions.put("http://purl.org/ontology/bibo/Conference", "Conference");
literalOptions.put("http://vivoweb.org/ontology/core#Course", "Course");
literalOptions.put("http://vivoweb.org/ontology/core#Exhibit", "Exhibit");
literalOptions.put("http://vivoweb.org/ontology/core#Meeting", "Meeting");
literalOptions.put("http://vivoweb.org/ontology/core#Presentation", "Presentation");
literalOptions.put("http://vivoweb.org/ontology/core#InvitedTalk", "Invited Talk");
literalOptions.put("http://purl.org/ontology/bibo/Workshop", "Workshop");
literalOptions.put("http://vivoweb.org/ontology/core#EventSeries", "Event Series");
literalOptions.put("http://vivoweb.org/ontology/core#ConferenceSeries", "Conference Series");
literalOptions.put("http://vivoweb.org/ontology/core#SeminarSeries", "Seminar Series");
literalOptions.put("http://vivoweb.org/ontology/core#WorkshopSeries", "Workshop Series");
return literalOptions;
@Override
FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception {
return new ConstantFieldOptions(
"","Select type",
"http://purl.org/NET/c4dm/event.owl#Event","Event",
"http://vivoweb.org/ontology/core#Competition","Competition",
"http://purl.org/ontology/bibo/Conference","Conference",
"http://vivoweb.org/ontology/core#Course","Course",
"http://vivoweb.org/ontology/core#Exhibit","Exhibit",
"http://vivoweb.org/ontology/core#Meeting","Meeting",
"http://vivoweb.org/ontology/core#Presentation","Presentation",
"http://vivoweb.org/ontology/core#InvitedTalk","Invited Talk",
"http://purl.org/ontology/bibo/Workshop","Workshop",
"http://vivoweb.org/ontology/core#EventSeries","Event Series",
"http://vivoweb.org/ontology/core#ConferenceSeries","Conference Series",
"http://vivoweb.org/ontology/core#SeminarSeries","Seminar Series",
"http://vivoweb.org/ontology/core#WorkshopSeries","Workshop Series");
}
@Override
boolean isShowRoleLabelField() {
return false;
}
}

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

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

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

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

View file

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

View file

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

View file

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

View file

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

View file

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

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

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

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