Project

General

Profile

Download (11.3 KB) Statistics
| Branch: | Tag: | Revision:
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
}
(16-16/17)