Revision 358 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/library/AbstractLibrariesInitializer.java
AbstractLibrariesInitializer.java | ||
---|---|---|
30 | 30 |
import java.util.Map; |
31 | 31 |
import java.util.Set; |
32 | 32 |
|
33 |
import org.gvsig.tools.exception.BaseRuntimeException; |
|
34 |
import org.gvsig.tools.library.AbstractLibrary.Required; |
|
35 | 33 |
import org.slf4j.Logger; |
36 | 34 |
import org.slf4j.LoggerFactory; |
37 | 35 |
|
36 |
import org.gvsig.tools.exception.BaseRuntimeException; |
|
37 |
import org.gvsig.tools.library.AbstractLibrary.Required; |
|
38 |
|
|
38 | 39 |
/** |
39 | 40 |
* Base implementation of an {@link LibrariesInitializer} with the |
40 | 41 |
* initialization of Libraries already implemented, delegating on child classes |
... | ... | |
177 | 178 |
if (libs != null) { |
178 | 179 |
for (Iterator iterator = libs.iterator(); iterator.hasNext();) { |
179 | 180 |
Library lib = (Library) iterator.next(); |
181 |
String libName = ""; |
|
182 |
if (lib.getLibrary() != null) { |
|
183 |
libName = " - " + lib.getLibrary().getName(); |
|
184 |
} |
|
180 | 185 |
buffer.append("\t"). |
181 | 186 |
append(lib.getClass().getName()). |
182 | 187 |
append(" ("). |
183 | 188 |
append(lib.getType()). |
184 |
append(")\n"); |
|
189 |
append(")").append(libName) |
|
190 |
.append("\n"); |
|
185 | 191 |
} |
186 | 192 |
} |
187 | 193 |
LOG.info(buffer.toString()); |
188 | 194 |
} |
189 | 195 |
|
190 |
private class OrderedLibs extends LinkedHashSet {
|
|
196 |
private class OrderedLibs extends LinkedHashSet {
|
|
191 | 197 |
/** |
192 | 198 |
* |
193 | 199 |
*/ |
... | ... | |
199 | 205 |
while(iterator.hasNext() ) { |
200 | 206 |
Library lib = (Library) iterator.next(); |
201 | 207 |
if( lib.getLibrary()!=null && lib.getType()!=null ) { |
202 |
this.libs.put(lib.getLibrary().getName()+"-"+lib.getType(), lib); |
|
208 |
String libName = |
|
209 |
lib.getLibrary().getName() + "-" + lib.getType(); |
|
210 |
if (this.libs.containsKey(libName)) { |
|
211 |
Library previousLibrary = |
|
212 |
(Library) this.libs.get(libName); |
|
213 |
LOG |
|
214 |
.warn( |
|
215 |
"There's already a library initialized with the name '{}': '{}' with priority '{}', and '{}' with priority '{}", |
|
216 |
new Object[] { libName, |
|
217 |
previousLibrary.getClass().getName(), |
|
218 |
String.valueOf(previousLibrary |
|
219 |
.getPriority()), |
|
220 |
lib.getClass().getName(), |
|
221 |
String.valueOf(lib.getPriority()) }); |
|
222 |
|
|
223 |
if (lib.getPriority() < previousLibrary.getPriority()) { |
|
224 |
|
|
225 |
this.libs.put(libName, previousLibrary); |
|
226 |
|
|
227 |
LOG.info( |
|
228 |
"Old library '{}' with priority '{}' was chosen.", |
|
229 |
previousLibrary.getClass().getName(), String |
|
230 |
.valueOf(previousLibrary.getPriority())); |
|
231 |
} else { |
|
232 |
|
|
233 |
this.libs.put(libName, lib); |
|
234 |
|
|
235 |
LOG.info( |
|
236 |
"New library '{}' with priority '{}' was chosen.", |
|
237 |
lib.getClass().getName(), String.valueOf(lib |
|
238 |
.getPriority())); |
|
239 |
} |
|
240 |
} else { |
|
241 |
this.libs.put(libName, lib); |
|
242 |
} |
|
203 | 243 |
} |
204 | 244 |
} |
205 |
iterator = libs.iterator();
|
|
245 |
iterator = libs.iterator();
|
|
206 | 246 |
while(iterator.hasNext() ) { |
207 | 247 |
Library lib = (Library) iterator.next(); |
208 |
this.add(lib); |
|
248 |
if (lib.getLibrary() != null && lib.getType() != null) { |
|
249 |
String libName = |
|
250 |
lib.getLibrary().getName() + "-" + lib.getType(); |
|
251 |
if (this.libs.containsKey(libName)) { |
|
252 |
this.add(lib); |
|
253 |
} |
|
254 |
} else { |
|
255 |
this.add(lib); |
|
256 |
} |
|
209 | 257 |
} |
210 | 258 |
} |
211 | 259 |
|
Also available in: Unified diff