AT: committing changes to the TaxEditor Post second round of code review
authora.theys <a.theys@localhost>
Mon, 18 Jun 2012 11:48:28 +0000 (11:48 +0000)
committera.theys <a.theys@localhost>
Mon, 18 Jun 2012 11:48:28 +0000 (11:48 +0000)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/UsesLabelProvider.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/UsesViewPart.java
eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/UsageTermCollection.java

index 95390d8668b0c93dccbedd2fe615fe7c3d3d2184..0cea6eab7433d1cbe38f7e80dad50ff329905f15 100644 (file)
@@ -24,6 +24,7 @@ import eu.etaxonomy.cdm.model.description.StateData;
 import eu.etaxonomy.cdm.model.description.TextData;\r
 import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;\r
 import eu.etaxonomy.taxeditor.store.CdmStore;\r
+import eu.etaxonomy.taxeditor.editor.UsageTermCollection;\r
 \r
 /**\r
  * UsesLabelProvider Class\r
@@ -49,46 +50,84 @@ public class UsesLabelProvider extends ColumnLabelProvider implements
                }\r
                else if (element instanceof CategoricalData) {\r
                        if (!((CategoricalData) element).getStates().isEmpty()) {\r
+                               boolean isUseCategoryAbsent = true;\r
                                for (StateData statedata : ((CategoricalData) element).getStates()) {\r
                                        if(statedata.getState() != null && statedata.getModifyingText().get(CdmStore.getDefaultLanguage()) !=null && statedata.getModifyingText().get(CdmStore.getDefaultLanguage()).getText().equals("Use Category")) {\r
                                                text = text + statedata.getState().getTitleCache() + ";";\r
+                                               isUseCategoryAbsent = false;\r
                                        }\r
                                }\r
+                               if(isUseCategoryAbsent) {\r
+                                       text = text + UsageTermCollection.notAvailableLabel + ";";\r
+                               }\r
+                               \r
+                               boolean isUseSubCategoryAbsent = true;\r
                                for (StateData statedata : ((CategoricalData) element).getStates()) {\r
                                        if(statedata.getState() != null && statedata.getModifyingText().get(CdmStore.getDefaultLanguage()) !=null && statedata.getModifyingText().get(CdmStore.getDefaultLanguage()).getText().equals("Use SubCategory")) {\r
                                                text = text + statedata.getState().getTitleCache() + ";";\r
+                                               isUseSubCategoryAbsent = false;\r
                                        }\r
                                }\r
+                               if(isUseSubCategoryAbsent) {\r
+                                       text = text + UsageTermCollection.notAvailableLabel + ";";\r
+                               }\r
+                       }\r
+                       else {\r
+                               text = text + UsageTermCollection.notAvailableLabel + ";" + UsageTermCollection.notAvailableLabel + ";";\r
                        }\r
                        if (!((CategoricalData) element).getModifiers().isEmpty()) {\r
                                for (Modifier modifier: ((CategoricalData) element).getModifiers()){\r
                                        modifier.getPartOf();\r
                                        modifier.getVocabulary();\r
                                }\r
+                               \r
+                               boolean isPlantPartAbsent = true;\r
                                for (Modifier modifier: ((CategoricalData) element).getModifiers()){\r
-                                       if(GetVocabularyType(modifier, "Plant Part")) {\r
+                                       if(GetVocabularyType(modifier, UsageTermCollection.plantPartLabel)) {\r
                                                text = text +  modifier.getTitleCache()+ ";";\r
+                                               isPlantPartAbsent = false;\r
                                        }\r
                                        \r
                                }\r
+                               if (isPlantPartAbsent) {\r
+                                       text = text + UsageTermCollection.notAvailableLabel + ";";\r
+                               }\r
+                               \r
+                               boolean isHumanGroupAbsent = true;\r
                                for (Modifier modifier: ((CategoricalData) element).getModifiers()){\r
-                                       if(GetVocabularyType(modifier, "Human Group")) {\r
+                                       if(GetVocabularyType(modifier, UsageTermCollection.humanGroupLabel)) {\r
                                                text = text +  modifier.getTitleCache()+ ";";\r
+                                               isHumanGroupAbsent = false;\r
                                        }\r
-                                       \r
                                }\r
+                               if (isHumanGroupAbsent) {\r
+                                       text = text + UsageTermCollection.notAvailableLabel + ";";\r
+                               }\r
+                               \r
+                               boolean isEthnicGroupAbsent = true;\r
                                for (Modifier modifier: ((CategoricalData) element).getModifiers()){\r
-                                       if(GetVocabularyType(modifier, "Ethnic Group")) {\r
+                                       if(GetVocabularyType(modifier, UsageTermCollection.ethnicGroupLabel)) {\r
                                                text = text +  modifier.getTitleCache()+ ";";\r
+                                               isEthnicGroupAbsent = false;\r
                                        }\r
-                                       \r
                                }\r
+                               if (isEthnicGroupAbsent) {\r
+                                       text = text + UsageTermCollection.notAvailableLabel + ";";\r
+                               }\r
+                               \r
+                               boolean isCountryAbsent = true;\r
                                for (Modifier modifier: ((CategoricalData) element).getModifiers()){\r
-                                       if(GetVocabularyType(modifier, "Country")) {\r
+                                       if(GetVocabularyType(modifier, UsageTermCollection.countryLabel)) {\r
                                                text = text +  modifier.getTitleCache()+ ";";\r
+                                               isCountryAbsent = false;\r
                                        }\r
-                                       \r
                                }\r
+                               if (isCountryAbsent) {\r
+                                       text = text + UsageTermCollection.notAvailableLabel + ";";\r
+                               }\r
+                       }\r
+                       else {\r
+                               text = text + UsageTermCollection.notAvailableLabel + ";" + UsageTermCollection.notAvailableLabel + ";" + UsageTermCollection.notAvailableLabel + ";" + UsageTermCollection.notAvailableLabel + ";";\r
                        }\r
                \r
                        if (text == null || text.length() == 0) {\r
index bf2b60a827ad1f1c2920a72cea36974576b20cc7..3f0aea779beb0fd18a65739eca8470df1b0f5422 100644 (file)
@@ -17,6 +17,8 @@ import org.eclipse.jface.action.GroupMarker;
 import org.eclipse.jface.action.IToolBarManager;\r
 import org.eclipse.jface.action.MenuManager;\r
 import org.eclipse.jface.resource.ImageDescriptor;\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.swt.SWT;\r
 import org.eclipse.swt.dnd.DND;\r
@@ -26,9 +28,17 @@ import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;\r
 import org.eclipse.swt.widgets.Menu;\r
 import org.eclipse.swt.widgets.Tree;\r
+import org.eclipse.ui.IEditorInput;\r
+import org.eclipse.ui.IEditorPart;\r
 import org.eclipse.ui.IWorkbenchActionConstants;\r
+import org.eclipse.ui.IWorkbenchPart;\r
 \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.MultiPageTaxonEditor;\r
+import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor;\r
+import eu.etaxonomy.taxeditor.editor.key.AbstractGraphKeyEditor;\r
 import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptionElementDragListener;\r
 import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptionElementDropAdapter;\r
 import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptionElementTransfer;\r
@@ -89,6 +99,38 @@ public class UsesViewPart extends DescriptiveViewPart implements IPartContentHas
                toolBarManager.add(hideAllElementsAction);\r
        }\r
        \r
+       @Override\r
+       public void selectionChanged(IWorkbenchPart part, ISelection selection) {\r
+               if(EditorUtil.getActiveEditor() == null){\r
+                       showEmptyPage();\r
+                       return;\r
+               }\r
+               \r
+               if(part instanceof BulkEditor){\r
+                       showEmptyPage();\r
+                       return;\r
+               }\r
+               \r
+               if(part instanceof AbstractGraphKeyEditor){\r
+                       showEmptyPage();\r
+                       return;\r
+               }\r
+               \r
+               if(part instanceof DefinedTermEditor){\r
+                       showEmptyPage();\r
+                       return;\r
+               }\r
+               \r
+               if(part instanceof MultiPageTaxonEditor){\r
+                       if(! part.equals(this.part)){\r
+                               IEditorInput input = ((IEditorPart) part).getEditorInput();\r
+                               featureNodeContainerCache.clear();\r
+                               showViewer(part, new StructuredSelection(input));\r
+                       }\r
+                       showViewer();\r
+               }\r
+       }\r
+       \r
        \r
        private void createMenu(){\r
                MenuManager menuManager = new MenuManager();\r
index 0ef1271166f917d3c5e0334ce919ba244b133531..1e01f81af1c57173a0ce29ea5898f4ff11fe208d 100644 (file)
@@ -9,6 +9,7 @@ Export-Package: eu.etaxonomy.cdm,
  eu.etaxonomy.cdm.database,
  eu.etaxonomy.taxeditor.datasource,
  eu.etaxonomy.taxeditor.datasource.wizard,
+ eu.etaxonomy.taxeditor.editor,
  eu.etaxonomy.taxeditor.editor.definedterm,
  eu.etaxonomy.taxeditor.featuretree,
  eu.etaxonomy.taxeditor.handler,
index b3b0b69f67da58a01d93f8df1c36c6b8db3a3c15..ed891f794d94f3dbffc23b7344b89aa59f0a2400 100644 (file)
@@ -44,6 +44,8 @@ public class UsageTermCollection {
        public final static UUID uuidHumanGroupDummy = UUID.fromString("c4b63327-2548-429d-8d55-81fdba5900a5");\r
        public final static UUID uuidEthnicGroupDummy = UUID.fromString("3ca851e5-d0d4-41cd-9066-f79e246c36c2");\r
        \r
+       public final static String ethnicGroupLabel = "Ethnic Group";\r
+       \r
        public final static String notAvailableLabel = "N/A";\r
        \r
        \r