eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/TaxonomicEditorPlugin.java -text
eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/BulkEditing.java -text
eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/Default.java -text
+eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/PalmUses.java -text
eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/PolytomousKey.java -text
eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/Taxonomic.java -text
eu.etaxonomy.taxeditor.application/src/main/resources/log4j.properties -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/DeleteMediaOperation.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/MoveMediaInListOperation.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/RemoveImageFromDescriptionElementOperation.java -text
+eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/UsesContentProvider.java -text
+eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/UsesLabelProvider.java -text
+eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/UsesViewPart.java -text
+eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/CreateUseHandler.java -text
+eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/CreateUseRecordHandler.java -text
+eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/DeleteUseHandler.java -text
+eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/CreateTaxonUseOperation.java -text
+eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/CreateUseRecordOperation.java -text
+eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/DeleteTaxonUseOperation.java -text
+eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/DeleteUseRecordOperation.java -text
eu.etaxonomy.taxeditor.editor/src/main/resources/TaonDescriptionEditor.screen -text
eu.etaxonomy.taxeditor.editor/src/main/resources/log4j.properties -text
eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/Application.java -text
eu.etaxonomy.taxeditor.store/icons/icon.png -text
eu.etaxonomy.taxeditor.store/icons/import_wiz.gif -text
eu.etaxonomy.taxeditor.store/icons/large_image.gif -text
+eu.etaxonomy.taxeditor.store/icons/leaf_detail.png -text
eu.etaxonomy.taxeditor.store/icons/linkto_help.gif -text
eu.etaxonomy.taxeditor.store/icons/lockedstate.gif -text
eu.etaxonomy.taxeditor.store/icons/ma_12x12.gif -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/ExtensionTypeEditorInput.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/FeatureEditorInput.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/MarkerTypeEditorInput.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/ModifierEditorInput.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/NamedAreaEditorInput.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/NamedAreaLevelEditorInput.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/StateEditorInput.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/PersonSelectionDialog.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/PolytomousKeySelectionDialog.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/ReferenceSelectionDialog.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/SelectionDialogFactory.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/TaxonBaseSelectionDialog.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/TaxonNodeSelectionDialog.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/TeamSelectionDialog.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/KeyValueViewerElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/LabelElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/LanguageStringWithLabelElement.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/LayoutConstants.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/MultilanguageTextElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/NumberWithLabelElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/PartialElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AbstractReferencedEntityElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AnnotationElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AnnotationSection.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/CdmBaseElement.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/CdmBaseSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/CreditElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/CreditSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/ExtensionElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailWizardPage.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/userecords/UseRecordDetailElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/userecords/UseRecordDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/AbstractTermBaseDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaLevelDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailSection.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/AbstractSelectionElement.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/AgentSelectionElement.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/ClassificationSelectionElement.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/CollectionSelectionElement.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/DerivedUnitBaseSelectionElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/FeatureSelectionElement.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/FeatureTreeSelectionElement.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/FieldObservationSelectionElement.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/GroupSelectionElement.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/InstitutionSelectionElement.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/NameSelectionElement.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/NamedAreaSelectionElement.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EntitySelectionElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/NomenclaturalAuthorTeamSelectionElement.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/PersonSelectionElement.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/PolytomousKeyNodeSelectionElement.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/PolytomousKeySelectionElement.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/ReferenceSelectionElement.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/SynonymSelectionElement.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TaxonBaseSelectionElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TaxonNodeSelectionElement.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TaxonSelectionElement.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TeamSelectionElement.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/UserSelectionElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/GoogleLanguageApiWrapper.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/ITranslationServiceWrapper.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/LanguageNotSupportedException.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/reporting/ReportingViewPart.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/supplementaldata/SupplementalDataViewPart.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/supplementaldata/SupplementalDataViewer.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/userecords/UseRecordsViewPart.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/userecords/UseRecordsViewer.java -text
eu.etaxonomy.taxeditor.store/src/main/resources/eu/etaxonomy/cdm/editorApplicationContext.xml -text
eu.etaxonomy.taxeditor.store/src/main/resources/log4j.properties -text
eu.etaxonomy.taxeditor.store/src/test/java/eu/etaxonomy/taxeditor/store/NameProtectTitleCacheTest.java -text
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement;
import eu.etaxonomy.taxeditor.ui.element.ISelectable;
+ import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
/**
* <p>
private Class<T> termClass;
+ private List<T> customPreferredTerms;
+
/**
* <p>
// create combo
combo = new Combo(getLayoutComposite(), SWT.BORDER | SWT.READ_ONLY);
addControl(combo);
- combo.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY());
+ combo.setLayoutData(LayoutConstants.FILL_HORIZONTALLY());
combo.setVisibleItemCount(DEFAULT_VISIBLE_ITEMS);
populateTerms(getPreferredTerms());
}
/**
- * <p>
- * Setter for the field <code>selection</code>.
- * </p>
+ * <p>Sets the selection of the combo to the given T object.</p>
+ * <p>Passing <code>null</code> to this method will set the selection to
+ * the empty element and effectively clear the selection</p>
*
* @param selection
- * a T object.
+ * a T object or <code>null</code> to clear the selection
*/
- public void setSelection(T selection) {
+ public void setSelection(T selection) {
Listener[] listeners = combo.getListeners(SWT.Selection);
for (Listener listener : listeners) {
combo.removeListener(SWT.Selection, listener);
}
-
- int index = terms.indexOf(selection);
- if (index == -1) {
- createTermNotInPreferredTerms(selection);
- index = terms.indexOf(selection);
+ int selectedIndex;
+ if(selection == null){
+ // set selection to the emptyElement
+ selectedIndex = 0;
+ }else{
+ selectedIndex = terms.indexOf(selection);
+ if (selectedIndex == -1) {
+ createTermNotInPreferredTerms(selection);
+ selectedIndex = terms.indexOf(selection);
+ }
}
- combo.select(index);
+ combo.select(selectedIndex);
for (Listener listener : listeners) {
combo.addListener(SWT.Selection, listener);
}
}
+ /**
+ * Fills the combo with elements and sets up the convenience functions
+ * for selection index
+ *
+ * @param preferredTerms
+ */
private void populateTerms(List<T> preferredTerms) {
combo.removeAll();
}
if (selection != null && index == 0) {
-- createTermNotInPreferredTerms(selection);
++ //createTermNotInPreferredTerms(selection);
++ selection = null;
}
combo.select(index);
* @return a {@link java.util.List} object.
*/
protected List<T> getPreferredTerms(){
+ if (customPreferredTerms != null){
+ return customPreferredTerms;
+ }
return getTermManager().getPreferredTerms(termClass);
}
return term.getLabel(CdmStore.getDefaultLanguage());
}
+ /**
+ *
+ *
+ * @param term
+ */
private void createTermNotInPreferredTerms(T term) {
List<T> preferredTerms = getPreferredTerms();
return CdmStore.getTermManager();
}
+ /**
+ *
+ * @return
+ */
public int getVisibleItemCount(){
return combo.getVisibleItemCount();
}
+ /**
+ *
+ * @param count
+ */
public void setVisibleItemCount(int count){
combo.setVisibleItemCount(count);
}
+ /**
+ * <p>A {@link List} of term objects may be passed to this combo box. In this case, the default behaviour
+ * of displaying the preferred terms for the T type will be overridden and the combo will only display the
+ * given terms. Also, any previous selection will be reseted.</p>
+ *
+ * <p>To return to the default of displaying the preferred terms, simply pass <code>null</code>.</p>
+ *
+ * @param terms a {@link List} of T objects or <code>null</code> for default preferred terms
+ */
public void setTerms(List<T> terms) {
- populateTerms(terms);
+ setSelection(null);
+ customPreferredTerms = terms;
+ populateTerms(customPreferredTerms);
}
}
import org.eclipse.ui.forms.IFormColors;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.Section;
- import org.eclipse.ui.forms.widgets.TableWrapData;
- import org.eclipse.ui.forms.widgets.TableWrapLayout;
import org.eclipse.ui.internal.forms.widgets.FormFonts;
import org.joda.time.Partial;
import org.springframework.security.core.GrantedAuthority;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
- import eu.etaxonomy.cdm.model.agent.Institution;
import eu.etaxonomy.cdm.model.agent.Person;
import eu.etaxonomy.cdm.model.agent.Team;
- import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
import eu.etaxonomy.cdm.model.common.Annotation;
+ import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.Credit;
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
import eu.etaxonomy.cdm.model.common.DescriptionElementSource;
import eu.etaxonomy.cdm.model.common.Extension;
import eu.etaxonomy.cdm.model.common.Group;
- import eu.etaxonomy.cdm.model.common.IAnnotatableEntity;
import eu.etaxonomy.cdm.model.common.ICdmBase;
import eu.etaxonomy.cdm.model.common.IDefinedTerm;
import eu.etaxonomy.cdm.model.common.IdentifiableSource;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.description.Distribution;
import eu.etaxonomy.cdm.model.description.Feature;
- import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
import eu.etaxonomy.cdm.model.description.KeyStatement;
import eu.etaxonomy.cdm.model.description.Modifier;
- import eu.etaxonomy.cdm.model.description.PolytomousKey;
- import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
import eu.etaxonomy.cdm.model.description.QuantitativeData;
import eu.etaxonomy.cdm.model.description.Scope;
import eu.etaxonomy.cdm.model.description.StateData;
import eu.etaxonomy.cdm.model.name.NameTypeDesignation;
import eu.etaxonomy.cdm.model.name.NomenclaturalStatus;
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
- import eu.etaxonomy.cdm.model.name.TaxonNameBase;
- import eu.etaxonomy.cdm.model.occurrence.Collection;
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
- import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
- import eu.etaxonomy.cdm.model.occurrence.FieldObservation;
import eu.etaxonomy.cdm.model.occurrence.Specimen;
import eu.etaxonomy.cdm.model.reference.Reference;
- import eu.etaxonomy.cdm.model.taxon.Classification;
- import eu.etaxonomy.cdm.model.taxon.Synonym;
import eu.etaxonomy.cdm.model.taxon.Taxon;
- import eu.etaxonomy.cdm.model.taxon.TaxonBase;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
import eu.etaxonomy.cdm.strategy.parser.ParserProblem;
import eu.etaxonomy.taxeditor.store.StoreUtil;
import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceDetailSection;
import eu.etaxonomy.taxeditor.ui.section.supplemental.AnnotationElement;
import eu.etaxonomy.taxeditor.ui.section.supplemental.AnnotationSection;
+ import eu.etaxonomy.taxeditor.ui.section.supplemental.CdmBaseElement;
+ import eu.etaxonomy.taxeditor.ui.section.supplemental.CdmBaseSection;
import eu.etaxonomy.taxeditor.ui.section.supplemental.CreditElement;
import eu.etaxonomy.taxeditor.ui.section.supplemental.CreditSection;
import eu.etaxonomy.taxeditor.ui.section.supplemental.ExtensionElement;
import eu.etaxonomy.taxeditor.ui.section.user.GroupsByUserDetailSection;
import eu.etaxonomy.taxeditor.ui.section.user.UserDetailElement;
import eu.etaxonomy.taxeditor.ui.section.user.UserDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.userecords.UseRecordDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.userecords.UseRecordDetailSection;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.DefinedTermDetailElement;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.DefinedTermDetailSection;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.NamedAreaDetailSection;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermVocabularyDetailElement;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermVocabularyDetailSection;
- import eu.etaxonomy.taxeditor.ui.selection.AbstractSelectionElement;
- import eu.etaxonomy.taxeditor.ui.selection.AgentSelectionElement;
- import eu.etaxonomy.taxeditor.ui.selection.ClassificationSelectionElement;
- import eu.etaxonomy.taxeditor.ui.selection.CollectionSelectionElement;
- import eu.etaxonomy.taxeditor.ui.selection.DerivedUnitBaseSelectionElement;
- import eu.etaxonomy.taxeditor.ui.selection.FeatureSelectionElement;
- import eu.etaxonomy.taxeditor.ui.selection.FeatureTreeSelectionElement;
- import eu.etaxonomy.taxeditor.ui.selection.FieldObservationSelectionElement;
- import eu.etaxonomy.taxeditor.ui.selection.GroupSelectionElement;
- import eu.etaxonomy.taxeditor.ui.selection.InstitutionSelectionElement;
- import eu.etaxonomy.taxeditor.ui.selection.NameSelectionElement;
- import eu.etaxonomy.taxeditor.ui.selection.NamedAreaSelectionElement;
+ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
import eu.etaxonomy.taxeditor.ui.selection.NomenclaturalAuthorTeamSelectionElement;
- import eu.etaxonomy.taxeditor.ui.selection.PersonSelectionElement;
- import eu.etaxonomy.taxeditor.ui.selection.PolytomousKeyNodeSelectionElement;
- import eu.etaxonomy.taxeditor.ui.selection.PolytomousKeySelectionElement;
- import eu.etaxonomy.taxeditor.ui.selection.ReferenceSelectionElement;
- import eu.etaxonomy.taxeditor.ui.selection.SynonymSelectionElement;
- import eu.etaxonomy.taxeditor.ui.selection.TaxonBaseSelectionElement;
import eu.etaxonomy.taxeditor.ui.selection.TaxonNodeSelectionElement;
- import eu.etaxonomy.taxeditor.ui.selection.TaxonSelectionElement;
- import eu.etaxonomy.taxeditor.ui.selection.TeamSelectionElement;
- import eu.etaxonomy.taxeditor.ui.selection.UserSelectionElement;
/**
* <p>
private final int orientation = Window.getDefaultOrientation();
private ISelectionProvider selectionProvider;
- /**
- * <p>
- * LAYOUT
- * </p>
- *
- * @return a {@link org.eclipse.ui.forms.widgets.TableWrapLayout} object.
- */
- public static final TableWrapLayout LAYOUT() {
- return LAYOUT(1, false);
- }
-
- /**
- * <p>
- * LAYOUT
- * </p>
- *
- * @param columns
- * a int.
- * @param equalWidth
- * a boolean.
- * @return a {@link org.eclipse.ui.forms.widgets.TableWrapLayout} object.
- */
- public static final TableWrapLayout LAYOUT(int columns, boolean equalWidth) {
- TableWrapLayout layout = new TableWrapLayout();
- layout.topMargin = 0;
- layout.rightMargin = 0;
- layout.bottomMargin = 0;
- layout.leftMargin = 0;
- layout.numColumns = columns;
- layout.makeColumnsEqualWidth = equalWidth;
- layout.verticalSpacing = 0;
- layout.horizontalSpacing = 0;
- return layout;
- }
-
- /**
- * <p>
- * FILL
- * </p>
- *
- * @return a {@link org.eclipse.ui.forms.widgets.TableWrapData} object.
- */
- public static final TableWrapData FILL() {
- return FILL(1, 1);
- }
-
- /**
- * <p>
- * FILL
- * </p>
- *
- * @param horizontalSpan
- * a int.
- * @param verticalSpan
- * a int.
- * @return a {@link org.eclipse.ui.forms.widgets.TableWrapData} object.
- */
- public static final TableWrapData FILL(int horizontalSpan, int verticalSpan) {
- TableWrapData layoutData = new TableWrapData(TableWrapData.FILL_GRAB,
- TableWrapData.FILL_GRAB);
- layoutData.colspan = horizontalSpan;
- layoutData.rowspan = verticalSpan;
- return layoutData;
- }
-
- /**
- * <p>
- * LEFT
- * </p>
- *
- * @return a {@link org.eclipse.ui.forms.widgets.TableWrapData} object.
- */
- public static final TableWrapData LEFT() {
- return new TableWrapData(TableWrapData.LEFT, TableWrapData.TOP);
- }
-
- /**
- * <p>
- * RIGHT
- * </p>
- *
- * @return a {@link org.eclipse.ui.forms.widgets.TableWrapData} object.
- */
- public static final TableWrapData RIGHT() {
- return new TableWrapData(TableWrapData.RIGHT, TableWrapData.TOP);
- }
-
- /**
- * <p>
- * FILL_HORIZONTALLY
- * </p>
- *
- * @return a {@link org.eclipse.ui.forms.widgets.TableWrapData} object.
- */
- public static final TableWrapData FILL_HORIZONTALLY() {
- return FILL_HORIZONTALLY(1, 1);
- }
-
- /**
- * <p>
- * FILL_HORIZONTALLY
- * </p>
- *
- * @param horizontalSpan
- * a int.
- * @param verticalSpan
- * a int.
- * @return a {@link org.eclipse.ui.forms.widgets.TableWrapData} object.
- */
- public static final TableWrapData FILL_HORIZONTALLY(int horizontalSpan,
- int verticalSpan) {
- TableWrapData layoutData = new TableWrapData(TableWrapData.FILL_GRAB,
- TableWrapData.TOP);
- layoutData.colspan = horizontalSpan;
- layoutData.rowspan = verticalSpan;
- return layoutData;
- }
-
/** Constant <code>EMPTY_SELECTION</code> */
public static ISelection EMPTY_SELECTION = new ISelection() {
@Override
}
};
+ /**
+ *
+ * @author n.hoffmann
+ * @date Jan 25, 2010
+ *
+ */
private class SelectionMouseHandler extends MouseAdapter {
@Override
public void mouseDown(MouseEvent e) {
}
}
+ /**
+ *
+ * @author n.hoffmann
+ * @date Jan 25, 2010
+ *
+ */
private class SelectionFocusHandler extends FocusAdapter {
@Override
public void focusGained(FocusEvent e) {
return element;
}
- /**
- *
- * @author n.hoffmann
- * @created Mar 5, 2010
- * @version 1.0
- */
- public static enum SelectionType {
- AGENT, INSTITUTION, NAME, REFERENCE, TAXON_BASE, TAXON, SYNONYM, TEAM, AUTHOR_TEAM, PERSON, DERIVED_UNIT, FIELD_OBSERVATION, FEATURE_TREE, CLASSIFICATION, TAXON_NODE, COLLECTION, FEATURE, POLYTOMOUS_KEY, POLYTOMOUS_KEY_NODE, USER, GROUP
- }
-
/**
* <p>
* createCheckbox
int style) {
Label separator = this.createSeparator(
parentElement.getLayoutComposite(), SWT.HORIZONTAL | style);
- separator.setLayoutData(FILL_HORIZONTALLY());
+ separator.setLayoutData(LayoutConstants.FILL_HORIZONTALLY());
return separator;
}
parentElement.addElement(element);
return element;
}
+
+ /**
+ * @param cdmBaseSection
+ * @param object
+ * @param style
+ * @return
+ */
+ public CdmBaseElement createCdmBaseElement(ICdmFormElement parentElement,
+ CdmBase entity, int style) {
+ CdmBaseElement element = new CdmBaseElement(this, parentElement,
+ entity, style);
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
+
/**
* <p>
adapt(section);
return section;
}
+
+ /**
+ * @param parent
+ * @param i
+ * @return
+ */
+ public CdmBaseSection createCdmBaseSection(ICdmFormElement parentElement, int style) {
+ CdmBaseSection section = new CdmBaseSection(this, parentElement, style);
+ parentElement.addElement(section);
+ adapt(section);
+ return section;
+ }
/**
* <p>
REFERENCED_ENTITY,
TERM_VOCABULARY,
NAMED_AREA,
- NAMED_AREA_LEVEL
+ NAMED_AREA_LEVEL,
+ USE_RECORD
}
public AbstractFormSection createDefinedTermDetailSection(Class definedTermClass,
section = new NamedAreaDetailSection(this, conversation, parentElement,
selectionProvider, style);
break;
+ case USE_RECORD:
+ section = new UseRecordDetailSection(this, conversation, parentElement,
+ selectionProvider, style);
+ break;
}
+
if (section == null) {
throw new RuntimeException(
case NAMED_AREA_LEVEL:
element = new DefinedTermDetailElement<NamedAreaLevel>(this, parentElement);
break;
+ case USE_RECORD:
+ //element = new UseRecordDetailElement(this, parentElement, style);
+ element = new UseRecordDetailElement(this, parentElement);
+ break;
}
if (element == null) {
/**
* <p>
- * createSelectionElement
+ * Creates a selection element for the given type T.
+ * </p>
+ * <p>
+ * <strong>Selection elements not handled by this method:</strong>
+ * <ul>
+ * <li>{@link TaxonNodeSelectionElement} see {@link #createTaxonNodeSelectionElement(ConversationHolder, ICdmFormElement, String, TaxonNode, int, int)}</li>
+ * <li>{@link NomenclaturalAuthorTeamSelectionElement} see {@link #createNomenclaturalAuthorTeamSelectionElement(ConversationHolder, ICdmFormElement, String, Team, int, int)}</li>
+ * </ul>
* </p>
*
- * @param selectionType
- * a
- * {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.SelectionType}
- * object.
+ * @param clazz
+ * a {@link Class} object of the type that you want the selection element to handle
* @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * a {@link ICdmFormElement}
* object.
* @param labelString
- * a {@link java.lang.String} object.
+ * a {@link String} object.
* @param selectionType
* @param selection
- * a {@link eu.etaxonomy.cdm.model.common.IAnnotatableEntity}
- * object.
+ * a {@link ICdmBase} object.
* @param style
* a int.
* @param conversation
- * a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
- * object.
+ * a {@link ConversationHolder} object.
* @return a
- * {@link eu.etaxonomy.taxeditor.ui.selection.AbstractSelectionElement}
+ * {@link EntitySelectionElement}
* object.
*/
- public AbstractSelectionElement createSelectionElement(
- SelectionType selectionType, ConversationHolder conversation,
+ public <T extends ICdmBase> EntitySelectionElement<T> createSelectionElement(
+ Class<T> clazz, ConversationHolder conversation,
ICdmFormElement parentElement, String labelString,
- ICdmBase selection, int mode, int style) {
- AbstractSelectionElement element = null;
-
- IAnnotatableEntity entity = (IAnnotatableEntity) HibernateProxyHelper
- .deproxy(selection);
-
- switch (selectionType) {
- case AGENT:
- element = new AgentSelectionElement(this, conversation,
- parentElement, labelString, (TeamOrPersonBase) entity,
- mode, style);
- break;
- case PERSON:
- element = new PersonSelectionElement(this, conversation,
- parentElement, labelString, (Person) entity, mode, style);
- break;
- case TEAM:
- element = new TeamSelectionElement(this, conversation,
- parentElement, labelString, (Team) entity, mode, style);
- break;
- case AUTHOR_TEAM:
- element = new NomenclaturalAuthorTeamSelectionElement(this,
- conversation, parentElement, labelString, (Team) entity,
- mode, style);
- break;
- case INSTITUTION:
- element = new InstitutionSelectionElement(this, conversation,
- parentElement, labelString, (Institution) entity, mode,
- style);
- break;
- case NAME:
- element = new NameSelectionElement(this, conversation,
- parentElement, labelString, (TaxonNameBase) entity, mode,
- style);
- break;
- case REFERENCE:
- element = new ReferenceSelectionElement(this, conversation,
- parentElement, labelString, (Reference) entity, mode, style);
- break;
- case TAXON_BASE:
- element = new TaxonBaseSelectionElement(this, conversation,
- parentElement, labelString, (TaxonBase) entity, mode, style);
- break;
- case TAXON:
- element = new TaxonSelectionElement(this, conversation,
- parentElement, labelString, (Taxon) entity, mode, style);
- break;
- case SYNONYM:
- element = new SynonymSelectionElement(this, conversation,
- parentElement, labelString, (Synonym) entity, mode, style);
- break;
- case DERIVED_UNIT:
- element = new DerivedUnitBaseSelectionElement(this, conversation,
- parentElement, labelString, (DerivedUnitBase) entity, mode,
- style);
- break;
- case FIELD_OBSERVATION:
- element = new FieldObservationSelectionElement(this, conversation,
- parentElement, labelString, (FieldObservation) entity,
- mode, style);
- break;
- case FEATURE_TREE:
- element = new FeatureTreeSelectionElement(this, conversation,
- parentElement, labelString, (FeatureTree) entity, mode,
- style);
- break;
- case CLASSIFICATION:
- element = new ClassificationSelectionElement(this, conversation,
- parentElement, labelString, (Classification) entity, mode,
- style);
- break;
- case TAXON_NODE:
- element = new TaxonNodeSelectionElement(this, conversation,
- parentElement, labelString, (TaxonNode) entity, mode, style);
- break;
- case COLLECTION:
- element = new CollectionSelectionElement(this, conversation,
- parentElement, labelString, (Collection) entity, mode,
- style);
- break;
- case FEATURE:
- element = new FeatureSelectionElement(this, conversation,
- parentElement, labelString, (Feature) entity, mode, style);
- break;
- case POLYTOMOUS_KEY:
- element = new PolytomousKeySelectionElement(this, conversation,
- parentElement, labelString, (PolytomousKey) entity, mode,
- style);
- break;
- case POLYTOMOUS_KEY_NODE:
- element = new PolytomousKeyNodeSelectionElement(this, conversation,
- parentElement, labelString, (PolytomousKeyNode) entity,
- mode, style);
- break;
- case USER:
- element = new UserSelectionElement(this, conversation,
- parentElement, labelString, (User) entity, mode, style);
- break;
- case GROUP:
- element = new GroupSelectionElement(this, conversation,
- parentElement, labelString, (Group) entity, mode, style);
- break;
- default:
- new RuntimeException(
- "There is no selection composite for the desired selection type.");
- break;
- }
-
+ T selection, int mode, int style) {
+ EntitySelectionElement<T> element = new EntitySelectionElement<T>(this, conversation, parentElement, clazz, labelString, selection, mode, style);
adapt(element);
parentElement.addElement(element);
return element;
}
-
- /**
- * <p>
- * createNamedAreaSelectionElement
- * </p>
- *
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @param conversation
- * a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
- * object.
- * @param labelString
- * a {@link java.lang.String} object.
- * @param selection
- * a {@link eu.etaxonomy.cdm.model.location.NamedArea} object.
- * @param style
- * a int.
- * @return a
- * {@link eu.etaxonomy.taxeditor.ui.selection.NamedAreaSelectionElement}
- * object.
- */
- public NamedAreaSelectionElement createNamedAreaSelectionElement(
- ICdmFormElement parentElement, ConversationHolder conversation,
- String labelString, NamedArea selection, int style) {
- NamedAreaSelectionElement element = new NamedAreaSelectionElement(this,
- conversation, parentElement, labelString, selection,
- AbstractSelectionElement.NOTHING, style);
+
+ public TaxonNodeSelectionElement createTaxonNodeSelectionElement(
+ ConversationHolder conversation,
+ ICdmFormElement parentElement, String labelString,
+ TaxonNode selection, int mode, int style) {
+ TaxonNodeSelectionElement element = new TaxonNodeSelectionElement(this, conversation, parentElement, labelString, selection, mode, style);
adapt(element);
parentElement.addElement(element);
return element;
}
-
+
+ public NomenclaturalAuthorTeamSelectionElement createNomenclaturalAuthorTeamSelectionElement(
+ ConversationHolder conversation,
+ ICdmFormElement parentElement, String labelString,
+ Team selection, int mode, int style) {
+ NomenclaturalAuthorTeamSelectionElement element = new NomenclaturalAuthorTeamSelectionElement(this, conversation, parentElement, labelString, selection, mode, style);
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
+
+
/** {@inheritDoc} */
public LabelElement createLabel(ICdmFormElement parentElement, String text) {
LabelElement labelElement = new LabelElement(this, parentElement, text);
+
+
+
}
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
- import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.SelectionType;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
- import eu.etaxonomy.taxeditor.ui.selection.FeatureTreeSelectionElement;
+ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
/**
* <p>DescriptionDetailElement class.</p>
public class DescriptionDetailElement extends AbstractCdmDetailElement<DescriptionBase> {
private TextWithLabelElement detailDescription;
- private FeatureTreeSelectionElement selection_featureTree;
+ private EntitySelectionElement<FeatureTree> selection_featureTree;
/**
* <p>Constructor for DescriptionDetailElement.</p>
detailDescription = formFactory.createMultilineTextWithLabel(this, "Label", 50, SWT.WRAP);
detailDescription.setText(entity.getTitleCache());
- selection_featureTree = (FeatureTreeSelectionElement) formFactory.createSelectionElement(SelectionType.FEATURE_TREE, getConversationHolder(), formElement, "Feature Tree", null, style, 1);
-// selection_featureTree = (FeatureTreeSelectionElement) formFactory.createSelectionElement(SelectionType.FEATURE_TREE, getConversationHolder(), formElement, "Feature Tree", null, style);
++ //selection_featureTree = (EntitySelectionElement<FeatureTree>) formFactory.createSelectionElement(FeatureTree.class, getConversationHolder(), formElement, "Feature Tree", null, style, 1);
++ selection_featureTree = formFactory.createSelectionElement(FeatureTree.class, getConversationHolder(), formElement, "Feature Tree", null, EntitySelectionElement.ALL, style);
++
}
/** {@inheritDoc} */
--- /dev/null
- State emptyState = State.NewInstance();\r
+package eu.etaxonomy.taxeditor.ui.section.userecords;\r
+\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+import java.util.Map;\r
+import java.util.Set;\r
+import java.util.UUID;\r
+\r
+import org.apache.log4j.Logger;\r
+import org.eclipse.swt.events.SelectionEvent;\r
+import org.eclipse.swt.events.SelectionListener;\r
+import org.eclipse.ui.forms.widgets.Section;\r
+\r
+import eu.etaxonomy.cdm.api.service.IService;\r
+import eu.etaxonomy.cdm.api.service.IVocabularyService;\r
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
+import eu.etaxonomy.cdm.model.common.Language;\r
+import eu.etaxonomy.cdm.model.common.LanguageString;\r
+import eu.etaxonomy.cdm.model.common.Marker;\r
+import eu.etaxonomy.cdm.model.common.MarkerType;\r
+import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
+import eu.etaxonomy.cdm.model.description.CategoricalData;\r
+import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
+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
+import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;\r
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;\r
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.EntityDetailType;\r
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;\r
+import eu.etaxonomy.taxeditor.ui.section.description.DescriptionElementDetailElement;\r
+import eu.etaxonomy.taxeditor.ui.section.description.StateDataSection;\r
+import eu.etaxonomy.taxeditor.ui.section.description.detail.AbstractDetailedDescriptionDetailElement;\r
+\r
+//public class UseRecordDetailElement extends AbstractDetailedDescriptionDetailElement<CategoricalData> {\r
+public class UseRecordDetailElement extends\r
+ AbstractCdmDetailElement<CategoricalData> implements SelectionListener {\r
+\r
+ private static final Logger logger = Logger\r
+ .getLogger(DescriptionElementDetailElement.class);\r
+\r
+ // private CheckboxElement checkbox_orderRelevant;\r
+ private TermComboElement<State> combo_UseCategory;\r
+ private TermComboElement<State> combo_UseSubCategory;\r
+ private TermComboElement<Modifier> combo_PlantPart;\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
+ * public UseRecordDetailElement(CdmFormFactory formFactory, ICdmFormElement\r
+ * formElement, CategoricalData entity, int style) { super(formFactory,\r
+ * formElement, entity, style); }\r
+ */\r
+ /*\r
+ * public UseRecordDetailElement(CdmFormFactory formFactory, ICdmFormElement\r
+ * formElement, int style) {\r
+ */\r
+ public UseRecordDetailElement(CdmFormFactory formFactory,\r
+ ICdmFormElement formElement) {\r
+ super(formFactory, formElement);\r
+ }\r
+\r
+ /** {@inheritDoc} */\r
+ @Override\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
+ combo_Country = formFactory.createTermComboElement(Modifier.class, this, "Country", null, style);\r
+ combo_PlantPart = formFactory.createTermComboElement(Modifier.class, this, "Plant Part", null, style);\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
+\r
+ List<State> termsUseCategory = setUseCategoryComboTerms(TermStore.getTerms(State.class, null, false));\r
+ combo_UseCategory.setTerms(termsUseCategory);\r
+ combo_UseCategory.setSelection(stateSelection("Use Category"));\r
+ \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
+ }\r
+ else {\r
+ combo_UseSubCategory.setEnabled(false);\r
+ }\r
+ \r
+ List<Modifier> plantPartsToAdd = setModifierComboTerms(TermStore.getTerms(Modifier.class, null, false), "Plant Part");\r
+ combo_PlantPart.setTerms(plantPartsToAdd);\r
+ combo_PlantPart.setSelection(modifierSelection("Plant Part"));\r
+ \r
+ List<Modifier> countriesToAdd = setModifierComboTerms(TermStore.getTerms(Modifier.class, null, false), "Country");\r
+ combo_Country.setTerms(countriesToAdd);\r
+ combo_Country.setSelection(modifierSelection("Country"));\r
+ \r
+ List<Modifier> humanGroupToAdd = setModifierComboTerms(TermStore.getTerms(Modifier.class, null, false), "Human Group");\r
+ combo_HumanGroup.setTerms(humanGroupToAdd);\r
+ combo_HumanGroup.setSelection(modifierSelection("Human Group"));\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(modifierSelection("Ethnic Group"));\r
+ combo_EthnicGroup.setEnabled(true);\r
+ } else {\r
+ combo_EthnicGroup.setEnabled(false);\r
+ }\r
+\r
+ }\r
+\r
+ private Modifier modifierSelection(String comboCategory) {\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(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
+ }\r
+ return null;\r
+ \r
+ }\r
+ \r
+ private State stateSelection(String comboCategory) {\r
+ if (!getEntity().getStates().isEmpty()) {\r
+ for (StateData statedata : getEntity().getStates()) {\r
+ if (statedata.getModifyingText().get(CdmStore.getDefaultLanguage()) != null) {\r
+ if(statedata.getModifyingText().get(CdmStore.getDefaultLanguage()).getText() == comboCategory) {\r
+ if(statedata.getState() !=null) {\r
+ return statedata.getState();\r
+ }\r
+ }\r
+ } \r
+ }\r
+ }\r
+ else {\r
+ return null;\r
+ }\r
+ return null;\r
+ \r
+ }\r
+ \r
+ private List<Modifier> setModifierComboTerms(List<Modifier> listOfTerms, String modType) {\r
+ List<Modifier> termsToAdd = new ArrayList<Modifier>();\r
+ for (Modifier term : listOfTerms) {\r
+\r
+ if ((term.getPartOf() != null) && (term.getPartOf().getTitleCache().equals(modType))) {\r
+ termsToAdd.add(term);\r
+ }\r
+ else if ((term.getVocabulary() != null) && (term.getVocabulary().getTitleCache().equals(modType))) {\r
+ termsToAdd.add(term);\r
+ }\r
+ }\r
+ \r
+ return termsToAdd;\r
+ }\r
+ \r
+ private Modifier plantPartSelection() {\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("Plant Part")) {\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 == 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
+ for (StateData statedata : getEntity().getStates()) {\r
+ if (statedata.getModifyingText().get(CdmStore.getDefaultLanguage()) != null) {\r
+ if(statedata.getModifyingText().get(CdmStore.getDefaultLanguage()).getText() == "Use Category") {\r
+ if(statedata.getState() !=null) {\r
+ return statedata.getState();\r
+ }\r
+ }\r
+ } \r
+ }\r
+ }\r
+ else {\r
+ return null;\r
+ }\r
+ return null;*/\r
+ //for testing purposes\r
+ int countStates =0;\r
+ for (StateData state : getEntity().getStates()) {\r
+ if (countStates == 0) {\r
+ return state.getState();\r
+ }\r
+ countStates++;\r
+ }\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
+ if (stateData.getModifyingText().get(CdmStore.getDefaultLanguage()) != null) {\r
+ if(statedata.getModifyingText().get(CdmStore.getDefaultLanguage()).getText() == "Use SubCategory") {\r
+ if(statedata.getState() !=null) {\r
+ return statedata.getState();\r
+ }\r
+ \r
+ }\r
+ } \r
+ }\r
+ }\r
+ else {\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
+ return state.getState();\r
+ }\r
+ countStates++;\r
+ }\r
+ return null;\r
+ \r
+ }\r
+\r
+ \r
+ \r
+ \r
+ private List<Modifier> setPlantPartsComboTerms(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("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
+ \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) && (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
+ return termsToAdd;\r
+\r
+ }\r
+\r
+ private List<State> setUseCategoryComboTerms(List<State> listOfTerms,\r
+ State selectedUseCategory) {\r
+ List<State> termsToAdd = new ArrayList<State>();\r
+ if (combo_UseCategory.getSelection() != null) {\r
+ \r
+ for (State term : listOfTerms) {\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
+ }\r
+ }\r
+ else if (!getEntity().getStates().isEmpty()) {\r
+ for (StateData stateData : getEntity().getStates()) {\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) && (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
+ \r
+ }\r
+ }\r
+ }\r
+ \r
+ }\r
+ \r
+ else {\r
+ return null;\r
+ }\r
+\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
+ public void handleEvent(Object eventSource) {\r
+ /*\r
+ * if(eventSource == checkbox_orderRelevant){\r
+ * getEntity().setOrderRelevant(checkbox_orderRelevant.getSelection());\r
+ * }\r
+ */\r
+ if (eventSource == combo_UseCategory) {\r
+ if (combo_UseCategory.getSelection() != null) {\r
+ boolean isChanged = false;\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())\r
+ .getText() == "Use Category") {\r
+ getEntity().removeState(existingStateData);\r
+ StateData stateData = StateData.NewInstance(combo_UseCategory.getSelection());\r
+ stateData.setState(combo_UseCategory.getSelection());\r
+ //stateData.addModifyingText("Use Category", CdmStore.getDefaultLanguage());\r
+ stateData.putModifyingText(CdmStore.getDefaultLanguage(),"Use Category");\r
+ getEntity().addState(stateData);\r
+ isChanged = true;\r
+ } \r
+ /*else {\r
+ StateData stateData = StateData\r
+ .NewInstance(combo_UseCategory.getSelection());\r
+ stateData.setState(combo_UseCategory.getSelection());\r
+ //stateData.addModifyingText("Use Category", CdmStore.getDefaultLanguage());\r
+ stateData.putModifyingText(CdmStore.getDefaultLanguage(),"Use Category");\r
+ getEntity().addState(stateData);\r
+ }\r
+ \r
+ } else {\r
+ StateData stateData = StateData\r
+ .NewInstance(combo_UseCategory.getSelection());\r
+ stateData.setState(combo_UseCategory.getSelection());\r
+ //stateData.addModifyingText("Use Category", CdmStore.getDefaultLanguage());\r
+ stateData.putModifyingText(CdmStore.getDefaultLanguage(), "Use Category");\r
+ getEntity().addState(stateData);\r
+ }*/\r
+ }\r
+ }\r
+ }\r
+ \r
+ \r
+ if (isChanged == false) {\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
+ combo_UseSubCategory.setEnabled(true);\r
+ \r
+ }\r
+ }\r
+ if (eventSource == combo_UseSubCategory) {\r
+ if (combo_UseSubCategory.getSelection() != null) {\r
+ boolean isChanged = false;\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())\r
+ .getText() == "Use SubCategory") {\r
+ getEntity().removeState(existingStateData);\r
+ StateData stateData = StateData.NewInstance(combo_UseSubCategory.getSelection());\r
+ stateData.setState(combo_UseSubCategory.getSelection());\r
+ //stateData.addModifyingText("Use SubCategory", CdmStore.getDefaultLanguage());\r
+ stateData.putModifyingText(CdmStore.getDefaultLanguage(),"Use SubCategory");\r
+ getEntity().addState(stateData);\r
+ isChanged = true;\r
+ } \r
+ /*else {\r
+ StateData stateData = StateData\r
+ .NewInstance(combo_UseSubCategory.getSelection());\r
+ stateData.setState(combo_UseSubCategory.getSelection());\r
+ //stateData.addModifyingText("Use SubCategory", CdmStore.getDefaultLanguage());\r
+ stateData.putModifyingText(CdmStore.getDefaultLanguage(),"Use SubCategory");\r
+ getEntity().addState(stateData);\r
+ }\r
+ \r
+ } else {\r
+ StateData stateData = StateData\r
+ .NewInstance(combo_UseSubCategory.getSelection());\r
+ stateData.setState(combo_UseSubCategory.getSelection());\r
+ //stateData.addModifyingText("Use SubCategory", CdmStore.getDefaultLanguage());\r
+ stateData.putModifyingText(CdmStore.getDefaultLanguage(), "Use SubCategory");\r
+ getEntity().addState(stateData);\r
+ }*/\r
+ }\r
+ }\r
+ }\r
+ \r
+ if (isChanged == false){\r
+ StateData stateData = StateData\r
+ .NewInstance(combo_UseSubCategory.getSelection());\r
+ stateData.setState(combo_UseSubCategory.getSelection());\r
+ //stateData.addModifyingText("Use SubCategory", CdmStore.getDefaultLanguage());\r
+ //LanguageString languageString = LanguageString.NewInstance("Use SubCategory", CdmStore.getDefaultLanguage());\r
+ //IService object = (IService) CdmStore.getCurrentApplicationConfiguration().getBean(IService.class.getName());\r
+ //object.save(languageString);\r
+ //stateData.putModifyingText(languageString);\r
+ stateData.putModifyingText(CdmStore.getDefaultLanguage(), "Use SubCategory");\r
+ getEntity().addState(stateData);\r
+ }\r
+ \r
+ }\r
+ }\r
+ if (eventSource == combo_PlantPart) {\r
+ if (combo_PlantPart.getSelection() != null) {\r
+ boolean isChanged = false;\r
+ MarkerType markerType = MarkerType.NewInstance("Plant Part", "Plant Part", 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("Plant Part")) {\r
+ getEntity().removeModifier(modifier);\r
+ Modifier plantPart = combo_PlantPart.getSelection();\r
+ plantPart.addMarker(marker);\r
+ getEntity().addModifier(plantPart);\r
+ isChanged = true;\r
+ //getEntity().addModifier(combo_PlantPart.getSelection());\r
+ } \r
+ /*else {\r
+ \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_PlantPart.getSelection());\r
+ }*/\r
+ \r
+ \r
+ }\r
+ \r
+ }\r
+ /*else {\r
+ //MarkerType markerType = MarkerType.NewInstance("Plant Part", "Plant Part", 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_PlantPart.getSelection());\r
+ }*/\r
+ \r
+ } \r
+ }\r
+ if(isChanged == false) {\r
+ //MarkerType markerType = MarkerType.NewInstance("Plant Part", "Plant Part", 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_PlantPart.getSelection());\r
+ }\r
+ }\r
+ }\r
+ if (eventSource == combo_Country) {\r
+ if (combo_Country.getSelection() != null) {\r
+ boolean isChanged = false;\r
+ MarkerType markerType = MarkerType.NewInstance("Country", "Country", 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 country = combo_Country.getSelection();\r
+ country.addMarker(marker);\r
+ getEntity().addModifier(country);\r
+ isChanged = true;\r
+ //getEntity().addModifier(combo_Country.getSelection());\r
+ } \r
+ /*else {\r
+ \r
+ Marker markerCountry = Marker.NewInstance(markerType, false);\r
+ Modifier country = combo_Country.getSelection();\r
+ country.addMarker(markerCountry);\r
+ getEntity().addModifier(country);\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 country = combo_Country.getSelection();\r
+ country.addMarker(marker);\r
+ getEntity().addModifier(country);\r
+ //getEntity().addModifier(combo_Country.getSelection());\r
+ }*/\r
+ \r
+ } \r
+ }\r
+ if (isChanged == false) {\r
+ //MarkerType markerType = MarkerType.NewInstance("Country", "Country", null);\r
+ Marker marker = Marker.NewInstance(markerType, false);\r
+ Modifier country = combo_Country.getSelection();\r
+ country.addMarker(marker);\r
+ getEntity().addModifier(country);\r
+ //getEntity().addModifier(combo_Country.getSelection());\r
+ }\r
+ }\r
+ }\r
+ if (eventSource == combo_HumanGroup) {\r
+ if (combo_HumanGroup.getSelection() != null) {\r
+ boolean isChanged = false;\r
+ MarkerType markerType = MarkerType.NewInstance("Human Group", "Human Group", 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 humanGroup = combo_HumanGroup.getSelection();\r
+ humanGroup.addMarker(marker);\r
+ getEntity().addModifier(humanGroup);\r
+ isChanged = true;\r
+ //getEntity().addModifier(combo_HumanGroup.getSelection());\r
+ } \r
+ /*else {\r
+ \r
+ Marker markerHumanGroup = Marker.NewInstance(markerType, false);\r
+ Modifier humanGroup = combo_HumanGroup.getSelection();\r
+ humanGroup.addMarker(markerHumanGroup);\r
+ getEntity().addModifier(humanGroup);\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 humanGroup = combo_HumanGroup.getSelection();\r
+ humanGroup.addMarker(marker);\r
+ getEntity().addModifier(humanGroup);\r
+ //getEntity().addModifier(combo_HumanGroup.getSelection());\r
+ }*/\r
+ \r
+ } \r
+ }\r
+ if(isChanged == false){\r
+ //MarkerType markerType = MarkerType.NewInstance("Human Group", "Human Group", null);\r
+ Marker marker = Marker.NewInstance(markerType, false);\r
+ Modifier humanGroup = combo_HumanGroup.getSelection();\r
+ humanGroup.addMarker(marker);\r
+ getEntity().addModifier(humanGroup);\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
+ boolean isChanged = false;\r
+ MarkerType markerType = MarkerType.NewInstance("Ethnic Group", "Ethnic Group", 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 ethnicGroup = combo_EthnicGroup.getSelection();\r
+ ethnicGroup.addMarker(marker);\r
+ getEntity().addModifier(ethnicGroup);\r
+ isChanged = true;\r
+ //getEntity().addModifier(combo_EthnicGroup.getSelection());\r
+ } \r
+ /*else {\r
+ \r
+ Marker markerEthnicGroup = Marker.NewInstance(markerType, false);\r
+ Modifier ethnicGroup = combo_EthnicGroup.getSelection();\r
+ ethnicGroup.addMarker(markerEthnicGroup);\r
+ getEntity().addModifier(ethnicGroup);\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 ethnicGroup = combo_EthnicGroup.getSelection();\r
+ ethnicGroup.addMarker(marker);\r
+ getEntity().addModifier(ethnicGroup);\r
+ //getEntity().addModifier(combo_EthnicGroup.getSelection());\r
+ }*/\r
+ \r
+ } \r
+ }\r
+ if(isChanged == false) {\r
+ //MarkerType markerType = MarkerType.NewInstance("Ethnic Group", "Ethnic Group", null);\r
+ Marker marker = Marker.NewInstance(markerType, false);\r
+ Modifier ethnicGroup = combo_EthnicGroup.getSelection();\r
+ ethnicGroup.addMarker(marker);\r
+ getEntity().addModifier(ethnicGroup);\r
+ //getEntity().addModifier(combo_EthnicGroup.getSelection());\r
+ }\r
+ }\r
+ }\r
+ }\r
+ \r
+ \r
+\r
+ /** {@inheritDoc} */\r
+ @Override\r
+ public void setEntity(CategoricalData entity) {\r
+ // section_stateData.setEntity(entity);\r
+ super.setEntity(entity);\r
+ }\r
+\r
+ @Override\r
+ public void widgetSelected(SelectionEvent e) {\r
+ Object eventSource = e.getSource();\r
+ //This is causing an error on purpose fix the if statement below\r
+ \r
+ //e.getselection();\r
+ //if(eventSource == combo_UseCategory.getControls()) {\r
+ for (Object object: combo_UseCategory.getControls()) {\r
+ if (object == eventSource) {\r
+ State selectedUseCategory = combo_UseCategory.getSelection();\r
+ if (selectedUseCategory != null) {\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())\r
+ .getText() == "Use SubCategory") {\r
+ getEntity().removeState(existingStateData);\r
+ combo_UseSubCategory.setSelected(false);\r
+ combo_UseSubCategory.getSelection();\r
+ }\r
+ }\r
+ }\r
+ }\r
+ \r
+ List<State> newSubCategories = setUseCategoryComboTerms(TermStore.getTerms(State.class, null, false),selectedUseCategory);\r
+ combo_UseSubCategory.setTerms(newSubCategories);\r
- combo_UseSubCategory.setSelection(null);\r
++ /*State emptyState = State.NewInstance();\r
+ combo_UseSubCategory.setSelection(emptyState);\r
+ combo_UseSubCategory.setSelection(newSubCategories.get(0));\r
- combo_UseSubCategory.setTerms(newSubCategories);\r
++ combo_UseSubCategory.setSelection(null);*/\r
+ \r
++ //combo_UseSubCategory.setTerms(newSubCategories);\r
+ \r
+ }\r
+ }\r
+ }\r
+ for (Object object: combo_HumanGroup.getControls()) {\r
+ if (object == eventSource) {\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
+ State selectedUseCategory = combo_UseCategory.getSelection();\r
+ if (selectedUseCategory != null) {\r
+ combo_UseSubCategory.setTerms(setUseCategoryComboTerms(TermStore.getTerms(State.class, null, false),selectedUseCategory));\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
+ }\r
+\r
+ @Override\r
+ public void widgetDefaultSelected(SelectionEvent e) {\r
+ // TODO Auto-generated method stub\r
+\r
+ }\r
+\r
+}\r