+/**\r
+ * Copyright (C) 2007 EDIT\r
+ * European Distributed Institute of Taxonomy \r
+ * http://www.e-taxonomy.eu\r
+ * \r
+ * The contents of this file are subject to the Mozilla Public License Version 1.1\r
+ * See LICENSE.TXT at the top of this package for the full license terms.\r
+ */\r
package eu.etaxonomy.taxeditor.editor.view.uses;\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.eclipse.jface.viewers.ITreeContentProvider;\r
+import org.eclipse.jface.viewers.Viewer;\r
\r
import eu.etaxonomy.cdm.api.service.ITermService;\r
import eu.etaxonomy.cdm.model.common.Marker;\r
import eu.etaxonomy.cdm.model.taxon.Taxon;\r
import eu.etaxonomy.taxeditor.editor.TaxonEditorInput;\r
import eu.etaxonomy.taxeditor.editor.UsageTermCollection;\r
-import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptiveContentProvider;\r
+import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;\r
import eu.etaxonomy.taxeditor.model.FeatureNodeContainerTree;\r
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;\r
import eu.etaxonomy.taxeditor.store.CdmStore;\r
import eu.etaxonomy.taxeditor.store.TermStore;\r
\r
/**\r
- * UsesContentProvider Class\r
+ * The class provides the required content to the Uses View\r
* @author a.theys \r
* @created mar 13, 2012\r
* @version 1.0\r
*/\r
-public class UsesContentProvider extends DescriptiveContentProvider implements ITreeContentProvider {\r
+public class UsesContentProvider implements ITreeContentProvider {\r
\r
private static final Object[] NO_CHILDREN = new Object[0];\r
private Map<TaxonDescription, FeatureNodeContainerTree> featureNodeContainerCache;\r
* @param featureNodeContainerCache a {@link java.util.Map} object.\r
*/\r
public UsesContentProvider(Map<TaxonDescription, FeatureNodeContainerTree> featureNodeContainerCache) {\r
- super(featureNodeContainerCache);\r
this.featureNodeContainerCache = featureNodeContainerCache;\r
}\r
\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)\r
+ */\r
+ /** {@inheritDoc} */\r
+ public Object[] getChildren(Object parentElement) {\r
+ if (parentElement instanceof TaxonEditorInput) {\r
+ return getDescriptions((TaxonEditorInput) parentElement).toArray(); \r
+ }\r
+ else if (parentElement instanceof TaxonDescription) {\r
+ if ( ! ((TaxonDescription) parentElement).isImageGallery()) {\r
+ TaxonDescription description = (TaxonDescription) parentElement;\r
+ \r
+ FeatureNodeContainerTree containerTree = getContainerTreeForDesription(description);\r
+ \r
+ return containerTree.getRoot().getChildren().toArray();\r
+ }\r
+ }\r
+ else if (parentElement instanceof FeatureNodeContainer){\r
+ FeatureNodeContainer container = (FeatureNodeContainer) parentElement;\r
+ if(container.isLeaf()){\r
+ return container.getDescriptionElements().toArray();\r
+ }else{\r
+ return container.getChildren().toArray();\r
+ }\r
+ }\r
+ \r
+ return NO_CHILDREN;\r
+ }\r
\r
private FeatureNodeContainerTree getContainerTreeForDesription(TaxonDescription description){\r
if(! featureNodeContainerCache.containsKey(description)){\r
return featureNodeContainerCache.get(description);\r
}\r
\r
+ /** {@inheritDoc} */\r
+ @Override\r
+ public boolean hasChildren(Object element) {\r
+ if (element instanceof TaxonDescription){\r
+ TaxonDescription description = (TaxonDescription) element;\r
+ FeatureNodeContainerTree containerTree = featureNodeContainerCache.get(description);\r
+ if(containerTree != null && containerTree.getRoot() != null){\r
+ return containerTree.getRoot().getChildren().size() != 0;\r
+ }\r
+ } \r
+ return getChildren(element).length != 0;\r
+ }\r
+ \r
/**\r
* Retrieves the feature tree associated with the given description\r
* \r
\r
for(DescriptionBase description : taxon.getDescriptions()){\r
if(! description.isImageGallery()){\r
- MarkerType useMarkertype = (MarkerType) CdmStore.getService(ITermService.class).find(UsageTermCollection.uuidUseRecordFeature);\r
+ MarkerType useMarkertype = (MarkerType) CdmStore.getService(ITermService.class).find(UsageTermCollection.uuidUseMarkerType);\r
Set<Marker> descriptionMarkers = description.getMarkers();\r
if(descriptionMarkers != null) {\r
for (Marker marker: descriptionMarkers) {\r
- //TODO Use the GetbyUUID method\r
if(marker.getMarkerType().equals(useMarkertype)) {\r
descriptions.add(description);\r
}\r
return descriptions;\r
}\r
\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)\r
+ */\r
+ /** {@inheritDoc} */\r
+ public Object getParent(Object element) {\r
+ return null;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)\r
+ */\r
+ /** {@inheritDoc} */\r
+ public Object[] getElements(Object inputElement) {\r
+ return getChildren(inputElement);\r
+ }\r
+ \r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.viewers.IContentProvider#dispose()\r
+ */\r
+ /**\r
+ * <p>dispose</p>\r
+ */\r
+ public void dispose() {\r
+ featureNodeContainerCache.clear();\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)\r
+ */\r
+ /** {@inheritDoc} */\r
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {} \r
+\r
}\r
/**\r
-* Copyright (C) 2007 EDIT\r
-* European Distributed Institute of Taxonomy \r
-* http://www.e-taxonomy.eu\r
-* \r
-* The contents of this file are subject to the Mozilla Public License Version 1.1\r
-* See LICENSE.TXT at the top of this package for the full license terms.\r
-*/\r
-\r
+ * Copyright (C) 2007 EDIT\r
+ * European Distributed Institute of Taxonomy \r
+ * http://www.e-taxonomy.eu\r
+ * \r
+ * The contents of this file are subject to the Mozilla Public License Version 1.1\r
+ * See LICENSE.TXT at the top of this package for the full license terms.\r
+ */\r
package eu.etaxonomy.taxeditor.editor.view.uses;\r
\r
+import java.net.URI;\r
+import java.net.URISyntaxException;\r
import java.util.HashMap;\r
import java.util.Map;\r
+import java.util.UUID;\r
\r
+import org.eclipse.core.runtime.IProgressMonitor;\r
import org.eclipse.jface.action.Action;\r
import org.eclipse.jface.action.GroupMarker;\r
import org.eclipse.jface.action.IToolBarManager;\r
import org.eclipse.jface.viewers.ISelection;\r
import org.eclipse.jface.viewers.StructuredSelection;\r
import org.eclipse.jface.viewers.TreeViewer;\r
+import org.eclipse.jface.viewers.Viewer;\r
import org.eclipse.swt.SWT;\r
import org.eclipse.swt.dnd.DND;\r
import org.eclipse.swt.dnd.Transfer;\r
import org.eclipse.swt.widgets.Tree;\r
import org.eclipse.ui.IEditorInput;\r
import org.eclipse.ui.IEditorPart;\r
+import org.eclipse.ui.IMemento;\r
import org.eclipse.ui.IWorkbenchActionConstants;\r
import org.eclipse.ui.IWorkbenchPart;\r
\r
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;\r
+import eu.etaxonomy.cdm.api.service.ITermService;\r
+import eu.etaxonomy.cdm.api.service.IVocabularyService;\r
+import eu.etaxonomy.cdm.model.common.CdmBase;\r
+import eu.etaxonomy.cdm.model.common.MarkerType;\r
+import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
+import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
+import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
+import eu.etaxonomy.cdm.model.description.Feature;\r
+import eu.etaxonomy.cdm.model.description.Modifier;\r
+import eu.etaxonomy.cdm.model.description.State;\r
import eu.etaxonomy.cdm.model.description.TaxonDescription;\r
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;\r
import eu.etaxonomy.taxeditor.editor.EditorUtil;\r
import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptionElementDropAdapter;\r
import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptionElementTransfer;\r
import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptiveViewPart;\r
+import eu.etaxonomy.taxeditor.model.ContextListenerAdapter;\r
+import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;\r
import eu.etaxonomy.taxeditor.model.FeatureNodeContainerTree;\r
+import eu.etaxonomy.taxeditor.model.IContextListener;\r
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;\r
import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;\r
import eu.etaxonomy.taxeditor.model.ImageResources;\r
+import eu.etaxonomy.taxeditor.store.CdmStore;\r
+import eu.etaxonomy.taxeditor.store.StoreUtil;\r
+import eu.etaxonomy.taxeditor.view.AbstractCdmEditorViewPart;\r
\r
\r
/**\r
- * <p>UsesViewPart Class.</p>\r
+ * The Class create a speific Use View to keep the taxonomic view clean\r
* @author a.theys \r
* @created mar 13, 2012\r
* @version 1.0\r
*/\r
public class UsesViewPart extends DescriptiveViewPart implements IPartContentHasDetails, IPartContentHasSupplementalData {\r
- \r
- /** Constant <code>ID="eu.etaxonomy.taxeditor.editor.view.desc"{trunked}</code> */\r
- \r
+\r
public static final String ID = "eu.etaxonomy.taxeditor.editor.view.uses";\r
- \r
private TreeViewer viewer;\r
- \r
private Map<TaxonDescription, FeatureNodeContainerTree> featureNodeContainerCache = new HashMap<TaxonDescription, FeatureNodeContainerTree>();\r
- \r
private ToggleDescriptionAction showAllElementsAction;\r
- \r
private ToggleDescriptionAction hideAllElementsAction;\r
\r
private int dndOperations = DND.DROP_COPY | DND.DROP_MOVE;\r
\r
+ \r
/** {@inheritDoc} */\r
@Override\r
public void createViewer(Composite parent) {\r
+ \r
viewer = new TreeViewer(new Tree(parent, SWT.MULTI | SWT.H_SCROLL\r
| SWT.V_SCROLL | SWT.FULL_SELECTION));\r
viewer.setContentProvider(new UsesContentProvider(featureNodeContainerCache));\r
viewer.setLabelProvider(new UsesLabelProvider());\r
+ \r
+ //viewer.setSorter(new DescriptiveViewerSorter());\r
+ \r
viewer.setAutoExpandLevel(2);\r
+ \r
+ \r
+ \r
Transfer[] transfers = new Transfer[] { DescriptionElementTransfer.getInstance() };\r
viewer.addDragSupport(dndOperations, transfers, new DescriptionElementDragListener(\r
this));\r
viewer.addDropSupport(dndOperations, transfers,\r
new DescriptionElementDropAdapter(viewer));\r
+ \r
+ // Propagate selection from viewer\r
getSite().setSelectionProvider(viewer);\r
+ \r
showAllElementsAction = new ToggleDescriptionAction(false); \r
hideAllElementsAction = new ToggleDescriptionAction(true);\r
+ \r
+ // Add context menu to tree\r
createMenu();\r
+ \r
createToolbar();\r
+ \r
}\r
\r
- \r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.model.AbstractCdmViewPart#getInitialSelection()\r
+ */\r
+ /** {@inheritDoc} */\r
+ @Override\r
+ protected ISelection getInitialSelection() {\r
+ if(getEditor() != null){\r
+ return new StructuredSelection(getEditor().getEditorInput());\r
+ } \r
+ \r
+ return super.getInitialSelection();\r
+ }\r
\r
private void createToolbar() {\r
IToolBarManager toolBarManager = getViewSite().getActionBars().getToolBarManager();\r
toolBarManager.add(hideAllElementsAction);\r
}\r
\r
+ \r
+ private void createMenu(){\r
+ MenuManager menuManager = new MenuManager();\r
+ menuManager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));\r
+ \r
+ getSite().registerContextMenu(menuManager, viewer);\r
+\r
+ // FIXME for some reason this is not working\r
+ menuManager.add(showAllElementsAction);\r
+ menuManager.add(hideAllElementsAction);\r
+ \r
+ Control control = viewer.getControl();\r
+ Menu menu = menuManager.createContextMenu(control);\r
+ \r
+ control.setMenu(menu); \r
+ }\r
+ \r
+\r
+ \r
@Override\r
public void selectionChanged(IWorkbenchPart part, ISelection selection) {\r
if(EditorUtil.getActiveEditor() == null){\r
}\r
showViewer();\r
}\r
- }\r
- \r
- \r
- private void createMenu(){\r
- MenuManager menuManager = new MenuManager();\r
- menuManager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));\r
\r
- getSite().registerContextMenu(menuManager, viewer);\r
+ }\r
\r
- // FIXME for some reason this is not working\r
- menuManager.add(showAllElementsAction);\r
- menuManager.add(hideAllElementsAction);\r
- \r
- Control control = viewer.getControl();\r
- Menu menu = menuManager.createContextMenu(control);\r
+\r
+\r
+ /*@Override\r
+ public void showViewer(IWorkbenchPart part, IStructuredSelection selection) {\r
+ this.part = part; \r
+ \r
+ Object element = selection.getFirstElement();\r
\r
- control.setMenu(menu); \r
- }\r
+ getViewer().setInput(descService.listTaxonDescriptions((Taxon) element, null, null, null, null, null, null));\r
+ \r
+ showViewer(); \r
+ }*/\r
+ \r
+ \r
\r
-\r
private class ToggleDescriptionAction extends Action{\r
private boolean expanded;\r
\r
setImageAndTooltip();\r
}\r
}\r
+ \r
+ /** {@inheritDoc} */\r
+ @Override\r
+ public boolean postOperation(CdmBase objectAffectedByOperation) {\r
+ viewer.refresh();\r
+ return super.postOperation(objectAffectedByOperation);\r
+ }\r
+ \r
+ /** {@inheritDoc} */\r
+ @Override\r
+ public void changed(Object object) {\r
+ for(FeatureNodeContainerTree containerTree : featureNodeContainerCache.values()){\r
+ containerTree.buildTree();\r
+ }\r
+ viewer.refresh();\r
+ \r
+ if(object instanceof DescriptionElementBase){\r
+ DescriptionElementBase descriptionElement = (DescriptionElementBase) object;\r
+ DescriptionBase description = descriptionElement.getInDescription();\r
+ FeatureNodeContainerTree containerTree = featureNodeContainerCache.get(description);\r
+ \r
+ FeatureNodeContainer featureNodeContainer = containerTree.getFeatureNodeContainerForDescriptionElement(descriptionElement);\r
+ viewer.expandToLevel(featureNodeContainer, 1);\r
+ \r
+ }\r
+\r
+ if(object != null){\r
+ StructuredSelection selection = new StructuredSelection(object);\r
+ viewer.setSelection(selection, true);\r
+ }\r
+\r
+ super.changed(object);\r
+ }\r
+ \r
+\r
+ /** {@inheritDoc} */\r
+ @Override\r
+ public Viewer getViewer() {\r
+ return viewer;\r
+ }\r
\r
}\r
import java.util.ListIterator;\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
-\r
-import eu.etaxonomy.cdm.api.service.ITermService;\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.description.Modifier;\r
import eu.etaxonomy.cdm.model.description.State;\r
import eu.etaxonomy.cdm.model.description.StateData;\r
+import eu.etaxonomy.taxeditor.editor.UsageTermCollection;\r
import eu.etaxonomy.taxeditor.store.CdmStore;\r
import eu.etaxonomy.taxeditor.store.TermStore;\r
import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;\r
\r
\r
/**\r
- * UseRecordDetailElement Class\r
+ * The context manager mediates context start/stop and workbench shutdowns to all registered listeners.\r
+ *\r
* @author a.theys \r
* @created mar 13, 2012\r
* @version 1.0\r
protected void createControls(ICdmFormElement formElement,\r
CategoricalData entity, int style) {\r
\r
- combo_UseCategory = formFactory.createTermComboElement(State.class, this, "Use Category", null, style);\r
+ combo_UseCategory = formFactory.createTermComboElement(State.class, this, UsageTermCollection.useCategoryVocabularyLabel, null, style);\r
combo_UseCategory.addSelectionListener(this);\r
- combo_UseSubCategory = formFactory.createTermComboElement(State.class, this, "Use SubCategory", 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_UseSubCategory = formFactory.createTermComboElement(State.class, this, UsageTermCollection.useSubCategoryVocabularyLabel, null, style);\r
+ combo_PlantPart = formFactory.createTermComboElement(Modifier.class, this, UsageTermCollection.plantPartLabel, null, style);\r
+ combo_HumanGroup = formFactory.createTermComboElement(Modifier.class, this, UsageTermCollection.humanGroupLabel, null, style);\r
combo_HumanGroup.addSelectionListener(this);\r
- combo_EthnicGroup = formFactory.createTermComboElement(Modifier.class, this, "Ethnic Group", null, style);\r
- combo_Country = formFactory.createTermComboElement(Modifier.class, this, "Country", null, style);\r
+ combo_EthnicGroup = formFactory.createTermComboElement(Modifier.class, this, UsageTermCollection.ethnicGroupLabel, null, style);\r
+ combo_Country = formFactory.createTermComboElement(Modifier.class, this, UsageTermCollection.countryLabel, 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
+ combo_UseCategory.setSelection(stateSelection(UsageTermCollection.useCategoryVocabularyLabel));\r
\r
List<State> termsSubCategory = setUseCategoryComboTerms(TermStore.getTerms(State.class, null, false), combo_UseCategory.getSelection());\r
\r
if (termsSubCategory != null) {\r
combo_UseSubCategory.setTerms(termsSubCategory);\r
- combo_UseSubCategory.setSelection(stateSelection("Use SubCategory"));\r
+ combo_UseSubCategory.setSelection(stateSelection(UsageTermCollection.useSubCategoryVocabularyLabel));\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
+ List<Modifier> plantPartsToAdd = setModifierComboTerms(TermStore.getTerms(Modifier.class, null, false), UsageTermCollection.plantPartLabel);\r
combo_PlantPart.setTerms(plantPartsToAdd);\r
- combo_PlantPart.setSelection(modifierSelection("Plant Part"));\r
+ combo_PlantPart.setSelection(modifierSelection(UsageTermCollection.plantPartLabel));\r
\r
- List<Modifier> countriesToAdd = setModifierComboTerms(TermStore.getTerms(Modifier.class, null, false), "Country");\r
+ List<Modifier> countriesToAdd = setModifierComboTerms(TermStore.getTerms(Modifier.class, null, false), UsageTermCollection.countryLabel);\r
combo_Country.setTerms(countriesToAdd);\r
- combo_Country.setSelection(modifierSelection("Country"));\r
+ combo_Country.setSelection(modifierSelection(UsageTermCollection.countryLabel));\r
\r
- List<Modifier> humanGroupToAdd = setModifierComboTerms(TermStore.getTerms(Modifier.class, null, false), "Human Group");\r
+ List<Modifier> humanGroupToAdd = setModifierComboTerms(TermStore.getTerms(Modifier.class, null, false), UsageTermCollection.humanGroupLabel);\r
combo_HumanGroup.setTerms(humanGroupToAdd);\r
- combo_HumanGroup.setSelection(modifierSelection("Human Group"));\r
+ combo_HumanGroup.setSelection(modifierSelection(UsageTermCollection.humanGroupLabel));\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.setSelection(modifierSelection(UsageTermCollection.ethnicGroupLabel));\r
combo_EthnicGroup.setEnabled(true);\r
} else {\r
combo_EthnicGroup.setEnabled(false);\r
}\r
\r
private Modifier modifierSelection(String comboCategory) {\r
- Modifier returnModifier = null;\r
if(!getEntity().getModifiers().isEmpty()) {\r
for (Modifier modifier : getEntity().getModifiers()) {\r
if(GetVocabularyType(modifier, comboCategory)) {\r
- returnModifier = modifier;\r
+ return modifier;\r
}\r
}\r
- } \r
- \r
- if (returnModifier == null) {\r
- if (comboCategory == "Country") {\r
- returnModifier = (Modifier) CdmStore.getService(ITermService.class).find(UUID.fromString("761dddee-bfa2-41f4-82df-3a19c71adee0")); \r
- } else if (comboCategory == "Plant Part") {\r
- returnModifier = (Modifier) CdmStore.getService(ITermService.class).find(UUID.fromString("30150a82-a12f-4278-96ad-7ce708efa082")); \r
- } else if (comboCategory == "Human Group") {\r
- returnModifier = (Modifier) CdmStore.getService(ITermService.class).find(UUID.fromString("c4b63327-2548-429d-8d55-81fdba5900a5")); \r
- } else if (comboCategory == "Ethnic Group") {\r
- returnModifier = (Modifier) CdmStore.getService(ITermService.class).find(UUID.fromString("3ca851e5-d0d4-41cd-9066-f79e246c36c2")); \r
- }\r
+ } else {\r
+ return null;\r
}\r
- \r
- \r
- return returnModifier;\r
+ return null;\r
\r
}\r
\r
private State stateSelection(String comboCategory) {\r
- State returnState = null;\r
if (!getEntity().getStates().isEmpty()) {\r
for (StateData statedata : getEntity().getStates()) {\r
if (statedata.getModifyingText().get(CdmStore.getDefaultLanguage()) != null) {\r
String testString = statedata.getModifyingText().get(CdmStore.getDefaultLanguage()).getText();\r
if(testString.equals(comboCategory)) {\r
if(statedata.getState() !=null) {\r
- returnState = statedata.getState();\r
+ return statedata.getState();\r
}\r
}\r
} \r
}\r
}\r
- \r
- if (returnState == null) {\r
- if (comboCategory == "Use Category") {\r
- returnState = (State) CdmStore.getService(ITermService.class).find(UUID.fromString("983a7184-6a51-489e-aca1-f21fc4fdbae3"));\r
- \r
- } else if (comboCategory == "Use SubCategory") {\r
- returnState = (State) CdmStore.getService(ITermService.class).find(UUID.fromString("a8d80223-5c79-4063-8c6b-4dc8681e9c62"));\r
- }\r
+ else {\r
+ return null;\r
}\r
+ return null;\r
\r
- return returnState;\r
}\r
\r
private List<Modifier> setModifierComboTerms(List<Modifier> listOfTerms, String modType) {\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
+ if ((term.getPartOf() != null) && (term.getPartOf().getTitleCache().equals(UsageTermCollection.useCategoryVocabularyLabel))) {\r
termsToAdd.add(term);\r
}\r
- else if ((term.getVocabulary() !=null) && (term.getPartOf() == null) && (term.getVocabulary().getTitleCache().equals("Use Category"))) {\r
+ else if ((term.getVocabulary() !=null) && (term.getPartOf() == null) && (term.getVocabulary().getTitleCache().equals(UsageTermCollection.useCategoryVocabularyLabel))) {\r
termsToAdd.add(term);\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
+ if ((stateData.getState() != null) && (stateData.getModifyingText().get(CdmStore.getDefaultLanguage()).getText() == UsageTermCollection.useCategoryVocabularyLabel)) {\r
for (State term : listOfTerms) {\r
if ((term.getPartOf() != null) && (term.getPartOf().getTitleCache().equals(stateData.getState().getTitleCache()))) {\r
termsToAdd.add(term);\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
+ if(marker.getMarkerType().getTitleCache().equals(UsageTermCollection.humanGroupLabel)) {\r
for (Modifier term : listOfTerms) {\r
if ((term.getPartOf() != null) && (term.getPartOf().getTitleCache().equals(modifier.getTitleCache()))) {\r
termsToAdd.add(modifier);\r
if (!getEntity().getStates().isEmpty()) {\r
for (StateData useCategoryStateDataCheck : getEntity().getStates()) {\r
Map<Language, LanguageString> modText = useCategoryStateDataCheck.getModifyingText();\r
- if(modText.get(CdmStore.getDefaultLanguage()) != null && modText.get(CdmStore.getDefaultLanguage()).getText().equals("Use Category")) {\r
+ if(modText.get(CdmStore.getDefaultLanguage()) != null && modText.get(CdmStore.getDefaultLanguage()).getText().equals(UsageTermCollection.useCategoryVocabularyLabel)) {\r
if(!useCategoryStateDataCheck.getState().getTitleCache().equals(combo_UseCategory.getSelection().getTitleCache())) {\r
isUseCategoryChanged = true;\r
}\r
Map<Language, LanguageString> modifyingText = existingStateData\r
.getModifyingText();\r
if (modifyingText.get(CdmStore.getDefaultLanguage()) != null) {\r
- if (modifyingText.get(CdmStore.getDefaultLanguage()).getText().equals("Use Category")) {\r
+ if (modifyingText.get(CdmStore.getDefaultLanguage()).getText().equals(UsageTermCollection.useCategoryVocabularyLabel)) {\r
isChanged = true;\r
if(!existingStateData.getState().getTitleCache().equals(combo_UseCategory.getSelection().getTitleCache())) {\r
itrExistingStates.remove();\r
StateData stateData = StateData.NewInstance(combo_UseCategory.getSelection());\r
stateData.setState(combo_UseCategory.getSelection());\r
- stateData.putModifyingText(CdmStore.getDefaultLanguage(),"Use Category");\r
+ stateData.putModifyingText(CdmStore.getDefaultLanguage(),UsageTermCollection.useCategoryVocabularyLabel);\r
itrExistingStates.add(stateData);\r
\r
}\r
- } else if (modifyingText.get(CdmStore.getDefaultLanguage()).getText().equals("Use SubCategory") && isUseCategoryChanged == true) {\r
+ } else if (modifyingText.get(CdmStore.getDefaultLanguage()).getText().equals(UsageTermCollection.useSubCategoryVocabularyLabel) && isUseCategoryChanged == true) {\r
itrExistingStates.remove();\r
- State naUseSubCatState = (State) CdmStore.getService(ITermService.class).find(UUID.fromString("a8d80223-5c79-4063-8c6b-4dc8681e9c62"));\r
- StateData subCatStateData = StateData.NewInstance(naUseSubCatState);\r
- subCatStateData.setState(naUseSubCatState);\r
- subCatStateData.putModifyingText(CdmStore.getDefaultLanguage(), "Use SubCategory");\r
- getEntity().addState(subCatStateData);\r
}\r
}\r
}\r
StateData stateData = StateData\r
.NewInstance(combo_UseCategory.getSelection());\r
stateData.setState(combo_UseCategory.getSelection());\r
- stateData.putModifyingText(CdmStore.getDefaultLanguage(), "Use Category");\r
+ stateData.putModifyingText(CdmStore.getDefaultLanguage(), UsageTermCollection.useCategoryVocabularyLabel);\r
getEntity().addState(stateData);\r
- State naUseSubCatState = (State) CdmStore.getService(ITermService.class).find(UUID.fromString("a8d80223-5c79-4063-8c6b-4dc8681e9c62"));\r
- StateData subCatStateData = StateData.NewInstance(naUseSubCatState);\r
- subCatStateData.setState(naUseSubCatState);\r
- subCatStateData.putModifyingText(CdmStore.getDefaultLanguage(), "Use SubCategory");\r
- getEntity().addState(subCatStateData);\r
- \r
}\r
\r
- State naUseSubCatState = (State) CdmStore.getService(ITermService.class).find(UUID.fromString("a8d80223-5c79-4063-8c6b-4dc8681e9c62"));\r
combo_UseSubCategory.setEnabled(true);\r
- combo_UseSubCategory.setSelection(naUseSubCatState);\r
\r
}\r
else {\r
StateData stateToRemove = itr.next();\r
itr.remove();\r
}\r
- State naUseCatState = (State) CdmStore.getService(ITermService.class).find(UUID.fromString("983a7184-6a51-489e-aca1-f21fc4fdbae3"));\r
- StateData stateData = StateData.NewInstance(naUseCatState);\r
- stateData.setState(naUseCatState);\r
- stateData.putModifyingText(CdmStore.getDefaultLanguage(), "Use Category");\r
- getEntity().addState(stateData);\r
List<State> termsSubCategory = new ArrayList<State>();\r
- State naUseSubCatState = (State) CdmStore.getService(ITermService.class).find(UUID.fromString("a8d80223-5c79-4063-8c6b-4dc8681e9c62"));\r
- StateData subCatStateData = StateData.NewInstance(naUseSubCatState);\r
- subCatStateData.setState(naUseSubCatState);\r
- subCatStateData.putModifyingText(CdmStore.getDefaultLanguage(), "Use SubCategory");\r
- getEntity().addState(subCatStateData);\r
- termsSubCategory.add(naUseSubCatState);\r
- \r
+ State emptyState = State.NewInstance();\r
+ termsSubCategory.add(emptyState);\r
combo_UseSubCategory.setTerms(termsSubCategory);\r
combo_UseSubCategory.setEnabled(false);\r
- } \r
+ }\r
}\r
}\r
\r
Map<Language, LanguageString> modifyingText = existingStateData\r
.getModifyingText();\r
if (modifyingText.get(CdmStore.getDefaultLanguage()) != null) {\r
- if (modifyingText.get(CdmStore.getDefaultLanguage()).getText().equals("Use SubCategory")) {\r
+ if (modifyingText.get(CdmStore.getDefaultLanguage()).getText().equals(UsageTermCollection.useSubCategoryVocabularyLabel)) {\r
isChanged = true;\r
if(!existingStateData.getState().getTitleCache().equals(combo_UseSubCategory.getSelection().getTitleCache())) {\r
itrExistingStates.remove();\r
StateData stateData = StateData.NewInstance(combo_UseSubCategory.getSelection());\r
stateData.setState(combo_UseSubCategory.getSelection());\r
- stateData.putModifyingText(CdmStore.getDefaultLanguage(),"Use SubCategory");\r
+ stateData.putModifyingText(CdmStore.getDefaultLanguage(),UsageTermCollection.useSubCategoryVocabularyLabel);\r
itrExistingStates.add(stateData);\r
}\r
}\r
StateData stateData = StateData\r
.NewInstance(combo_UseSubCategory.getSelection());\r
stateData.setState(combo_UseSubCategory.getSelection());\r
- stateData.putModifyingText(CdmStore.getDefaultLanguage(), "Use SubCategory");\r
+ stateData.putModifyingText(CdmStore.getDefaultLanguage(), UsageTermCollection.useSubCategoryVocabularyLabel);\r
getEntity().addState(stateData);\r
}\r
\r
.getModifyingText();\r
\r
if (modifyingText.get(CdmStore.getDefaultLanguage()) != null) {\r
- if (modifyingText.get(CdmStore.getDefaultLanguage()).getText() == "Use SubCategory") {\r
+ if (modifyingText.get(CdmStore.getDefaultLanguage()).getText() == UsageTermCollection.useSubCategoryVocabularyLabel) {\r
itrStateData.remove();\r
}\r
}\r
}\r
}\r
- State naUseSubCat = (State) CdmStore.getService(ITermService.class).find(UUID.fromString("a8d80223-5c79-4063-8c6b-4dc8681e9c62"));\r
- StateData stateData = StateData.NewInstance(naUseSubCat);\r
- stateData.setState(naUseSubCat);\r
- stateData.putModifyingText(CdmStore.getDefaultLanguage(), "Use SubCategory");\r
- getEntity().addState(stateData);\r
- \r
}\r
}\r
if (eventSource == combo_PlantPart) {\r
Iterator<Modifier> itrExistingModifiers = getEntity().getModifiers().iterator();\r
while (itrExistingModifiers.hasNext()) {\r
Modifier modifier = itrExistingModifiers.next();\r
- if(GetVocabularyType(modifier, "Plant Part")) {\r
+ if(GetVocabularyType(modifier, UsageTermCollection.plantPartLabel)) {\r
itrExistingModifiers.remove();\r
}\r
\r
Iterator<Modifier> itr = modifiers.iterator();\r
while (itr.hasNext()) {\r
Modifier currentMod = itr.next();\r
- if(GetVocabularyType(currentMod, "Plant Part")) {\r
+ if(GetVocabularyType(currentMod, UsageTermCollection.plantPartLabel)) {\r
itr.remove();\r
}\r
}\r
}\r
- Modifier naPlantPartModifier = (Modifier) CdmStore.getService(ITermService.class).find(UUID.fromString("30150a82-a12f-4278-96ad-7ce708efa082"));\r
- getEntity().addModifier(naPlantPartModifier);\r
\r
}\r
}\r
Iterator<Modifier> itrExistingModifiers = getEntity().getModifiers().iterator();\r
while (itrExistingModifiers.hasNext()) {\r
Modifier modifier = itrExistingModifiers.next();\r
- if(GetVocabularyType(modifier, "Country")) {\r
+ if(GetVocabularyType(modifier, UsageTermCollection.countryLabel)) {\r
itrExistingModifiers.remove();\r
}\r
\r
Iterator<Modifier> itr = modifiers.iterator();\r
while (itr.hasNext()) {\r
Modifier currentMod = itr.next();\r
- if(GetVocabularyType(currentMod, "Country")) {\r
+ if(GetVocabularyType(currentMod, UsageTermCollection.countryLabel)) {\r
itr.remove();\r
}\r
}\r
}\r
- Modifier naCountryModifier = (Modifier) CdmStore.getService(ITermService.class).find(UUID.fromString("761dddee-bfa2-41f4-82df-3a19c71adee0"));\r
- getEntity().addModifier(naCountryModifier);\r
}\r
}\r
if (eventSource == combo_HumanGroup) {\r
- Modifier naHumanGroupModifier = (Modifier) CdmStore.getService(ITermService.class).find(UUID.fromString("c4b63327-2548-429d-8d55-81fdba5900a5"));\r
- Modifier naEthnicGroupModifier = (Modifier) CdmStore.getService(ITermService.class).find(UUID.fromString("3ca851e5-d0d4-41cd-9066-f79e246c36c2"));\r
if (combo_HumanGroup.getSelection() != null) {\r
boolean isHumanGroupChanged = true;\r
for (Modifier modToCheck: getEntity().getModifiers()) {\r
- if(modToCheck.equals(combo_HumanGroup.getSelection()) && (GetVocabularyType(modToCheck, "Human Group"))) {\r
+ if(modToCheck.equals(combo_HumanGroup.getSelection()) && (GetVocabularyType(modToCheck, UsageTermCollection.humanGroupLabel))) {\r
isHumanGroupChanged = false;\r
}\r
\r
Iterator<Modifier> itrExistingModifiers = getEntity().getModifiers().iterator();\r
while (itrExistingModifiers.hasNext()) {\r
Modifier modifier = itrExistingModifiers.next();\r
- if((GetVocabularyType(modifier, "Human Group") || GetVocabularyType(modifier, "Ethnic Group")) && isHumanGroupChanged) {\r
+ if((GetVocabularyType(modifier, UsageTermCollection.humanGroupLabel) || GetVocabularyType(modifier, UsageTermCollection.ethnicGroupLabel)) && isHumanGroupChanged) {\r
itrExistingModifiers.remove();\r
}\r
\r
if(isHumanGroupChanged){\r
Modifier humanGroup = combo_HumanGroup.getSelection();\r
getEntity().addModifier(humanGroup);\r
- getEntity().addModifier(naEthnicGroupModifier);\r
- \r
}\r
- \r
combo_EthnicGroup.setEnabled(true);\r
- combo_EthnicGroup.setSelection(naEthnicGroupModifier);\r
- \r
} else {\r
Set<Modifier> modifiers = getEntity().getModifiers();\r
if(!modifiers.isEmpty()) {\r
Iterator<Modifier> itr = modifiers.iterator();\r
while (itr.hasNext()) {\r
Modifier currentMod = itr.next();\r
- if(GetVocabularyType(currentMod, "Human Group") || GetVocabularyType(currentMod, "Ethnic Group")) {\r
+ if(GetVocabularyType(currentMod, UsageTermCollection.humanGroupLabel) || GetVocabularyType(currentMod, UsageTermCollection.ethnicGroupLabel)) {\r
itr.remove();\r
}\r
}\r
}\r
- getEntity().addModifier(naHumanGroupModifier);\r
- getEntity().addModifier(naEthnicGroupModifier);\r
List<Modifier> emptyListToResetComboBox = new ArrayList<Modifier>();\r
- emptyListToResetComboBox.add(naEthnicGroupModifier);\r
+ Modifier emptyMod = Modifier.NewInstance();\r
+ emptyListToResetComboBox.add(emptyMod);\r
combo_EthnicGroup.setTerms(emptyListToResetComboBox);\r
- combo_EthnicGroup.setSelection(naEthnicGroupModifier);\r
combo_EthnicGroup.setEnabled(false);\r
\r
}\r
Iterator<Modifier> itr = modifiers.iterator();\r
while (itr.hasNext()) {\r
Modifier currentMod = itr.next();\r
- if(GetVocabularyType(currentMod, "Ethnic Group")) {\r
+ if(GetVocabularyType(currentMod, UsageTermCollection.ethnicGroupLabel)) {\r
itr.remove();\r
}\r
}\r
\r
}\r
- Modifier naEthnicGroupModifier = (Modifier) CdmStore.getService(ITermService.class).find(UUID.fromString("3ca851e5-d0d4-41cd-9066-f79e246c36c2"));\r
- getEntity().addModifier(naEthnicGroupModifier);\r
}\r
}\r
}\r
else if ((term.getVocabulary() != null) && (term.getPartOf()==null) && (term.getVocabulary().getTitleCache().equals(vocabularyExpected))) {\r
return true;\r
}\r
- else if ((vocabularyExpected.equals("Ethnic Group")) && (term.getVocabulary() != null) && ((term.getPartOf() != null))) {\r
+ else if ((vocabularyExpected.equals(UsageTermCollection.ethnicGroupLabel)) && (term.getVocabulary() == null) && ((term.getPartOf() != null))) {\r
return true;\r
}\r
return false;\r
State selectedUseCategory = combo_UseCategory.getSelection();\r
if (selectedUseCategory != null) {\r
combo_UseSubCategory.setTerms(setUseCategoryComboTerms(TermStore.getTerms(State.class, null, false),selectedUseCategory));\r
+ \r
if (!getEntity().getStates().isEmpty()) {\r
Iterator<StateData> itrExistingState = getEntity().getStates().iterator();\r
while(itrExistingState.hasNext()) {\r
Map<Language, LanguageString> modifyingText = existingStateData.getModifyingText();\r
if (modifyingText.get(CdmStore.getDefaultLanguage()) != null) {\r
if (modifyingText.get(CdmStore.getDefaultLanguage())\r
- .getText().equals("Use SubCategory")) {\r
- combo_UseSubCategory.setSelection(stateSelection("Use SubCategory"));\r
+ .getText().equals(UsageTermCollection.useSubCategoryVocabularyLabel)) {\r
+ combo_UseSubCategory.setSelection(stateSelection(UsageTermCollection.useSubCategoryVocabularyLabel));\r
}\r
}\r
}\r
Iterator<Modifier> iterModifiers = getEntity().getModifiers().iterator();\r
while (iterModifiers.hasNext()) {\r
Modifier existingModifier = iterModifiers.next();\r
- if(GetVocabularyType(existingModifier, "Ethnic Group")) {\r
- combo_EthnicGroup.setSelection(modifierSelection("Ethnic Group"));\r
+ if(GetVocabularyType(existingModifier, UsageTermCollection.ethnicGroupLabel)) {\r
+ combo_EthnicGroup.setSelection(modifierSelection(UsageTermCollection.ethnicGroupLabel));\r
}\r
}\r
}\r