Revision 42611 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

View differences:

DefaultDataManager.java
77 77
import org.gvsig.tools.ToolsLocator;
78 78
import org.gvsig.tools.dataTypes.DataTypesManager;
79 79
import org.gvsig.tools.dynobject.DynObject;
80
import org.gvsig.tools.dynobject.DynObjectEncoder;
80 81
import org.gvsig.tools.evaluator.Evaluator;
81 82
import org.gvsig.tools.exception.BaseException;
82 83
import org.gvsig.tools.extensionpoint.ExtensionPoint;
......
322 323
            throw new InitializeException(e);
323 324
        }
324 325
    }
325

  
326
    
327
    private DataStoreParameters toDataStoreParameters(DynObject doparams) throws InitializeException, ProviderNotRegisteredException {
328
        if (doparams instanceof DataStoreParameters) {
329
            return (DataStoreParameters) doparams;
330
        }
331
        String providerName = (String) doparams.getDynValue(DataStoreProviderServices.PROVIDER_PARAMTER_NAME);
332
        DataStoreParameters parameters = DALLocator.getDataManager().createStoreParameters(providerName);
333
        ToolsLocator.getDynObjectManager().copy(doparams, parameters);
334
        return parameters;
335
    }
336
    
326 337
    private DataStore localOpenStore(String provider,
327
        DataStoreParameters parameters) throws InitializeException,
338
        DynObject doparameters) throws InitializeException,
328 339
        ProviderNotRegisteredException, ValidateDataParametersException {
340

  
341
        DataStoreParameters parameters = toDataStoreParameters(doparameters);
329 342
        
330 343
        SimpleIdentityManager identityManager = ToolsLocator.getIdentityManager();
331 344
        if( ! identityManager.getCurrentIdentity().isAuthorized(READ_STORE_AUTHORIZATION, parameters, provider) ) {
332 345
            throw new UnauthorizedException(READ_STORE_AUTHORIZATION, parameters, provider);
333 346
        }
334
        logger.info("openStore('{}','{}')", provider, parameters.toString());
335 347
        
336
        String name = provider; // parameters.getDataStoreName();
348
        // Usa el DynObjectEncoder y no el toString para ver los parametros aunque
349
        // el proveedor de datos sobreescriba el metodo toString.
350
        DynObjectEncoder encoder = ToolsLocator.getDynObjectManager().createSimpleDynObjectEncoder();
351
        logger.info("openStore('{}','{}')", provider, encoder.encode(parameters));
352
        
353
        String name = provider; 
337 354

  
338 355
        parameters.validate();
339 356

  
......
402 419
        return store;
403 420
    }
404 421

  
405
    public DataStore openStore(String provider, DataStoreParameters parameters)
422
    public DataStore openStore(String provider, DynObject parameters)
406 423
        throws InitializeException, ProviderNotRegisteredException,
407 424
        ValidateDataParametersException {
408 425

  
......
412 429
    /**
413 430
     * @deprecated see openStore
414 431
     */
415
    public DataStore createStore(DataStoreParameters parameters)
432
    public DataStore createStore(DynObject doparameters)
416 433
        throws InitializeException, ProviderNotRegisteredException,
417 434
        ValidateDataParametersException {
435
        DataStoreParameters parameters = toDataStoreParameters(doparameters);
418 436
        return openStore(parameters.getDataStoreName(), parameters);
419 437
    }
420 438

  
......
731 749

  
732 750
    public DataStoreProvider createProvider(
733 751
        DataStoreProviderServices providerServices,
734
        DataStoreParameters parameters) throws InitializeException,
752
            DataStoreParameters parameters) throws InitializeException,
735 753
        ProviderNotRegisteredException {
736 754
        String name = parameters.getDataStoreName();
737 755
        DataStoreProvider provider = null;

Also available in: Unified diff