//TextData textData = categoricalDescriptionBuilder.build((CategoricalData) element, getLanguageList());\r
if (!((CategoricalData) element).getStates().isEmpty()) {\r
for (StateData statedata : ((CategoricalData) element).getStates()) {\r
- if(statedata.getState() != null) {\r
+ if(statedata.getState() != null && statedata.getModifyingText().get(CdmStore.getDefaultLanguage()) !=null && statedata.getModifyingText().get(CdmStore.getDefaultLanguage()).getText().equals("Use Category")) {\r
+ text = text + statedata.getState().getTitleCache() + "; ";\r
+ }\r
+ }\r
+ for (StateData statedata : ((CategoricalData) element).getStates()) {\r
+ if(statedata.getState() != null && statedata.getModifyingText().get(CdmStore.getDefaultLanguage()) !=null && statedata.getModifyingText().get(CdmStore.getDefaultLanguage()).getText().equals("Use SubCategory")) {\r
text = text + statedata.getState().getTitleCache() + "; ";\r
}\r
- /*else {\r
- text = "No data provided";\r
- }*/\r
}\r
}\r
- \r
if (!((CategoricalData) element).getModifiers().isEmpty()) {\r
- for (Modifier modifier : ((CategoricalData) element).getModifiers()) {\r
- text = text + modifier.getTitleCache();\r
+ for (Modifier modifier: ((CategoricalData) element).getModifiers()){\r
+ if(GetVocabularyType(modifier, "Country")) {\r
+ text = text + modifier.getTitleCache()+ "; ";\r
+ }\r
+ \r
+ }\r
+ for (Modifier modifier: ((CategoricalData) element).getModifiers()){\r
+ if(GetVocabularyType(modifier, "Plant Part")) {\r
+ text = text + modifier.getTitleCache()+ "; ";\r
+ }\r
+ \r
+ }\r
+ for (Modifier modifier: ((CategoricalData) element).getModifiers()){\r
+ if(GetVocabularyType(modifier, "Human Group")) {\r
+ text = text + modifier.getTitleCache()+ "; ";\r
+ }\r
+ \r
+ }\r
+ for (Modifier modifier: ((CategoricalData) element).getModifiers()){\r
+ if(GetVocabularyType(modifier, "Ethnic Group")) {\r
+ text = text + modifier.getTitleCache()+ "; ";\r
+ }\r
+ \r
}\r
}\r
-\r
- \r
- //text = textData.getText(CdmStore.getDefaultLanguage());\r
+ \r
if (text == null || text.length() == 0) {\r
text = "No data provided";\r
}\r
return text;\r
}\r
- /*else if (element instanceof DescriptionElementBase) {\r
- Map useRecordText = ((DescriptionElementBase) element).getModifyingText();\r
- \r
- \r
- if (text == null || text.length() == 0) {\r
- text = "Use Record: No label provided";\r
- }\r
- text = useRecordText.toString();\r
- //text = "Something else";\r
- }*/\r
+\r
else{\r
text = "Use Record";\r
}\r
return text;\r
}\r
\r
+ \r
+ private boolean GetVocabularyType(Modifier term, String vocabularyExpected) {\r
+ if ((term.getPartOf() != null) && (term.getPartOf().getTitleCache().equals(vocabularyExpected))) {\r
+ return true;\r
+ }\r
+ else if ((term.getVocabulary() != null) && (term.getVocabulary().getTitleCache().equals(vocabularyExpected))) {\r
+ return true;\r
+ }\r
+ return false;\r
+ }\r
@Override\r
public StyledString getStyledText(Object element) {\r
return new StyledString(this.getText(element),\r
package eu.etaxonomy.taxeditor.ui.section.userecords;\r
\r
import java.util.ArrayList;\r
+import java.util.Iterator;\r
import java.util.List;\r
import java.util.Map;\r
import java.util.Set;\r
protected void createControls(ICdmFormElement formElement,\r
CategoricalData entity, int style) {\r
\r
- // State state = State.NewInstance("Tato", "Toto", "Titi");\r
- // checkbox_orderRelevant = formFactory.createCheckbox(formElement,\r
- // "Order Relevant", entity.getOrderRelevant(), style);\r
combo_UseCategory = formFactory.createTermComboElement(State.class, this, "Use Category", null, style);\r
combo_UseCategory.addSelectionListener(this);\r
combo_UseSubCategory = formFactory.createTermComboElement(State.class, this, "Use SubCategory", null, style);\r
List<State> termsSubCategory = setUseCategoryComboTerms(TermStore.getTerms(State.class, null, false), combo_UseCategory.getSelection());\r
\r
if (termsSubCategory != null) {\r
- \r
combo_UseSubCategory.setTerms(termsSubCategory);\r
combo_UseSubCategory.setSelection(stateSelection("Use SubCategory"));\r
combo_UseSubCategory.setEnabled(true);\r
if(GetVocabularyType(modifier, comboCategory)) {\r
return modifier;\r
}\r
- \r
- \r
- /*if (modifier.getMarkers() != null) {\r
- for (Marker marker : modifier.getMarkers()) {\r
- if(marker.getMarkerType().getTitleCache().equals(comboCategory)) {\r
- return modifier;\r
- }\r
- /*else {\r
- return null;\r
- }\r
- }\r
- }*/\r
- /*else {\r
- return null;\r
- }*/\r
- \r
}\r
} else {\r
return null;\r
StateData stateData = StateData\r
.NewInstance(combo_UseCategory.getSelection());\r
stateData.setState(combo_UseCategory.getSelection());\r
- //stateData.addModifyingText("Use Category", CdmStore.getDefaultLanguage());\r
- //LanguageString languageString = LanguageString.NewInstance("Use Category", CdmStore.getDefaultLanguage());\r
- //IService object = (IService) CdmStore.getCurrentApplicationConfiguration().getBean(IService.class.getName());\r
- //object.save(languageString);\r
stateData.putModifyingText(CdmStore.getDefaultLanguage(), "Use Category");\r
getEntity().addState(stateData);\r
}\r
+ \r
combo_UseSubCategory.setEnabled(true);\r
\r
}\r
+ else {\r
+ if (!getEntity().getStates().isEmpty()) {\r
+ Iterator<StateData> itr = getEntity().getStates().iterator();\r
+ while(itr.hasNext()) {\r
+ StateData stateToRemove = itr.next();\r
+ itr.remove();\r
+ }\r
+ List<State> termsSubCategory = new ArrayList<State>();\r
+ State emptyState = State.NewInstance();\r
+ termsSubCategory.add(emptyState);\r
+ combo_UseSubCategory.setTerms(termsSubCategory);\r
+ combo_UseSubCategory.setEnabled(false);\r
+ }\r
+ }\r
}\r
+ \r
if (eventSource == combo_UseSubCategory) {\r
if (combo_UseSubCategory.getSelection() != null) {\r
boolean isChanged = false;\r
getEntity().addState(stateData);\r
}\r
\r
+ } else {\r
+ if (!getEntity().getStates().isEmpty()) {\r
+ for (StateData existingStateData : getEntity().getStates()) {\r
+ Map<Language, LanguageString> modifyingText = existingStateData\r
+ .getModifyingText();\r
+\r
+ if (modifyingText.get(CdmStore.getDefaultLanguage()) != null) {\r
+ if (modifyingText.get(CdmStore.getDefaultLanguage()).getText() == "Use SubCategory") {\r
+ getEntity().removeState(existingStateData);\r
+ }\r
+ }\r
+ }\r
+ }\r
}\r
}\r
if (eventSource == combo_PlantPart) {\r
\r
//getEntity().addModifier(combo_PlantPart.getSelection());\r
}\r
+ } else {\r
+ Set<Modifier> modifiers = getEntity().getModifiers();\r
+ if(!modifiers.isEmpty()) {\r
+ for (Modifier modifier : modifiers) {\r
+ if(GetVocabularyType(modifier, "Plant Part")) {\r
+ getEntity().removeModifier(modifier);\r
+ \r
+ }\r
+ }\r
+ }\r
+ \r
}\r
}\r
if (eventSource == combo_Country) {\r
getEntity().addModifier(country);\r
//getEntity().addModifier(combo_Country.getSelection());\r
}\r
+ } else {\r
+ Set<Modifier> modifiers = getEntity().getModifiers();\r
+ if(!modifiers.isEmpty()) {\r
+ for (Modifier modifier : modifiers) {\r
+ if(GetVocabularyType(modifier, "Country")) {\r
+ getEntity().removeModifier(modifier);\r
+ \r
+ }\r
+ }\r
+ }\r
+ \r
}\r
}\r
if (eventSource == combo_HumanGroup) {\r
getEntity().addModifier(humanGroup);\r
//getEntity().addModifier(combo_HumanGroup.getSelection());\r
}\r
+ combo_EthnicGroup.setEnabled(true);\r
+ } else {\r
+ Set<Modifier> modifiers = getEntity().getModifiers();\r
+ if(!modifiers.isEmpty()) {\r
+ Iterator<Modifier> itr = modifiers.iterator();\r
+ while (itr.hasNext()) {\r
+ Modifier currentMod = itr.next();\r
+ if(GetVocabularyType(currentMod, "Human Group") || GetVocabularyType(currentMod, "Ethnic Group")) {\r
+ itr.remove();\r
+ }\r
+ }\r
+ \r
+ \r
+ /*for (Modifier modifier : modifiers) {\r
+ if(GetVocabularyType(modifier, "Human Group")) {\r
+ getEntity().removeModifier(modifier);\r
+ \r
+ }\r
+ if(GetVocabularyType(modifier, "Ethnic Group")) {\r
+ getEntity().removeModifier(modifier);\r
+ \r
+ }\r
+ }*/\r
+ }\r
+ List<Modifier> emptyListToResetComboBox = new ArrayList<Modifier>();\r
+ Modifier emptyMod = Modifier.NewInstance();\r
+ emptyListToResetComboBox.add(emptyMod);\r
+ combo_EthnicGroup.setTerms(emptyListToResetComboBox);\r
+ combo_EthnicGroup.setEnabled(false);\r
+ \r
}\r
- combo_EthnicGroup.setEnabled(true);\r
}\r
if (eventSource == combo_EthnicGroup) {\r
if (combo_EthnicGroup.getSelection() != null) {\r
getEntity().addModifier(ethnicGroup);\r
//getEntity().addModifier(combo_EthnicGroup.getSelection());\r
}\r
+ } else {\r
+ Set<Modifier> modifiers = getEntity().getModifiers();\r
+ if(!modifiers.isEmpty()) {\r
+ for (Modifier modifier : modifiers) {\r
+ if(GetVocabularyType(modifier, "Ethnic Group")) {\r
+ getEntity().removeModifier(modifier);\r
+ \r
+ }\r
+ \r
+ }\r
+ }\r
+ \r
}\r
}\r
}\r