Revision 36113 branches/v2_0_0_prep/libraries/org.gvsig.newlayer/org.gvsig.newlayer.prov/org.gvsig.newlayer.prov.generic/src/main/java/org/gvsig/newlayer/prov/generic/NewLayerGenericProvider.java

View differences:

NewLayerGenericProvider.java
39 39
import org.gvsig.newlayer.prov.generic.panels.SelectStoreTypePanel;
40 40
import org.gvsig.newlayer.prov.generic.panels.StoreParamsPanel;
41 41
import org.gvsig.newlayer.spi.AbstractNewLayerProvider;
42
import org.gvsig.tools.exception.BaseRuntimeException;
42 43
import org.slf4j.Logger;
43 44
import org.slf4j.LoggerFactory;
44 45

  
......
53 54
	List<NewLayerProviderPanel> panels = new ArrayList<NewLayerProviderPanel>();
54 55
	private String explorerName = null; 
55 56
	private DataServerExplorerParameters explorerParameters = null;
57
	private NewFeatureStoreParameters storeParameters = null;
56 58
	
57 59
    protected NewLayerGenericProvider(NewLayerService service) {
58 60
		super(service);
......
71 73
	}
72 74

  
73 75
	public NewFeatureStoreParameters getNewStoreParameters() {
76
		if (storeParameters != null){
77
			if (storeParameters.getDataStoreName().equals(this.getStoreName())){
78
				return storeParameters;
79
			}
80
		}
74 81
		DataManager dataManager = DALLocator.getDataManager();
75 82
		try {
76
			return (NewFeatureStoreParameters) dataManager.createNewStoreParameters(this.getExplorerName(), this.getStoreName());
83
			storeParameters = (NewFeatureStoreParameters) dataManager.createNewStoreParameters(this.getExplorerName(), this.getStoreName());
84
			return storeParameters;
77 85
		} catch (InitializeException e) {
78 86
			LOG.error("Can't initialize store parameters.");
79
			throw new RuntimeException("Can't initialize store parameters.");
87
			throw new CantInitializeStoreParametersException(e);
80 88
		} catch (ProviderNotRegisteredException e) {
81 89
			LOG.error("Can't create store parameters, provider not registered.");
82
			throw new RuntimeException("Can't create store parameters, provider not registered.");
90
			throw new CantCreateStoreParametersException(e);
83 91
		}
84 92
	}
85 93

  
94
	class CantCreateStoreParametersException extends BaseRuntimeException {
95
		/**
96
		 * 
97
		 */
98
		private static final long serialVersionUID = -3487961532247258393L;
99
		private final static String MESSAGE_FORMAT = "Can't create store parameters, provider not registered.";
100
		private final static String MESSAGE_KEY = "_Cant_create_store_parameters_provider_not_registered";
101

  
102
		public CantCreateStoreParametersException(Throwable cause) {
103
			super(MESSAGE_FORMAT, cause, MESSAGE_KEY, serialVersionUID);
104
		}
105
	}
106
	
107
	class CantInitializeStoreParametersException extends BaseRuntimeException {
108
		/**
109
		 * 
110
		 */
111
		private static final long serialVersionUID = -5263149018209261288L;
112
		private final static String MESSAGE_FORMAT = "Can't initialize store parameters.";
113
		private final static String MESSAGE_KEY = "_Cant_initialize_store_parameters";
114

  
115
		public CantInitializeStoreParametersException(Throwable cause) {
116
			super(MESSAGE_FORMAT, cause, MESSAGE_KEY, serialVersionUID);
117
		}
118
	}
119

  
120
	
86 121
	public List<NewLayerProviderPanel> getPanels() {
87 122
		return panels;
88 123
	}

Also available in: Unified diff