Revision 32880 branches/v2_0_0_prep/libraries/libFMap_dalfile/src/org/gvsig/fmap/dal/store/dxf/DXFLibrary.java

View differences:

DXFLibrary.java
21 21
 */
22 22

  
23 23
/*
24
* AUTHORS (In addition to CIT):
25
* 2008 IVER T.I. S.A.   {{Task}}
26
*/
24
 * AUTHORS (In addition to CIT):
25
 * 2008 IVER T.I. S.A.   {{Task}}
26
 */
27 27

  
28 28
package org.gvsig.fmap.dal.store.dxf;
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
		DXFStoreParameters.registerDynClass();
54
		//		DXFNewStoreParameters.registerDynClass();
55
		DXFStoreProvider.registerDynClass();
53
		List<Throwable> exs = new ArrayList<Throwable>();
56 54

  
57
        // DynObjectManager dynObjectManager =
58
		// ToolsLocator.getDynObjectManager();
59
		//
60
		// DynClass dynClass = dynObjectManager.add("DXFStoreParameters",
61
		// "DXF File Store parameters");
62
		// dynClass.addDynField("srsid");
63
		// dynClass.addDynField("filepath");
55
		FileHelper.registerParametersDefinition(
56
				DXFStoreParameters.PARAMETERS_DEFINITION_NAME,
57
				DXFStoreParameters.class, "DXFParameters.xml");
58
		try {
59
			FileHelper.registerMetadataDefinition(
60
					DXFStoreProvider.METADATA_DEFINITION_NAME,
61
					DXFStoreProvider.class, "DXFMetadata.xml");
62
		} catch (MetadataException e) {
63
			exs.add(e);
64
		}
64 65

  
65
        DataManagerProviderServices dataman = (DataManagerProviderServices) DALLocator
66
		DataManagerProviderServices dataman = (DataManagerProviderServices) DALLocator
66 67
				.getDataManager();
67 68

  
68
		if (!dataman.getStoreProviders().contains(DXFStoreProvider.NAME)) {
69
			dataman.registerStoreProvider(DXFStoreProvider.NAME,
70
					DXFStoreProvider.class, DXFStoreParameters.class);
69
		try {
70
			if (!dataman.getStoreProviders().contains(DXFStoreProvider.NAME)) {
71
				dataman.registerStoreProvider(DXFStoreProvider.NAME,
72
						DXFStoreProvider.class, DXFStoreParameters.class);
73
			}
74
		} catch (RuntimeException e) {
75
			exs.add(e);
71 76
		}
72 77

  
73
		DALFileLocator.getFilesystemServerExplorerManager().registerProvider(
74
				DXFStoreProvider.NAME, DXFStoreProvider.DESCRIPTION,
75
				DXFFilesystemServerProvider.class);
78
		try {
79
			DALFileLocator.getFilesystemServerExplorerManager()
80
					.registerProvider(DXFStoreProvider.NAME,
81
							DXFStoreProvider.DESCRIPTION,
82
							DXFFilesystemServerProvider.class);
83
		} catch (RuntimeException e) {
84
			exs.add(e);
85
		}
76 86

  
77
		DynObjectManager dynMan = ToolsLocator.getDynObjectManager();
78
		DynClass dynClass = dynMan.get(
79
				DXFStoreProvider.DYNCLASS_NAME);
80
		DynField field;
81
		if (dynClass == null) {
82
			dynClass = dynMan.add(
83
					DXFStoreProvider.DYNCLASS_NAME);
84

  
87
		if (exs.size() > 0) {
88
			throw new LibraryException(this.getClass(), exs);
85 89
		}
86 90
	}
87 91
}

Also available in: Unified diff