Revision 42775 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/impl/DefaultDataManager.java
DefaultDataManager.java | ||
---|---|---|
27 | 27 |
import java.lang.reflect.InvocationTargetException; |
28 | 28 |
import java.util.ArrayList; |
29 | 29 |
import java.util.HashMap; |
30 |
import java.util.Iterator; |
|
30 | 31 |
import java.util.List; |
31 | 32 |
import java.util.Map; |
32 | 33 |
|
... | ... | |
46 | 47 |
import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException; |
47 | 48 |
import org.gvsig.fmap.dal.exception.ValidateDataParametersException; |
48 | 49 |
import org.gvsig.fmap.dal.feature.EditableFeatureType; |
50 |
import org.gvsig.fmap.dal.feature.Feature; |
|
49 | 51 |
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor; |
50 | 52 |
import org.gvsig.fmap.dal.feature.FeatureAttributeGetter; |
51 | 53 |
import org.gvsig.fmap.dal.feature.FeatureQuery; |
... | ... | |
55 | 57 |
import org.gvsig.fmap.dal.feature.impl.DefaultEditableFeatureType; |
56 | 58 |
import org.gvsig.fmap.dal.feature.impl.DefaultFeatureIndex; |
57 | 59 |
import org.gvsig.fmap.dal.feature.impl.DefaultFeatureStore; |
60 |
import org.gvsig.fmap.dal.feature.impl.dynobjectutils.DynObjectFeatureFacade; |
|
58 | 61 |
import org.gvsig.fmap.dal.feature.paging.FeaturePagingHelper; |
59 | 62 |
import org.gvsig.fmap.dal.feature.paging.impl.FeaturePagingHelperImpl; |
60 | 63 |
import org.gvsig.fmap.dal.feature.spi.DataStoreProviderToFeatureStoreProviderFactoryWrapper; |
... | ... | |
78 | 81 |
import org.gvsig.tools.dataTypes.DataTypesManager; |
79 | 82 |
import org.gvsig.tools.dynobject.DynObject; |
80 | 83 |
import org.gvsig.tools.dynobject.DynObjectEncoder; |
84 |
import org.gvsig.tools.dynobject.DynStruct; |
|
85 |
import org.gvsig.tools.dynobject.DynStruct_v2; |
|
86 |
import org.gvsig.tools.dynobject.Tags; |
|
81 | 87 |
import org.gvsig.tools.evaluator.Evaluator; |
82 | 88 |
import org.gvsig.tools.exception.BaseException; |
83 | 89 |
import org.gvsig.tools.extensionpoint.ExtensionPoint; |
... | ... | |
979 | 985 |
public void setDataServerExplorerPool(DataServerExplorerPool pool) { |
980 | 986 |
this.dataServerExplorerPool = pool; |
981 | 987 |
} |
988 |
|
|
989 |
private static final String DAL_OpenStore = "dal.openstore."; |
|
982 | 990 |
|
983 |
|
|
991 |
@Override |
|
992 |
public DataStoreParameters createStoreParameters(DynStruct struct) throws InitializeException, ProviderNotRegisteredException { |
|
993 |
if( !(struct instanceof DynStruct_v2 ) ) { |
|
994 |
throw new IllegalArgumentException("A DynStruct_v2 is required."); |
|
995 |
} |
|
996 |
Tags tags = ((DynStruct_v2)struct).getTags(); |
|
997 |
String providerName = (String) tags.get(DAL_OpenStore+"provider"); |
|
998 |
if( providerName == null ) { |
|
999 |
throw new IllegalArgumentException("Tag DAL.OpenStore.provider is missing in struct."); |
|
1000 |
} |
|
1001 |
int prefixlen = DAL_OpenStore.length(); |
|
1002 |
DataStoreParameters parameters = this.createStoreParameters(providerName); |
|
1003 |
for( String key : tags ) { |
|
1004 |
if( key.startsWith(DAL_OpenStore) ) { |
|
1005 |
parameters.setDynValue(key.substring(prefixlen), tags.get(key)); |
|
1006 |
} |
|
1007 |
} |
|
1008 |
return parameters; |
|
1009 |
} |
|
1010 |
|
|
1011 |
@Override |
|
1012 |
public DataStore openStore(DynStruct struct) throws InitializeException, ProviderNotRegisteredException, ValidateDataParametersException { |
|
1013 |
DataStoreParameters paramters = this.createStoreParameters(struct); |
|
1014 |
DataStore store = this.openStore(paramters.getDataStoreName(), paramters); |
|
1015 |
return store; |
|
1016 |
} |
|
1017 |
|
|
984 | 1018 |
} |
Also available in: Unified diff