NIHVIVO-193. Implemented position type dropdown for person has position history form.
This commit is contained in:
parent
556836a905
commit
1e7f260253
2 changed files with 34 additions and 0 deletions
|
@ -23,6 +23,7 @@ public class Field {
|
||||||
INDIVIDUALS_VIA_VCLASS,
|
INDIVIDUALS_VIA_VCLASS,
|
||||||
MONIKERS_VIA_VCLASS,
|
MONIKERS_VIA_VCLASS,
|
||||||
CHILD_VCLASSES,
|
CHILD_VCLASSES,
|
||||||
|
CHILD_VCLASSES_WITH_PARENT,
|
||||||
FILE,
|
FILE,
|
||||||
UNDEFINED,
|
UNDEFINED,
|
||||||
DATETIME,
|
DATETIME,
|
||||||
|
@ -214,6 +215,8 @@ public class Field {
|
||||||
setOptionsType(Field.OptionsType.DATETIME);
|
setOptionsType(Field.OptionsType.DATETIME);
|
||||||
} else if ("CHILD_VCLASSES".equalsIgnoreCase(s)) {
|
} else if ("CHILD_VCLASSES".equalsIgnoreCase(s)) {
|
||||||
setOptionsType(Field.OptionsType.CHILD_VCLASSES);
|
setOptionsType(Field.OptionsType.CHILD_VCLASSES);
|
||||||
|
} else if ("CHILD_VCLASSES_WITH_PARENT".equalsIgnoreCase(s)) {
|
||||||
|
setOptionsType(Field.OptionsType.CHILD_VCLASSES_WITH_PARENT);
|
||||||
} else if ("FILE".equalsIgnoreCase(s)) {
|
} else if ("FILE".equalsIgnoreCase(s)) {
|
||||||
setOptionsType(Field.OptionsType.FILE);
|
setOptionsType(Field.OptionsType.FILE);
|
||||||
} else if ("DATE".equalsIgnoreCase(s)) {
|
} else if ("DATE".equalsIgnoreCase(s)) {
|
||||||
|
|
|
@ -264,6 +264,37 @@ public class SelectListGenerator {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case CHILD_VCLASSES_WITH_PARENT: //so we have a vclass URI
|
||||||
|
vclassUri = field.getObjectClassUri();
|
||||||
|
if (vclassUri==null || vclassUri.equals("")){
|
||||||
|
log.error("no vclassUri found for field \""+fieldName+"\" in SelectListGenerator.getOptions() when OptionsType CHILD_VCLASSES specified");
|
||||||
|
} else {
|
||||||
|
// first test to see whether there's a default "leave blank" value specified with the literal options
|
||||||
|
String defaultOption=null;
|
||||||
|
if ((defaultOption=getDefaultOption(field))!=null) {
|
||||||
|
optionsMap.put(LEFT_BLANK, defaultOption);
|
||||||
|
}
|
||||||
|
// now populate the options
|
||||||
|
if( wDaoFact == null ) log.error("could not get WebappDaoFactory from request in SelectListGenerator.getOptions().");
|
||||||
|
|
||||||
|
VClassDao vclassDao = wDaoFact.getVClassDao();
|
||||||
|
List<String> subClassList = vclassDao.getAllSubClassURIs(vclassUri);
|
||||||
|
if( subClassList == null || subClassList.size()==0 ) {
|
||||||
|
log.debug("No subclasses of " + vclassUri + " found in the model so only default value from field's literalOptions will be used" );
|
||||||
|
} else {
|
||||||
|
for( String subClassUri : subClassList ) {
|
||||||
|
VClass subClass = vclassDao.getVClassByURI(subClassUri);
|
||||||
|
if( subClass != null && !OWL.Nothing.getURI().equals(subClassUri)) {
|
||||||
|
optionsMap.put(subClassUri,subClass.getName().trim());
|
||||||
|
++optionsCount;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
optionsMap.put(vclassUri, "Other");
|
||||||
|
++optionsCount;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case UNDEFINED :
|
case UNDEFINED :
|
||||||
log.error("optionsType \"UNDEFINED\" for Field \""+fieldName+"\" in SelectListGenerator.getOptions()");
|
log.error("optionsType \"UNDEFINED\" for Field \""+fieldName+"\" in SelectListGenerator.getOptions()");
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Add table
Reference in a new issue