[VIVO-1245] Cleanup of DefaultAddMissingIndividualFormGenerator
This commit is contained in:
parent
38836c15c9
commit
b285e0d62b
4 changed files with 49 additions and 21 deletions
|
@ -30,7 +30,7 @@ public class JspToGeneratorMapping {
|
|||
map.put("dateTimeValueForm.jsp",
|
||||
edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.DateTimeValueFormGenerator.class.getName());
|
||||
map.put("defaultAddMissingIndividualForm.jsp",
|
||||
edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.DefaultAddMissingIndividualFormGenerator.class.getName());
|
||||
edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.DefaultAddMissingIndividualFormGenerator.getImplementationName());
|
||||
map.put("defaultDatapropForm.jsp",
|
||||
edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.DefaultDataPropertyFormGenerator.class.getName());
|
||||
map.put("defaultObjPropForm.jsp",
|
||||
|
|
|
@ -10,6 +10,7 @@ import java.util.Map;
|
|||
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.web.templatemodels.searchresult.IndividualSearchResult;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
@ -34,8 +35,7 @@ import edu.cornell.mannlib.vitro.webapp.modelaccess.ModelAccess;
|
|||
*
|
||||
*/
|
||||
public class DefaultAddMissingIndividualFormGenerator implements EditConfigurationGenerator {
|
||||
|
||||
private Log log = LogFactory.getLog(DefaultAddMissingIndividualFormGenerator.class);
|
||||
private static final Log log = LogFactory.getLog(DefaultAddMissingIndividualFormGenerator.class);
|
||||
private boolean isObjectPropForm = false;
|
||||
private String subjectUri = null;
|
||||
private String predicateUri = null;
|
||||
|
@ -43,16 +43,35 @@ public class DefaultAddMissingIndividualFormGenerator implements EditConfigurati
|
|||
|
||||
private String template = "defaultAddMissingIndividualForm.ftl";
|
||||
private static String createCommand = "create";
|
||||
private static String objectVarName = "newIndividual";
|
||||
protected static String objectVarName = "newIndividual";
|
||||
private static HashMap<String,String> defaultsForXSDtypes ;
|
||||
static {
|
||||
|
||||
private static Class defaultGeneratorClass = DefaultAddMissingIndividualFormGenerator.class;
|
||||
|
||||
static {
|
||||
defaultsForXSDtypes = new HashMap<String,String>();
|
||||
//defaultsForXSDtypes.put("http://www.w3.org/2001/XMLSchema#dateTime","2001-01-01T12:00:00");
|
||||
defaultsForXSDtypes.put("http://www.w3.org/2001/XMLSchema#dateTime","#Unparseable datetime defaults to now");
|
||||
}
|
||||
}
|
||||
|
||||
protected DefaultAddMissingIndividualFormGenerator() { }
|
||||
|
||||
public static final DefaultAddMissingIndividualFormGenerator create() {
|
||||
try {
|
||||
return (DefaultAddMissingIndividualFormGenerator) defaultGeneratorClass.newInstance();
|
||||
} catch (InstantiationException e) {
|
||||
throw new IllegalStateException("Unable to create DefaultAddMissingIndividualFormGenerator", e);
|
||||
} catch (IllegalAccessException e) {
|
||||
throw new IllegalStateException("Unable to create DefaultAddMissingIndividualFormGenerator", e);
|
||||
}
|
||||
}
|
||||
|
||||
public static final String getImplementationName() {
|
||||
return defaultGeneratorClass.getName();
|
||||
}
|
||||
|
||||
//Method which checks whether this particular generator should be employed
|
||||
public static boolean isCreateNewIndividual(VitroRequest vreq, HttpSession session) {
|
||||
public static final boolean isCreateNewIndividual(VitroRequest vreq, HttpSession session) {
|
||||
String command = vreq.getParameter("cmd");
|
||||
String predicateUri = EditConfigurationUtils.getPredicateUri(vreq);
|
||||
//This method also looks at domain and range uris and so is different than just getting the
|
||||
|
@ -97,7 +116,10 @@ public class DefaultAddMissingIndividualFormGenerator implements EditConfigurati
|
|||
|
||||
//set fields
|
||||
setFields(editConfiguration, vreq, EditConfigurationUtils.getPredicateUri(vreq));
|
||||
|
||||
|
||||
//form specific data
|
||||
addFormSpecificData(editConfiguration, vreq);
|
||||
|
||||
//add preprocesoors
|
||||
addPreprocessors(vreq, editConfiguration);
|
||||
|
||||
|
@ -116,7 +138,7 @@ public class DefaultAddMissingIndividualFormGenerator implements EditConfigurati
|
|||
return editConfiguration;
|
||||
}
|
||||
|
||||
private Map<String, String> generateNewResources(VitroRequest vreq) {
|
||||
protected Map<String, String> generateNewResources(VitroRequest vreq) {
|
||||
HashMap<String, String> newResources = new HashMap<String, String>();
|
||||
//Null triggers default namespace
|
||||
newResources.put(objectVarName, null);
|
||||
|
@ -210,14 +232,14 @@ public class DefaultAddMissingIndividualFormGenerator implements EditConfigurati
|
|||
return n3ForEdit;
|
||||
}
|
||||
|
||||
private List<String> getN3Prefixes() {
|
||||
protected List<String> getN3Prefixes() {
|
||||
List<String> prefixStrings = new ArrayList<String>();
|
||||
prefixStrings.add("@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .");
|
||||
prefixStrings.add("@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .");
|
||||
return prefixStrings;
|
||||
}
|
||||
|
||||
private String getN3PrefixesAsString() {
|
||||
protected String getN3PrefixesAsString() {
|
||||
String prefixes = StringUtils.join(getN3Prefixes(), "\n");
|
||||
return prefixes;
|
||||
}
|
||||
|
@ -226,7 +248,7 @@ public class DefaultAddMissingIndividualFormGenerator implements EditConfigurati
|
|||
return "?" + objectVarName + " rdfs:label ?name .";
|
||||
}
|
||||
|
||||
private List<String> generateN3Optional(VitroRequest vreq) {
|
||||
protected List<String> generateN3Optional(VitroRequest vreq) {
|
||||
//flag uri and asserted types need to be added here
|
||||
List<String> n3Optional = new ArrayList<String>();
|
||||
n3Optional.add("?" + objectVarName + " ?inverseProp ?subject .");
|
||||
|
@ -268,7 +290,7 @@ public class DefaultAddMissingIndividualFormGenerator implements EditConfigurati
|
|||
//n3 should look as follows
|
||||
//?subject ?predicate ?objectVar
|
||||
|
||||
private void setUrisAndLiteralsOnForm(EditConfigurationVTwo editConfiguration, VitroRequest vreq) {
|
||||
protected void setUrisAndLiteralsOnForm(EditConfigurationVTwo editConfiguration, VitroRequest vreq) {
|
||||
List<String> urisOnForm = new ArrayList<String>();
|
||||
List<String> literalsOnForm = new ArrayList<String>();
|
||||
literalsOnForm.add("name");
|
||||
|
@ -308,7 +330,7 @@ public class DefaultAddMissingIndividualFormGenerator implements EditConfigurati
|
|||
}
|
||||
|
||||
|
||||
private void setFields(EditConfigurationVTwo editConfiguration, VitroRequest vreq, String predicateUri) {
|
||||
protected void setFields(EditConfigurationVTwo editConfiguration, VitroRequest vreq, String predicateUri) {
|
||||
Map<String, FieldVTwo> fields = new HashMap<String, FieldVTwo>();
|
||||
if(EditConfigurationUtils.isObjectProperty(EditConfigurationUtils.getPredicateUri(vreq), vreq)) {
|
||||
|
||||
|
@ -391,7 +413,7 @@ public class DefaultAddMissingIndividualFormGenerator implements EditConfigurati
|
|||
return (typeOfNew != null && !typeOfNew.isEmpty());
|
||||
}
|
||||
|
||||
private String getTypeOfNew(VitroRequest vreq) {
|
||||
protected String getTypeOfNew(VitroRequest vreq) {
|
||||
return vreq.getParameter("typeOfNew");
|
||||
}
|
||||
// The default object proepty form offers the option to create a new item
|
||||
|
@ -456,7 +478,13 @@ public class DefaultAddMissingIndividualFormGenerator implements EditConfigurati
|
|||
|
||||
}
|
||||
|
||||
|
||||
public void addFormSpecificData(EditConfigurationVTwo editConfiguration, VitroRequest vreq) {
|
||||
}
|
||||
|
||||
|
||||
protected static void registerGeneratorClass(Class clazz) {
|
||||
if (DefaultAddMissingIndividualFormGenerator.class.isAssignableFrom(clazz)) {
|
||||
defaultGeneratorClass = clazz;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -98,7 +98,7 @@ public class DefaultObjectPropertyFormGenerator implements EditConfigurationGene
|
|||
|
||||
//Check if create new and return specific edit configuration from that generator.
|
||||
if(DefaultAddMissingIndividualFormGenerator.isCreateNewIndividual(vreq, session)) {
|
||||
DefaultAddMissingIndividualFormGenerator generator = new DefaultAddMissingIndividualFormGenerator();
|
||||
DefaultAddMissingIndividualFormGenerator generator = DefaultAddMissingIndividualFormGenerator.create();
|
||||
return generator.getEditConfiguration(vreq, session);
|
||||
}
|
||||
|
||||
|
|
|
@ -47,13 +47,13 @@ public class IndividualSearchResult extends BaseTemplateModel {
|
|||
Constructor ctor = resultClass.getDeclaredConstructor(Individual.class, VitroRequest.class);
|
||||
models.add((IndividualSearchResult)ctor.newInstance(individual, vreq));
|
||||
} catch (NoSuchMethodException e) {
|
||||
e.printStackTrace();
|
||||
log.error("Unable to create IndividualSearchResult", e);
|
||||
} catch (InstantiationException e) {
|
||||
e.printStackTrace();
|
||||
log.error("Unable to create IndividualSearchResult", e);
|
||||
} catch (IllegalAccessException e) {
|
||||
e.printStackTrace();
|
||||
log.error("Unable to create IndividualSearchResult", e);
|
||||
} catch (InvocationTargetException e) {
|
||||
e.printStackTrace();
|
||||
log.error("Unable to create IndividualSearchResult", e);
|
||||
}
|
||||
}
|
||||
return models;
|
||||
|
|
Loading…
Add table
Reference in a new issue