3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
11 package eu
.etaxonomy
.taxeditor
.bulkeditor
.derivedunit
.operation
;
13 import org
.eclipse
.core
.commands
.ExecutionException
;
14 import org
.eclipse
.core
.commands
.operations
.IUndoContext
;
15 import org
.eclipse
.core
.runtime
.IAdaptable
;
16 import org
.eclipse
.core
.runtime
.IProgressMonitor
;
17 import org
.eclipse
.core
.runtime
.IStatus
;
19 import eu
.etaxonomy
.cdm
.api
.facade
.DerivedUnitFacade
;
20 import eu
.etaxonomy
.cdm
.api
.facade
.DerivedUnitFacadeNotSupportedException
;
21 import eu
.etaxonomy
.cdm
.model
.description
.DescriptionBase
;
22 import eu
.etaxonomy
.cdm
.model
.description
.SpecimenDescription
;
23 import eu
.etaxonomy
.cdm
.model
.occurrence
.DerivedUnitBase
;
24 import eu
.etaxonomy
.taxeditor
.bulkeditor
.BulkEditorUtil
;
25 import eu
.etaxonomy
.taxeditor
.operation
.AbstractPostOperation
;
26 import eu
.etaxonomy
.taxeditor
.operation
.IPostOperationEnabled
;
30 * @created Feb 11, 2011
33 public class AddDerivedUnitFacadeMediaOperation
extends
34 AbstractPostOperation
{
36 public static final int DERIVED_UNIT_MEDIA
= 0;
37 public static final int FIELD_OBJECT_MEDIA
= 1;
39 private DerivedUnitBase derivedUnit
;
45 * @param postOperationEnabled
47 public AddDerivedUnitFacadeMediaOperation(String label
, IUndoContext undoContext
, DerivedUnitBase derivedUnit
,
48 int mode
, IPostOperationEnabled postOperationEnabled
) {
49 super(label
, undoContext
, postOperationEnabled
);
51 this.derivedUnit
= derivedUnit
;
56 * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
59 public IStatus
execute(IProgressMonitor monitor
, IAdaptable info
)
60 throws ExecutionException
{
61 DerivedUnitFacade facade
;
63 facade
= DerivedUnitFacade
.NewInstance(derivedUnit
);
65 createImageGallery(facade
);
66 } catch (DerivedUnitFacadeNotSupportedException e
) {
67 BulkEditorUtil
.error(getClass(), e
);
70 return postExecute(derivedUnit
);
79 protected void createImageGallery(DerivedUnitFacade facade
){
80 if(mode
== DERIVED_UNIT_MEDIA
){
81 facade
.getDerivedUnitImageGallery(true);
83 else if(mode
== FIELD_OBJECT_MEDIA
){
84 facade
.getFieldObjectImageGallery(true);
87 throw new IllegalArgumentException("Mode not supported: " + mode
);
92 * @see org.eclipse.core.commands.operations.AbstractOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
95 public IStatus
redo(IProgressMonitor monitor
, IAdaptable info
)
96 throws ExecutionException
{
97 // TODO Auto-generated method stub
102 * @see org.eclipse.core.commands.operations.AbstractOperation#undo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
105 public IStatus
undo(IProgressMonitor monitor
, IAdaptable info
)
106 throws ExecutionException
{
107 // TODO Auto-generated method stub