+/**\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.view.uses.operation;\r
\r
-import java.util.HashSet;\r
-import java.util.Set;\r
-\r
import org.eclipse.core.commands.ExecutionException;\r
import org.eclipse.core.commands.operations.IUndoContext;\r
import org.eclipse.core.runtime.IAdaptable;\r
\r
import eu.etaxonomy.cdm.model.common.Marker;\r
import eu.etaxonomy.cdm.model.common.MarkerType;\r
-import eu.etaxonomy.cdm.model.description.Feature;\r
import eu.etaxonomy.cdm.model.description.TaxonDescription;\r
-import eu.etaxonomy.cdm.model.description.TextData;\r
-import eu.etaxonomy.cdm.model.media.Media;\r
import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;\r
+import eu.etaxonomy.taxeditor.editor.view.descriptive.operation.CreateTaxonDescriptionOperation;\r
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;\r
-import eu.etaxonomy.taxeditor.store.CdmStore;\r
+import eu.etaxonomy.taxeditor.store.UseObjectStore;\r
\r
-public class CreateTaxonUseOperation extends AbstractPostOperation {\r
+/**\r
+ * CreateTaxonUseOperation Class\r
+ * @author a.theys\r
+ * @created mar 13, 2012\r
+ */\r
+public class CreateTaxonUseOperation extends CreateTaxonDescriptionOperation {\r
private TaxonDescription description;\r
- private boolean isImageGallery;\r
- private Set<MarkerType> markerTypes = new HashSet<MarkerType>();\r
private Marker marker;\r
\r
/**\r
- * <p>Constructor for CreateTaxonDescriptionOperation.</p>\r
+ * <p>Constructor for CreateTaxonUseOperation.</p>\r
*\r
* @param label a {@link java.lang.String} object.\r
* @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object.\r
}\r
\r
/**\r
- * <p>Constructor for CreateTaxonDescriptionOperation.</p>\r
+ * <p>Constructor for CreateTaxonUseOperation.</p>\r
*\r
* @param label a {@link java.lang.String} object.\r
* @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object.\r
public CreateTaxonUseOperation(String label, IUndoContext undoContext,\r
Taxon taxon, IPostOperationEnabled postOperationEnabled, boolean isImageGallery) {\r
super(label, undoContext, taxon, postOperationEnabled);\r
- this.isImageGallery = isImageGallery;\r
}\r
- \r
- /* (non-Javadoc)\r
- * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)\r
- */\r
+\r
+\r
/** {@inheritDoc} */\r
@Override\r
public IStatus execute(IProgressMonitor monitor, IAdaptable info)\r
throws ExecutionException {\r
- \r
- description = TaxonDescription.NewInstance(taxon);\r
+\r
+ description = TaxonDescription.NewInstance(element);\r
monitor.worked(20);\r
- //this.markerTypes.addAll(CdmStore.getTermManager().getPreferredMarkerTypes());\r
- this.markerTypes.addAll(CdmStore.getTermManager().getPreferredTerms(MarkerType.class));\r
- Set<MarkerType> typesToDisdplay = new HashSet<MarkerType>();\r
- for (MarkerType markerType : markerTypes) {\r
- if (markerType.getTitleCache().equals("use")) {\r
- marker = Marker.NewInstance(markerType, true);\r
- description.addMarker(marker);\r
- }\r
- }\r
- if(isImageGallery){\r
- description.setImageGallery(isImageGallery);\r
- // add the description element to hold the media elements for this image gallery\r
- TextData element = TextData.NewInstance(Feature.IMAGE());\r
- element.addMedia(Media.NewInstance());\r
- description.addElement(element);\r
- }\r
+ MarkerType useMarkerType = UseObjectStore.getUseMarkerType();\r
+ marker = Marker.NewInstance(useMarkerType, true);\r
+ description.addMarker(marker);\r
monitor.worked(40);\r
\r
return postExecute(description);\r
}\r
-\r
- /* (non-Javadoc)\r
- * @see org.eclipse.core.commands.operations.AbstractOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)\r
- */\r
- /** {@inheritDoc} */\r
- @Override\r
- public IStatus redo(IProgressMonitor monitor, IAdaptable info)\r
- throws ExecutionException {\r
- \r
- taxon.addDescription(description);\r
- \r
- return postExecute(description);\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see org.eclipse.core.commands.operations.AbstractOperation#undo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)\r
- */\r
- /** {@inheritDoc} */\r
- @Override\r
- public IStatus undo(IProgressMonitor monitor, IAdaptable info)\r
- throws ExecutionException {\r
-\r
- taxon.removeDescription(description);\r
- \r
- return postExecute(null);\r
- }\r
}\r
\r