AT: committing changes to formalise the use record string building.
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / UseObjectManager.java
1 package eu.etaxonomy.taxeditor.editor;
2
3 import java.net.URI;
4 import java.net.URISyntaxException;
5 import java.util.List;
6 import java.util.UUID;
7
8 import org.eclipse.core.runtime.IProgressMonitor;
9 import org.eclipse.ui.IMemento;
10
11 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
12 import eu.etaxonomy.cdm.api.service.IFeatureTreeService;
13 import eu.etaxonomy.cdm.api.service.ITermService;
14 import eu.etaxonomy.cdm.api.service.IVocabularyService;
15 import eu.etaxonomy.cdm.model.common.MarkerType;
16 import eu.etaxonomy.cdm.model.common.TermVocabulary;
17 import eu.etaxonomy.cdm.model.description.Feature;
18 import eu.etaxonomy.cdm.model.description.FeatureNode;
19 import eu.etaxonomy.cdm.model.description.FeatureTree;
20 import eu.etaxonomy.cdm.model.description.Modifier;
21 import eu.etaxonomy.cdm.model.description.State;
22 import eu.etaxonomy.taxeditor.model.ContextListenerAdapter;
23 import eu.etaxonomy.taxeditor.store.CdmStore;
24 import eu.etaxonomy.taxeditor.store.StoreUtil;
25
26 public class UseObjectManager extends ContextListenerAdapter{
27 @Override
28 public void contextRefresh(IProgressMonitor monitor) {
29 monitor.subTask("Refreshing the Uses View");
30 StoreUtil.warn(getClass(), "Refreshing Uses View warn");
31 setupNecessaryItems(monitor);
32 }
33
34
35 @Override
36 public void contextStart(IMemento memento, IProgressMonitor monitor) {
37 monitor.subTask("Starting the Uses View");
38 StoreUtil.warn(getClass(), "Starting Uses View warn");
39 setupNecessaryItems(monitor);
40 }
41
42 private void setupNecessaryItems(IProgressMonitor monitor) {
43 MarkerType existingMarkertype = (MarkerType) CdmStore.getService(ITermService.class).find(UUID.fromString("2e6e42d9-e92a-41f4-899b-03c0ac64f039"));
44 TermVocabulary<State> stateVocabulary = (TermVocabulary<State>) CdmStore.getService(IVocabularyService.class).find(UUID.fromString("67430d7c-fd43-4e9d-af5e-d0dca3f74931"));
45 Feature featureUseRecord = (Feature) CdmStore.getService(ITermService.class).find(UUID.fromString("8125a59d-b4d5-4485-89ea-67306297b599"));
46 Feature featureUseSummary = (Feature) CdmStore.getService(ITermService.class).find(UUID.fromString("6acb0348-c070-4512-a37c-67bcac016279"));
47
48 TermVocabulary<Modifier> countryVocabulary = (TermVocabulary<Modifier>) CdmStore.getService(IVocabularyService.class).find(UUID.fromString("116c51f1-e63a-46f7-a258-e1149a42868b"));
49 TermVocabulary<Modifier> plantPartVocabulary = (TermVocabulary<Modifier>) CdmStore.getService(IVocabularyService.class).find(UUID.fromString("369914fe-d54b-4063-99ce-abc81d30ad35"));
50 TermVocabulary<Modifier> humanGroupVocabulary = (TermVocabulary<Modifier>) CdmStore.getService(IVocabularyService.class).find(UUID.fromString("ca46cea5-bdf7-438d-9cd8-e2793d2178dc"));
51 //TermVocabulary<Feature> featureVocabulary = (TermVocabulary<Feature>)CdmStore.getService(IVocabularyService.class).find((UUID.fromString("b187d555-f06f-4d65-9e53-da7c93f8eaa8")));
52
53 ConversationHolder conversation = CdmStore.createConversation();
54 if (existingMarkertype == null) {
55 existingMarkertype = MarkerType.NewInstance("use", "use", null);
56 existingMarkertype.setUuid( UUID.fromString("2e6e42d9-e92a-41f4-899b-03c0ac64f039"));
57 TermVocabulary<MarkerType> markerTypeVocabulary = (TermVocabulary<MarkerType>)CdmStore.getService(IVocabularyService.class).find((UUID.fromString("19dffff7-e142-429c-a420-5d28e4ebe305")));
58 markerTypeVocabulary.addTerm(existingMarkertype);
59 CdmStore.getService(IVocabularyService.class).saveOrUpdate(markerTypeVocabulary);
60 conversation.commit(true);
61 }
62 if (stateVocabulary == null) {
63 monitor.subTask("stateVocabulary empty");
64 URI termSourceUri = null;
65 try {
66 termSourceUri = new URI("eu.etaxonomy.cdm.model.description.State");
67 } catch (URISyntaxException e) {
68 e.printStackTrace();
69 }
70 stateVocabulary = TermVocabulary.NewInstance("Use Category", "Use Category", null, termSourceUri);
71 stateVocabulary.setUuid(UUID.fromString("67430d7c-fd43-4e9d-af5e-d0dca3f74931"));
72 State newDummyState = State.NewInstance("N/A", "N/A", null);
73 newDummyState.setUuid(UUID.fromString("983a7184-6a51-489e-aca1-f21fc4fdbae3"));
74 State newDummySubCat = State.NewInstance("N/A", "N/A", null);
75 newDummySubCat.setUuid(UUID.fromString("a8d80223-5c79-4063-8c6b-4dc8681e9c62"));
76 newDummyState.addIncludes(newDummySubCat);
77 stateVocabulary.addTerm(newDummyState);
78 CdmStore.getService(IVocabularyService.class).saveOrUpdate(stateVocabulary);
79 conversation.commit(true);
80 }
81 if (countryVocabulary == null) {
82 monitor.subTask("countryVocabulary empty");
83 URI termSourceUri = null;
84 try {
85 termSourceUri = new URI("eu.etaxonomy.cdm.model.description.Modifier");
86 } catch (URISyntaxException e) {
87 e.printStackTrace();
88 }
89 countryVocabulary = TermVocabulary.NewInstance("Country", "Country", null, termSourceUri);
90 countryVocabulary.setUuid(UUID.fromString("116c51f1-e63a-46f7-a258-e1149a42868b"));
91 Modifier newDummyModifier = Modifier.NewInstance("N/A", "N/A", null);
92 newDummyModifier.setUuid(UUID.fromString("761dddee-bfa2-41f4-82df-3a19c71adee0"));
93 countryVocabulary.addTerm(newDummyModifier);
94 CdmStore.getService(IVocabularyService.class).saveOrUpdate(countryVocabulary);
95 conversation.commit(true);
96 }
97 if (plantPartVocabulary == null) {
98 monitor.subTask("plantPartVocabulary empty");
99 URI termSourceUri = null;
100 try {
101 termSourceUri = new URI("eu.etaxonomy.cdm.model.description.Modifier");
102 } catch (URISyntaxException e) {
103 e.printStackTrace();
104 }
105 plantPartVocabulary = TermVocabulary.NewInstance("Plant Part", "Plant Part", null, termSourceUri);
106 plantPartVocabulary.setUuid(UUID.fromString("369914fe-d54b-4063-99ce-abc81d30ad35"));
107 Modifier newDummyModifier = Modifier.NewInstance("N/A", "N/A", null);
108 newDummyModifier.setUuid(UUID.fromString("30150a82-a12f-4278-96ad-7ce708efa082"));
109 plantPartVocabulary.addTerm(newDummyModifier);
110 CdmStore.getService(IVocabularyService.class).saveOrUpdate(plantPartVocabulary);
111 conversation.commit(true);
112 }
113 if (humanGroupVocabulary == null) {
114 monitor.subTask("humanGroupVocabulary empty");
115 URI termSourceUri = null;
116 try {
117 termSourceUri = new URI("eu.etaxonomy.cdm.model.description.Modifier");
118 } catch (URISyntaxException e) {
119 e.printStackTrace();
120 }
121 humanGroupVocabulary = TermVocabulary.NewInstance("Human Group", "Human Group", null, termSourceUri);
122 humanGroupVocabulary.setUuid(UUID.fromString("ca46cea5-bdf7-438d-9cd8-e2793d2178dc"));
123 Modifier newDummyModifier = Modifier.NewInstance("N/A", "N/A", null);
124 newDummyModifier.setUuid(UUID.fromString("c4b63327-2548-429d-8d55-81fdba5900a5"));
125 Modifier newSubDummyModifier = Modifier.NewInstance("N/A", "N/A", null);
126 newSubDummyModifier.setUuid(UUID.fromString("3ca851e5-d0d4-41cd-9066-f79e246c36c2"));
127 newDummyModifier.addIncludes(newSubDummyModifier);
128 humanGroupVocabulary.addTerm(newDummyModifier);
129 CdmStore.getService(IVocabularyService.class).saveOrUpdate(humanGroupVocabulary);
130 conversation.commit(true);
131 }
132
133 if(featureUseRecord == null|| featureUseSummary == null) {
134 TermVocabulary<Feature> featureVocabulary = (TermVocabulary<Feature>)CdmStore.getService(IVocabularyService.class).find((UUID.fromString("b187d555-f06f-4d65-9e53-da7c93f8eaa8")));
135 FeatureTree palmWebFeatureTree = CdmStore.getService(IFeatureTreeService.class).find(UUID.fromString("72ccce05-7cc8-4dab-8e47-bf3f5fd848a0"));
136 //List<FeatureTree> featureTrees = CdmStore.getService(IFeatureTreeService.class).list(FeatureTree.class, null, null, null, null);
137
138 if (featureUseRecord == null ) {
139 featureUseRecord = Feature.NewInstance("Use Record", "Use Record", null);
140 featureUseRecord.setUuid(UUID.fromString("8125a59d-b4d5-4485-89ea-67306297b599"));
141 featureUseRecord.isSupportsCategoricalData();
142 featureUseRecord.setSupportsCategoricalData(true);
143 featureVocabulary.addTerm(featureUseRecord);
144 FeatureNode useRecFeatureNode = FeatureNode.NewInstance(featureUseRecord);
145 palmWebFeatureTree.getRoot().addChild(useRecFeatureNode);
146 }
147 if (featureUseSummary == null) {
148 featureUseSummary = Feature.NewInstance("Use", "Use", null);
149 featureUseSummary.setUuid(UUID.fromString("6acb0348-c070-4512-a37c-67bcac016279"));
150 featureUseSummary.isSupportsTextData();
151 featureUseSummary.setSupportsTextData(true);
152 //TermVocabulary<Feature> featureVocabulary = (TermVocabulary<Feature>)CdmStore.getService(IVocabularyService.class).find((UUID.fromString("b187d555-f06f-4d65-9e53-da7c93f8eaa8")));
153 featureVocabulary.addTerm(featureUseSummary);
154 FeatureNode useSumFeatureNode = FeatureNode.NewInstance(featureUseSummary);
155 palmWebFeatureTree.getRoot().addChild(useSumFeatureNode);
156 }
157
158 CdmStore.getService(IVocabularyService.class).saveOrUpdate(featureVocabulary);
159 CdmStore.getService(IFeatureTreeService.class).saveOrUpdate(palmWebFeatureTree);
160 conversation.commit(true);
161
162 }
163 //if(featureUseRecord == null || featureUseSummary == null) {
164 /*if(featureUseRecord == null) {
165 FeatureTree palmWebFeatureTree = CdmStore.getService(IFeatureTreeService.class).find(UUID.fromString("72ccce05-7cc8-4dab-8e47-bf3f5fd848a0"));
166
167 if (featureUseRecord == null ) {
168 featureUseRecord = Feature.NewInstance("Use Record", "Use Record", null);
169 featureUseRecord.setUuid(UUID.fromString("8125a59d-b4d5-4485-89ea-67306297b599"));
170 featureUseRecord.isSupportsCategoricalData();
171 featureUseRecord.setSupportsCategoricalData(true);
172 //TermVocabulary<Feature> featureVocabulary = (TermVocabulary<Feature>)CdmStore.getService(IVocabularyService.class).find((UUID.fromString("b187d555-f06f-4d65-9e53-da7c93f8eaa8")));
173 featureVocabulary.addTerm(featureUseRecord);
174 FeatureNode useRecFeatureNode = FeatureNode.NewInstance(featureUseRecord);
175 palmWebFeatureTree.getRoot().addChild(useRecFeatureNode);
176 CdmStore.getService(IVocabularyService.class).saveOrUpdate(featureVocabulary);
177 CdmStore.getService(IFeatureTreeService.class).saveOrUpdate(palmWebFeatureTree);
178 conversation.commit(true);
179
180 }*/
181 /*if (featureUseSummary == null) {
182 featureUseSummary = Feature.NewInstance("Use", "Use", null);
183 featureUseSummary.setUuid(UUID.fromString("6acb0348-c070-4512-a37c-67bcac016279"));
184 featureUseSummary.isSupportsTextData();
185 featureUseSummary.setSupportsTextData(true);
186 //TermVocabulary<Feature> featureVocabulary = (TermVocabulary<Feature>)CdmStore.getService(IVocabularyService.class).find((UUID.fromString("b187d555-f06f-4d65-9e53-da7c93f8eaa8")));
187 featureVocabulary.addTerm(featureUseSummary);
188 FeatureNode useSumFeatureNode = FeatureNode.NewInstance(featureUseSummary);
189 palmWebFeatureTree.getRoot().addChild(useSumFeatureNode);
190 CdmStore.getService(IVocabularyService.class).saveOrUpdate(featureVocabulary);
191 CdmStore.getService(IFeatureTreeService.class).saveOrUpdate(palmWebFeatureTree);
192 conversation.commit(true);
193 }*/
194
195 //FeatureTree palmWebFeatureTree = CdmStore.getService(IFeatureTreeService.class).find(UUID.fromString("72ccce05-7cc8-4dab-8e47-bf3f5fd848a0"));
196 //List<FeatureTree> featureTrees = CdmStore.getService(IFeatureTreeService.class).list(FeatureTree.class, null, null, null, null);
197 //FeatureNode useRecFeatureNode = FeatureNode.NewInstance(featureUseRecord);
198
199 //palmWebFeatureTree.getRoot().addChild(useRecFeatureNode);
200
201 //}
202
203
204 conversation.close();
205 }
206 }