import eu.etaxonomy.cdm.model.description.Modifier;\r
import eu.etaxonomy.cdm.model.description.State;\r
import eu.etaxonomy.cdm.model.description.StateData;\r
+import eu.etaxonomy.cdm.remote.controller.VocabularyController;\r
import eu.etaxonomy.taxeditor.store.CdmStore;\r
+import eu.etaxonomy.taxeditor.store.TermManager;\r
import eu.etaxonomy.taxeditor.store.TermStore;\r
import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;\r
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;\r
private TermComboElement<State> combo_UseCategory;\r
private TermComboElement<State> combo_UseSubCategory;\r
private TermComboElement<Modifier> combo_PlantPart;\r
-\r
+ private TermComboElement<Modifier> combo_Country;\r
+ private TermComboElement<Modifier> combo_HumanGroup;\r
+ private TermComboElement<Modifier> combo_EthnicGroup;\r
// private AbstractDetailedDescriptionDetailElement detailElement;\r
\r
/*\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 Sub Category", null, style);\r
+ combo_UseSubCategory = formFactory.createTermComboElement(State.class, this, "Use SubCategory", null, style);\r
+ combo_Country = formFactory.createTermComboElement(Modifier.class, this, "Country", null, style);\r
combo_PlantPart = formFactory.createTermComboElement(Modifier.class, this, "Plant Part", null, style);\r
- // List<State> listOfTerms = TermStore.getTerms(State.class,null ,\r
- // false);\r
-\r
- // UUID uuidUseCategory =\r
- // UUID.fromString("2bb365af-ce6c-4196-a30b-e69b05099ed0");\r
- // TermVocabulary termVoc =\r
- // CdmStore.getService(IVocabularyService.class).find(uuidUseCategory);\r
- List<State> termsToAdd = setUseCategoryComboTerms(TermStore.getTerms(State.class, null, false));\r
+ combo_HumanGroup = formFactory.createTermComboElement(Modifier.class, this, "Human Group", null, style);\r
+ combo_HumanGroup.addSelectionListener(this);\r
+ combo_EthnicGroup = formFactory.createTermComboElement(Modifier.class, this, "Ethnic Group", null, style);\r
\r
- List<Modifier> plantPartsToAdd = setPlantPartsComboTerms(TermStore.getTerms(Modifier.class, null, false));\r
- // combo_UseCategory.setTerms(setUseCategoryComboTerms(listOfTerms));\r
- combo_UseCategory.setTerms(termsToAdd);\r
+\r
+ List<State> termsUseCategory = setUseCategoryComboTerms(TermStore.getTerms(State.class, null, false));\r
+ combo_UseCategory.setTerms(termsUseCategory);\r
combo_UseCategory.setSelection(useCategorySelection());\r
\r
List<State> termsSubCategory = setUseCategoryComboTerms(TermStore.getTerms(State.class, null, false), combo_UseCategory.getSelection());\r
else {\r
combo_UseSubCategory.setEnabled(false);\r
}\r
+ List<Modifier> plantPartsToAdd = setPlantPartsComboTerms(TermStore.getTerms(Modifier.class, null, false));\r
combo_PlantPart.setTerms(plantPartsToAdd);\r
combo_PlantPart.setSelection(plantPartSelection());\r
\r
+ List<Modifier> countriesToAdd = setCountryComboTerms(TermStore.getTerms(Modifier.class, null, false));\r
+ combo_Country.setTerms(countriesToAdd);\r
+ combo_Country.setSelection(countrySelection());\r
+ \r
+ List<Modifier> humanGroupToAdd = setHumanGroupComboTerms(TermStore.getTerms(Modifier.class, null, false));\r
+ combo_HumanGroup.setTerms(humanGroupToAdd);\r
+ combo_HumanGroup.setSelection(humanGroupSelection());\r
+ \r
+ List<Modifier> ethnicGroupToAdd = setEthnicGroupComboTerms(TermStore.getTerms(Modifier.class, null, false), combo_HumanGroup.getSelection());\r
+ if (ethnicGroupToAdd != null) {\r
+ combo_EthnicGroup.setTerms(ethnicGroupToAdd);\r
+ combo_EthnicGroup.setSelection(ethnicGroupSelection());\r
+ combo_EthnicGroup.setEnabled(true);\r
+ } else {\r
+ combo_EthnicGroup.setEnabled(false);\r
+ }\r
\r
// getPreferredTerms(State.class));\r
// UseSubCategory_stateData =\r
\r
}\r
\r
-\r
-\r
+ \r
+ \r
private Modifier plantPartSelection() {\r
/*if(!getEntity().getModifiers().isEmpty()) {\r
for (Modifier modifier : getEntity().getModifiers()) {\r
}\r
return null;*/\r
//for testing purposes\r
- \r
+ int countMods = 0;\r
Modifier modiftoreturn = Modifier.NewInstance();\r
if (!getEntity().getModifiers().isEmpty()) {\r
for (Modifier modifier : getEntity().getModifiers()){\r
- modiftoreturn = modifier;\r
+ if(countMods == 0) {\r
+ modiftoreturn = modifier;\r
+ }\r
+ countMods++;\r
}\r
return modiftoreturn;\r
}\r
return null;\r
\r
}\r
+ \r
+ private Modifier countrySelection() {\r
+ /*if(!getEntity().getModifiers().isEmpty()) {\r
+ for (Modifier modifier : getEntity().getModifiers()) {\r
+ if (modifier.getMarkers() != null) {\r
+ for (Marker marker : modifier.getMarkers()) {\r
+ if(marker.getMarkerType().getTitleCache().equals("Country")) {\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
+ }\r
+ return null;*/\r
+ //for testing purposes\r
+ int countMods = 0;\r
+ Modifier modiftoreturn = Modifier.NewInstance();\r
+ if (!getEntity().getModifiers().isEmpty()) {\r
+ for (Modifier modifier : getEntity().getModifiers()){\r
+ if(countMods == 1) {\r
+ modiftoreturn = modifier;\r
+ }\r
+ countMods++;\r
+ }\r
+ return modiftoreturn;\r
+ }\r
+ return null;\r
+ }\r
+ \r
+ private Modifier humanGroupSelection() {\r
+ /*if(!getEntity().getModifiers().isEmpty()) {\r
+ for (Modifier modifier : getEntity().getModifiers()) {\r
+ if (modifier.getMarkers() != null) {\r
+ for (Marker marker : modifier.getMarkers()) {\r
+ if(marker.getMarkerType().getTitleCache().equals("Human Group")) {\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
+ }\r
+ return null;*/\r
+ //for testing purposes\r
+ int countMods =0;\r
+ Modifier modiftoreturn = Modifier.NewInstance();\r
+ if (!getEntity().getModifiers().isEmpty()) {\r
+ for (Modifier modifier : getEntity().getModifiers()){\r
+ if (countMods == 2) {\r
+ modiftoreturn = modifier;\r
+ }\r
+ countMods++;\r
+ }\r
+ return modiftoreturn;\r
+ }\r
+ return null;\r
+ }\r
+ \r
+ private Modifier ethnicGroupSelection() {\r
+ /*if(!getEntity().getModifiers().isEmpty()) {\r
+ for (Modifier modifier : getEntity().getModifiers()) {\r
+ if (modifier.getMarkers() != null) {\r
+ for (Marker marker : modifier.getMarkers()) {\r
+ if(marker.getMarkerType().getTitleCache().equals("Human Group")) {\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
+ }\r
+ return null;*/\r
+ //for testing purposes\r
+ int countMods =0;\r
+ Modifier modiftoreturn = Modifier.NewInstance();\r
+ if (!getEntity().getModifiers().isEmpty()) {\r
+ for (Modifier modifier : getEntity().getModifiers()){\r
+ if (countMods == 3) {\r
+ modiftoreturn = modifier;\r
+ }\r
+ countMods++;\r
+ }\r
+ return modiftoreturn;\r
+ }\r
+ return null;\r
+ }\r
\r
private State useCategorySelection() {\r
/*if (!getEntity().getStates().isEmpty()) {\r
return null;\r
}\r
\r
+\r
+ \r
private State useSubCategorySelection() {\r
/*if (!getEntity().getStates().isEmpty() && combo_UseCategory.getSelection() != null) {\r
for (StateData statedata : getEntity().getStates()) {\r
return null;\r
}\r
return null;*/\r
+ //for testing purposes\r
int countStates =0;\r
for (StateData state : getEntity().getStates()) {\r
if ((countStates == 1)) {\r
List<Modifier> termsToAdd = new ArrayList<Modifier>();\r
for (Modifier term : listOfTerms) {\r
\r
- if ((term.getPartOf() != null)\r
- && (term.getPartOf().getTitleCache().equals("Plant Part"))) {\r
+ if ((term.getPartOf() != null) && (term.getPartOf().getTitleCache().equals("Plant Part"))) {\r
+ termsToAdd.add(term);\r
+ }\r
+ else if ((term.getVocabulary() != null) && (term.getVocabulary().getTitleCache().equals("Plant Part"))) {\r
+ termsToAdd.add(term);\r
+ }\r
+ }\r
+ \r
+ return termsToAdd;\r
+ }\r
+ \r
+ private List<Modifier> setCountryComboTerms(List <Modifier> listOfTerms) {\r
+ List<Modifier> termsToAdd = new ArrayList<Modifier>();\r
+ for (Modifier term : listOfTerms) {\r
+\r
+ if ((term.getPartOf() != null) && (term.getPartOf().getTitleCache().equals("Country"))) {\r
+ termsToAdd.add(term);\r
+ }\r
+ else if ((term.getVocabulary() != null) && (term.getVocabulary().getTitleCache().equals("Country"))) {\r
termsToAdd.add(term);\r
}\r
}\r
return termsToAdd;\r
}\r
\r
+\r
private List<State> setUseCategoryComboTerms(List<State> listOfTerms) {\r
List<State> termsToAdd = new ArrayList<State>();\r
for (State term : listOfTerms) {\r
\r
- if ((term.getPartOf() != null)\r
- && (term.getPartOf().getTitleCache().equals("Use Category"))) {\r
+ if ((term.getPartOf() != null) && (term.getPartOf().getTitleCache().equals("Use Category"))) {\r
+ termsToAdd.add(term);\r
+ }\r
+ else if ((term.getVocabulary() !=null) && (term.getPartOf() == null) && (term.getVocabulary().getTitleCache().equals("Use Category"))) {\r
termsToAdd.add(term);\r
}\r
}\r
if (combo_UseCategory.getSelection() != null) {\r
\r
for (State term : listOfTerms) {\r
- if ((term.getPartOf() != null)\r
- && (term.getPartOf().getTitleCache()\r
- .equals(selectedUseCategory.getTitleCache()))) {\r
+ if ((term.getPartOf() != null) && (term.getPartOf().getTitleCache().equals(selectedUseCategory.getTitleCache()))) {\r
+ termsToAdd.add(term);\r
+ }\r
+ else if ((term.getVocabulary() !=null) && (term.getVocabulary().getTitleCache().equals(selectedUseCategory.getTitleCache()))) {\r
termsToAdd.add(term);\r
}\r
\r
if (stateData.getModifyingText().get(CdmStore.getDefaultLanguage()) != null) {\r
if ((stateData.getState() != null) && (stateData.getModifyingText().get(CdmStore.getDefaultLanguage()).getText() == "Use Category")) {\r
for (State term : listOfTerms) {\r
- if ((term.getPartOf() != null)\r
- && (term.getPartOf().getTitleCache()\r
- .equals(stateData.getState().getTitleCache()))) {\r
+ if ((term.getPartOf() != null) && (term.getPartOf().getTitleCache().equals(stateData.getState().getTitleCache()))) {\r
+ termsToAdd.add(term);\r
+ } else if ((term.getVocabulary() != null) && (term.getVocabulary().getTitleCache().equals(stateData.getState().getTitleCache()))) {\r
termsToAdd.add(term);\r
}\r
}\r
// TODO Auto-generated method stub\r
return termsToAdd;\r
}\r
+ \r
+ private List<Modifier> setEthnicGroupComboTerms(List<Modifier> listOfTerms,\r
+ Modifier selectedHumangroup) {\r
+ List<Modifier> termsToAdd = new ArrayList<Modifier>();\r
+ if (combo_HumanGroup.getSelection() != null) {\r
+ for (Modifier term : listOfTerms) {\r
+ \r
+ if ((term.getPartOf() != null) && (term.getPartOf().getTitleCache().equals(selectedHumangroup.getTitleCache()))) {\r
+ termsToAdd.add(term);\r
+ }\r
+ else if ((term.getVocabulary() != null) && (term.getVocabulary().getTitleCache().equals(selectedHumangroup.getTitleCache()))) {\r
+ termsToAdd.add(term);\r
+ }\r
+ }\r
+ }\r
+ else if (!getEntity().getModifiers().isEmpty()) {\r
+ for (Modifier modifier : getEntity().getModifiers()) {\r
+ if (modifier.getMarkers() != null) {\r
+ for (Marker marker : modifier.getMarkers()) {\r
+ if(marker.getMarkerType().getTitleCache().equals("Human Group")) {\r
+ for (Modifier term : listOfTerms) {\r
+ if ((term.getPartOf() != null) && (term.getPartOf().getTitleCache().equals(modifier.getTitleCache()))) {\r
+ termsToAdd.add(modifier);\r
+ } else if ((term.getVocabulary() != null) && (term.getVocabulary().getTitleCache().equals(modifier.getTitleCache()))) {\r
+ termsToAdd.add(modifier);\r
+ }\r
+ }\r
+ \r
+ }\r
+ }\r
+ }\r
+ }\r
+ } else {\r
+ return null;\r
+ }\r
+ \r
+ return termsToAdd;\r
+ }\r
+\r
+ \r
+ private List<Modifier> setHumanGroupComboTerms(List<Modifier> listOfTerms) {\r
+ List<Modifier> termsToAdd = new ArrayList<Modifier>();\r
+ for (Modifier term : listOfTerms) {\r
+\r
+ if ((term.getPartOf() != null) && (term.getPartOf().getTitleCache().equals("Human Group"))) {\r
+ termsToAdd.add(term);\r
+ }\r
+ else if ((term.getVocabulary() != null) && (term.getPartOf() == null) && (term.getVocabulary().getTitleCache().equals("Human Group"))) {\r
+ termsToAdd.add(term);\r
+ }\r
+ }\r
+ \r
+ return termsToAdd;\r
+ }\r
+\r
\r
/** {@inheritDoc} */\r
@Override\r
}\r
}\r
}\r
+ if (eventSource == combo_Country) {\r
+ if (combo_Country.getSelection() != null) {\r
+ Set<Modifier> modifiers = getEntity().getModifiers();\r
+ if(!modifiers.isEmpty()) {\r
+ for (Modifier modifier : modifiers) {\r
+ if (modifier.getMarkers() != null) {\r
+ for (Marker marker : modifier.getMarkers()) {\r
+ if (marker.getMarkerType().getTitleCache().equals("Country")) {\r
+ /*getEntity().removeModifier(modifier);\r
+ Modifier plantPart = combo_PlantPart.getSelection();\r
+ plantPart.addMarker(marker);\r
+ getEntity().addModifier(plantPart);*/\r
+ getEntity().addModifier(combo_Country.getSelection());\r
+ } \r
+ else {\r
+ /*MarkerType markerType = MarkerType.NewInstance("Country", "Country", null);\r
+ Marker markerPlantPart = Marker.NewInstance(markerType, false);\r
+ Modifier plantPart = combo_PlantPart.getSelection();\r
+ plantPart.addMarker(markerPlantPart);\r
+ getEntity().addModifier(plantPart);*/\r
+ getEntity().addModifier(combo_Country.getSelection());\r
+ }\r
+ \r
+ \r
+ }\r
+ \r
+ }\r
+ else {\r
+ /*MarkerType markerType = MarkerType.NewInstance("Country", "Country", null);\r
+ Marker marker = Marker.NewInstance(markerType, false);\r
+ Modifier plantPart = combo_PlantPart.getSelection();\r
+ plantPart.addMarker(marker);\r
+ getEntity().addModifier(plantPart);*/\r
+ getEntity().addModifier(combo_Country.getSelection());\r
+ }\r
+ \r
+ } \r
+ }\r
+ else {\r
+ /*MarkerType markerType = MarkerType.NewInstance("Country", "Country", null);\r
+ Marker marker = Marker.NewInstance(markerType, false);\r
+ Modifier plantPart = combo_PlantPart.getSelection();\r
+ plantPart.addMarker(marker);\r
+ getEntity().addModifier(plantPart);*/\r
+ getEntity().addModifier(combo_Country.getSelection());\r
+ }\r
+ }\r
+ }\r
+ if (eventSource == combo_HumanGroup) {\r
+ if (combo_HumanGroup.getSelection() != null) {\r
+ Set<Modifier> modifiers = getEntity().getModifiers();\r
+ if(!modifiers.isEmpty()) {\r
+ for (Modifier modifier : modifiers) {\r
+ if (modifier.getMarkers() != null) {\r
+ for (Marker marker : modifier.getMarkers()) {\r
+ if (marker.getMarkerType().getTitleCache().equals("Human Group")) {\r
+ /*getEntity().removeModifier(modifier);\r
+ Modifier plantPart = combo_PlantPart.getSelection();\r
+ plantPart.addMarker(marker);\r
+ getEntity().addModifier(plantPart);*/\r
+ getEntity().addModifier(combo_HumanGroup.getSelection());\r
+ } \r
+ else {\r
+ /*MarkerType markerType = MarkerType.NewInstance("Human Group", "Human Group", null);\r
+ Marker markerPlantPart = Marker.NewInstance(markerType, false);\r
+ Modifier plantPart = combo_PlantPart.getSelection();\r
+ plantPart.addMarker(markerPlantPart);\r
+ getEntity().addModifier(plantPart);*/\r
+ getEntity().addModifier(combo_HumanGroup.getSelection());\r
+ }\r
+ \r
+ \r
+ }\r
+ \r
+ }\r
+ else {\r
+ /*MarkerType markerType = MarkerType.NewInstance("Human Group", "Human Group", null);\r
+ Marker marker = Marker.NewInstance(markerType, false);\r
+ Modifier plantPart = combo_PlantPart.getSelection();\r
+ plantPart.addMarker(marker);\r
+ getEntity().addModifier(plantPart);*/\r
+ getEntity().addModifier(combo_HumanGroup.getSelection());\r
+ }\r
+ \r
+ } \r
+ }\r
+ else {\r
+ /*MarkerType markerType = MarkerType.NewInstance("Human Group", "Human Group", null);\r
+ Marker marker = Marker.NewInstance(markerType, false);\r
+ Modifier plantPart = combo_PlantPart.getSelection();\r
+ plantPart.addMarker(marker);\r
+ getEntity().addModifier(plantPart);*/\r
+ getEntity().addModifier(combo_HumanGroup.getSelection());\r
+ }\r
+ }\r
+ combo_EthnicGroup.setEnabled(true);\r
+ }\r
+ if (eventSource == combo_EthnicGroup) {\r
+ if (combo_EthnicGroup.getSelection() != null) {\r
+ Set<Modifier> modifiers = getEntity().getModifiers();\r
+ if(!modifiers.isEmpty()) {\r
+ for (Modifier modifier : modifiers) {\r
+ if (modifier.getMarkers() != null) {\r
+ for (Marker marker : modifier.getMarkers()) {\r
+ if (marker.getMarkerType().getTitleCache().equals("Ethnic Group")) {\r
+ /*getEntity().removeModifier(modifier);\r
+ Modifier plantPart = combo_PlantPart.getSelection();\r
+ plantPart.addMarker(marker);\r
+ getEntity().addModifier(plantPart);*/\r
+ getEntity().addModifier(combo_EthnicGroup.getSelection());\r
+ } \r
+ else {\r
+ /*MarkerType markerType = MarkerType.NewInstance("Ethnic Group", "Ethnic Group", null);\r
+ Marker markerPlantPart = Marker.NewInstance(markerType, false);\r
+ Modifier plantPart = combo_PlantPart.getSelection();\r
+ plantPart.addMarker(markerPlantPart);\r
+ getEntity().addModifier(plantPart);*/\r
+ getEntity().addModifier(combo_EthnicGroup.getSelection());\r
+ }\r
+ \r
+ \r
+ }\r
+ \r
+ }\r
+ else {\r
+ /*MarkerType markerType = MarkerType.NewInstance("Ethnic Group", "Ethnic Group", null);\r
+ Marker marker = Marker.NewInstance(markerType, false);\r
+ Modifier plantPart = combo_PlantPart.getSelection();\r
+ plantPart.addMarker(marker);\r
+ getEntity().addModifier(plantPart);*/\r
+ getEntity().addModifier(combo_EthnicGroup.getSelection());\r
+ }\r
+ \r
+ } \r
+ }\r
+ else {\r
+ /*MarkerType markerType = MarkerType.NewInstance("Ethnic Group", "Ethnic Group", null);\r
+ Marker marker = Marker.NewInstance(markerType, false);\r
+ Modifier plantPart = combo_PlantPart.getSelection();\r
+ plantPart.addMarker(marker);\r
+ getEntity().addModifier(plantPart);*/\r
+ getEntity().addModifier(combo_EthnicGroup.getSelection());\r
+ }\r
+ }\r
+ }\r
}\r
\r
+ \r
\r
/** {@inheritDoc} */\r
@Override\r
\r
@Override\r
public void widgetSelected(SelectionEvent e) {\r
- State selectedUseCategory = combo_UseCategory.getSelection();\r
- if (selectedUseCategory != null) {\r
- combo_UseSubCategory.setTerms(setUseCategoryComboTerms(\r
- TermStore.getTerms(State.class, null, false),\r
- selectedUseCategory));\r
+ Object eventSource = e.getSource();\r
+ This is causing an error on purpose fix the if statement below\r
+ if(eventSource == combo_UseCategory) {\r
+ State selectedUseCategory = combo_UseCategory.getSelection();\r
+ if (selectedUseCategory != null) {\r
+ combo_UseSubCategory.setTerms(setUseCategoryComboTerms(TermStore.getTerms(State.class, null, false),selectedUseCategory));\r
/*\r
* selectedLanguageString = getMultilanguageText().get(\r
* selectedLanguage);\r
* \r
* element_languageString.setLanguageString(selectedLanguageString);\r
*/\r
+ }\r
+ }\r
+ if (eventSource == combo_HumanGroup) {\r
+ Modifier selectedHumanGroup = combo_HumanGroup.getSelection();\r
+ if (selectedHumanGroup != null) {\r
+ combo_EthnicGroup.setTerms(setEthnicGroupComboTerms(TermStore.getTerms(Modifier.class, null, false), selectedHumanGroup));\r
+ }\r
}\r
\r
}\r