Project

General

Profile

Download (2.17 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.taxeditor.editor.view.dataimport;
2

    
3
import org.apache.log4j.Logger;
4
import org.eclipse.jface.action.Action;
5
import org.eclipse.swt.widgets.Table;
6
import org.eclipse.swt.widgets.TableItem;
7
import org.eclipse.ui.IWorkbenchPart;
8
import org.eclipse.ui.IWorkbenchWindow;
9
import org.eclipse.ui.PlatformUI;
10

    
11
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
12
import eu.etaxonomy.cdm.ext.occurrence.gbif.GbifResponse;
13
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
14
import eu.etaxonomy.taxeditor.store.CdmStore;
15

    
16
public class SaveImportedSpecimenAction extends Action {
17

    
18
    private final Logger logger = Logger.getLogger(SaveImportedSpecimenAction.class);
19

    
20
    /* (non-Javadoc)
21
     * @see org.eclipse.jface.action.Action#run()
22
     */
23
    @Override
24
    public void run() {
25
        final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
26
        IWorkbenchPart activePart = window.getActivePage().getActivePart();
27
        if(activePart instanceof DataImportView<?>){
28
            DataImportView<?> dataImportView = (DataImportView<?>)activePart;
29
            Table table = dataImportView.getTable();
30
            for(TableItem item:table.getItems()){
31
                if(item.getChecked()){
32
                    //Save Specimen
33
                    Object data = item.getData();
34
                    if(data instanceof GbifResponse){
35
                        data = ((GbifResponse) item.getData()).getDerivedUnitFacade().innerFieldUnit();
36
                    }
37
                    if(data instanceof SpecimenOrObservationBase){
38
//                        dataImportView.getConversationHolder().bind();
39
//                        CdmStore.getService(IReferenceService.class).saveOrUpdate(((SpecimenOrObservationBase) data).getSources());
40
                        CdmStore.getService(IOccurrenceService.class).saveOrUpdate((SpecimenOrObservationBase<?>) data);
41
                        dataImportView.getConversationHolder().commit(true);
42
                    }
43
                }
44
            }
45
        }
46
    }
47

    
48
    /* (non-Javadoc)
49
     * @see org.eclipse.jface.action.Action#getText()
50
     */
51
    @Override
52
    public String getText() {
53
        return "Import";
54
    }
55

    
56
}
(10-10/15)