package eu.etaxonomy.taxeditor.editor.view.uses.handler;
+import java.util.List;
+import java.util.Set;
+
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.ui.forms.editor.FormEditor;
import org.eclipse.ui.handlers.HandlerUtil;
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
+import eu.etaxonomy.cdm.model.description.CategoricalData;
+import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.description.Feature;
import eu.etaxonomy.cdm.model.description.TaxonDescription;
+import eu.etaxonomy.cdm.model.description.TextData;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.taxeditor.editor.EditorUtil;
import eu.etaxonomy.taxeditor.editor.TaxonEditorInput;
import eu.etaxonomy.taxeditor.editor.view.uses.operation.CreateUseRecordOperation;
import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
+import eu.etaxonomy.taxeditor.store.CdmStore;
public class CreateUseRecordHandler extends AbstractHandler {
public Object execute(ExecutionEvent event) throws ExecutionException {
}
if (description != null) {
-
- Feature feature = (Feature) ((Event) event.getTrigger()).data;
-
+ //CategoricalData element = CategoricalData.NewInstance();
AbstractPostOperation operation = null;
try {
+ List<Feature> features = CdmStore.getTermManager().getPreferredTerms(Feature.class);
+ //TextData element = TextData.NewInstance();
+ /*TextData feature = TextData.NewInstance();
+ *Feature feature = (Feature) HibernateProxyHelper.deproxy(feature);*/
+ for (Feature feature : features) {
+ if(feature.getTitleCache().equals("Use Record")) {
+ feature.setSupportsCategoricalData(true);
+ //CategoricalData element = CategoricalData.NewInstance();
+ //element.setFeature(feature);
+ /*operation = new CreateUseRecordOperation(event
+ .getCommand().getName(),
+ EditorUtil.getUndoContext(), taxon,
+ description, feature, postOperationEnabled);*/
+ operation = new CreateUseRecordOperation(event
+ .getCommand().getName(),
+ EditorUtil.getUndoContext(), taxon,
+ description, feature, postOperationEnabled);
+
+ }
+ }
// TODO use undo context specific to editor
- operation = new CreateUseRecordOperation(event
- .getCommand().getName(),
- EditorUtil.getUndoContext(), taxon,
- description, element, postOperationEnabled);
+
EditorUtil.executeOperation(operation);
} catch (NotDefinedException e) {
EditorUtil.warn(getClass(), "Command name not set");