1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 package org.gvsig.fmap.mapcontext;
25
26 import org.slf4j.Logger;
27 import org.slf4j.LoggerFactory;
28
29 import org.gvsig.compat.CompatLibrary;
30 import org.gvsig.fmap.dal.DALLibrary;
31 import org.gvsig.fmap.dal.feature.FeatureStore;
32 import org.gvsig.fmap.mapcontext.impl.DefaultMapContextDrawer;
33 import org.gvsig.fmap.mapcontext.layers.FLayerStatus;
34 import org.gvsig.fmap.mapcontext.layers.FLayers;
35 import org.gvsig.fmap.mapcontext.layers.FLyrDefault;
36 import org.gvsig.fmap.mapcontext.layers.LayerFactory;
37 import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
38 import org.gvsig.fmap.mapcontext.layers.vectorial.ReprojectDefaultGeometry;
39 import org.gvsig.fmap.mapcontext.tools.persistence.ColorPersistenceFactory;
40 import org.gvsig.fmap.mapcontext.tools.persistence.DimensionPersistenceFactory;
41 import org.gvsig.fmap.mapcontext.tools.persistence.FontPersistenceFactory;
42 import org.gvsig.fmap.mapcontext.tools.persistence.Point2DPersistenceFactory;
43 import org.gvsig.fmap.mapcontext.tools.persistence.Rectangle2DPersistenceFactory;
44 import org.gvsig.tools.ToolsLocator;
45 import org.gvsig.tools.library.AbstractLibrary;
46 import org.gvsig.tools.library.LibraryException;
47 import org.gvsig.tools.locator.ReferenceNotRegisteredException;
48 import org.gvsig.tools.persistence.PersistenceManager;
49 import org.gvsig.tools.util.Caller;
50 import org.gvsig.tools.util.impl.DefaultCaller;
51
52
53
54
55
56 public class MapContextLibrary extends AbstractLibrary {
57 final static private Logger LOG = LoggerFactory.getLogger(FLyrDefault.class);
58
59 public void doRegistration() {
60 registerAsAPI(MapContextLibrary.class);
61 require(DALLibrary.class);
62 require(CompatLibrary.class);
63 }
64
65 protected void doInitialize() throws LibraryException {
66 LayerFactory.getInstance().registerLayerToUseForStore(
67 FeatureStore.class, FLyrVect.class);
68 }
69
70 protected void doPostInitialize() throws LibraryException {
71 Caller caller = new DefaultCaller();
72
73 FLyrDefault.registerMetadata();
74
75 MapContextManager manager = MapContextLocator.getMapContextManager();
76
77 if (manager == null) {
78 throw new ReferenceNotRegisteredException(
79 MapContextLocator.MAPCONTEXT_MANAGER_NAME,
80 MapContextLocator.getInstance());
81 }
82
83 try {
84 manager.setDefaultMapContextDrawer(DefaultMapContextDrawer.class);
85 } catch (MapContextException ex) {
86 throw new LibraryException(getClass().getName(), ex);
87 }
88
89 caller.add( new ViewPort.RegisterPersistence() );
90
91
92
93
94 if( !caller.call() ) {
95 throw new LibraryException(MapContextLibrary.class, caller.getExceptions());
96 }
97
98
99 MapContext.registerPersistent();
100
101 ExtentHistory.registerPersistent();
102
103
104 ReprojectDefaultGeometry.registerPersistent();
105
106
107
108
109 FLayerStatus.registerPersistent();
110 FLyrDefault.registerPersistent();
111 FLyrVect.registerPersistent();
112 FLayers.registerPersistent();
113
114
115
116
117 PersistenceManager persistenceManager =
118 ToolsLocator.getPersistenceManager();
119
120 persistenceManager.registerFactory(new ColorPersistenceFactory());
121
122 persistenceManager.registerFactory(new Point2DPersistenceFactory());
123
124 persistenceManager.registerFactory(new FontPersistenceFactory());
125
126 persistenceManager.registerFactory(new Rectangle2DPersistenceFactory());
127
128 persistenceManager.registerFactory(new DimensionPersistenceFactory());
129 }
130
131 }