2 * Copyright (C) 2011 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
9 package eu
.etaxonomy
.taxeditor
.ui
.section
.userecords
;
11 import java
.util
.ArrayList
;
12 import java
.util
.Iterator
;
13 import java
.util
.List
;
14 import java
.util
.ListIterator
;
17 import org
.apache
.log4j
.Logger
;
18 import org
.eclipse
.swt
.events
.SelectionEvent
;
19 import org
.eclipse
.swt
.events
.SelectionListener
;
21 import eu
.etaxonomy
.cdm
.model
.common
.DefinedTerm
;
22 import eu
.etaxonomy
.cdm
.model
.common
.Language
;
23 import eu
.etaxonomy
.cdm
.model
.common
.LanguageString
;
24 import eu
.etaxonomy
.cdm
.model
.common
.Marker
;
25 import eu
.etaxonomy
.cdm
.model
.description
.CategoricalData
;
26 import eu
.etaxonomy
.cdm
.model
.description
.State
;
27 import eu
.etaxonomy
.cdm
.model
.description
.StateData
;
28 import eu
.etaxonomy
.taxeditor
.editor
.UsageTermCollection
;
29 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
30 import eu
.etaxonomy
.taxeditor
.store
.TermStore
;
31 import eu
.etaxonomy
.taxeditor
.ui
.combo
.TermComboElement
;
32 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmFormFactory
;
33 import eu
.etaxonomy
.taxeditor
.ui
.element
.ICdmFormElement
;
34 import eu
.etaxonomy
.taxeditor
.ui
.section
.AbstractCdmDetailElement
;
38 * The context manager mediates context start/stop and workbench shutdowns to all registered listeners.
41 * @created mar 13, 2012
44 public class UseRecordDetailElement
extends
45 AbstractCdmDetailElement
<CategoricalData
> implements SelectionListener
{
47 private static final Logger logger
= Logger
48 .getLogger(UseRecordDetailElement
.class);
50 private TermComboElement
<State
> combo_UseCategory
;
51 private TermComboElement
<State
> combo_UseSubCategory
;
52 private TermComboElement
<DefinedTerm
> combo_PlantPart
;
53 private TermComboElement
<DefinedTerm
> combo_Country
;
54 private TermComboElement
<DefinedTerm
> combo_HumanGroup
;
55 private TermComboElement
<DefinedTerm
> combo_EthnicGroup
;
57 public UseRecordDetailElement(CdmFormFactory formFactory
,
58 ICdmFormElement formElement
) {
59 super(formFactory
, formElement
);
64 protected void createControls(ICdmFormElement formElement
,
65 CategoricalData entity
, int style
) {
67 combo_UseCategory
= formFactory
.createTermComboElement(State
.class, this, UsageTermCollection
.useCategoryVocabularyLabel
, null, style
);
68 combo_UseCategory
.addSelectionListener(this);
69 combo_UseSubCategory
= formFactory
.createTermComboElement(State
.class, this, UsageTermCollection
.useSubCategoryVocabularyLabel
, null, style
);
70 combo_PlantPart
= formFactory
.createTermComboElement(DefinedTerm
.class, this, UsageTermCollection
.plantPartLabel
, null, style
);
71 combo_HumanGroup
= formFactory
.createTermComboElement(DefinedTerm
.class, this, UsageTermCollection
.humanGroupLabel
, null, style
);
72 combo_HumanGroup
.addSelectionListener(this);
73 combo_EthnicGroup
= formFactory
.createTermComboElement(DefinedTerm
.class, this, UsageTermCollection
.ethnicGroupLabel
, null, style
);
74 combo_Country
= formFactory
.createTermComboElement(DefinedTerm
.class, this, UsageTermCollection
.countryLabel
, null, style
);
77 List
<State
> termsUseCategory
= setUseCategoryComboTerms(TermStore
.getTerms(State
.class, null, false));
78 combo_UseCategory
.setTerms(termsUseCategory
);
79 combo_UseCategory
.setSelection(stateSelection(UsageTermCollection
.useCategoryVocabularyLabel
));
81 List
<State
> termsSubCategory
= setUseCategoryComboTerms(TermStore
.getTerms(State
.class, null, false), combo_UseCategory
.getSelection());
83 if (termsSubCategory
!= null) {
84 combo_UseSubCategory
.setTerms(termsSubCategory
);
85 combo_UseSubCategory
.setSelection(stateSelection(UsageTermCollection
.useSubCategoryVocabularyLabel
));
86 combo_UseSubCategory
.setEnabled(true);
89 combo_UseSubCategory
.setEnabled(false);
92 List
<DefinedTerm
> plantPartsToAdd
= setModifierComboTerms(TermStore
.getTerms(DefinedTerm
.class, null, false), UsageTermCollection
.plantPartLabel
);
93 combo_PlantPart
.setTerms(plantPartsToAdd
);
94 combo_PlantPart
.setSelection(modifierSelection(UsageTermCollection
.plantPartLabel
));
96 List
<DefinedTerm
> countriesToAdd
= setModifierComboTerms(TermStore
.getTerms(DefinedTerm
.class, null, false), UsageTermCollection
.countryLabel
);
97 combo_Country
.setTerms(countriesToAdd
);
98 combo_Country
.setSelection(modifierSelection(UsageTermCollection
.countryLabel
));
100 List
<DefinedTerm
> humanGroupToAdd
= setModifierComboTerms(TermStore
.getTerms(DefinedTerm
.class, null, false), UsageTermCollection
.humanGroupLabel
);
101 combo_HumanGroup
.setTerms(humanGroupToAdd
);
102 combo_HumanGroup
.setSelection(modifierSelection(UsageTermCollection
.humanGroupLabel
));
104 List
<DefinedTerm
> ethnicGroupToAdd
= setEthnicGroupComboTerms(TermStore
.getTerms(DefinedTerm
.class, null, false), combo_HumanGroup
.getSelection());
105 if (ethnicGroupToAdd
!= null) {
106 combo_EthnicGroup
.setTerms(ethnicGroupToAdd
);
107 combo_EthnicGroup
.setSelection(modifierSelection(UsageTermCollection
.ethnicGroupLabel
));
108 combo_EthnicGroup
.setEnabled(true);
110 combo_EthnicGroup
.setEnabled(false);
116 * Returns the select modifier
117 * @param comboCategory
120 private DefinedTerm
modifierSelection(String comboCategory
) {
121 if(!getEntity().getModifiers().isEmpty()) {
122 for (DefinedTerm modifier
: getEntity().getModifiers()) {
123 if(GetVocabularyType(modifier
, comboCategory
)) {
135 * Returns the selected state
136 * @param comboCategory
139 private State
stateSelection(String comboCategory
) {
140 if (!getEntity().getStateData().isEmpty()) {
141 for (StateData statedata
: getEntity().getStateData()) {
142 if (statedata
.getModifyingText().get(CdmStore
.getDefaultLanguage()) != null) {
143 String testString
= statedata
.getModifyingText().get(CdmStore
.getDefaultLanguage()).getText();
144 if(testString
.equals(comboCategory
)) {
145 if(statedata
.getState() !=null) {
146 return statedata
.getState();
160 * This function sets the combo terms (Besides EthnicGroup
165 private List
<DefinedTerm
> setModifierComboTerms(List
<DefinedTerm
> listOfTerms
, String modType
) {
166 List
<DefinedTerm
> termsToAdd
= new ArrayList
<DefinedTerm
>();
167 for (DefinedTerm term
: listOfTerms
) {
169 if ((term
.getPartOf() != null) && (term
.getPartOf().getTitleCache().equals(modType
))) {
170 termsToAdd
.add(term
);
172 else if ((term
.getVocabulary() != null) && (term
.getPartOf() == null) && (term
.getVocabulary().getTitleCache().equals(modType
))) {
173 termsToAdd
.add(term
);
182 * This function sets the Use Category combo term
186 private List
<State
> setUseCategoryComboTerms(List
<State
> listOfTerms
) {
187 List
<State
> termsToAdd
= new ArrayList
<State
>();
188 for (State term
: listOfTerms
) {
190 if ((term
.getPartOf() != null) && (term
.getPartOf().getTitleCache().equals(UsageTermCollection
.useCategoryVocabularyLabel
))) {
191 termsToAdd
.add(term
);
193 else if ((term
.getVocabulary() !=null) && (term
.getPartOf() == null) && (term
.getVocabulary().getTitleCache().equals(UsageTermCollection
.useCategoryVocabularyLabel
))) {
194 termsToAdd
.add(term
);
202 * This function sets the Use SubCategory combo term
204 * @param selectedUseCategory
207 private List
<State
> setUseCategoryComboTerms(List
<State
> listOfTerms
,
208 State selectedUseCategory
) {
209 List
<State
> termsToAdd
= new ArrayList
<State
>();
210 if (combo_UseCategory
.getSelection() != null) {
212 for (State term
: listOfTerms
) {
213 if ((term
.getPartOf() != null) && (term
.getPartOf().getTitleCache().equals(selectedUseCategory
.getTitleCache()))) {
214 termsToAdd
.add(term
);
216 else if ((term
.getVocabulary() !=null) && (term
.getVocabulary().getTitleCache().equals(selectedUseCategory
.getTitleCache()))) {
217 termsToAdd
.add(term
);
222 else if (!getEntity().getStateData().isEmpty()) {
223 for (StateData stateData
: getEntity().getStateData()) {
224 if (stateData
.getModifyingText().get(CdmStore
.getDefaultLanguage()) != null) {
225 if ((stateData
.getState() != null) && (stateData
.getModifyingText().get(CdmStore
.getDefaultLanguage()).getText() == UsageTermCollection
.useCategoryVocabularyLabel
)) {
226 for (State term
: listOfTerms
) {
227 if ((term
.getPartOf() != null) && (term
.getPartOf().getTitleCache().equals(stateData
.getState().getTitleCache()))) {
228 termsToAdd
.add(term
);
229 } else if ((term
.getVocabulary() != null) && (term
.getVocabulary().getTitleCache().equals(stateData
.getState().getTitleCache()))) {
230 termsToAdd
.add(term
);
249 * This function sets the EthnicGroup combo term
251 * @param selectedHumangroup
254 private List
<DefinedTerm
> setEthnicGroupComboTerms(List
<DefinedTerm
> listOfTerms
,
255 DefinedTerm selectedHumangroup
) {
256 List
<DefinedTerm
> termsToAdd
= new ArrayList
<DefinedTerm
>();
257 if (combo_HumanGroup
.getSelection() != null) {
258 for (DefinedTerm term
: listOfTerms
) {
260 if ((term
.getPartOf() != null) && (term
.getPartOf().getTitleCache().equals(selectedHumangroup
.getTitleCache()))) {
261 termsToAdd
.add(term
);
263 else if ((term
.getVocabulary() != null) && (term
.getVocabulary().getTitleCache().equals(selectedHumangroup
.getTitleCache()))) {
264 termsToAdd
.add(term
);
268 else if (!getEntity().getModifiers().isEmpty()) {
269 for (DefinedTerm modifier
: getEntity().getModifiers()) {
270 if (modifier
.getMarkers() != null) {
271 for (Marker marker
: modifier
.getMarkers()) {
272 if(marker
.getMarkerType().getTitleCache().equals(UsageTermCollection
.humanGroupLabel
)) {
273 for (DefinedTerm term
: listOfTerms
) {
274 if ((term
.getPartOf() != null) && (term
.getPartOf().getTitleCache().equals(modifier
.getTitleCache()))) {
275 termsToAdd
.add(modifier
);
276 } else if ((term
.getVocabulary() != null) && (term
.getVocabulary().getTitleCache().equals(modifier
.getTitleCache()))) {
277 termsToAdd
.add(modifier
);
295 public void handleEvent(Object eventSource
) {
296 if (eventSource
== combo_UseCategory
) {
297 if (combo_UseCategory
.getSelection() != null) {
298 boolean isChanged
= false;
299 boolean isUseCategoryChanged
= false;
300 if (!getEntity().getStateData().isEmpty()) {
301 for (StateData useCategoryStateDataCheck
: getEntity().getStateData()) {
302 Map
<Language
, LanguageString
> modText
= useCategoryStateDataCheck
.getModifyingText();
303 if(modText
.get(CdmStore
.getDefaultLanguage()) != null && modText
.get(CdmStore
.getDefaultLanguage()).getText().equals(UsageTermCollection
.useCategoryVocabularyLabel
)) {
304 if(!useCategoryStateDataCheck
.getState().getTitleCache().equals(combo_UseCategory
.getSelection().getTitleCache())) {
305 isUseCategoryChanged
= true;
310 ListIterator
<StateData
> itrExistingStates
= getEntity().getStateData().listIterator();
311 while(itrExistingStates
.hasNext()) {
312 StateData existingStateData
= itrExistingStates
.next();
313 Map
<Language
, LanguageString
> modifyingText
= existingStateData
315 if (modifyingText
.get(CdmStore
.getDefaultLanguage()) != null) {
316 if (modifyingText
.get(CdmStore
.getDefaultLanguage()).getText().equals(UsageTermCollection
.useCategoryVocabularyLabel
)) {
318 if(!existingStateData
.getState().getTitleCache().equals(combo_UseCategory
.getSelection().getTitleCache())) {
319 itrExistingStates
.remove();
320 StateData stateData
= StateData
.NewInstance(combo_UseCategory
.getSelection());
321 stateData
.setState(combo_UseCategory
.getSelection());
322 stateData
.putModifyingText(CdmStore
.getDefaultLanguage(),UsageTermCollection
.useCategoryVocabularyLabel
);
323 itrExistingStates
.add(stateData
);
326 } else if (modifyingText
.get(CdmStore
.getDefaultLanguage()).getText().equals(UsageTermCollection
.useSubCategoryVocabularyLabel
) && isUseCategoryChanged
== true) {
327 itrExistingStates
.remove();
334 if (isChanged
== false) {
335 StateData stateData
= StateData
336 .NewInstance(combo_UseCategory
.getSelection());
337 stateData
.setState(combo_UseCategory
.getSelection());
338 stateData
.putModifyingText(CdmStore
.getDefaultLanguage(), UsageTermCollection
.useCategoryVocabularyLabel
);
339 getEntity().addStateData(stateData
);
342 combo_UseSubCategory
.setEnabled(true);
346 if (!getEntity().getStateData().isEmpty()) {
347 Iterator
<StateData
> itr
= getEntity().getStateData().iterator();
348 while(itr
.hasNext()) {
349 StateData stateToRemove
= itr
.next();
352 List
<State
> termsSubCategory
= new ArrayList
<State
>();
353 State emptyState
= State
.NewInstance();
354 termsSubCategory
.add(emptyState
);
355 combo_UseSubCategory
.setTerms(termsSubCategory
);
356 combo_UseSubCategory
.setEnabled(false);
361 if (eventSource
== combo_UseSubCategory
) {
362 if (combo_UseSubCategory
.getSelection() != null) {
363 boolean isChanged
= false;
364 if (!getEntity().getStateData().isEmpty()) {
365 ListIterator
<StateData
> itrExistingStates
= getEntity().getStateData().listIterator();
366 while(itrExistingStates
.hasNext()) {
367 StateData existingStateData
= itrExistingStates
.next();
368 Map
<Language
, LanguageString
> modifyingText
= existingStateData
370 if (modifyingText
.get(CdmStore
.getDefaultLanguage()) != null) {
371 if (modifyingText
.get(CdmStore
.getDefaultLanguage()).getText().equals(UsageTermCollection
.useSubCategoryVocabularyLabel
)) {
373 if(!existingStateData
.getState().getTitleCache().equals(combo_UseSubCategory
.getSelection().getTitleCache())) {
374 itrExistingStates
.remove();
375 StateData stateData
= StateData
.NewInstance(combo_UseSubCategory
.getSelection());
376 stateData
.setState(combo_UseSubCategory
.getSelection());
377 stateData
.putModifyingText(CdmStore
.getDefaultLanguage(),UsageTermCollection
.useSubCategoryVocabularyLabel
);
378 itrExistingStates
.add(stateData
);
385 if (isChanged
== false){
386 StateData stateData
= StateData
387 .NewInstance(combo_UseSubCategory
.getSelection());
388 stateData
.setState(combo_UseSubCategory
.getSelection());
389 stateData
.putModifyingText(CdmStore
.getDefaultLanguage(), UsageTermCollection
.useSubCategoryVocabularyLabel
);
390 getEntity().addStateData(stateData
);
394 if (!getEntity().getStateData().isEmpty()) {
395 Iterator
<StateData
> itrStateData
= getEntity().getStateData().iterator();
396 while(itrStateData
.hasNext()) {
397 StateData existingStateData
= itrStateData
.next();
398 Map
<Language
, LanguageString
> modifyingText
= existingStateData
401 if (modifyingText
.get(CdmStore
.getDefaultLanguage()) != null) {
402 if (modifyingText
.get(CdmStore
.getDefaultLanguage()).getText() == UsageTermCollection
.useSubCategoryVocabularyLabel
) {
403 itrStateData
.remove();
410 if (eventSource
== combo_PlantPart
) {
411 if (combo_PlantPart
.getSelection() != null) {
412 Iterator
<DefinedTerm
> itrExistingModifiers
= getEntity().getModifiers().iterator();
413 while (itrExistingModifiers
.hasNext()) {
414 DefinedTerm modifier
= itrExistingModifiers
.next();
415 if(GetVocabularyType(modifier
, UsageTermCollection
.plantPartLabel
)) {
416 itrExistingModifiers
.remove();
420 DefinedTerm plantPart
= combo_PlantPart
.getSelection();
421 getEntity().addModifier(plantPart
);
423 Set
<DefinedTerm
> modifiers
= getEntity().getModifiers();
424 if(!modifiers
.isEmpty()) {
425 Iterator
<DefinedTerm
> itr
= modifiers
.iterator();
426 while (itr
.hasNext()) {
427 DefinedTerm currentMod
= itr
.next();
428 if(GetVocabularyType(currentMod
, UsageTermCollection
.plantPartLabel
)) {
436 if (eventSource
== combo_Country
) {
437 if (combo_Country
.getSelection() != null) {
438 Iterator
<DefinedTerm
> itrExistingModifiers
= getEntity().getModifiers().iterator();
439 while (itrExistingModifiers
.hasNext()) {
440 DefinedTerm modifier
= itrExistingModifiers
.next();
441 if(GetVocabularyType(modifier
, UsageTermCollection
.countryLabel
)) {
442 itrExistingModifiers
.remove();
446 DefinedTerm country
= combo_Country
.getSelection();
447 getEntity().addModifier(country
);
449 Set
<DefinedTerm
> modifiers
= getEntity().getModifiers();
450 if(!modifiers
.isEmpty()) {
451 Iterator
<DefinedTerm
> itr
= modifiers
.iterator();
452 while (itr
.hasNext()) {
453 DefinedTerm currentMod
= itr
.next();
454 if(GetVocabularyType(currentMod
, UsageTermCollection
.countryLabel
)) {
461 if (eventSource
== combo_HumanGroup
) {
462 if (combo_HumanGroup
.getSelection() != null) {
463 boolean isHumanGroupChanged
= true;
464 for (DefinedTerm modToCheck
: getEntity().getModifiers()) {
465 if(modToCheck
.equals(combo_HumanGroup
.getSelection()) && (GetVocabularyType(modToCheck
, UsageTermCollection
.humanGroupLabel
))) {
466 isHumanGroupChanged
= false;
471 Iterator
<DefinedTerm
> itrExistingModifiers
= getEntity().getModifiers().iterator();
472 while (itrExistingModifiers
.hasNext()) {
473 DefinedTerm modifier
= itrExistingModifiers
.next();
474 if((GetVocabularyType(modifier
, UsageTermCollection
.humanGroupLabel
) || GetVocabularyType(modifier
, UsageTermCollection
.ethnicGroupLabel
)) && isHumanGroupChanged
) {
475 itrExistingModifiers
.remove();
479 if(isHumanGroupChanged
){
480 DefinedTerm humanGroup
= combo_HumanGroup
.getSelection();
481 getEntity().addModifier(humanGroup
);
483 combo_EthnicGroup
.setEnabled(true);
485 Set
<DefinedTerm
> modifiers
= getEntity().getModifiers();
486 if(!modifiers
.isEmpty()) {
487 Iterator
<DefinedTerm
> itr
= modifiers
.iterator();
488 while (itr
.hasNext()) {
489 DefinedTerm currentMod
= itr
.next();
490 if(GetVocabularyType(currentMod
, UsageTermCollection
.humanGroupLabel
) || GetVocabularyType(currentMod
, UsageTermCollection
.ethnicGroupLabel
)) {
495 List
<DefinedTerm
> emptyListToResetComboBox
= new ArrayList
<DefinedTerm
>();
497 //DefinedTerm emptyMod = DefinedTerm.NewInstance();
498 DefinedTerm emptyMod
= null;
502 emptyListToResetComboBox
.add(emptyMod
);
503 combo_EthnicGroup
.setTerms(emptyListToResetComboBox
);
504 combo_EthnicGroup
.setEnabled(false);
508 if (eventSource
== combo_EthnicGroup
) {
509 if (combo_EthnicGroup
.getSelection() != null) {
510 Iterator
<DefinedTerm
> itrExistingModifiers
= getEntity().getModifiers().iterator();
511 while (itrExistingModifiers
.hasNext()) {
512 DefinedTerm modifier
= itrExistingModifiers
.next();
513 if(GetVocabularyType(modifier
, combo_HumanGroup
.getSelection().getTitleCache())) {
514 itrExistingModifiers
.remove();
518 DefinedTerm ethnicGroup
= combo_EthnicGroup
.getSelection();
519 getEntity().addModifier(ethnicGroup
);
521 Set
<DefinedTerm
> modifiers
= getEntity().getModifiers();
522 if(!modifiers
.isEmpty()) {
524 Iterator
<DefinedTerm
> itr
= modifiers
.iterator();
525 while (itr
.hasNext()) {
526 DefinedTerm currentMod
= itr
.next();
527 if(GetVocabularyType(currentMod
, UsageTermCollection
.ethnicGroupLabel
)) {
540 * This function Checks the vocabulary type
542 * @param vocabularyExpected
545 private boolean GetVocabularyType(DefinedTerm term
, String vocabularyExpected
) {
546 if ((term
.getPartOf() != null) && (term
.getPartOf().getTitleCache().equals(vocabularyExpected
))) {
549 else if ((term
.getVocabulary() != null) && (term
.getPartOf()==null) && (term
.getVocabulary().getTitleCache().equals(vocabularyExpected
))) {
552 else if ((vocabularyExpected
.equals(UsageTermCollection
.ethnicGroupLabel
)) && ((term
.getPartOf() != null))) {
562 public void setEntity(CategoricalData entity
) {
563 super.setEntity(entity
);
568 public void widgetSelected(SelectionEvent e
) {
569 Object eventSource
= e
.getSource();
570 for (Object object
: combo_UseCategory
.getControls()) {
571 if (object
== eventSource
) {
572 State selectedUseCategory
= combo_UseCategory
.getSelection();
573 if (selectedUseCategory
!= null) {
574 combo_UseSubCategory
.setTerms(setUseCategoryComboTerms(TermStore
.getTerms(State
.class, null, false),selectedUseCategory
));
576 if (!getEntity().getStateData().isEmpty()) {
577 Iterator
<StateData
> itrExistingState
= getEntity().getStateData().iterator();
578 while(itrExistingState
.hasNext()) {
579 StateData existingStateData
= (StateData
) itrExistingState
.next();
580 Map
<Language
, LanguageString
> modifyingText
= existingStateData
.getModifyingText();
581 if (modifyingText
.get(CdmStore
.getDefaultLanguage()) != null) {
582 if (modifyingText
.get(CdmStore
.getDefaultLanguage())
583 .getText().equals(UsageTermCollection
.useSubCategoryVocabularyLabel
)) {
584 combo_UseSubCategory
.setSelection(stateSelection(UsageTermCollection
.useSubCategoryVocabularyLabel
));
592 for (Object object
: combo_HumanGroup
.getControls()) {
593 if (object
== eventSource
) {
594 DefinedTerm selectedHumanGroup
= combo_HumanGroup
.getSelection();
595 if (selectedHumanGroup
!= null) {
596 combo_EthnicGroup
.setTerms(setEthnicGroupComboTerms(TermStore
.getTerms(DefinedTerm
.class, null, false), selectedHumanGroup
));
597 if (!getEntity().getModifiers().isEmpty()) {
598 Iterator
<DefinedTerm
> iterModifiers
= getEntity().getModifiers().iterator();
599 while (iterModifiers
.hasNext()) {
600 DefinedTerm existingModifier
= iterModifiers
.next();
601 if(GetVocabularyType(existingModifier
, UsageTermCollection
.ethnicGroupLabel
)) {
602 combo_EthnicGroup
.setSelection(modifierSelection(UsageTermCollection
.ethnicGroupLabel
));
614 public void widgetDefaultSelected(SelectionEvent e
) {
615 // TODO Auto-generated method stub