Revision 32880 branches/v2_0_0_prep/libraries/libFMap_dalfile/src/org/gvsig/fmap/dal/store/dgn/DGNLibrary.java

View differences:

DGNLibrary.java
27 27

  
28 28
package org.gvsig.fmap.dal.store.dgn;
29 29

  
30
import java.util.ArrayList;
31
import java.util.List;
32

  
30 33
import org.gvsig.fmap.dal.DALFileLibrary;
31 34
import org.gvsig.fmap.dal.DALFileLocator;
32 35
import org.gvsig.fmap.dal.DALLocator;
36
import org.gvsig.fmap.dal.FileHelper;
33 37
import org.gvsig.fmap.dal.impl.DALDefaultImplLibrary;
34 38
import org.gvsig.fmap.dal.spi.DataManagerProviderServices;
35
import org.gvsig.tools.ToolsLocator;
36
import org.gvsig.tools.dynobject.DynClass;
37
import org.gvsig.tools.dynobject.DynField;
38
import org.gvsig.tools.dynobject.DynObjectManager;
39
import org.gvsig.metadata.exceptions.MetadataException;
39 40
import org.gvsig.tools.library.AbstractLibrary;
40 41
import org.gvsig.tools.library.LibraryException;
41 42

  
......
49 50
	protected void doPostInitialize() throws LibraryException {
50 51
		new DALDefaultImplLibrary().postInitialize();
51 52
		new DALFileLibrary().postInitialize();
52
		
53
		DGNStoreParameters.registerDynClass();
54
		DGNStoreProvider.registerDynClass();
53
		List<Throwable> exs = new ArrayList<Throwable>();
54
				
55
		FileHelper.registerParametersDefinition(
56
				DGNStoreParameters.PARAMETERS_DEFINITION_NAME, 
57
				DGNStoreParameters.class,
58
				"DGNParameters.xml"
59
		);
60
		try {
61
			FileHelper.registerMetadataDefinition(
62
					DGNStoreProvider.METADATA_DEFINITION_NAME, 
63
					DGNStoreProvider.class,
64
					"DGNMetadata.xml"
65
			);
66
		} catch (MetadataException e) {
67
			exs.add(e);
68
		}
55 69

  
56 70
        DataManagerProviderServices dataman = (DataManagerProviderServices) DALLocator
57 71
				.getDataManager();
58 72

  
59
		if (!dataman.getStoreProviders().contains(DGNStoreProvider.NAME)) {
60
			dataman.registerStoreProvider(DGNStoreProvider.NAME,
61
					DGNStoreProvider.class, DGNStoreParameters.class);
73
		try {
74
			if (!dataman.getStoreProviders().contains(DGNStoreProvider.NAME)) {
75
				dataman.registerStoreProvider(DGNStoreProvider.NAME,
76
						DGNStoreProvider.class, DGNStoreParameters.class);
77
			}
78
		} catch (RuntimeException e) {
79
			exs.add(e);
62 80
		}
63 81

  
64
		DALFileLocator.getFilesystemServerExplorerManager().registerProvider(
65
				DGNStoreProvider.NAME, DGNStoreProvider.DESCRIPTION,
66
				DGNFilesystemServerProvider.class);
82
		try {
83
			DALFileLocator.getFilesystemServerExplorerManager()
84
					.registerProvider(DGNStoreProvider.NAME,
85
							DGNStoreProvider.DESCRIPTION,
86
							DGNFilesystemServerProvider.class);
87
		} catch (RuntimeException e) {
88
			exs.add(e);
89
		}
67 90

  
68
		DynObjectManager dynMan = ToolsLocator.getDynObjectManager();
69
		DynClass dynClass = dynMan.get(
70
				DGNStoreProvider.DYNCLASS_NAME);
71
		DynField field;
72
		if (dynClass == null) {
73
			dynClass = dynMan.add(
74
					DGNStoreProvider.DYNCLASS_NAME);
75

  
91
		if( exs.size()>0 ) {
92
			throw new LibraryException(this.getClass(), exs);
76 93
		}
77 94
	}
78 95
}

Also available in: Unified diff