selection_namedArea = formFactory.createSelectionElement(NamedArea.class, //getConversationHolder(),
formElement, "Area",
entity.getArea(), EntitySelectionElement.NOTHING, style);
+
ICdmFormElement parent = this.getParentElement();
NamedArea area = entity.getArea();
- PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewInstance(PreferenceSubject.ROOT+"NamedArea["+area.getUuid().toString() + "]"+PreferenceSubject.ROOT), PreferencePredicate.AvailableDistributionStatus);
+ List<DefinedTermBase> inputList = getStatusListForArea(area);
+ combo_presenceAbsence = formFactory.createDefinedTermComboElement(inputList, this, "Distribution Status", entity.getStatus(), style);
+
+ //combo_presenceAbsence = formFactory.createTermComboElement(PresenceAbsenceTerm.class, this, "Distribution Status", entity.getStatus(), style);
+ createTimePeriod(formElement, entity, style);
+ if (entity.getFeature().getRecommendedModifierEnumeration() != null && !entity.getFeature().getRecommendedModifierEnumeration().isEmpty()){
+ createModifier(formElement, entity, style);
+ }else{
+ createFreetextModifier(formElement, entity, style);
+ }
+ }
+
+ public List<DefinedTermBase> getStatusListForArea(NamedArea area) {
+ PrefKey key;
+ if (area!= null){
+ key = CdmPreference.NewKey(PreferenceSubject.NewInstance(PreferenceSubject.ROOT+"NamedArea["+area.getUuid().toString() + "]"+PreferenceSubject.ROOT), PreferencePredicate.AvailableDistributionStatus);
+ }else{
+ key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.AvailableDistributionStatus);
+ }
CdmPreference pref = CdmPreferenceCache.instance().get(key);
// if there is no preference for the area, look for the general
if (pref == null){
List<DefinedTermBase> inputList = CdmStore.getTermManager().getTerms(uuidList, PresenceAbsenceTerm.class);
- combo_presenceAbsence = formFactory.createDefinedTermComboElement(inputList, this, "Distribution Status", entity.getStatus(), style);
- //combo_presenceAbsence = formFactory.createTermComboElement(PresenceAbsenceTerm.class, this, "Distribution Status", entity.getStatus(), style);
- createTimePeriod(formElement, entity, style);
- if (entity.getFeature().getRecommendedModifierEnumeration() != null && !entity.getFeature().getRecommendedModifierEnumeration().isEmpty()){
- createModifier(formElement, entity, style);
- }else{
- createFreetextModifier(formElement, entity, style);
- }
- }
+ return inputList;
+ }
/** {@inheritDoc} */
@Override
super.handleEvent(eventSource);
if(eventSource == selection_namedArea){
getEntity().setArea(selection_namedArea.getEntity());
+
+ if (selection_namedArea.getEntity()!= null){
+ List<DefinedTermBase> inputList = getStatusListForArea(selection_namedArea.getEntity());
+ //combo_presenceAbsence.removeElements();
+ combo_presenceAbsence.setTerms(inputList);
+ }
+
}else if(eventSource == combo_presenceAbsence){
getEntity().setStatus((PresenceAbsenceTerm)combo_presenceAbsence.getSelection());
}