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
.util
.ArrayList
;
13 import java
.util
.Collection
;
15 import org
.eclipse
.swt
.widgets
.Display
;
17 import eu
.etaxonomy
.cdm
.api
.facade
.DerivedUnitFacade
;
18 import eu
.etaxonomy
.cdm
.ext
.biocase
.BioCaseQuery
;
19 import eu
.etaxonomy
.cdm
.model
.location
.NamedArea
;
20 import eu
.etaxonomy
.cdm
.model
.occurrence
.SpecimenOrObservationBase
;
21 import eu
.etaxonomy
.cdm
.model
.occurrence
.SpecimenOrObservationType
;
22 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
29 public class SpecimenImportEditorInput
extends DataImportEditorInput
<SpecimenOrObservationBase
> {
31 private final BioCaseQuery query
;
36 public SpecimenImportEditorInput(BioCaseQuery query
) {
42 String errorMessage
= "Could not execute query " + SpecimenImportEditorInput
.this.query
;
44 Collection
<SpecimenOrObservationBase
> results
= new ArrayList
<SpecimenOrObservationBase
>();
45 DerivedUnitFacade unit1
= DerivedUnitFacade
.NewInstance(SpecimenOrObservationType
.PreservedSpecimen
);
46 // newInstance.setTitleCache("Test Specimen", true);
47 unit1
.setCollectingMethod("Collected from the ground");
48 unit1
.setAccessionNumber("ACC-12345");
49 unit1
.setLocality("locality");
50 unit1
.setCountry(NamedArea
.EUROPE());
52 DerivedUnitFacade unit2
= DerivedUnitFacade
.NewInstance(SpecimenOrObservationType
.PreservedSpecimen
);
53 unit2
.setTitleCache("Test Specimen 2", false);
54 unit2
.setCollectingMethod("Collected from the ground");
55 unit2
.setAccessionNumber("ACC-67890");
56 unit2
.setLocality("solid ground close to car park");
57 unit2
.setCountry(NamedArea
.ASIA_TEMPERATE());
59 DerivedUnitFacade unit3
= DerivedUnitFacade
.NewInstance(SpecimenOrObservationType
.PreservedSpecimen
);
60 unit3
.setTitleCache("Test Specimen 3", false);
61 unit3
.setCollectingMethod("Collected from the air");
62 unit3
.setAccessionNumber("ACC-999");
63 unit3
.setLocality("thin air");
64 unit3
.setCountry(NamedArea
.SOUTHERNOCEAN());
66 results
.add(unit1
.innerDerivedUnit());
67 results
.add(unit2
.innerDerivedUnit());
68 results
.add(unit3
.innerDerivedUnit());
69 results
.add(unit1
.innerDerivedUnit());
72 // InputStream resultStream = new BioCaseQueryServiceWrapper().query(DataImportEditorInput.this.query);
73 // Abcd206ImportConfigurator configurator = Abcd206ImportConfigurator.NewInstance(resultStream, null, false);
74 // TransientCdmRepository repo =
75 // new TransientCdmRepository(CdmStore.getCurrentApplicationConfiguration());
76 // configurator.setCdmAppController(repo);
78 // CdmDefaultImport<Abcd206ImportConfigurator> importer = new CdmDefaultImport<Abcd206ImportConfigurator>();
79 // importer.invoke(configurator);
80 // results = repo.getUnits();
81 // } catch (ClientProtocolException e) {
82 // logger.error(errorMessage, e);
83 // } catch (IOException e) {
84 // logger.error(errorMessage, e);
85 // } catch (URISyntaxException e) {
86 // logger.error(errorMessage, e);
89 Display
.getDefault().asyncExec(new Runnable() {
93 CdmStore
.getContextManager().notifyContextRefresh();
99 * @see org.eclipse.ui.IEditorInput#getName()
102 public String
getName() {
103 return query
.toString();
107 * @see org.eclipse.ui.IEditorInput#getToolTipText()
110 public String
getToolTipText() {
111 return query
.toString();
115 * @see java.lang.Object#hashCode()
118 public int hashCode() {
119 final int prime
= 31;
121 result
= prime
* result
+ ((query
== null) ?
0 : query
.hashCode());
126 * @see java.lang.Object#equals(java.lang.Object)
129 public boolean equals(Object obj
) {
136 if (getClass() != obj
.getClass()) {
139 SpecimenImportEditorInput other
= (SpecimenImportEditorInput
) obj
;
141 if (other
.query
!= null) {
144 } else if (!query
.equals(other
.query
)) {