Revision 8422c0cd
Added by Andreas Müller almost 8 years ago
app-import/src/main/java/eu/etaxonomy/cdm/app/viennaImport/ViennaActivator.java | ||
---|---|---|
1 | 1 |
/** |
2 | 2 |
* Copyright (C) 2007 EDIT |
3 |
* European Distributed Institute of Taxonomy
|
|
3 |
* European Distributed Institute of Taxonomy |
|
4 | 4 |
* http://www.e-taxonomy.eu |
5 |
*
|
|
5 |
* |
|
6 | 6 |
* The contents of this file are subject to the Mozilla Public License Version 1.1 |
7 | 7 |
* See LICENSE.TXT at the top of this package for the full license terms. |
8 | 8 |
*/ |
... | ... | |
26 | 26 |
import eu.etaxonomy.cdm.model.agent.Person; |
27 | 27 |
import eu.etaxonomy.cdm.model.common.Annotation; |
28 | 28 |
import eu.etaxonomy.cdm.model.common.IdentifiableSource; |
29 |
import eu.etaxonomy.cdm.model.common.OriginalSourceType; |
|
30 | 29 |
import eu.etaxonomy.cdm.model.media.ImageFile; |
31 | 30 |
import eu.etaxonomy.cdm.model.media.Media; |
32 |
import eu.etaxonomy.cdm.model.name.BotanicalName; |
|
33 | 31 |
import eu.etaxonomy.cdm.model.name.TaxonNameBase; |
34 | 32 |
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; |
35 | 33 |
import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent; |
... | ... | |
46 | 44 |
*/ |
47 | 45 |
public class ViennaActivator { |
48 | 46 |
private static final Logger logger = Logger.getLogger(ViennaActivator.class); |
49 |
|
|
47 |
|
|
50 | 48 |
static final Source berlinModelSource = ViennaActivator.VIENNA(); |
51 |
|
|
52 |
|
|
49 |
|
|
50 |
|
|
53 | 51 |
public static Source VIENNA(){ |
54 | 52 |
// Vienna Asteraceae |
55 | 53 |
String dbms = "ODBC"; |
... | ... | |
58 | 56 |
String userName = "webUser"; |
59 | 57 |
return makeSource(dbms, strServer, strDB, -1, userName, null); |
60 | 58 |
} |
61 |
|
|
59 |
|
|
62 | 60 |
public boolean invoke(){ |
63 | 61 |
boolean result = true; |
64 | 62 |
boolean withCdm = false; |
65 | 63 |
berlinModelSource.setQuery("SELECT * FROM vienna"); // WHERE ID1 <> 1 |
66 | 64 |
CdmApplicationController app = null; |
67 |
|
|
68 |
|
|
65 |
|
|
66 |
|
|
69 | 67 |
try { |
70 | 68 |
if (withCdm){ |
71 | 69 |
app = CdmApplicationController.NewInstance(CdmDestinations.localH2()); |
... | ... | |
77 | 75 |
result = false; |
78 | 76 |
return result; |
79 | 77 |
} |
80 |
|
|
81 |
|
|
78 |
|
|
79 |
|
|
82 | 80 |
ResultSet rs = berlinModelSource.getResultSet(); |
83 | 81 |
try { |
84 | 82 |
while (rs.next()){ |
... | ... | |
97 | 95 |
String locality = rs.getString("Locality"); |
98 | 96 |
String assigned = rs.getString("assigned"); |
99 | 97 |
String history = rs.getString("history"); |
100 |
|
|
98 |
|
|
101 | 99 |
if (! family.equals("Asteraceae")){ |
102 | 100 |
logger.warn("Family not Asteracea: ID= " + strId); |
103 | 101 |
} |
104 |
Reference<?> sec = ReferenceFactory.newDatabase();
|
|
102 |
Reference sec = ReferenceFactory.newDatabase(); |
|
105 | 103 |
sec.setTitleCache("Vienna Asteraceae Images", true); |
106 |
|
|
107 |
TaxonNameBase<?,?> taxonName = (BotanicalName)NonViralNameParserImpl.NewInstance().parseFullName(strTaxonName);
|
|
104 |
|
|
105 |
TaxonNameBase<?,?> taxonName = NonViralNameParserImpl.NewInstance().parseFullName(strTaxonName); |
|
108 | 106 |
if (withCdm){ |
109 | 107 |
List<TaxonNameBase> names = app.getNameService().getNamesByName(strTaxonName); |
110 | 108 |
if (names.size() == 0){ |
... | ... | |
117 | 115 |
} |
118 | 116 |
} |
119 | 117 |
Taxon taxon = Taxon.NewInstance(taxonName, sec); |
120 |
|
|
118 |
|
|
121 | 119 |
logger.info("Create new specimen ..."); |
122 | 120 |
DerivedUnit specimenx = DerivedUnit.NewPreservedSpecimenInstance(); |
123 | 121 |
DerivedUnitFacade specimen = DerivedUnitFacade.NewInstance(SpecimenOrObservationType.PreservedSpecimen); |
124 |
|
|
122 |
|
|
125 | 123 |
specimen.setCatalogNumber(catalogNumber); |
126 | 124 |
specimen.setStoredUnder(taxonName); //?? |
127 | 125 |
//TODO |
... | ... | |
129 | 127 |
specimen.addAnnotation(Annotation.NewDefaultLanguageInstance(annotation)); |
130 | 128 |
specimen.addDetermination(getDetermination(taxon, strActor)); |
131 | 129 |
specimen.addDerivedUnitMedia(getMedia(uriPath, strId)); |
132 |
|
|
130 |
|
|
133 | 131 |
//Original ID |
134 | 132 |
specimen.addSource(IdentifiableSource.NewDataImportInstance(strId)); |
135 |
|
|
136 |
|
|
133 |
|
|
134 |
|
|
137 | 135 |
} |
138 | 136 |
} catch (SQLException e) { |
139 | 137 |
logger.warn("Error when reading record!!"); |
... | ... | |
142 | 140 |
} |
143 | 141 |
return result; |
144 | 142 |
} |
145 |
|
|
143 |
|
|
146 | 144 |
private Media getMedia(String uriPath, String id){ |
147 | 145 |
//"http://131.130.131.9/database/img/imgBrowser.php?ID=50599"; |
148 | 146 |
String uriString = uriPath + id; |
... | ... | |
162 | 160 |
return null; |
163 | 161 |
} |
164 | 162 |
} |
165 |
|
|
163 |
|
|
166 | 164 |
private DeterminationEvent getDetermination(Taxon taxon, String actor){ |
167 | 165 |
logger.info("Create determination event"); |
168 | 166 |
DeterminationEvent determinationEvent = DeterminationEvent.NewInstance(); |
... | ... | |
171 | 169 |
determinationEvent.setActor(person); |
172 | 170 |
return determinationEvent; |
173 | 171 |
} |
174 |
|
|
175 |
|
|
176 |
|
|
172 |
|
|
173 |
|
|
174 |
|
|
177 | 175 |
/** |
178 | 176 |
* @param args |
179 | 177 |
*/ |
... | ... | |
181 | 179 |
ViennaActivator viennaAct = new ViennaActivator(); |
182 | 180 |
viennaAct.invoke(); |
183 | 181 |
} |
184 |
|
|
185 |
|
|
182 |
|
|
183 |
|
|
186 | 184 |
/** |
187 | 185 |
* Initialises source |
188 | 186 |
* @return true, if connection established |
Also available in: Unified diff
Remove generics from Reference in cdmlib-app #5830