3 * Copyright (C) 2014 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.
10 package eu
.etaxonomy
.taxeditor
.editor
.view
.dataimport
;
12 import java
.io
.IOException
;
13 import java
.io
.InputStream
;
15 import java
.util
.ArrayList
;
16 import java
.util
.Collection
;
18 import org
.apache
.http
.client
.ClientProtocolException
;
19 import org
.eclipse
.core
.runtime
.jobs
.Job
;
21 import eu
.etaxonomy
.cdm
.ext
.occurrence
.bioCase
.BioCaseQueryServiceWrapper
;
22 import eu
.etaxonomy
.cdm
.io
.common
.CdmDefaultImport
;
23 import eu
.etaxonomy
.cdm
.io
.common
.IImportConfigurator
.SOURCE_TYPE
;
24 import eu
.etaxonomy
.cdm
.io
.specimen
.abcd206
.in
.Abcd206ImportConfigurator
;
25 import eu
.etaxonomy
.cdm
.model
.occurrence
.SpecimenOrObservationBase
;
26 import eu
.etaxonomy
.taxeditor
.editor
.view
.dataimport
.transientServices
.TransientCdmRepository
;
27 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
34 public class SpecimenImportView
extends DataImportView
<SpecimenOrObservationBase
<?
>> {
36 public static final String ID
= "eu.etaxonomy.taxeditor.editor.view.dataimport.SpecimenImportView"; //$NON-NLS-1$
40 public SpecimenImportView() {
46 public void setEndpoint(URI endPoint
) {
47 this.endPoint
= endPoint
;
51 * @see eu.etaxonomy.taxeditor.editor.view.dataimport.DataImportView#getTextForTableItem(java.lang.Object)
54 protected String
getTextForTableItem(SpecimenOrObservationBase
<?
> item
) {
55 return item
.getTitleCache();
59 * @see eu.etaxonomy.taxeditor.editor.view.dataimport.DataImportView#query()
63 String errorMessage
= "Could not execute query " + query
;
65 Collection
<SpecimenOrObservationBase
<?
>> results
= new ArrayList
<SpecimenOrObservationBase
<?
>>();
67 //FIXME move ABCD import to cdmlib -> this will also get rid of the transient services
68 InputStream resultStream
;
69 resultStream
= new BioCaseQueryServiceWrapper().query(query
, endPoint
);
70 Abcd206ImportConfigurator configurator
= Abcd206ImportConfigurator
.NewInstance(null, null);
71 TransientCdmRepository repo
=
72 new TransientCdmRepository(CdmStore
.getCurrentApplicationConfiguration());
73 configurator
.setCdmAppController(repo
);
74 configurator
.setAddMediaAsMediaSpecimen(true);
75 if(CdmStore
.getCurrentSessionManager().isRemoting()) {
76 Job job
= CdmStore
.getImportManager().createIOServiceJob(configurator
, resultStream
, SOURCE_TYPE
.INPUTSTREAM
);
77 CdmStore
.getImportManager().run(job
);
79 configurator
.setSource(resultStream
);
80 CdmDefaultImport
<Abcd206ImportConfigurator
> importer
= new CdmDefaultImport
<Abcd206ImportConfigurator
>();
81 importer
.invoke(configurator
);
83 results
= repo
.getUnits();
85 } catch (ClientProtocolException e
) {
86 logger
.error(errorMessage
, e
);
87 } catch (IOException e
) {
88 logger
.error(errorMessage
, e
);