Revision 40404 branches/v2_0_0_prep/libraries/libFMap_dal/src/org/gvsig/fmap/dal/impl/DALDefaultImplLibrary.java

View differences:

DALDefaultImplLibrary.java
26 26
import java.util.List;
27 27
import java.util.Map;
28 28

  
29
import org.xmlpull.v1.XmlPullParserException;
30

  
31 29
import org.gvsig.fmap.dal.DALLibrary;
32 30
import org.gvsig.fmap.dal.DALLocator;
33 31
import org.gvsig.fmap.dal.DataManager;
32
import org.gvsig.fmap.dal.DataTypes;
34 33
import org.gvsig.fmap.dal.feature.AbstractFeatureStoreTransform;
35 34
import org.gvsig.fmap.dal.feature.impl.DefaultFeatureQuery;
36 35
import org.gvsig.fmap.dal.feature.impl.DefaultFeatureReference;
......
38 37
import org.gvsig.fmap.dal.feature.impl.DefaultFeatureSelection;
39 38
import org.gvsig.fmap.dal.feature.impl.DefaultFeatureStore;
40 39
import org.gvsig.fmap.dal.feature.impl.DefaultFeatureStoreTransforms;
40
import org.gvsig.fmap.dal.feature.impl.MemorySpatialIndexProvider;
41 41
import org.gvsig.fmap.dal.feature.impl.attributegetter.DayToAbsoluteInstantFeatureAttributeGetter;
42 42
import org.gvsig.fmap.dal.feature.impl.attributegetter.DayToRelativeInstantFeatureAttributeGetter;
43 43
import org.gvsig.fmap.dal.feature.impl.attributegetter.HourToAbsoluteInstantFeatureAttributeGetter;
......
50 50
import org.gvsig.fmap.dal.feature.impl.attributegetter.SecondToAbsoluteInstantFeatureAttributeGetter;
51 51
import org.gvsig.fmap.dal.feature.impl.attributegetter.SecondToRelativeInstantFeatureAttributeGetter;
52 52
import org.gvsig.fmap.dal.feature.impl.attributegetter.YearToAbsoluteInstantFeatureAttributeGetter;
53
import org.gvsig.fmap.dal.feature.spi.memory.MemoryResource;
54
import org.gvsig.fmap.dal.feature.spi.memory.MemoryResourceParameters;
53 55
import org.gvsig.fmap.dal.resource.impl.DefaultResourceManager;
56
import org.gvsig.fmap.dal.resource.spi.MultiResource;
57
import org.gvsig.fmap.dal.resource.spi.MultiResourceParameters;
58
import org.gvsig.fmap.dal.resource.spi.ResourceManagerProviderServices;
59
import org.gvsig.fmap.dal.spi.DataManagerProviderServices;
54 60
import org.gvsig.fmap.dal.spi.DataStoreProviderServices;
55 61
import org.gvsig.i18n.Messages;
56 62
import org.gvsig.metadata.exceptions.MetadataException;
......
60 66
import org.gvsig.tools.library.AbstractLibrary;
61 67
import org.gvsig.tools.library.LibraryException;
62 68
import org.gvsig.tools.locator.ReferenceNotRegisteredException;
69
import org.xmlpull.v1.XmlPullParserException;
63 70

  
64 71
/**
65 72
 * Initialize the implementation of DAL.
......
130 137
        dataManager.registerFeatureAttributeGetter("monthToAbsoluteInstant", MonthToAbsoluteInstantFeatureAttributeGetter.class);
131 138
        dataManager.registerFeatureAttributeGetter("yearToAbsoluteInstant", YearToAbsoluteInstantFeatureAttributeGetter.class);
132 139
        
140
        // Register a default spatial index based in the default memory spatial index of geom library
141
    	if (!dataManager.getFeatureIndexProviders().contains(MemorySpatialIndexProvider.NAME)) {
142
    		((DataManagerProviderServices)dataManager).registerFeatureIndexProvider(MemorySpatialIndexProvider.NAME, "Default Spatial index",
143
    				MemorySpatialIndexProvider.class, DataTypes.GEOMETRY);
144
    		dataManager.setDefaultFeatureIndexProviderName(DataTypes.GEOMETRY, MemorySpatialIndexProvider.NAME);
145
    	}
146
    	
147
        ResourceManagerProviderServices resourceManager =
148
                (ResourceManagerProviderServices) DALLocator.getResourceManager();
149
        if (resourceManager == null) {
150
            throw new ReferenceNotRegisteredException(
151
                DALLocator.RESOURCE_MANAGER_NAME, DALLocator.getInstance());
152
        }
153

  
154
        if (!resourceManager.getResourceProviders().contains(
155
            MultiResource.TYPE_NAME)) {
156
            resourceManager.register(MultiResource.TYPE_NAME,
157
                MultiResource.DESCRIPTION, MultiResource.class,
158
                MultiResourceParameters.class);
159
        }
160

  
161
        if (!resourceManager.getResourceProviders().contains(
162
            MemoryResource.NAME)) {
163
            resourceManager.register(MemoryResource.NAME,
164
                MemoryResource.DESCRIPTION, MemoryResource.class,
165
                MemoryResourceParameters.class);
166
        }
167

  
133 168
        if (exs.size() > 0) {
134 169
            throw new LibraryException(this.getClass(), exs);
135 170
        }

Also available in: Unified diff