Adding a BaseEditConfigurationGengerator and changes to FieldVTwo.
This commit is contained in:
parent
a298065fe1
commit
91c34b4fc9
3 changed files with 247 additions and 107 deletions
|
@ -26,6 +26,7 @@ import org.json.JSONObject;
|
||||||
|
|
||||||
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo;
|
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.EditConfiguration;
|
||||||
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.ModelSelector;
|
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.ModelSelector;
|
||||||
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.StandardModelSelector;
|
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.StandardModelSelector;
|
||||||
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.StandardWDFSelector;
|
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.StandardWDFSelector;
|
||||||
|
@ -211,19 +212,19 @@ public class EditConfigurationVTwo {
|
||||||
//sparql for additional uris in scope
|
//sparql for additional uris in scope
|
||||||
editConfig.setSparqlForAdditionalUrisInScope(
|
editConfig.setSparqlForAdditionalUrisInScope(
|
||||||
this.copy(this.getSparqlForAdditionalUrisInScope(),
|
this.copy(this.getSparqlForAdditionalUrisInScope(),
|
||||||
(Map) new HashMap<String, String>()));
|
(Map<String, String>) new HashMap<String, String>()));
|
||||||
//sparql for additional literals in scope
|
//sparql for additional literals in scope
|
||||||
editConfig.setSparqlForAdditionalLiteralsInScope(
|
editConfig.setSparqlForAdditionalLiteralsInScope(
|
||||||
this.copy(this.getSparqlForAdditionalLiteralsInScope(),
|
this.copy(this.getSparqlForAdditionalLiteralsInScope(),
|
||||||
(Map) new HashMap<String, String>()));
|
(Map<String, String>) new HashMap<String, String>()));
|
||||||
//sparql for existing literals
|
//sparql for existing literals
|
||||||
editConfig.setSparqlForExistingLiterals(
|
editConfig.setSparqlForExistingLiterals(
|
||||||
this.copy(this.getSparqlForExistingLiterals(),
|
this.copy(this.getSparqlForExistingLiterals(),
|
||||||
(Map) new HashMap<String, String>()));
|
(Map<String, String>) new HashMap<String, String>()));
|
||||||
//sparql for existing uris
|
//sparql for existing uris
|
||||||
editConfig.setSparqlForExistingUris(
|
editConfig.setSparqlForExistingUris(
|
||||||
this.copy(this.getSparqlForExistingUris(),
|
this.copy(this.getSparqlForExistingUris(),
|
||||||
(Map) new HashMap<String, String>()));
|
(Map<String, String>) new HashMap<String, String>()));
|
||||||
//TODO: Ensure this is true copy of field and not just shallow copy with same references
|
//TODO: Ensure this is true copy of field and not just shallow copy with same references
|
||||||
Map<String, FieldVTwo> fields = this.getFields();
|
Map<String, FieldVTwo> fields = this.getFields();
|
||||||
editConfig.setFields(fields);
|
editConfig.setFields(fields);
|
||||||
|
@ -935,4 +936,59 @@ public class EditConfigurationVTwo {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return this.formSpecificData;
|
return this.formSpecificData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void addNewResource(String key, String namespace){
|
||||||
|
if( key == null || key.isEmpty() ) throw new IllegalArgumentException("key of new resource must not be null");
|
||||||
|
Map<String,String> map = getNewResources();
|
||||||
|
if( map == null ) {
|
||||||
|
map = new HashMap<String,String>();
|
||||||
|
map.put(key, namespace);
|
||||||
|
setNewResources(map);
|
||||||
|
}else{
|
||||||
|
map.put(key, namespace);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addSparqlForExistingLiteral(String key, String sparql){
|
||||||
|
if( key == null || key.isEmpty() ) throw new IllegalArgumentException("key must not be null");
|
||||||
|
if( sparql == null || sparql .isEmpty() ) throw new IllegalArgumentException("sparql must not be null");
|
||||||
|
|
||||||
|
Map<String,String> map = getSparqlForExistingLiterals();
|
||||||
|
if( map == null ) {
|
||||||
|
map = new HashMap<String,String>();
|
||||||
|
map.put(key, sparql);
|
||||||
|
setSparqlForExistingLiterals(map);
|
||||||
|
}else{
|
||||||
|
map.put(key, sparql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addSparqlForExistingUris(String key, String sparql){
|
||||||
|
if( key == null || key.isEmpty() ) throw new IllegalArgumentException("key must not be null");
|
||||||
|
if( sparql == null || sparql .isEmpty() ) throw new IllegalArgumentException("sparql must not be null");
|
||||||
|
|
||||||
|
Map<String,String> map = getSparqlForExistingUris();
|
||||||
|
if( map == null ) {
|
||||||
|
map = new HashMap<String,String>();
|
||||||
|
map.put(key, sparql);
|
||||||
|
setSparqlForExistingUris(map);
|
||||||
|
}else{
|
||||||
|
map.put(key, sparql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addField( FieldVTwo field){
|
||||||
|
if( field == null ) throw new IllegalArgumentException("field must not be null");
|
||||||
|
if( field.getName() == null || field.getName().isEmpty() ) throw new IllegalArgumentException("field must not have null or empty name");
|
||||||
|
|
||||||
|
Map<String,FieldVTwo> map = getFields();
|
||||||
|
if( map == null )
|
||||||
|
setFields( new HashMap<String, FieldVTwo>());
|
||||||
|
|
||||||
|
if( map.containsKey(field.getName() ))
|
||||||
|
throw new IllegalArgumentException("adding filed that is already in the fieild list");
|
||||||
|
|
||||||
|
map.put( field.getName(), field);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -125,53 +125,9 @@ public class FieldVTwo {
|
||||||
private static String[] parameterNames = {"editElement","newResource","validators","optionsType","predicateUri","objectClassUri","rangeDatatypeUri","rangeLang","literalOptions","assertions"};
|
private static String[] parameterNames = {"editElement","newResource","validators","optionsType","predicateUri","objectClassUri","rangeDatatypeUri","rangeLang","literalOptions","assertions"};
|
||||||
static{ Arrays.sort(parameterNames); }
|
static{ Arrays.sort(parameterNames); }
|
||||||
|
|
||||||
public void setEditElement(EditElementVTwo editElement){
|
public FieldVTwo setEditElement(EditElementVTwo editElement){
|
||||||
this.editElement = editElement;
|
this.editElement = editElement;
|
||||||
}
|
return this;
|
||||||
|
|
||||||
/**
|
|
||||||
* A field may specify a class for additional features.
|
|
||||||
*/
|
|
||||||
private void setEditElement(JSONObject fieldConfigObj, String fieldName) {
|
|
||||||
String className = fieldConfigObj.optString("editElement");
|
|
||||||
if( className == null || className.isEmpty() )
|
|
||||||
return;
|
|
||||||
setOptionsType(FieldVTwo.OptionsType.UNDEFINED);
|
|
||||||
Class clz = null;
|
|
||||||
try {
|
|
||||||
clz = Class.forName(className);
|
|
||||||
} catch (ClassNotFoundException e) {
|
|
||||||
log.error("Java Class " + className + " not found for field " + name);
|
|
||||||
return;
|
|
||||||
} catch (SecurityException e) {
|
|
||||||
log.error("Problem with Java Class " + className + " for field " + name, e);
|
|
||||||
return;
|
|
||||||
} catch (IllegalArgumentException e) {
|
|
||||||
log.error("Problem with Java Class " +className + " for field " + name, e);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Class[] types = new Class[]{ FieldVTwo.class };
|
|
||||||
Constructor cons;
|
|
||||||
try {
|
|
||||||
cons = clz.getConstructor(types);
|
|
||||||
} catch (SecurityException e) {
|
|
||||||
log.error("Problem with Java Class " + className + " for field " + name, e);
|
|
||||||
return;
|
|
||||||
} catch (NoSuchMethodException e) {
|
|
||||||
log.error("Java Class " + className + " must have a constructor that takes a Field.", e);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
Object[] args = new Object[] { this };
|
|
||||||
Object obj;
|
|
||||||
try {
|
|
||||||
obj = cons.newInstance(args);
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.error("Problem with Java Class " + className + " for field " + name, e);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
editElement = (EditElementVTwo)obj;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ****************** Getters and Setters ******************************* */
|
/* ****************** Getters and Setters ******************************* */
|
||||||
|
@ -184,40 +140,50 @@ public class FieldVTwo {
|
||||||
return retractions;
|
return retractions;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setRetractions(List<String> retractions) {
|
public FieldVTwo setRetractions(List<String> retractions) {
|
||||||
this.retractions = retractions;
|
this.retractions = retractions;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getAssertions() {
|
public List<String> getAssertions() {
|
||||||
return assertions;
|
return assertions;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAssertions(List<String> assertions) {
|
public FieldVTwo setAssertions(List<String> assertions) {
|
||||||
this.assertions = assertions;
|
this.assertions = assertions;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public FieldVTwo setAssertions( String ... assertions ){
|
||||||
|
return setAssertions( Arrays.asList( assertions ));
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isNewResource() {
|
public boolean isNewResource() {
|
||||||
return newResource;
|
return newResource;
|
||||||
}
|
}
|
||||||
public void setNewResource(boolean b) {
|
public FieldVTwo setNewResource(boolean b) {
|
||||||
newResource = b;
|
newResource = b;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List <String> getValidators() {
|
public List <String> getValidators() {
|
||||||
return validators;
|
return validators;
|
||||||
}
|
}
|
||||||
public void setValidators(List <String> v) {
|
public FieldVTwo setValidators(List <String> v) {
|
||||||
validators = v;
|
validators = v;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public OptionsType getOptionsType() {
|
public OptionsType getOptionsType() {
|
||||||
return optionsType;
|
return optionsType;
|
||||||
}
|
}
|
||||||
public void setOptionsType(OptionsType ot) {
|
public FieldVTwo setOptionsType(OptionsType ot) {
|
||||||
optionsType = ot;
|
optionsType = ot;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
public void setOptionsType(String s) {
|
public FieldVTwo setOptionsType(String s) {
|
||||||
setOptionsType( getOptionForString(s));
|
setOptionsType( getOptionForString(s));
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static OptionsType getOptionForString(String s){
|
public static OptionsType getOptionForString(String s){
|
||||||
|
@ -255,93 +221,57 @@ public class FieldVTwo {
|
||||||
public String getPredicateUri() {
|
public String getPredicateUri() {
|
||||||
return predicateUri;
|
return predicateUri;
|
||||||
}
|
}
|
||||||
public void setPredicateUri(String s) {
|
public FieldVTwo setPredicateUri(String s) {
|
||||||
predicateUri = s;
|
predicateUri = s;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getObjectClassUri() {
|
public String getObjectClassUri() {
|
||||||
return objectClassUri;
|
return objectClassUri;
|
||||||
}
|
}
|
||||||
public void setObjectClassUri(String s) {
|
public FieldVTwo setObjectClassUri(String s) {
|
||||||
objectClassUri = s;
|
objectClassUri = s;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getRangeDatatypeUri() {
|
public String getRangeDatatypeUri() {
|
||||||
return rangeDatatypeUri;
|
return rangeDatatypeUri;
|
||||||
}
|
}
|
||||||
public void setRangeDatatypeUri(String r) {
|
public FieldVTwo setRangeDatatypeUri(String r) {
|
||||||
if( rangeLang != null && rangeLang.trim().length() > 0 )
|
if( rangeLang != null && rangeLang.trim().length() > 0 )
|
||||||
throw new IllegalArgumentException("A Field object may not have both rangeDatatypeUri and rangeLanguage set");
|
throw new IllegalArgumentException("A Field object may not have both rangeDatatypeUri and rangeLanguage set");
|
||||||
|
|
||||||
rangeDatatypeUri = r;
|
rangeDatatypeUri = r;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List <List<String>> getLiteralOptions() {
|
public List <List<String>> getLiteralOptions() {
|
||||||
return literalOptions;
|
return literalOptions;
|
||||||
}
|
}
|
||||||
public void setLiteralOptions(List<List<String>> literalOptions) {
|
public FieldVTwo setLiteralOptions(List<List<String>> literalOptions) {
|
||||||
this.literalOptions = literalOptions;
|
this.literalOptions = literalOptions;
|
||||||
}
|
return this;
|
||||||
|
|
||||||
/**
|
|
||||||
* Expects a JSONArray of JSONArrays like:
|
|
||||||
* [ ["http://example.org/bob", "bob"] , ["http://example.org/kate", "kate"] ]
|
|
||||||
*/
|
|
||||||
private void setLiteralOptions(JSONArray array) {
|
|
||||||
if( array == null )
|
|
||||||
literalOptions = Collections.EMPTY_LIST;
|
|
||||||
|
|
||||||
literalOptions = Collections.EMPTY_LIST;
|
|
||||||
List<List<String>> out = new ArrayList<List<String>>( array.length() );
|
|
||||||
|
|
||||||
for(int i =0; i<array.length() ; i++){
|
|
||||||
JSONArray pair = array.optJSONArray(i);
|
|
||||||
if( pair == null ){
|
|
||||||
String value = array.optString(i);
|
|
||||||
if( value != null ){
|
|
||||||
List<String>option = new ArrayList<String>(2);
|
|
||||||
option.add(value);
|
|
||||||
option.add(value);
|
|
||||||
out.add( option );
|
|
||||||
} else { log.warn("could not get option list for " + this.name ); }
|
|
||||||
}else{
|
|
||||||
if( pair.length() == 0 ){
|
|
||||||
log.warn("option list too short for " + this.name + ": " + array.opt(i));
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if( pair.length() > 2 )
|
|
||||||
log.warn("option list too long for " + this.name + ": " + array.opt(i) + " using first two items");
|
|
||||||
|
|
||||||
List<String>option = new ArrayList<String>(2);
|
|
||||||
option.add(pair.optString(0));
|
|
||||||
if( pair.length() > 1 )
|
|
||||||
option.add(pair.optString(1));
|
|
||||||
else
|
|
||||||
option.add(pair.optString(0));
|
|
||||||
out.add( option );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
literalOptions = out;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getRangeLang() {
|
public String getRangeLang() {
|
||||||
return rangeLang;
|
return rangeLang;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setRangeLang(String rangeLang) {
|
public FieldVTwo setRangeLang(String rangeLang) {
|
||||||
if( rangeDatatypeUri != null && rangeDatatypeUri.trim().length() > 0)
|
if( rangeDatatypeUri != null && rangeDatatypeUri.trim().length() > 0)
|
||||||
throw new IllegalArgumentException("A Field object may not have both rangeDatatypeUri and rangeLanguage set");
|
throw new IllegalArgumentException("A Field object may not have both rangeDatatypeUri and rangeLanguage set");
|
||||||
|
|
||||||
this.rangeLang = rangeLang;
|
this.rangeLang = rangeLang;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public EditElementVTwo getEditElement(){
|
public EditElementVTwo getEditElement(){
|
||||||
return editElement;
|
return editElement;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* this is mainly for unit testing */
|
public FieldVTwo setName(String name){
|
||||||
public void setName(String name){
|
|
||||||
this.name = name;
|
this.name = name;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,154 @@
|
||||||
|
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||||
|
package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpSession;
|
||||||
|
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
||||||
|
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.configuration.EditConfiguration;
|
||||||
|
|
||||||
|
public abstract class BaseEditConfigurationGenerator implements EditConfigurationGenerator {
|
||||||
|
|
||||||
|
// @Override
|
||||||
|
// public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq,
|
||||||
|
// HttpSession session) {
|
||||||
|
// EditConfigurationVTwo editConfiguration = new EditConfigurationVTwo();
|
||||||
|
// //Set n3 generator
|
||||||
|
// editConfiguration.setN3Generator(new EditN3GeneratorVTwo(editConfiguration));
|
||||||
|
//
|
||||||
|
// //process subject, predicate, object parameters
|
||||||
|
// this.initPropertyParameters(vreq, session, editConfiguration);
|
||||||
|
//
|
||||||
|
// //Assumes this is a simple case of subject predicate var
|
||||||
|
// editConfiguration.setN3Required(generateN3Required(vreq));
|
||||||
|
//
|
||||||
|
// //n3 optional
|
||||||
|
// editConfiguration.setN3Optional(generateN3Optional());
|
||||||
|
//
|
||||||
|
// //Todo: what do new resources depend on here?
|
||||||
|
// //In original form, these variables start off empty
|
||||||
|
// editConfiguration.setNewResources(generateNewResources(vreq));
|
||||||
|
// //In scope
|
||||||
|
// setUrisAndLiteralsInScope(editConfiguration, vreq);
|
||||||
|
//
|
||||||
|
// //on Form
|
||||||
|
// setUrisAndLiteralsOnForm(editConfiguration, vreq);
|
||||||
|
//
|
||||||
|
// editConfiguration.setFilesOnForm(new ArrayList<String>());
|
||||||
|
//
|
||||||
|
// //Sparql queries
|
||||||
|
// setSparqlQueries(editConfiguration, vreq);
|
||||||
|
//
|
||||||
|
// //set fields
|
||||||
|
// setFields(editConfiguration, vreq, EditConfigurationUtils.getPredicateUri(vreq));
|
||||||
|
//
|
||||||
|
// prepareForUpdate(vreq, session, editConfiguration);
|
||||||
|
//
|
||||||
|
// //Form title and submit label now moved to edit configuration template
|
||||||
|
// //TODO: check if edit configuration template correct place to set those or whether
|
||||||
|
// //additional methods here should be used and reference instead, e.g. edit configuration template could call
|
||||||
|
// //default obj property form.populateTemplate or some such method
|
||||||
|
// //Select from existing also set within template itself
|
||||||
|
// setTemplate(editConfiguration, vreq);
|
||||||
|
//
|
||||||
|
// //Set edit key
|
||||||
|
// setEditKey(editConfiguration, vreq);
|
||||||
|
//
|
||||||
|
// //Add validator
|
||||||
|
// setValidators(editConfiguration, vreq);
|
||||||
|
//
|
||||||
|
// //Add preprocessors
|
||||||
|
// addPreprocessors(editConfiguration, vreq.getWebappDaoFactory());
|
||||||
|
//
|
||||||
|
// //Adding additional data, specifically edit mode
|
||||||
|
// addFormSpecificData(editConfiguration, vreq);
|
||||||
|
//
|
||||||
|
// return editConfiguration;
|
||||||
|
//
|
||||||
|
//}
|
||||||
|
//
|
||||||
|
// abstract void setValidators(EditConfigurationVTwo editConfiguration, VitroRequest vreq) ;
|
||||||
|
//
|
||||||
|
// abstract void addFormSpecificData(EditConfigurationVTwo editConfiguration,
|
||||||
|
// VitroRequest vreq) ;
|
||||||
|
//
|
||||||
|
// abstract void addPreprocessors(EditConfigurationVTwo editConfiguration,
|
||||||
|
// WebappDaoFactory webappDaoFactory) ;
|
||||||
|
//
|
||||||
|
// abstract void setEditKey(EditConfigurationVTwo editConfiguration,
|
||||||
|
// VitroRequest vreq) ;
|
||||||
|
//
|
||||||
|
// abstract void setTemplate(EditConfigurationVTwo editConfiguration,
|
||||||
|
// VitroRequest vreq) ;
|
||||||
|
//
|
||||||
|
// abstract void prepareForUpdate(VitroRequest vreq, HttpSession session,
|
||||||
|
// EditConfigurationVTwo editConfiguration) ;
|
||||||
|
//
|
||||||
|
// abstract void setFields(EditConfigurationVTwo editConfiguration,
|
||||||
|
// VitroRequest vreq, String predicateUri) ;
|
||||||
|
//
|
||||||
|
// abstract void setSparqlQueries(EditConfigurationVTwo editConfiguration,
|
||||||
|
// VitroRequest vreq) ;
|
||||||
|
//
|
||||||
|
// abstract void setUrisAndLiteralsOnForm(
|
||||||
|
// EditConfigurationVTwo editConfiguration, VitroRequest vreq) ;
|
||||||
|
//
|
||||||
|
// abstract void setUrisAndLiteralsInScope(
|
||||||
|
// EditConfigurationVTwo editConfiguration, VitroRequest vreq) ;
|
||||||
|
//
|
||||||
|
// abstract Map<String, String> generateNewResources(VitroRequest vreq) ;
|
||||||
|
//
|
||||||
|
// abstract List<String> generateN3Optional() ;
|
||||||
|
//
|
||||||
|
// abstract List<String> generateN3Required(VitroRequest vreq) ;
|
||||||
|
|
||||||
|
/* constants */
|
||||||
|
public static final String DEFAULT_NS_FOR_NEW_RESOURCE= "";
|
||||||
|
|
||||||
|
/* Utility Methods */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets up the things that should be done for just about every form.
|
||||||
|
*/
|
||||||
|
void initBasics(EditConfigurationVTwo editConf, VitroRequest vreq){
|
||||||
|
editConf.setN3Generator( new EditN3GeneratorVTwo(editConf) );
|
||||||
|
|
||||||
|
editConf.setEditKey( (String) vreq.getAttribute("editKey"));
|
||||||
|
|
||||||
|
String formUrl = EditConfigurationUtils.getFormUrl(vreq);
|
||||||
|
editConf.setFormUrl(formUrl);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method that setups up a form for basic object or data property editing.
|
||||||
|
*/
|
||||||
|
void initPropertyParameters(VitroRequest vreq, HttpSession session, EditConfigurationVTwo editConfiguration) {
|
||||||
|
//set up the subject URI based on request
|
||||||
|
String subjectUri = EditConfigurationUtils.getSubjectUri(vreq);
|
||||||
|
editConfiguration.setSubjectUri(subjectUri);
|
||||||
|
|
||||||
|
//set up predicate URI based on request
|
||||||
|
String predicateUri = EditConfigurationUtils.getPredicateUri(vreq);
|
||||||
|
editConfiguration.setPredicateUri(predicateUri);
|
||||||
|
|
||||||
|
editConfiguration.setUrlPatternToReturnTo("/individual");
|
||||||
|
editConfiguration.setEntityToReturnTo(subjectUri);
|
||||||
|
}
|
||||||
|
|
||||||
|
void initObjectPropForm(EditConfigurationVTwo editConfiguration,VitroRequest vreq) {
|
||||||
|
editConfiguration.setObject( EditConfigurationUtils.getObjectUri(vreq) );
|
||||||
|
|
||||||
|
//this needs to be set for the editing to be triggered properly, otherwise the 'prepare' method
|
||||||
|
//pretends this is a data property editing statement and throws an error
|
||||||
|
//TODO: Check if null in case no object uri exists but this is still an object property
|
||||||
|
if(editConfiguration.getObject() != null ) {
|
||||||
|
editConfiguration.setObjectResource(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue