Revision 4181 org.gvsig.raster.multifile/trunk/org.gvsig.raster.multifile/org.gvsig.raster.multifile.io/src/main/java/org/gvsig/raster/multifile/io/MultiFileDataParametersImpl.java

View differences:

MultiFileDataParametersImpl.java
27 27

  
28 28
package org.gvsig.raster.multifile.io;
29 29

  
30
import java.net.URI;
30 31
import java.util.ArrayList;
31 32
import java.util.List;
32 33

  
......
55 56
 */
56 57
public class MultiFileDataParametersImpl extends AbstractRasterFileDataParameters implements MultiFileDataParameters {
57 58
	private List<RasterProvider>    providerList = null;
58
	
59

  
59 60
	public MultiFileDataParametersImpl() {
60 61
		super();
61 62
		providerList = new ArrayList<RasterProvider>();
62 63
		initialize();
63 64
	}
64
	
65

  
65 66
	protected void initialize() {
66 67
		delegatedDynObject = (DelegatedDynObject) ToolsLocator
67 68
				.getDynObjectManager().createDynObject(
68 69
						registerDynClass());
69 70
	}
70
	
71

  
71 72
	@SuppressWarnings("unchecked")
72 73
	public void loadFromState(PersistentState state)
73 74
			throws PersistenceException {
74 75
		super.loadFromState(state);
75 76
		DataManagerProviderServices dataManager = (DataManagerProviderServices)DALLocator.getDataManager();
76
		
77

  
77 78
		List<RasterDataParameters> parameters = state.getList("parameters");
78 79
		for (int i = 0; i < parameters.size(); i++) {
79 80
			try {
......
91 92
	public void saveToState(PersistentState state) throws PersistenceException {
92 93
		super.saveToState(state);
93 94
		List<RasterProvider> provList = getProviders();
94
		List<RasterDataParameters> rasterDataParametersList = new ArrayList<RasterDataParameters>(); 
95
		List<RasterDataParameters> rasterDataParametersList = new ArrayList<RasterDataParameters>();
95 96
		for (int j = 0; j < provList.size(); j++) {
96
			rasterDataParametersList.add(provList.get(j).getDataParameters());	
97
			rasterDataParametersList.add(provList.get(j).getDataParameters());
97 98
		}
98
		
99
		state.set("parameters", rasterDataParametersList);	
100
	}	
101
	
99

  
100
		state.set("parameters", rasterDataParametersList);
101
	}
102

  
102 103
	public static DynStruct registerDynClass() {
103 104
		PersistenceManager manager = ToolsLocator.getPersistenceManager();
104 105
		DynStruct definition = manager.getDefinition("MultiFileDataParameters_Persistent");
......
107 108
					MultiFileDataParametersImpl.class,
108 109
					"MultiFileDataParameters_Persistent",
109 110
					"MultiFileDataParameters Persistent",
110
					null, 
111
					null,
111 112
					null
112 113
			);
113 114
			AbstractRasterDataParameters.registerDynClass(definition);
114 115
		}
115
		
116

  
116 117
		definition.addDynFieldList("parameters")
117 118
		.setClassOfItems(RasterDataParameters.class)
118 119
		.setMandatory(false);
119
		
120

  
120 121
		return definition;
121 122
	}
122
	
123

  
123 124
	public void removeAllProviders() {
124 125
		getProviders().clear();
125 126
		getParams().clear();
126 127
	}
127
	
128

  
128 129
	public boolean hasProviders() {
129 130
		return getProviders().size() > 0;
130 131
	}
131
	
132
	public void removeProvider(String uri) {
132

  
133
	public void removeProvider(URI uri) {
133 134
		if(getProviders() != null) {
134 135
			List<RasterProvider> provList = getProviders();
135 136
			List<RasterDataParameters> paramList = getParams();
......
143 144
			}
144 145
		}
145 146
	}
146
	
147

  
147 148
	public void addProviderNotTiled(DataStoreProvider provider) {
148 149
		if(provider instanceof RasterProvider) {
149 150
			RasterProvider prov = (RasterProvider)provider;
......
152 153
			}
153 154
		}
154 155
	}
155
	
156

  
156 157
	public void setFirstProvider(DataStoreProvider provider) {
157 158
		if(provider instanceof RasterProvider) {
158 159
			RasterProvider prov = (RasterProvider)provider;
......
162 163
			}
163 164
		}
164 165
	}
165
	
166

  
166 167
	public void addProvider(DataStoreProvider provider) {
167 168
		if(provider instanceof RasterProvider) {
168 169
			RasterProvider prov = (RasterProvider)provider;
......
176 177
			addToList(prov);
177 178
		}
178 179
	}
179
	
180

  
180 181
	private void addToList(RasterProvider prov) {
181 182
		addProviderToList(prov);
182 183
		addParamToList(prov);
183 184
	}
184
	
185

  
185 186
	@SuppressWarnings("unchecked")
186 187
	private List<RasterDataParameters> getParams() {
187 188
		return (List<RasterDataParameters>)getDynValue("parameters");
188 189
	}
189
	
190

  
190 191
	private void addParamToList(RasterProvider prov) {
191 192
		List<RasterDataParameters> paramList = getParams();
192 193
		if(paramList == null) {
......
197 198
			paramList.add(prov.getDataParameters());
198 199
		}
199 200
	}
200
	
201

  
201 202
	public List<RasterProvider> getProviders() {
202 203
		return this.providerList;
203 204
	}
204
	
205

  
205 206
	private void addProviderToList(RasterProvider prov) {
206
		List<RasterProvider> provList = getProviders(); 
207
		List<RasterProvider> provList = getProviders();
207 208
		if(provList == null) {
208 209
			provList = new ArrayList<RasterProvider>();
209 210
			provList.add(prov);
......
212 213
			provList.add(prov);
213 214
		}
214 215
	}
215
	
216
	
216

  
217

  
217 218
	public void setProviders(ArrayList<RasterProvider> provList) {
218 219
		List<RasterDataParameters> paramsList = new ArrayList<RasterDataParameters>();
219 220
		for (int i = 0; i < provList.size(); i++) {
......
230 231
	public String getDescription() {
231 232
		return MultiFileProvider.DESCRIPTION;
232 233
	}
233
	
234

  
234 235
}

Also available in: Unified diff