minor
[taxeditor.git] / eu.etaxonomy.taxeditor.bulkeditor / src / main / java / eu / etaxonomy / taxeditor / bulkeditor / command / SaveSpecimenCommand.java
1 package eu.etaxonomy.taxeditor.bulkeditor.command;
2
3 import org.eclipse.core.commands.AbstractHandler;
4 import org.eclipse.core.commands.ExecutionEvent;
5 import org.eclipse.core.commands.ExecutionException;
6 import org.eclipse.jface.viewers.ISelection;
7 import org.eclipse.ui.IWorkbenchPart;
8 import org.eclipse.ui.IWorkbenchWindow;
9 import org.eclipse.ui.PlatformUI;
10 import org.springframework.transaction.TransactionStatus;
11
12 import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
13 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
14 import eu.etaxonomy.cdm.api.service.IOccurrenceService;
15 import eu.etaxonomy.cdm.model.location.NamedArea;
16 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
17 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
18 import eu.etaxonomy.taxeditor.dataimport.DataImportEditor;
19 import eu.etaxonomy.taxeditor.model.AbstractUtility;
20 import eu.etaxonomy.taxeditor.model.LineSelection;
21 import eu.etaxonomy.taxeditor.store.CdmStore;
22
23 public class SaveSpecimenCommand extends AbstractHandler {
24
25 /* (non-Javadoc)
26 * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
27 */
28 @Override
29 public Object execute(ExecutionEvent event) throws ExecutionException {
30 final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
31 final ISelection selection = window.getActivePage().getSelection();
32 if(selection instanceof LineSelection){
33 LineSelection line = (LineSelection)selection;
34 Object firstElement = line.getFirstElement();
35 if(firstElement instanceof SpecimenOrObservationBase){
36 IWorkbenchPart activePart = AbstractUtility.getActivePart();
37 if(activePart instanceof DataImportEditor){
38 DataImportEditor dataImportEditor = (DataImportEditor)activePart;
39
40 ICdmApplicationConfiguration currentApplicationConfiguration = CdmStore.getCurrentApplicationConfiguration();
41 // currentApplicationConfiguration.getOccurrenceService().saveOrUpdate(CdmBase.deproxy(firstElement, SpecimenOrObservationBase.class));
42 TransactionStatus tx = currentApplicationConfiguration.startTransaction();
43
44 DerivedUnitFacade unit1 = DerivedUnitFacade.NewInstance(SpecimenOrObservationType.PreservedSpecimen);
45 // newInstance.setTitleCache("Test Specimen", true);
46 unit1.setCollectingMethod("Collected from the ground");
47 unit1.setAccessionNumber("ACC-12345");
48 unit1.setLocality("locality");
49 unit1.setCountry(NamedArea.EUROPE());
50
51
52
53
54 // currentApplicationConfiguration.getOccurrenceService().saveOrUpdate((SpecimenOrObservationBase) firstElement);
55 CdmStore.getService(IOccurrenceService.class).saveOrUpdate(unit1.innerDerivedUnit());
56 currentApplicationConfiguration.commitTransaction(tx);
57
58 dataImportEditor.getConversationHolder().commit(true);
59 }
60 }
61 }
62 return null;
63 }
64
65 }