Revision 21060 trunk/libraries/libMetadata/src/org/gvsig/metadata/MDLocator.java
MDLocator.java | ||
---|---|---|
30 | 30 |
|
31 | 31 |
package org.gvsig.metadata; |
32 | 32 |
|
33 |
import java.lang.reflect.Constructor; |
|
34 |
import java.lang.reflect.InvocationTargetException; |
|
35 |
|
|
36 | 33 |
import org.gvsig.metadata.simple.SimpleMDManager; |
37 | 34 |
|
38 | 35 |
|
39 | 36 |
public class MDLocator { |
40 | 37 |
|
41 | 38 |
private static MDManager manager = null; |
42 |
private static Constructor constructor = null; |
|
43 | 39 |
|
44 | 40 |
public MDLocator() { |
45 | 41 |
install(SimpleMDManager.class); |
... | ... | |
47 | 43 |
|
48 | 44 |
public void install(Class mdManager) { |
49 | 45 |
try { |
50 |
constructor = mdManager.getDeclaredConstructor(null); |
|
51 |
} catch (SecurityException e) { |
|
52 |
// TODO Auto-generated catch block |
|
53 |
e.printStackTrace(); |
|
54 |
} catch (NoSuchMethodException e) { |
|
55 |
// TODO Auto-generated catch block |
|
56 |
e.printStackTrace(); |
|
57 |
} |
|
58 |
} |
|
59 |
|
|
60 |
private static MDManager create() { |
|
61 |
MDManager imdm = null; |
|
62 |
try { |
|
63 |
imdm = (MDManager) constructor.newInstance(new Object[] {}); |
|
64 |
} catch (IllegalArgumentException e) { |
|
65 |
// TODO Auto-generated catch block |
|
66 |
e.printStackTrace(); |
|
46 |
manager = (MDManager) mdManager.newInstance(); |
|
67 | 47 |
} catch (InstantiationException e) { |
68 | 48 |
// TODO Auto-generated catch block |
69 | 49 |
e.printStackTrace(); |
70 | 50 |
} catch (IllegalAccessException e) { |
71 | 51 |
// TODO Auto-generated catch block |
72 | 52 |
e.printStackTrace(); |
73 |
} catch (InvocationTargetException e) { |
|
74 |
// TODO Auto-generated catch block |
|
75 |
e.printStackTrace(); |
|
76 | 53 |
} |
77 |
return imdm; |
|
78 | 54 |
} |
79 | 55 |
|
80 | 56 |
public static MDManager getManager() { |
81 |
if ( manager == null ) { |
|
82 |
//manager = new org.gvsig.metadata.simple.MDManager(); |
|
83 |
manager = create(); |
|
84 |
} |
|
85 | 57 |
return manager; |
86 | 58 |
} |
87 |
|
|
88 | 59 |
} |
Also available in: Unified diff