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,
|
||||
MONIKERS_VIA_VCLASS,
|
||||
CHILD_VCLASSES,
|
||||
CHILD_VCLASSES_WITH_PARENT,
|
||||
FILE,
|
||||
UNDEFINED,
|
||||
DATETIME,
|
||||
|
@ -214,6 +215,8 @@ public class Field {
|
|||
setOptionsType(Field.OptionsType.DATETIME);
|
||||
} else if ("CHILD_VCLASSES".equalsIgnoreCase(s)) {
|
||||
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)) {
|
||||
setOptionsType(Field.OptionsType.FILE);
|
||||
} else if ("DATE".equalsIgnoreCase(s)) {
|
||||
|
|
|
@ -264,6 +264,37 @@ public class SelectListGenerator {
|
|||
}
|
||||
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 :
|
||||
log.error("optionsType \"UNDEFINED\" for Field \""+fieldName+"\" in SelectListGenerator.getOptions()");
|
||||
break;
|
||||
|
|
Loading…
Add table
Reference in a new issue