Revision 21060

View differences:

trunk/libraries/libMetadata/src/org/gvsig/metadata/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