ref #7854: minor
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / UseObjectManager.java
index 815532db5060ef9c7c5938cae041f8886644c993..747e0b69e02d32fc1c82f2092e1dfd8c12b8cd07 100644 (file)
+/**\r
+* Copyright (C) 2011 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;\r
 \r
-import java.net.URI;\r
-import java.net.URISyntaxException;\r
-import java.util.List;\r
-import java.util.UUID;\r
-\r
 import org.eclipse.core.runtime.IProgressMonitor;\r
 import org.eclipse.ui.IMemento;\r
 \r
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;\r
-import eu.etaxonomy.cdm.api.service.IFeatureTreeService;\r
-import eu.etaxonomy.cdm.api.service.ITermService;\r
-import eu.etaxonomy.cdm.api.service.IVocabularyService;\r
-import eu.etaxonomy.cdm.model.common.MarkerType;\r
-import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
-import eu.etaxonomy.cdm.model.description.Feature;\r
-import eu.etaxonomy.cdm.model.description.FeatureNode;\r
-import eu.etaxonomy.cdm.model.description.FeatureTree;\r
-import eu.etaxonomy.cdm.model.description.Modifier;\r
-import eu.etaxonomy.cdm.model.description.State;\r
+import eu.etaxonomy.taxeditor.editor.l10n.Messages;\r
 import eu.etaxonomy.taxeditor.model.ContextListenerAdapter;\r
+import eu.etaxonomy.taxeditor.model.MessagingUtils;\r
 import eu.etaxonomy.taxeditor.store.CdmStore;\r
-import eu.etaxonomy.taxeditor.store.StoreUtil;\r
+import eu.etaxonomy.taxeditor.store.UseObjectStore;\r
 \r
+/**\r
+ * The context listener will call this class when a new context is started.\r
+ * It will reset the UseObjectStore to guarantee the static\r
+ * content of the store will be refreshed each time we load a new context.\r
+ * @author a.theys\r
+ * @author a.mueller\r
+ * @created mar 13, 2012\r
+ */\r
 public class UseObjectManager extends ContextListenerAdapter{\r
+\r
+    private static final String RESET_USAGE_DATA = Messages.UseObjectManager_RESET_DATA;\r
+\r
+\r
+    public UseObjectManager() {\r
+               CdmStore.getContextManager().addContextListener(this);\r
+       }\r
+\r
+\r
        @Override\r
        public void contextRefresh(IProgressMonitor monitor) {\r
-               monitor.subTask("Refreshing the Uses View");\r
-               StoreUtil.warn(getClass(), "Refreshing Uses View warn");\r
-               setupNecessaryItems(monitor);\r
+               monitor.subTask(RESET_USAGE_DATA);\r
+               MessagingUtils.warn(getClass(), RESET_USAGE_DATA);\r
+               UseObjectStore.reset();\r
        }\r
-       \r
-       \r
+\r
+\r
        @Override\r
        public void contextStart(IMemento memento, IProgressMonitor monitor) {\r
-               monitor.subTask("Starting the Uses View");\r
-               StoreUtil.warn(getClass(), "Starting Uses View warn");\r
-               setupNecessaryItems(monitor);\r
-       }\r
-       \r
-       private void setupNecessaryItems(IProgressMonitor monitor) {\r
-               MarkerType existingMarkertype = (MarkerType) CdmStore.getService(ITermService.class).find(UUID.fromString("2e6e42d9-e92a-41f4-899b-03c0ac64f039"));\r
-               TermVocabulary<State> stateVocabulary =  (TermVocabulary<State>) CdmStore.getService(IVocabularyService.class).find(UUID.fromString("67430d7c-fd43-4e9d-af5e-d0dca3f74931"));\r
-               Feature featureUseRecord = (Feature) CdmStore.getService(ITermService.class).find(UUID.fromString("8125a59d-b4d5-4485-89ea-67306297b599"));\r
-               TermVocabulary<Modifier> countryVocabulary =  (TermVocabulary<Modifier>) CdmStore.getService(IVocabularyService.class).find(UUID.fromString("116c51f1-e63a-46f7-a258-e1149a42868b"));\r
-               TermVocabulary<Modifier> plantPartVocabulary =  (TermVocabulary<Modifier>) CdmStore.getService(IVocabularyService.class).find(UUID.fromString("369914fe-d54b-4063-99ce-abc81d30ad35"));\r
-               TermVocabulary<Modifier> humanGroupVocabulary =  (TermVocabulary<Modifier>) CdmStore.getService(IVocabularyService.class).find(UUID.fromString("ca46cea5-bdf7-438d-9cd8-e2793d2178dc"));\r
-               \r
-               ConversationHolder conversation = CdmStore.createConversation();\r
-               if (existingMarkertype == null) {\r
-                       existingMarkertype = MarkerType.NewInstance("use", "use", null);\r
-                       existingMarkertype.setUuid( UUID.fromString("2e6e42d9-e92a-41f4-899b-03c0ac64f039"));\r
-                       TermVocabulary<MarkerType> markerTypeVocabulary = (TermVocabulary<MarkerType>)CdmStore.getService(IVocabularyService.class).find((UUID.fromString("19dffff7-e142-429c-a420-5d28e4ebe305")));\r
-                       markerTypeVocabulary.addTerm(existingMarkertype);\r
-                       CdmStore.getService(IVocabularyService.class).saveOrUpdate(markerTypeVocabulary);\r
-                       conversation.commit(true);\r
-               }\r
-               if (stateVocabulary == null) {\r
-                       monitor.subTask("stateVocabulary empty");\r
-                       URI termSourceUri = null;\r
-                       try {\r
-                               termSourceUri = new URI("eu.etaxonomy.cdm.model.description.State");\r
-                       } catch (URISyntaxException e) {\r
-                               e.printStackTrace();\r
-                       }\r
-                       stateVocabulary = TermVocabulary.NewInstance("Use Category", "Use Category", null, termSourceUri);\r
-                       stateVocabulary.setUuid(UUID.fromString("67430d7c-fd43-4e9d-af5e-d0dca3f74931"));\r
-                       State newDummyState = State.NewInstance("Dummy Use Cat", "Dummy Use Cat", null);\r
-                       State newDummySubCat = State.NewInstance("Dummy Use Sub Cat", "Dummy Use Sub Cat", null);\r
-                       newDummyState.addIncludes(newDummySubCat);\r
-                       stateVocabulary.addTerm(newDummyState);\r
-                       CdmStore.getService(IVocabularyService.class).saveOrUpdate(stateVocabulary);\r
-                       conversation.commit(true);\r
-               }\r
-               if (countryVocabulary == null) {\r
-                       monitor.subTask("countryVocabulary empty");\r
-                       URI termSourceUri = null;\r
-                       try {\r
-                               termSourceUri = new URI("eu.etaxonomy.cdm.model.description.Modifier");\r
-                       } catch (URISyntaxException e) {\r
-                               e.printStackTrace();\r
-                       }\r
-                       countryVocabulary = TermVocabulary.NewInstance("Country", "Country", null, termSourceUri);\r
-                       countryVocabulary.setUuid(UUID.fromString("116c51f1-e63a-46f7-a258-e1149a42868b"));\r
-                       \r
-                       Modifier newDummyModifier = Modifier.NewInstance("Dummy Country", "Dummy Country", null);\r
-                       countryVocabulary.addTerm(newDummyModifier);\r
-                       CdmStore.getService(IVocabularyService.class).saveOrUpdate(countryVocabulary);\r
-                       conversation.commit(true);\r
-               }\r
-               if (plantPartVocabulary == null) {\r
-                       monitor.subTask("plantPartVocabulary empty");\r
-                       URI termSourceUri = null;\r
-                       try {\r
-                               termSourceUri = new URI("eu.etaxonomy.cdm.model.description.Modifier");\r
-                       } catch (URISyntaxException e) {\r
-                               e.printStackTrace();\r
-                       }\r
-                       plantPartVocabulary = TermVocabulary.NewInstance("Plant Part", "Plant Part", null, termSourceUri);\r
-                       plantPartVocabulary.setUuid(UUID.fromString("369914fe-d54b-4063-99ce-abc81d30ad35"));\r
-                       Modifier newDummyModifier = Modifier.NewInstance("Dummy Plant Part", "Dummy Plant Part", null);\r
-                       plantPartVocabulary.addTerm(newDummyModifier);\r
-                       CdmStore.getService(IVocabularyService.class).saveOrUpdate(plantPartVocabulary);\r
-                       conversation.commit(true);\r
-               }\r
-               if (humanGroupVocabulary == null) {\r
-                       monitor.subTask("humanGroupVocabulary empty");\r
-                       URI termSourceUri = null;\r
-                       try {\r
-                               termSourceUri = new URI("eu.etaxonomy.cdm.model.description.Modifier");\r
-                       } catch (URISyntaxException e) {\r
-                               e.printStackTrace();\r
-                       }\r
-                       humanGroupVocabulary = TermVocabulary.NewInstance("Human Group", "Human Group", null, termSourceUri);\r
-                       humanGroupVocabulary.setUuid(UUID.fromString("ca46cea5-bdf7-438d-9cd8-e2793d2178dc"));\r
-                       Modifier newDummyModifier = Modifier.NewInstance("Dummy Human Group", "Dummy Human Group", null);\r
-                       Modifier newSubDummyModifier = Modifier.NewInstance("Dummy Ethnic Group", "Dummy Ethnic Group", null);\r
-                       newDummyModifier.addIncludes(newSubDummyModifier);\r
-                       humanGroupVocabulary.addTerm(newDummyModifier);\r
-                       CdmStore.getService(IVocabularyService.class).saveOrUpdate(humanGroupVocabulary);\r
-                       conversation.commit(true);\r
-               }\r
-               if(featureUseRecord == null) {\r
-                       featureUseRecord = Feature.NewInstance("Use Record", "Use Record", null);\r
-                       featureUseRecord.setUuid(UUID.fromString("8125a59d-b4d5-4485-89ea-67306297b599"));\r
-                       featureUseRecord.isSupportsCategoricalData();\r
-                       featureUseRecord.setSupportsCategoricalData(true);\r
-                       TermVocabulary<Feature> featureVocabulary = (TermVocabulary<Feature>)CdmStore.getService(IVocabularyService.class).find((UUID.fromString("b187d555-f06f-4d65-9e53-da7c93f8eaa8")));\r
-                       featureVocabulary.addTerm(featureUseRecord);\r
-                       \r
-                       FeatureTree palmWebFeatureTree = CdmStore.getService(IFeatureTreeService.class).find(UUID.fromString("72ccce05-7cc8-4dab-8e47-bf3f5fd848a0"));\r
-                       //List<FeatureTree> featureTrees = CdmStore.getService(IFeatureTreeService.class).list(FeatureTree.class, null, null, null, null);\r
-                       FeatureNode useRecFeatureNode = FeatureNode.NewInstance(featureUseRecord);\r
-                       \r
-                       palmWebFeatureTree.getRoot().addChild(useRecFeatureNode);\r
-                       \r
-                       CdmStore.getService(IVocabularyService.class).saveOrUpdate(featureVocabulary);\r
-                       CdmStore.getService(IFeatureTreeService.class).saveOrUpdate(palmWebFeatureTree);\r
-                       conversation.commit(true);\r
-                       \r
-               }\r
-                       \r
-               \r
-               conversation.close();   \r
+//             monitor.subTask("Starting the Uses View");\r
+//             MessagingUtils.warn(getClass(), "Starting Uses View warn");\r
+               UseObjectStore.reset();\r
        }\r
+\r
+\r
 }\r