Revision 64c9b080
Added by Andreas Müller almost 11 years ago
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/specimen/abcd206/in/Abcd206ImportConfigurator.java | ||
---|---|---|
10 | 10 |
package eu.etaxonomy.cdm.io.specimen.abcd206.in; |
11 | 11 |
|
12 | 12 |
|
13 |
import java.io.InputStream; |
|
13 | 14 |
import java.net.URI; |
14 | 15 |
import java.util.HashMap; |
15 | 16 |
import java.util.Map; |
... | ... | |
17 | 18 |
|
18 | 19 |
import org.apache.log4j.Logger; |
19 | 20 |
|
21 |
import eu.etaxonomy.cdm.common.UriUtils; |
|
20 | 22 |
import eu.etaxonomy.cdm.database.ICdmDataSource; |
21 | 23 |
import eu.etaxonomy.cdm.io.common.IImportConfigurator; |
22 | 24 |
import eu.etaxonomy.cdm.io.common.IMatchingImportConfigurator; |
... | ... | |
32 | 34 |
* @created 20.10.2008 |
33 | 35 |
* @version 1.0 |
34 | 36 |
*/ |
35 |
public class Abcd206ImportConfigurator extends ImportConfiguratorBase<Abcd206ImportState, URI> implements IImportConfigurator, IMatchingImportConfigurator {
|
|
37 |
public class Abcd206ImportConfigurator extends ImportConfiguratorBase<Abcd206ImportState, InputStream> implements IImportConfigurator, IMatchingImportConfigurator {
|
|
36 | 38 |
private static final Logger logger = Logger.getLogger(Abcd206ImportConfigurator.class); |
37 | 39 |
|
38 | 40 |
private static String sourceReferenceTitle = null; |
... | ... | |
55 | 57 |
|
56 | 58 |
//TODO |
57 | 59 |
private static IInputTransformer defaultTransformer = null; |
60 |
|
|
61 |
private URI sourceUri; |
|
58 | 62 |
|
59 | 63 |
@Override |
60 | 64 |
@SuppressWarnings("unchecked") |
... | ... | |
65 | 69 |
}; |
66 | 70 |
}; |
67 | 71 |
|
68 |
public static Abcd206ImportConfigurator NewInstance(URI uri, |
|
69 |
ICdmDataSource destination){ |
|
70 |
return new Abcd206ImportConfigurator(uri, destination); |
|
72 |
public static Abcd206ImportConfigurator NewInstance(URI uri,ICdmDataSource destination){ |
|
73 |
return new Abcd206ImportConfigurator(null, uri, destination, false); |
|
71 | 74 |
} |
72 | 75 |
|
73 | 76 |
/** |
... | ... | |
77 | 80 |
* @return |
78 | 81 |
*/ |
79 | 82 |
public static Abcd206ImportConfigurator NewInstance(URI uri, ICdmDataSource destination, boolean interact) { |
80 |
return new Abcd206ImportConfigurator(uri, destination,interact);
|
|
83 |
return new Abcd206ImportConfigurator(null, uri, destination, interact);
|
|
81 | 84 |
} |
82 | 85 |
|
83 |
|
|
84 | 86 |
/** |
85 |
* @param berlinModelSource |
|
86 |
* @param sourceReference |
|
87 |
* @param destination |
|
87 |
* @param uri |
|
88 |
* @param object |
|
89 |
* @param b |
|
90 |
* @return |
|
88 | 91 |
*/ |
89 |
private Abcd206ImportConfigurator(URI uri, ICdmDataSource destination) { |
|
90 |
super(defaultTransformer); |
|
91 |
setSource(uri); |
|
92 |
setDestination(destination); |
|
93 |
setSourceReferenceTitle("ABCD classic"); |
|
92 |
public static Abcd206ImportConfigurator NewInstance(InputStream stream, ICdmDataSource destination, boolean interact) { |
|
93 |
return new Abcd206ImportConfigurator(stream, null, destination, interact); |
|
94 | 94 |
} |
95 | 95 |
|
96 |
|
|
97 |
|
|
96 | 98 |
/** |
97 | 99 |
* @param berlinModelSource |
98 | 100 |
* @param sourceReference |
99 | 101 |
* @param destination |
100 | 102 |
*/ |
101 |
private Abcd206ImportConfigurator(URI uri, ICdmDataSource destination, boolean interact) { |
|
103 |
private Abcd206ImportConfigurator(InputStream stream, URI uri, ICdmDataSource destination, boolean interact) {
|
|
102 | 104 |
super(defaultTransformer); |
103 |
setSource(uri); |
|
105 |
if (stream != null){ |
|
106 |
setSource(stream); |
|
107 |
}else{ |
|
108 |
this.sourceUri = uri; |
|
109 |
} |
|
104 | 110 |
setDestination(destination); |
105 | 111 |
setSourceReferenceTitle("ABCD classic"); |
106 | 112 |
setInteractWithUser(interact); |
... | ... | |
120 | 126 |
|
121 | 127 |
|
122 | 128 |
@Override |
123 |
public URI getSource(){ |
|
124 |
return super.getSource(); |
|
129 |
public InputStream getSource(){ |
|
130 |
if (super.getSource() != null){ |
|
131 |
return super.getSource(); |
|
132 |
}else if (this.sourceUri != null){ |
|
133 |
try { |
|
134 |
InputStream is = UriUtils.getInputStream(sourceUri); |
|
135 |
setSource(is); |
|
136 |
return is; |
|
137 |
} catch (Exception e) { |
|
138 |
throw new RuntimeException(e); |
|
139 |
} |
|
140 |
}else{ |
|
141 |
return null; |
|
142 |
} |
|
125 | 143 |
} |
126 | 144 |
|
127 | 145 |
/** |
128 | 146 |
* @param file |
129 | 147 |
*/ |
130 | 148 |
@Override |
131 |
public void setSource(URI uri) { |
|
132 |
super.setSource(uri); |
|
149 |
public void setSource(InputStream is) { |
|
150 |
this.sourceUri = null; |
|
151 |
super.setSource(is); |
|
152 |
} |
|
153 |
|
|
154 |
public URI getSourceUri(){ |
|
155 |
return this.sourceUri; |
|
156 |
} |
|
157 |
|
|
158 |
/** |
|
159 |
* @param file |
|
160 |
*/ |
|
161 |
public void setSourceUri(URI sourceUri) { |
|
162 |
this.sourceUri = sourceUri; |
|
163 |
super.setSource(null); |
|
133 | 164 |
} |
134 | 165 |
|
135 | 166 |
|
Also available in: Unified diff
fix ABCD import