Revision 2319
org.gvsig.raster.wcs/branches/org.gvsig.raster.wcs_dataaccess_refactoring/org.gvsig.raster.wcs.io/src/main/java/org/gvsig/raster/wcs/io/WCSServerExplorerParameters.java | ||
---|---|---|
29 | 29 |
|
30 | 30 |
import org.gvsig.fmap.dal.DataServerExplorerParameters; |
31 | 31 |
import org.gvsig.fmap.dal.spi.AbstractDataParameters; |
32 |
import org.gvsig.raster.impl.store.AbstractRasterDataParameters; |
|
32 | 33 |
import org.gvsig.tools.ToolsLocator; |
33 | 34 |
import org.gvsig.tools.dynobject.DelegatedDynObject; |
34 | 35 |
import org.gvsig.tools.dynobject.DynClass; |
35 |
import org.gvsig.tools.dynobject.DynField;
|
|
36 |
import org.gvsig.tools.dynobject.DynObjectManager;
|
|
36 |
import org.gvsig.tools.dynobject.DynStruct;
|
|
37 |
import org.gvsig.tools.persistence.PersistenceManager;
|
|
37 | 38 |
|
38 | 39 |
/** |
39 | 40 |
* Parameters for the WCS provider |
40 | 41 |
* @author Nacho Brodin (nachobrodin@gmail.com) |
41 | 42 |
*/ |
42 | 43 |
public class WCSServerExplorerParameters extends AbstractDataParameters implements DataServerExplorerParameters { |
43 |
public static final String DYNCLASS_NAME = "WCSServerExplorerParameters"; |
|
44 | 44 |
protected static final String FIELD_HOST = "host"; |
45 | 45 |
protected static DynClass DYNCLASS = null; |
46 | 46 |
private DelegatedDynObject delegatedDynObject = null; |
47 |
private static final String AXIS_ORDER = "axisorder"; |
|
47 | 48 |
|
48 | 49 |
public WCSServerExplorerParameters() { |
49 | 50 |
super(); |
... | ... | |
53 | 54 |
protected void initialize() { |
54 | 55 |
this.delegatedDynObject = (DelegatedDynObject) ToolsLocator |
55 | 56 |
.getDynObjectManager().createDynObject( |
56 |
DYNCLASS);
|
|
57 |
registerDynClass());
|
|
57 | 58 |
} |
58 | 59 |
|
59 |
@SuppressWarnings("deprecation") |
|
60 |
public static void registerDynClass() { |
|
61 |
DynObjectManager dynman = ToolsLocator.getDynObjectManager(); |
|
62 |
DynClass dynClass; |
|
63 |
DynField field; |
|
64 |
|
|
65 |
if(dynman == null) |
|
66 |
return; |
|
67 |
|
|
68 |
if (DYNCLASS == null) { |
|
69 |
dynClass = dynman.add(DYNCLASS_NAME); |
|
60 |
public static DynStruct registerDynClass() { |
|
61 |
PersistenceManager manager = ToolsLocator.getPersistenceManager(); |
|
62 |
DynStruct definition = manager.getDefinition("WCSServerExplorerParameters_Persistent"); |
|
63 |
if( definition == null ) { |
|
64 |
definition = manager.addDefinition( |
|
65 |
WCSServerExplorerParameters.class, |
|
66 |
"WCSServerExplorerParameters_Persistent", |
|
67 |
"WCS Explorer DataParameters Persistency", |
|
68 |
null, |
|
69 |
null |
|
70 |
); |
|
71 |
} |
|
70 | 72 |
|
71 |
field = dynClass.addDynField(FIELD_HOST); |
|
72 |
field.setTheTypeOfAvailableValues(DynField.ANY); |
|
73 |
field.setDescription("Uniform Resource Identifier (File name or URL)"); |
|
74 |
field.setType(org.gvsig.tools.dataTypes.DataTypes.STRING); |
|
75 |
field.setMandatory(true); |
|
73 |
AbstractRasterDataParameters.registerDynClass(definition); |
|
76 | 74 |
|
77 |
DYNCLASS = dynClass; |
|
78 |
} |
|
75 |
definition.addDynFieldBoolean(AXIS_ORDER) |
|
76 |
.setDescription("Longitude first in axis order") |
|
77 |
.setMandatory(false); |
|
79 | 78 |
|
79 |
definition.addDynFieldString(FIELD_HOST) |
|
80 |
.setDescription("Uniform Resource Identifier (File name or URL)") |
|
81 |
.setMandatory(false); |
|
82 |
return definition; |
|
80 | 83 |
} |
81 | 84 |
|
82 | 85 |
protected DelegatedDynObject getDelegatedDynObject() { |
... | ... | |
99 | 102 |
this.setDynValue(FIELD_HOST, host); |
100 | 103 |
} |
101 | 104 |
|
102 |
/* |
|
103 |
* (non-Javadoc) |
|
104 |
* @see org.gvsig.fmap.dal.DataStoreParameters#getDataStoreName() |
|
105 |
*/ |
|
106 | 105 |
public String getDataStoreName() { |
107 | 106 |
return WCSProvider.NAME; |
108 | 107 |
} |
109 | 108 |
|
110 |
/* |
|
111 |
* (non-Javadoc) |
|
112 |
* @see org.gvsig.fmap.dal.DataStoreParameters#getDescription() |
|
113 |
*/ |
|
114 | 109 |
public String getDescription() { |
115 | 110 |
return WCSProvider.DESCRIPTION; |
116 | 111 |
} |
117 | 112 |
|
118 | 113 |
public String getExplorerName() { |
119 |
return WCSServerExplorer.NAME;
|
|
114 |
return WCSProvider.NAME;
|
|
120 | 115 |
} |
116 |
|
|
117 |
/** |
|
118 |
* Returns true if the longitude is first in axis order |
|
119 |
* @return |
|
120 |
*/ |
|
121 |
public boolean isLongitudeFirst() { |
|
122 |
Object obj = getDynValue(AXIS_ORDER); |
|
123 |
if(obj instanceof Boolean) { |
|
124 |
Boolean b = (Boolean)getDynValue(AXIS_ORDER); |
|
125 |
if(b != null) |
|
126 |
return ((Boolean)b).booleanValue(); |
|
127 |
} |
|
128 |
if(obj instanceof String) { |
|
129 |
String b = (String)getDynValue(AXIS_ORDER); |
|
130 |
if(b != null) |
|
131 |
return new Boolean(((String)b)); |
|
132 |
} |
|
133 |
return false; |
|
134 |
} |
|
135 |
|
|
136 |
/** |
|
137 |
* Sets the longitude first in axis order |
|
138 |
* @param longFirst |
|
139 |
*/ |
|
140 |
public void setLongitudeFirst(boolean longFirst) { |
|
141 |
this.setDynValue(AXIS_ORDER, new Boolean(longFirst)); |
|
142 |
} |
|
121 | 143 |
} |
org.gvsig.raster.wcs/branches/org.gvsig.raster.wcs_dataaccess_refactoring/org.gvsig.raster.wcs.io/src/main/java/org/gvsig/raster/wcs/io/WCSDataParametersImpl.java | ||
---|---|---|
27 | 27 |
import java.util.Hashtable; |
28 | 28 |
import java.util.Map; |
29 | 29 |
|
30 |
import org.cresques.cts.IProjection; |
|
31 | 30 |
import org.gvsig.compat.net.ICancellable; |
32 | 31 |
import org.gvsig.fmap.crs.CRSFactory; |
32 |
import org.gvsig.fmap.dal.coverage.store.RasterDataServerExplorer; |
|
33 |
import org.gvsig.fmap.dal.coverage.store.parameter.RasterDataParameters; |
|
33 | 34 |
import org.gvsig.raster.impl.store.AbstractRasterDataParameters; |
34 | 35 |
import org.gvsig.tools.ToolsLocator; |
35 |
import org.gvsig.tools.dataTypes.DataTypes; |
|
36 | 36 |
import org.gvsig.tools.dynobject.DelegatedDynObject; |
37 | 37 |
import org.gvsig.tools.dynobject.DynClass; |
38 |
import org.gvsig.tools.dynobject.DynField; |
|
39 |
import org.gvsig.tools.dynobject.DynObjectManager; |
|
40 | 38 |
import org.gvsig.tools.dynobject.DynStruct; |
41 | 39 |
import org.gvsig.tools.persistence.PersistenceManager; |
42 |
import org.gvsig.tools.persistence.PersistentState; |
|
43 |
import org.gvsig.tools.persistence.exception.PersistenceException; |
|
44 | 40 |
|
45 | 41 |
/** |
46 | 42 |
* Parameters for the WCS provider |
47 | 43 |
* @author Nacho Brodin (nachobrodin@gmail.com) |
48 | 44 |
*/ |
49 | 45 |
public class WCSDataParametersImpl extends AbstractRasterDataParameters implements WCSDataParameters { |
50 |
public static final String DYNCLASS_NAME = "WCSDataParameters"; |
|
51 | 46 |
private static final String FIELD_TIME = "time"; |
52 | 47 |
private static final String FIELD_MAXRES = "maxres"; |
53 | 48 |
private static final String FIELD_PARAM = "parameter"; |
54 |
private static final String FIELD_SRS = "srs"; |
|
55 | 49 |
private static final String FIELD_FORMAT = "format"; |
56 | 50 |
private static final String FIELD_NAME = "name"; |
57 | 51 |
private static final String FIELD_SRSSTR = "srsstr"; |
58 | 52 |
private static final String FIELD_EXTENT = "extent"; |
59 | 53 |
private static final String FIELD_WIDTH = "width"; |
60 | 54 |
private static final String FIELD_HEIGHT = "height"; |
61 |
private static final String FIELD_CANCEL = "cancellable"; |
|
62 | 55 |
private static final String FIELD_OVERRIDE = "override"; |
63 | 56 |
private static final String FIELD_ONLINERESOURC = "onlineresources"; |
64 | 57 |
private static final String FIELD_DEPTH = "depth"; |
... | ... | |
66 | 59 |
|
67 | 60 |
private DelegatedDynObject delegatedDynObject = null; |
68 | 61 |
protected static DynClass DYNCLASS = null; |
62 |
private ICancellable cancel = null; |
|
69 | 63 |
|
70 | 64 |
public WCSDataParametersImpl() { |
71 | 65 |
super(); |
... | ... | |
74 | 68 |
|
75 | 69 |
protected void initialize() { |
76 | 70 |
this.delegatedDynObject = (DelegatedDynObject) ToolsLocator |
77 |
.getDynObjectManager().createDynObject( |
|
78 |
DYNCLASS); |
|
71 |
.getDynObjectManager().createDynObject(registerDynClass()); |
|
79 | 72 |
} |
80 | 73 |
|
81 |
public static void registerPersistence() {
|
|
74 |
public static DynStruct registerDynClass() {
|
|
82 | 75 |
PersistenceManager manager = ToolsLocator.getPersistenceManager(); |
83 |
DynStruct definition = manager.getDefinition("WCSDataParametersImpl_Persistent");
|
|
76 |
DynStruct definition = manager.getDefinition("WCSDataParameters_Persistent"); |
|
84 | 77 |
if( definition == null ) { |
85 | 78 |
definition = manager.addDefinition( |
86 | 79 |
WCSDataParametersImpl.class, |
87 |
"WCSDataParametersImpl_Persistent",
|
|
80 |
"WCSDataParameters_Persistent", |
|
88 | 81 |
"WCS DataParameters Persistency", |
89 | 82 |
null, |
90 | 83 |
null |
91 | 84 |
); |
92 |
AbstractRasterDataParameters.registerPersistence(definition); |
|
93 |
|
|
94 |
definition.addDynFieldObject(FIELD_EXTENT).setClassOfValue(Rectangle2D.class).setMandatory(false); |
|
95 |
definition.addDynFieldInt(FIELD_WIDTH).setMandatory(false); |
|
96 |
definition.addDynFieldInt(FIELD_HEIGHT).setMandatory(false); |
|
97 |
definition.addDynFieldObject(FIELD_MAXRES).setClassOfValue(Point2D.class).setMandatory(false); |
|
98 |
definition.addDynFieldString(FIELD_FORMAT).setMandatory(false); |
|
99 |
definition.addDynFieldString(FIELD_PARAM).setMandatory(false); |
|
100 |
definition.addDynFieldString(FIELD_NAME).setMandatory(false); |
|
101 |
definition.addDynFieldString(FIELD_SRSSTR).setMandatory(false); |
|
102 |
definition.addDynFieldBoolean(FIELD_OVERRIDE).setMandatory(false); |
|
103 |
definition.addDynFieldMap(FIELD_ONLINERESOURC).setClassOfItems(String.class).setMandatory(false); |
|
104 |
definition.addDynFieldString(FIELD_DEPTH).setMandatory(false); |
|
105 |
definition.addDynFieldString(FIELD_TIME).setMandatory(false); |
|
106 | 85 |
} |
107 |
} |
|
108 |
|
|
109 |
public void saveToState(PersistentState state) throws PersistenceException { |
|
110 |
super.saveToState(state); |
|
111 |
state.set(FIELD_FORMAT, getFormat()); |
|
112 |
state.set(FIELD_MAXRES, getMaxResolution()); |
|
113 |
state.set(FIELD_PARAM, getParameter()); |
|
114 |
state.set(FIELD_DEPTH, getDepth()); |
|
115 |
state.set(FIELD_TIME, getTime()); |
|
116 |
state.set(FIELD_NAME, getCoverageName()); |
|
117 |
state.set(FIELD_SRSSTR, getSRSCode()); |
|
118 |
state.set(FIELD_OVERRIDE, isOverridingHost()); |
|
119 |
state.set(FIELD_ONLINERESOURC, getOnlineResource()); |
|
120 |
state.set(FIELD_EXTENT, getExtent()); |
|
121 |
} |
|
122 |
|
|
123 |
@SuppressWarnings("unchecked") |
|
124 |
public void loadFromState(PersistentState state) |
|
125 |
throws PersistenceException { |
|
126 |
super.loadFromState(state); |
|
127 | 86 |
|
128 |
setFormat(state.getString(FIELD_FORMAT)); |
|
129 |
setMaxResolution((Point2D)state.get(FIELD_MAXRES)); |
|
130 |
setParameter(state.getString(FIELD_PARAM)); |
|
131 |
setDepth(state.getString(FIELD_DEPTH)); |
|
132 |
setTime(state.getString(FIELD_TIME)); |
|
133 |
setCoverageName(state.getString(FIELD_NAME)); |
|
134 |
setSRS(state.getString(FIELD_SRSSTR)); |
|
135 |
setOverrideHost(state.getBoolean(FIELD_OVERRIDE)); |
|
136 |
if(state.getMap(FIELD_ONLINERESOURC) != null) |
|
137 |
setOnlineResources(new Hashtable(state.getMap(FIELD_ONLINERESOURC))); |
|
138 |
setExtent((Rectangle2D)state.get(FIELD_EXTENT)); |
|
139 |
} |
|
140 |
|
|
141 |
@SuppressWarnings("deprecation") |
|
142 |
public static void registerDynClass() { |
|
143 |
DynObjectManager dynman = ToolsLocator.getDynObjectManager(); |
|
144 |
DynClass dynClass; |
|
145 |
DynField field; |
|
87 |
AbstractRasterDataParameters.registerDynClass(definition); |
|
146 | 88 |
|
147 |
if(dynman == null) |
|
148 |
return; |
|
89 |
definition.addDynFieldObject(FIELD_MAXRES) |
|
90 |
.setClassOfValue(Point2D.class) |
|
91 |
.setMandatory(false); |
|
149 | 92 |
|
150 |
if (DYNCLASS == null) { |
|
151 |
dynClass = AbstractRasterDataParameters.registerDynClass(WCSDataParametersImpl.DYNCLASS_NAME); |
|
93 |
definition.addDynFieldString(FIELD_PARAM) |
|
94 |
.setMandatory(false); |
|
95 |
|
|
96 |
definition.addDynFieldString(FIELD_DEPTH) |
|
97 |
.setMandatory(false); |
|
98 |
|
|
99 |
definition.addDynFieldString(FIELD_TIME) |
|
100 |
.setMandatory(false); |
|
101 |
|
|
102 |
definition.addDynFieldObject(FIELD_EXTENT) |
|
103 |
.setDescription("Bounding box") |
|
104 |
.setClassOfValue(Rectangle2D.class) |
|
105 |
.setMandatory(false); |
|
106 |
|
|
107 |
definition.addDynFieldInt(FIELD_WIDTH) |
|
108 |
.setDescription("Width") |
|
109 |
.setMandatory(false); |
|
110 |
|
|
111 |
definition.addDynFieldInt(FIELD_HEIGHT) |
|
112 |
.setDescription("Height") |
|
113 |
.setMandatory(false); |
|
114 |
|
|
115 |
definition.addDynFieldString(FIELD_FORMAT) |
|
116 |
.setDescription("Format") |
|
117 |
.setMandatory(false); |
|
118 |
|
|
119 |
definition.addDynFieldString(FIELD_NAME) |
|
120 |
.setDescription("Name") |
|
121 |
.setMandatory(false); |
|
122 |
|
|
123 |
definition.addDynFieldString(FIELD_SRSSTR) |
|
124 |
.setDescription("String that represents the SRS") |
|
125 |
.setMandatory(false); |
|
126 |
|
|
127 |
definition.addDynFieldBoolean(FIELD_OVERRIDE) |
|
128 |
.setDescription("Override a host capabilities") |
|
129 |
.setMandatory(false); |
|
130 |
|
|
131 |
definition.addDynFieldMap(FIELD_ONLINERESOURC) |
|
132 |
.setDescription("online resources") |
|
133 |
.setClassOfItems(String.class) |
|
134 |
.setMandatory(false); |
|
135 |
|
|
136 |
definition.addDynFieldBoolean(FIELD_DELETECACHE) |
|
137 |
.setDescription("Flag to delete cache the next request") |
|
138 |
.setMandatory(false); |
|
152 | 139 |
|
153 |
field = dynClass.addDynField(FIELD_MAXRES); |
|
154 |
field.setTheTypeOfAvailableValues(DynField.ANY); |
|
155 |
field.setDescription("Maxresolution"); |
|
156 |
field.setType(DataTypes.OBJECT); |
|
157 |
field.setMandatory(false); |
|
158 |
|
|
159 |
field = dynClass.addDynField(FIELD_PARAM); |
|
160 |
field.setTheTypeOfAvailableValues(DynField.ANY); |
|
161 |
field.setDescription("Parameters"); |
|
162 |
field.setType(DataTypes.STRING); |
|
163 |
field.setMandatory(false); |
|
164 |
|
|
165 |
field = dynClass.addDynField(FIELD_SRS); |
|
166 |
field.setTheTypeOfAvailableValues(DynField.ANY); |
|
167 |
field.setDescription("SRS"); |
|
168 |
field.setType(org.cresques.DataTypes.CRS); |
|
169 |
field.setMandatory(false); |
|
170 |
|
|
171 |
field = dynClass.addDynField(FIELD_FORMAT); |
|
172 |
field.setTheTypeOfAvailableValues(DynField.ANY); |
|
173 |
field.setDescription("Format"); |
|
174 |
field.setType(DataTypes.STRING); |
|
175 |
field.setMandatory(true); |
|
176 |
|
|
177 |
field = dynClass.addDynField(FIELD_NAME); |
|
178 |
field.setTheTypeOfAvailableValues(DynField.ANY); |
|
179 |
field.setDescription("Name"); |
|
180 |
field.setType(DataTypes.STRING); |
|
181 |
field.setMandatory(true); |
|
182 |
|
|
183 |
field = dynClass.addDynField(FIELD_SRSSTR); |
|
184 |
field.setTheTypeOfAvailableValues(DynField.ANY); |
|
185 |
field.setDescription("String that represents the SRS"); |
|
186 |
field.setType(DataTypes.STRING); |
|
187 |
field.setMandatory(true); |
|
188 |
|
|
189 |
field = dynClass.addDynField(FIELD_CANCEL); |
|
190 |
field.setTheTypeOfAvailableValues(DynField.ANY); |
|
191 |
field.setDescription("Cancellable"); |
|
192 |
field.setType(DataTypes.OBJECT); |
|
193 |
field.setMandatory(false); |
|
194 |
|
|
195 |
field = dynClass.addDynField(FIELD_EXTENT); |
|
196 |
field.setTheTypeOfAvailableValues(DynField.ANY); |
|
197 |
field.setDescription("Extent"); |
|
198 |
field.setType(DataTypes.OBJECT); |
|
199 |
field.setMandatory(false); |
|
200 |
|
|
201 |
field = dynClass.addDynField(FIELD_WIDTH); |
|
202 |
field.setTheTypeOfAvailableValues(DynField.ANY); |
|
203 |
field.setDescription("Width"); |
|
204 |
field.setType(DataTypes.INT); |
|
205 |
field.setMandatory(false); |
|
206 |
|
|
207 |
field = dynClass.addDynField(FIELD_HEIGHT); |
|
208 |
field.setTheTypeOfAvailableValues(DynField.ANY); |
|
209 |
field.setDescription("Height"); |
|
210 |
field.setType(DataTypes.INT); |
|
211 |
field.setMandatory(false); |
|
212 |
|
|
213 |
field = dynClass.addDynField(FIELD_OVERRIDE); |
|
214 |
field.setTheTypeOfAvailableValues(DynField.ANY); |
|
215 |
field.setDescription("Override a host capabilities"); |
|
216 |
field.setType(DataTypes.BOOLEAN); |
|
217 |
field.setMandatory(false); |
|
218 |
|
|
219 |
field = dynClass.addDynField(FIELD_ONLINERESOURC); |
|
220 |
field.setTheTypeOfAvailableValues(DynField.ANY); |
|
221 |
field.setDescription("online resources"); |
|
222 |
field.setType(DataTypes.MAP); |
|
223 |
field.setMandatory(false); |
|
224 |
|
|
225 |
field = dynClass.addDynField(FIELD_DEPTH); |
|
226 |
field.setTheTypeOfAvailableValues(DynField.ANY); |
|
227 |
field.setDescription("Depth"); |
|
228 |
field.setType(DataTypes.STRING); |
|
229 |
field.setMandatory(false); |
|
230 |
|
|
231 |
field = dynClass.addDynField(FIELD_TIME); |
|
232 |
field.setTheTypeOfAvailableValues(DynField.ANY); |
|
233 |
field.setDescription("Time"); |
|
234 |
field.setType(DataTypes.STRING); |
|
235 |
field.setMandatory(false); |
|
236 |
|
|
237 |
field = dynClass.addDynField(FIELD_DELETECACHE); |
|
238 |
field.setTheTypeOfAvailableValues(DynField.ANY); |
|
239 |
field.setDescription("Flag to delete cache the next request"); |
|
240 |
field.setType(DataTypes.BOOLEAN); |
|
241 |
field.setMandatory(false); |
|
242 |
|
|
243 |
DYNCLASS = dynClass; |
|
244 |
} |
|
140 |
return definition; |
|
245 | 141 |
} |
246 | 142 |
|
247 |
/* |
|
248 |
* (non-Javadoc) |
|
249 |
* @see org.gvsig.raster.wcs.io.WCSDataParameters#setMaxResolution(java.awt.geom.Point2D) |
|
250 |
*/ |
|
251 | 143 |
public void setMaxResolution(Point2D res) { |
252 | 144 |
this.setDynValue(FIELD_MAXRES, res); |
253 | 145 |
} |
... | ... | |
256 | 148 |
return (Point2D) this.getDynValue(FIELD_MAXRES); |
257 | 149 |
} |
258 | 150 |
|
259 |
/* |
|
260 |
* (non-Javadoc) |
|
261 |
* @see org.gvsig.fmap.dal.coverage.store.parameter.WCSDataParameters#setParameter(java.lang.String) |
|
262 |
*/ |
|
263 | 151 |
public void setParameter(String parameter) { |
264 | 152 |
this.setDynValue(FIELD_PARAM, parameter); |
265 | 153 |
} |
266 | 154 |
|
267 |
/* |
|
268 |
* (non-Javadoc) |
|
269 |
* @see org.gvsig.raster.wcs.io.WCSDataParameters#getParameter() |
|
270 |
*/ |
|
271 | 155 |
public String getParameter() { |
272 | 156 |
return (String) this.getDynValue(FIELD_PARAM); |
273 | 157 |
} |
274 | 158 |
|
275 |
/* |
|
276 |
* (non-Javadoc) |
|
277 |
* @see org.gvsig.raster.wcs.io.WCSDataParameters#getFormat() |
|
278 |
*/ |
|
279 | 159 |
public String getFormat() { |
280 | 160 |
return (String) this.getDynValue(FIELD_FORMAT); |
281 | 161 |
} |
282 | 162 |
|
283 |
/* |
|
284 |
* (non-Javadoc) |
|
285 |
* @see org.gvsig.raster.wcs.io.WCSDataParameters#setFormat(java.lang.String) |
|
286 |
*/ |
|
287 | 163 |
public void setFormat(String format) { |
288 | 164 |
this.setDynValue(FIELD_FORMAT, format); |
289 | 165 |
} |
... | ... | |
307 | 183 |
setSRS(CRSFactory.getCRS(m_srs)); |
308 | 184 |
} |
309 | 185 |
|
310 |
public void setSRS(IProjection srs) { |
|
311 |
setDynValue(FIELD_SRS, srs); |
|
312 |
} |
|
313 |
|
|
314 |
/** |
|
315 |
* Returns the projection |
|
316 |
* @return |
|
317 |
*/ |
|
318 |
public IProjection getSRS() { |
|
319 |
if (this.getSRSID() == null) { |
|
320 |
return null; |
|
321 |
} |
|
322 |
return (IProjection) getDynValue(FIELD_SRS); |
|
323 |
} |
|
324 |
|
|
325 |
public String getSRSID() { |
|
326 |
IProjection srs = (IProjection) getDynValue(FIELD_SRS); |
|
327 |
if (srs == null) { |
|
328 |
return null; |
|
329 |
} |
|
330 |
return srs.getAbrev(); |
|
331 |
} |
|
332 |
|
|
333 | 186 |
public void setSRSID(String srsid) { |
334 | 187 |
if (srsid == null) { |
335 |
setDynValue(FIELD_SRS, null); |
|
188 |
setDynValue(FIELD_SRSSTR, null);
|
|
336 | 189 |
} else { |
337 |
setDynValue(FIELD_SRS, CRSFactory.getCRS(srsid)); |
|
190 |
setDynValue(FIELD_SRSSTR, CRSFactory.getCRS(srsid));
|
|
338 | 191 |
} |
339 | 192 |
} |
340 | 193 |
|
... | ... | |
347 | 200 |
} |
348 | 201 |
|
349 | 202 |
public void setCancellable(ICancellable cancel) { |
350 |
this.setDynValue(FIELD_CANCEL, cancel);
|
|
203 |
this.cancel = cancel;
|
|
351 | 204 |
} |
352 | 205 |
|
353 | 206 |
public ICancellable getCancellable() { |
354 |
return (ICancellable) this.getDynValue(FIELD_CANCEL);
|
|
207 |
return this.cancel;
|
|
355 | 208 |
} |
356 | 209 |
|
357 |
/* |
|
358 |
* (non-Javadoc) |
|
359 |
* @see org.gvsig.raster.wcs.io.WCSDataParameters#setExtent(java.awt.geom.Rectangle2D) |
|
360 |
*/ |
|
361 | 210 |
public void setExtent(Rectangle2D bBox) { |
362 | 211 |
this.setDynValue(FIELD_EXTENT, bBox); |
363 | 212 |
} |
364 | 213 |
|
365 |
/* |
|
366 |
* (non-Javadoc) |
|
367 |
* @see org.gvsig.fmap.dal.coverage.store.parameter.RemoteStoreParameters#setWidth(int) |
|
368 |
*/ |
|
369 | 214 |
public void setWidth(int w) { |
370 | 215 |
this.setDynValue(FIELD_WIDTH, new Integer(w)); |
371 | 216 |
} |
372 | 217 |
|
373 |
/* |
|
374 |
* (non-Javadoc) |
|
375 |
* @see org.gvsig.fmap.dal.coverage.store.parameter.RemoteStoreParameters#setHeight(int) |
|
376 |
*/ |
|
377 | 218 |
public void setHeight(int h) { |
378 | 219 |
this.setDynValue(FIELD_HEIGHT, new Integer(h)); |
379 | 220 |
} |
380 | 221 |
|
381 |
/* |
|
382 |
* (non-Javadoc) |
|
383 |
* @see org.gvsig.raster.wcs.io.WCSDataParameters#getExtent() |
|
384 |
*/ |
|
385 | 222 |
public Rectangle2D getExtent() { |
386 | 223 |
return (Rectangle2D)getDynValue(FIELD_EXTENT); |
387 | 224 |
} |
... | ... | |
408 | 245 |
return 0; |
409 | 246 |
} |
410 | 247 |
|
411 |
/*public void setConnector(Object connector) { |
|
412 |
this.setDynValue(FIELD_CONNECTOR, connector); |
|
413 |
} |
|
414 |
|
|
415 |
public Object getConnector() { |
|
416 |
return (Object)getDynValue(FIELD_CONNECTOR); |
|
417 |
}*/ |
|
418 |
|
|
419 | 248 |
//********************************************** |
420 | 249 |
|
421 |
/* |
|
422 |
* (non-Javadoc) |
|
423 |
* @see org.gvsig.fmap.dal.DataStoreParameters#getDataStoreName() |
|
424 |
*/ |
|
425 | 250 |
public String getDataStoreName() { |
426 | 251 |
return WCSProvider.NAME; |
427 | 252 |
} |
428 | 253 |
|
429 |
/* |
|
430 |
* (non-Javadoc) |
|
431 |
* @see org.gvsig.fmap.dal.DataStoreParameters#getDescription() |
|
432 |
*/ |
|
433 | 254 |
public String getDescription() { |
434 | 255 |
return WCSProvider.DESCRIPTION; |
435 | 256 |
} |
436 | 257 |
|
437 | 258 |
public String getExplorerName() { |
438 |
return WCSServerExplorer.NAME;
|
|
259 |
return WCSProvider.NAME;
|
|
439 | 260 |
} |
440 | 261 |
|
441 | 262 |
public boolean isValid() { |
... | ... | |
446 | 267 |
return delegatedDynObject; |
447 | 268 |
} |
448 | 269 |
|
449 |
/* |
|
450 |
* (non-Javadoc) |
|
451 |
* @see java.lang.Object#clone() |
|
452 |
*/ |
|
453 | 270 |
@SuppressWarnings("unchecked") |
454 | 271 |
public WCSDataParametersImpl clone() { |
455 | 272 |
WCSDataParametersImpl p = new WCSDataParametersImpl(); |
... | ... | |
467 | 284 |
p.setTime(getTime()); |
468 | 285 |
return p; |
469 | 286 |
} |
287 |
|
|
288 |
@SuppressWarnings("unchecked") |
|
289 |
public void assignFields(RasterDataParameters par, RasterDataServerExplorer explorer) { |
|
290 |
super.assignFields(par, explorer); |
|
291 |
WCSDataParametersImpl p = null; |
|
292 |
if(par instanceof WCSDataParametersImpl) |
|
293 |
p = (WCSDataParametersImpl)par; |
|
294 |
else |
|
295 |
return; |
|
296 |
setFormat(p.getFormat()); |
|
297 |
setHeight(p.getHeight()); |
|
298 |
setWidth(p.getWidth()); |
|
299 |
setExtent(p.getExtent()); |
|
300 |
setCoverageName(p.getCoverageName()); |
|
301 |
setOverrideHost(p.isOverridingHost()); |
|
302 |
setSRS(p.getSRS()); |
|
303 |
setSRS(p.getSRSCode()); |
|
304 |
setURI(p.getURI()); |
|
305 |
setCancellable(p.getCancellable()); |
|
306 |
setOnlineResources((Hashtable<String, String>)p.getDynValue(FIELD_ONLINERESOURC)); |
|
307 |
setTime(p.getTime()); |
|
308 |
} |
|
470 | 309 |
|
471 |
/* |
|
472 |
* (non-Javadoc) |
|
473 |
* @see org.gvsig.raster.wcs.io.WCSDataParameters#getTime() |
|
474 |
*/ |
|
475 | 310 |
public String getTime() { |
476 | 311 |
return (String) this.getDynValue(FIELD_TIME); |
477 | 312 |
} |
478 | 313 |
|
479 |
/* |
|
480 |
* (non-Javadoc) |
|
481 |
* @see org.gvsig.raster.wcs.io.WCSDataParameters#setTime(java.lang.String) |
|
482 |
*/ |
|
483 | 314 |
public void setTime(String time) { |
484 | 315 |
this.setDynValue(FIELD_TIME, time); |
485 | 316 |
} |
486 | 317 |
|
487 |
/* |
|
488 |
* (non-Javadoc) |
|
489 |
* @see org.gvsig.fmap.dal.coverage.store.parameter.RasterDataParameters#isOverridingHost() |
|
490 |
*/ |
|
491 | 318 |
public boolean isOverridingHost() { |
492 | 319 |
Boolean b = (Boolean)getDynValue(FIELD_OVERRIDE); |
493 | 320 |
if(b != null) |
... | ... | |
495 | 322 |
return false; |
496 | 323 |
} |
497 | 324 |
|
498 |
/* |
|
499 |
* (non-Javadoc) |
|
500 |
* @see org.gvsig.fmap.dal.coverage.store.parameter.RasterDataParameters#setOverrideHost(boolean) |
|
501 |
*/ |
|
502 | 325 |
public void setOverrideHost(boolean over) { |
503 | 326 |
this.setDynValue(FIELD_OVERRIDE, new Boolean(over));; |
504 | 327 |
} |
505 | 328 |
|
506 |
/* |
|
507 |
* (non-Javadoc) |
|
508 |
* @see org.gvsig.raster.wcs.io.WCSDataParameters#setOnlineResources(java.util.Hashtable) |
|
509 |
*/ |
|
510 | 329 |
public void setOnlineResources(Hashtable<String, String> onlineResources) { |
511 | 330 |
this.setDynValue(FIELD_ONLINERESOURC, onlineResources); |
512 | 331 |
} |
513 | 332 |
|
514 |
/* |
|
515 |
* (non-Javadoc) |
|
516 |
* @see org.gvsig.raster.wcs.io.WCSDataParameters#getOnlineResource() |
|
517 |
*/ |
|
518 | 333 |
@SuppressWarnings("unchecked") |
519 | 334 |
public Map<String,String> getOnlineResource() { |
520 | 335 |
return (Map<String,String>) this.getDynValue(FIELD_ONLINERESOURC); |
org.gvsig.raster.wcs/branches/org.gvsig.raster.wcs_dataaccess_refactoring/org.gvsig.raster.wcs.io/src/main/java/org/gvsig/raster/wcs/io/DefaultWCSIOLibrary.java | ||
---|---|---|
40 | 40 |
@Override |
41 | 41 |
protected void doInitialize() throws LibraryException { |
42 | 42 |
//RasterLibrary.wakeUp(); |
43 |
WCSDataParametersImpl.registerPersistence();
|
|
43 |
WCSDataParametersImpl.registerDynClass();
|
|
44 | 44 |
|
45 | 45 |
Messages.addResourceFamily("org.gvsig.raster.wcs.io.i18n.text", |
46 | 46 |
DefaultWCSIOLibrary.class.getClassLoader(), |
org.gvsig.raster.wcs/branches/org.gvsig.raster.wcs_dataaccess_refactoring/org.gvsig.raster.wcs.io/src/main/java/org/gvsig/raster/wcs/io/WCSServerExplorer.java | ||
---|---|---|
30 | 30 |
import java.awt.geom.Point2D; |
31 | 31 |
import java.io.IOException; |
32 | 32 |
import java.io.InputStream; |
33 |
import java.net.InetAddress; |
|
34 | 33 |
import java.net.MalformedURLException; |
35 | 34 |
import java.net.URL; |
36 | 35 |
import java.net.URLConnection; |
37 |
import java.net.UnknownHostException; |
|
38 | 36 |
import java.util.Hashtable; |
39 | 37 |
import java.util.List; |
40 | 38 |
|
... | ... | |
44 | 42 |
import org.gvsig.fmap.dal.DataServerExplorerParameters; |
45 | 43 |
import org.gvsig.fmap.dal.DataStoreParameters; |
46 | 44 |
import org.gvsig.fmap.dal.NewDataStoreParameters; |
45 |
import org.gvsig.fmap.dal.coverage.exception.ConnectException; |
|
47 | 46 |
import org.gvsig.fmap.dal.coverage.exception.RemoteServiceException; |
47 |
import org.gvsig.fmap.dal.coverage.store.RasterDataServerExplorer; |
|
48 | 48 |
import org.gvsig.fmap.dal.exception.DataException; |
49 | 49 |
import org.gvsig.fmap.dal.exception.InitializeException; |
50 | 50 |
import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException; |
... | ... | |
56 | 56 |
* Explorer for a WCS server |
57 | 57 |
* @author Nacho Brodin (nachobrodin@gmail.com) |
58 | 58 |
*/ |
59 |
public class WCSServerExplorer implements DataServerExplorerProvider { |
|
60 |
public static final String NAME = "WCSRemoteServerExplorer"; |
|
59 |
public class WCSServerExplorer implements RasterDataServerExplorer, DataServerExplorerProvider { |
|
61 | 60 |
private WCSConnector connector = null; |
62 | 61 |
private WCSServerExplorerParameters parameters = null; |
63 | 62 |
|
... | ... | |
76 | 75 |
return WCSProvider.NAME; |
77 | 76 |
} |
78 | 77 |
|
79 |
/* |
|
80 |
* (non-Javadoc) |
|
81 |
* @see org.gvsig.fmap.dal.coverage.store.remote.RemoteServerExplorerProvider#getDescription() |
|
82 |
*/ |
|
83 | 78 |
public String getDescription() { |
84 | 79 |
return WCSProvider.DESCRIPTION; |
85 | 80 |
} |
86 | 81 |
|
87 |
public DataStoreParameters getStoreParameters() { |
|
88 |
DataManager manager = DALLocator.getDataManager(); |
|
89 |
WCSDataParametersImpl params = null; |
|
90 |
try { |
|
91 |
params = (WCSDataParametersImpl) manager.createStoreParameters(this.getDataStoreProviderName()); |
|
92 |
|
|
93 |
/*if(WCSProvider.TILED) { |
|
94 |
TileDataParameters tileParams = (TileDataParameters) manager.createStoreParameters("Tile Store"); |
|
95 |
tileParams.setDataParameters(params); |
|
96 |
return tileParams; |
|
97 |
} */ |
|
98 |
|
|
99 |
} catch (InitializeException e) { |
|
100 |
e.printStackTrace(); |
|
101 |
} catch (ProviderNotRegisteredException e) { |
|
102 |
e.printStackTrace(); |
|
103 |
} |
|
104 |
params.setURI(parameters.getHost()); |
|
105 |
return params; |
|
106 |
} |
|
107 |
|
|
108 | 82 |
public boolean add(String provider, NewDataStoreParameters parameters, |
109 | 83 |
boolean overwrite) throws DataException { |
110 | 84 |
return false; |
... | ... | |
127 | 101 |
return null; |
128 | 102 |
} |
129 | 103 |
|
130 |
/* |
|
131 |
* (non-Javadoc) |
|
132 |
* @see org.gvsig.fmap.dal.DataServerExplorer#getParameters() |
|
133 |
*/ |
|
134 | 104 |
public DataServerExplorerParameters getParameters() { |
135 | 105 |
return parameters; |
136 | 106 |
} |
... | ... | |
169 | 139 |
//********************************************** |
170 | 140 |
//Connector |
171 | 141 |
//********************************************** |
142 |
|
|
143 |
public DataStoreParameters getStoredParameters() { |
|
144 |
DataManager manager = DALLocator.getDataManager(); |
|
145 |
WCSDataParametersImpl params = null; |
|
146 |
try { |
|
147 |
params = (WCSDataParametersImpl) manager.createStoreParameters(this.getDataStoreProviderName()); |
|
172 | 148 |
|
149 |
/*if(WCSProvider.TILED) { |
|
150 |
TileDataParameters tileParams = (TileDataParameters) manager.createStoreParameters("Tile Store"); |
|
151 |
tileParams.setDataParameters(params); |
|
152 |
return tileParams; |
|
153 |
} */ |
|
154 |
|
|
155 |
} catch (InitializeException e) { |
|
156 |
e.printStackTrace(); |
|
157 |
} catch (ProviderNotRegisteredException e) { |
|
158 |
e.printStackTrace(); |
|
159 |
} |
|
160 |
params.setURI(parameters.getHost()); |
|
161 |
return params; |
|
162 |
} |
|
163 |
|
|
173 | 164 |
/** |
174 | 165 |
* Connects to the server and throws a getCapabilities. This loads |
175 | 166 |
* the basic information to make requests. |
176 | 167 |
* @throws RemoteServiceException |
177 | 168 |
*/ |
178 |
public void connect(ICancellable cancellable) throws RemoteServiceException {
|
|
169 |
public void connect(ICancellable cancellable) throws ConnectException {
|
|
179 | 170 |
URL url = null; |
180 | 171 |
boolean override = false; |
181 | 172 |
|
182 | 173 |
try { |
183 | 174 |
url = new URL(parameters.getHost()); |
184 | 175 |
} catch (Exception e) { |
185 |
throw new RemoteServiceException(Messages.getText("malformed_url"), e);
|
|
176 |
throw new ConnectException(Messages.getText("malformed_url"), e);
|
|
186 | 177 |
} |
187 | 178 |
try { |
188 | 179 |
connector = WCSProvider.getConnectorFromURL(url); |
189 | 180 |
if (!connector.connect(override, cancellable)) |
190 |
throw new RemoteServiceException(Messages.getText("error_connecting"));
|
|
181 |
throw new ConnectException(Messages.getText("error_connecting"));
|
|
191 | 182 |
} catch (IOException e) { |
192 |
throw new RemoteServiceException(Messages.getText("error_connecting"), e);
|
|
183 |
throw new ConnectException(Messages.getText("error_connecting"), e);
|
|
193 | 184 |
} |
194 | 185 |
|
195 | 186 |
} |
... | ... | |
286 | 277 |
} |
287 | 278 |
|
288 | 279 |
public DataServerExplorerProviderServices getServerExplorerProviderServices() { |
289 |
// TODO Auto-generated method stub |
|
290 | 280 |
return null; |
291 | 281 |
} |
292 | 282 |
|
293 |
/* |
|
294 |
* (non-Javadoc) |
|
295 |
* @see org.gvsig.fmap.dal.coverage.explorer.WCSServerExplorer#getMaxResolution(java.lang.String) |
|
296 |
*/ |
|
297 | 283 |
public Point2D getMaxResolution(String layerName) { |
298 | 284 |
return connector.getMaxResolution(layerName); |
299 | 285 |
} |
org.gvsig.raster.wcs/branches/org.gvsig.raster.wcs_dataaccess_refactoring/org.gvsig.raster.wcs.io/src/main/java/org/gvsig/raster/wcs/io/WCSConnector.java | ||
---|---|---|
64 | 64 |
*/ |
65 | 65 |
@SuppressWarnings("unchecked") |
66 | 66 |
public class WCSConnector { |
67 |
private WCSClient client; |
|
68 |
private Hashtable coverages;
|
|
69 |
private WCSLayerNode[] layerList; |
|
67 |
private WCSClient client;
|
|
68 |
private Hashtable<String, WCSLayerNode> coverages;
|
|
69 |
private WCSLayerNode[] layerList;
|
|
70 | 70 |
|
71 | 71 |
public WCSConnector(URL url) throws ConnectException, IOException { |
72 | 72 |
client = new WCSClient(url.toString()); |
... | ... | |
74 | 74 |
|
75 | 75 |
/** |
76 | 76 |
* Returns the string "WCSDriver", which is the driver's name. |
77 |
* |
|
78 |
* Devuelve "WCSDriver", el nombre del driver. |
|
79 | 77 |
* @return String |
80 | 78 |
*/ |
81 | 79 |
public String getName() { |
... | ... | |
85 | 83 |
/** |
86 | 84 |
* Sets the server that we want to connect to. |
87 | 85 |
* |
88 |
* Establece el servidor al que se quiere conectar. |
|
89 |
* |
|
90 | 86 |
* @param host |
91 | 87 |
* @throws IOException |
92 | 88 |
*/ |
... | ... | |
98 | 94 |
/** |
99 | 95 |
* Returns a human-readable string containing the server's name. |
100 | 96 |
* |
101 |
* Devuelve el nombre legible del servidor devuelto por ?ste. |
|
102 |
* |
|
103 | 97 |
* @return String |
104 | 98 |
*/ |
105 | 99 |
public String getLabel() { |
... | ... | |
109 | 103 |
/** |
110 | 104 |
* Returns a string containing the server's WCS version number. |
111 | 105 |
* |
112 |
* Devuelve el n?mero de versi?n WCS del servidor |
|
113 |
* |
|
114 | 106 |
* @return String |
115 | 107 |
*/ |
116 | 108 |
public String getVersion(){ |
... | ... | |
138 | 130 |
*/ |
139 | 131 |
public WCSLayerNode getLayer(String layerName) { |
140 | 132 |
getLayerList(); |
141 |
return (WCSLayerNode) coverages.get(layerName);
|
|
133 |
return (WCSLayerNode) getCoverages().get(layerName);
|
|
142 | 134 |
} |
135 |
|
|
136 |
private Hashtable<String, WCSLayerNode> getCoverages() { |
|
137 |
if(coverages == null || coverages.isEmpty()) { |
|
138 |
getLayerList(); |
|
139 |
} |
|
140 |
return coverages; |
|
141 |
} |
|
143 | 142 |
|
144 | 143 |
/** |
145 | 144 |
* Returns an array of WCSLayer's with the descriptors of all coverages |
... | ... | |
148 | 147 |
public WCSLayerNode[] getLayerList() { |
149 | 148 |
if (coverages == null || coverages.isEmpty()) { |
150 | 149 |
// the WCSLayer collection will be built |
151 |
coverages = new Hashtable(); |
|
150 |
coverages = new Hashtable<String, WCSLayerNode>();
|
|
152 | 151 |
Hashtable wcsCoverages = client.getCoverageList(); |
153 | 152 |
int sz = wcsCoverages.size(); |
154 | 153 |
|
... | ... | |
293 | 292 |
* @return double |
294 | 293 |
*/ |
295 | 294 |
public Point2D getMaxResolution(String coverageName) { |
296 |
if (coverages.containsKey(coverageName)) {
|
|
297 |
return ((WCSLayerNode) coverages.get(coverageName)).getMaxRes();
|
|
295 |
if (getCoverages().containsKey(coverageName)) {
|
|
296 |
return ((WCSLayerNode) getCoverages().get(coverageName)).getMaxRes();
|
|
298 | 297 |
} |
299 | 298 |
return null; |
300 | 299 |
} |
... | ... | |
305 | 304 |
* @return |
306 | 305 |
*/ |
307 | 306 |
public int getWidth(String coverageName) { |
308 |
if (coverages.containsKey(coverageName)) {
|
|
309 |
return ((WCSLayerNode) coverages.get(coverageName)).getWidth();
|
|
307 |
if (getCoverages().containsKey(coverageName)) {
|
|
308 |
return ((WCSLayerNode) getCoverages().get(coverageName)).getWidth();
|
|
310 | 309 |
} |
311 | 310 |
return 0; |
312 | 311 |
} |
... | ... | |
317 | 316 |
* @return |
318 | 317 |
*/ |
319 | 318 |
public int getHeight(String coverageName) { |
320 |
if (coverages.containsKey(coverageName)) {
|
|
321 |
return ((WCSLayerNode) coverages.get(coverageName)).getHeight();
|
|
319 |
if (getCoverages().containsKey(coverageName)) {
|
|
320 |
return ((WCSLayerNode) getCoverages().get(coverageName)).getHeight();
|
|
322 | 321 |
} |
323 | 322 |
return 0; |
324 | 323 |
} |
... | ... | |
329 | 328 |
* @return ArrayList |
330 | 329 |
*/ |
331 | 330 |
public ArrayList getSRSs(String coverageName) { |
332 |
if (coverages.containsKey(coverageName)) {
|
|
333 |
return ((WCSLayerNode) coverages.get(coverageName)).getSRSs();
|
|
331 |
if (getCoverages().containsKey(coverageName)) {
|
|
332 |
return ((WCSLayerNode) getCoverages().get(coverageName)).getSRSs();
|
|
334 | 333 |
} |
335 | 334 |
return null; |
336 | 335 |
} |
... | ... | |
341 | 340 |
* @return string |
342 | 341 |
*/ |
343 | 342 |
public String getCoverageDescription(String coverageName) { |
344 |
if (coverages.containsKey(coverageName)) {
|
|
345 |
return ((WCSLayerNode) coverages.get(coverageName)).getDescription();
|
|
343 |
if (getCoverages().containsKey(coverageName)) {
|
|
344 |
return ((WCSLayerNode) getCoverages().get(coverageName)).getDescription();
|
|
346 | 345 |
} |
347 | 346 |
return null; |
348 | 347 |
} |
... | ... | |
354 | 353 |
* @return ArrayList |
355 | 354 |
*/ |
356 | 355 |
public ArrayList getTimes(String coverageName) { |
357 |
if (coverages.containsKey(coverageName)) {
|
|
358 |
return ((WCSLayerNode) coverages.get(coverageName)).getTimePositions();
|
|
356 |
if (getCoverages().containsKey(coverageName)) {
|
|
357 |
return ((WCSLayerNode) getCoverages().get(coverageName)).getTimePositions();
|
|
359 | 358 |
} |
360 | 359 |
return null; |
361 | 360 |
} |
org.gvsig.raster.wcs/branches/org.gvsig.raster.wcs_dataaccess_refactoring/org.gvsig.raster.wcs.io/src/main/java/org/gvsig/raster/wcs/io/WCSProvider.java | ||
---|---|---|
78 | 78 |
WCSProvider.class, WCSDataParametersImpl.class); |
79 | 79 |
} |
80 | 80 |
|
81 |
if (!dataman.getExplorerProviders().contains(WCSServerExplorer.NAME)) {
|
|
82 |
dataman.registerExplorerProvider(WCSServerExplorer.NAME, WCSServerExplorer.class, WCSServerExplorerParameters.class);
|
|
81 |
if (!dataman.getExplorerProviders().contains(NAME)) { |
|
82 |
dataman.registerExplorerProvider(NAME, WCSServerExplorer.class, WCSServerExplorerParameters.class); |
|
83 | 83 |
} |
84 | 84 |
dataman.registerStoreFactory(NAME, DefaultStoreFactory.class); |
85 | 85 |
} |
org.gvsig.raster.wcs/branches/org.gvsig.raster.wcs_dataaccess_refactoring/org.gvsig.raster.wcs.app.wcsclient/src/main/java/org/gvsig/raster/wcs/app/wcsclient/layer/FLyrWCS.java | ||
---|---|---|
91 | 91 |
import org.gvsig.fmap.mapcontext.ViewPort; |
92 | 92 |
import org.gvsig.fmap.mapcontext.exceptions.LoadLayerException; |
93 | 93 |
import org.gvsig.fmap.mapcontext.layers.FLayer; |
94 |
import org.gvsig.fmap.mapcontext.layers.FLyrDefault; |
|
95 | 94 |
import org.gvsig.fmap.mapcontext.layers.Tiling; |
96 | 95 |
import org.gvsig.raster.fmap.layers.DefaultFLyrRaster; |
97 | 96 |
import org.gvsig.raster.fmap.layers.IRasterLayerActions; |
98 | 97 |
import org.gvsig.raster.fmap.layers.NotAvailableStateException; |
99 | 98 |
import org.gvsig.raster.util.CancelTaskImpl; |
100 | 99 |
import org.gvsig.raster.wcs.io.WCSDataParameters; |
100 |
import org.gvsig.raster.wcs.io.WCSProvider; |
|
101 | 101 |
import org.gvsig.raster.wcs.io.WCSServerExplorer; |
102 | 102 |
import org.gvsig.raster.wcs.io.WCSServerExplorerParameters; |
103 | 103 |
import org.gvsig.tools.ToolsLocator; |
104 | 104 |
import org.gvsig.tools.dynobject.DynObjectSet; |
105 | 105 |
import org.gvsig.tools.dynobject.DynStruct; |
106 | 106 |
import org.gvsig.tools.persistence.PersistenceManager; |
107 |
import org.gvsig.tools.persistence.PersistentState; |
|
108 |
import org.gvsig.tools.persistence.exception.PersistenceException; |
|
109 | 107 |
import org.gvsig.tools.task.Cancellable; |
110 | 108 |
import org.gvsig.tools.task.SimpleTaskStatus; |
111 | 109 |
import org.gvsig.tools.task.TaskStatusManager; |
... | ... | |
139 | 137 |
* |
140 | 138 |
* @author jaume - jaume.dominguez@iver.es |
141 | 139 |
*/ |
140 |
@SuppressWarnings("deprecation") |
|
142 | 141 |
public class FLyrWCS extends DefaultFLyrRaster { |
143 |
public static final String PERSISTENT_NAME = "FLyrWCS_Persistent"; |
|
144 |
public static final String PERSISTENT_DESCRIPTION = "FLyrWCS Persistent Definition"; |
|
145 | 142 |
private static final int MAX_RETRY_TIMES = 5; |
146 | 143 |
|
147 | 144 |
private static final GeometryManager geomManager = GeometryLocator.getGeometryManager(); |
... | ... | |
158 | 155 |
private Envelope fullEnvelope = null; |
159 | 156 |
private int callCount; |
160 | 157 |
private RasterManager rManager = RasterLocator.getManager(); |
161 |
private DataStoreParameters params = null; |
|
162 | 158 |
private WCSServerExplorer explorer = null; |
163 | 159 |
private boolean deleteCache = false; |
164 | 160 |
|
... | ... | |
194 | 190 |
//Create the explorer and connect |
195 | 191 |
DataManager dataManager = DALLocator.getDataManager(); |
196 | 192 |
WCSServerExplorerParameters explorerParams = (WCSServerExplorerParameters) |
197 |
dataManager.createServerExplorerParameters(WCSServerExplorer.NAME);
|
|
193 |
dataManager.createServerExplorerParameters(WCSProvider.NAME);
|
|
198 | 194 |
explorerParams.setHost((String)dataStoreParameters.getDynValue("uri")); |
199 | 195 |
WCSServerExplorer wmsServerExplorer = |
200 |
(WCSServerExplorer) dataManager.openServerExplorer(WCSServerExplorer.NAME, explorerParams);
|
|
196 |
(WCSServerExplorer) dataManager.openServerExplorer(WCSProvider.NAME, explorerParams);
|
|
201 | 197 |
wmsServerExplorer.connect(null); |
202 | 198 |
wmsServerExplorer.getCoverageList(); |
203 | 199 |
|
... | ... | |
210 | 206 |
DataManagerProviderServices dataman = (DataManagerProviderServices) DALLocator.getDataManager(); |
211 | 207 |
RasterDataParameters params = null; |
212 | 208 |
try { |
213 |
params = (RasterDataParameters)dataman.createServerExplorerParameters(WCSServerExplorer.NAME);
|
|
209 |
params = (RasterDataParameters)dataman.createServerExplorerParameters(WCSProvider.NAME);
|
|
214 | 210 |
} catch (InitializeException e) { |
215 | 211 |
return null; |
216 | 212 |
} catch (ProviderNotRegisteredException e) { |
... | ... | |
314 | 310 |
* @throws ReadDriverException |
315 | 311 |
* @return true when a tile has been painted |
316 | 312 |
*/ |
317 |
@SuppressWarnings("deprecation") |
|
318 | 313 |
private void drawTile(Graphics2D g, ViewPort vp, SimpleTaskStatus taskStatus, double scale) throws LoadLayerException, ReadException { |
319 | 314 |
callCount++; |
320 | 315 |
|
... | ... | |
360 | 355 |
getParameters().setExtent(bBox); |
361 | 356 |
getParameters().setWidth(wImg); |
362 | 357 |
getParameters().setHeight(hImg); |
363 |
if(params instanceof WCSDataParameters) {
|
|
358 |
if(getDataStore().getParameters() instanceof WCSDataParameters) {
|
|
364 | 359 |
getRender().draw(g, vpData, taskStatus); |
365 | 360 |
} else { |
366 | 361 |
Envelope adjustedExtent = vp.getAdjustedExtent(); |
... | ... | |
466 | 461 |
layer.setName(getParameters().getCoverageName()); |
467 | 462 |
layer.setOpenRasterStore(ds); |
468 | 463 |
layer.fullEnvelope = fullEnvelope; |
469 |
layer.params = params; |
|
470 | 464 |
layer.explorer = explorer; |
471 | 465 |
|
472 | 466 |
List<RasterFilter> filters = getRender().getFilterList().getStatusCloned(); |
... | ... | |
577 | 571 |
return true; |
578 | 572 |
} |
579 | 573 |
|
580 |
@SuppressWarnings("deprecation") |
|
581 | 574 |
@Override |
582 | 575 |
public DynObjectSet getInfo(Point p, double tolerance, Cancellable cancel, |
583 | 576 |
boolean fast) throws LoadLayerException, DataException { |
... | ... | |
658 | 651 |
return rManager.getDataStructFactory().createExtent(ul, lr, ur, ll); |
659 | 652 |
} |
660 | 653 |
|
661 |
@SuppressWarnings("deprecation") |
|
662 | 654 |
public WCSDataParameters getParameters() { |
663 |
if(params == null) { |
|
655 |
/*if(params == null) {
|
|
664 | 656 |
DataManager datamanager = DALLocator.getDataManager(); |
665 | 657 |
WCSServerExplorerParameters explorerParams = null; |
666 | 658 |
try { |
... | ... | |
675 | 667 |
} catch (ProviderNotRegisteredException e) { |
676 | 668 |
} catch (ValidateDataParametersException e) { |
677 | 669 |
} |
678 |
} |
|
679 |
return getWCSParameters(params);
|
|
670 |
}*/
|
|
671 |
return getWCSParameters(getDataStore().getParameters());
|
|
680 | 672 |
} |
681 | 673 |
|
682 | 674 |
/** |
... | ... | |
721 | 713 |
* @throws InitializeException |
722 | 714 |
*/ |
723 | 715 |
public void setParameters(DataStoreParameters params) throws InitializeException { |
724 |
this.params = params; |
|
725 |
|
|
726 | 716 |
if(params instanceof TileDataParameters) { |
727 | 717 |
((TileDataParameters)params).deleteCache(deleteCache); |
728 | 718 |
} |
... | ... | |
751 | 741 |
} |
752 | 742 |
} |
753 | 743 |
|
754 |
@Override |
|
744 |
/*@Override
|
|
755 | 745 |
public void loadFromState(PersistentState state) |
756 | 746 |
throws PersistenceException { |
757 | 747 |
String host = state.getString("host"); |
... | ... | |
760 | 750 |
((WCSServerExplorerParameters)explorer.getParameters()).setHost(host); |
761 | 751 |
|
762 | 752 |
if(!explorer.isHostReachable()) { |
763 |
loadLayer = false;
|
|
753 |
loadDataStore = false;
|
|
764 | 754 |
super.loadFromState(state); |
765 | 755 |
return; |
766 | 756 |
} |
... | ... | |
769 | 759 |
explorer.connect(new CancelTaskImpl()); |
770 | 760 |
explorer.getCoverageList(); |
771 | 761 |
} catch (Exception e) { |
772 |
loadLayer = false;
|
|
762 |
loadDataStore = false;
|
|
773 | 763 |
super.loadFromState(state); |
774 | 764 |
return; |
775 | 765 |
} |
776 | 766 |
|
777 |
loadLayer = true;
|
|
767 |
loadDataStore = true;
|
|
778 | 768 |
|
779 | 769 |
super.loadFromState(state); |
780 | 770 |
params = getDataStore().getParameters(); |
... | ... | |
786 | 776 |
logger.error("Fallo el estado de open. Closed=" + isClosed() + " Awake=" + isAwake(), this, e); |
787 | 777 |
} |
788 | 778 |
//getParameters().setCoverageName((String)state.get("name")); |
789 |
} |
|
779 |
}*/
|
|
790 | 780 |
|
791 |
@Override
|
|
781 |
/*@Override
|
|
792 | 782 |
public void saveToState(PersistentState state) throws PersistenceException { |
793 | 783 |
super.saveToState(state); |
794 | 784 |
state.set("fullEnvelope", this.fullEnvelope); |
795 | 785 |
state.set("host", getParameters().getURI()); |
796 | 786 |
state.set("name", getName()); |
797 |
} |
|
787 |
}*/
|
|
798 | 788 |
|
799 |
public static void registerPersistent() { |
|
789 |
/*public static void registerPersistent() {
|
|
800 | 790 |
PersistenceManager manager = ToolsLocator.getPersistenceManager(); |
801 | 791 |
DynStruct definition = manager.getDefinition(PERSISTENT_NAME); |
802 | 792 |
if( definition == null ) { |
... | ... | |
819 | 809 |
definition.addDynFieldObject("fullEnvelope").setClassOfValue(Envelope.class).setMandatory(false); |
820 | 810 |
definition.addDynFieldString("host").setMandatory(false); |
821 | 811 |
definition.addDynFieldString("name").setMandatory(false); |
822 |
} |
|
823 |
|
|
824 |
/* public static void registerPersistent() {
|
|
812 |
}*/
|
|
813 |
|
|
814 |
public static void registerPersistent() {
|
|
825 | 815 |
PersistenceManager manager = ToolsLocator.getPersistenceManager(); |
826 |
DynStruct definition = manager.getDefinition(PERSISTENT_NAME);
|
|
816 |
DynStruct definition = manager.getDefinition("FLyrWCS_Persistent");
|
|
827 | 817 |
if( definition == null ) { |
828 | 818 |
if (manager.getDefinition(DefaultFLyrRaster.class) == null) { |
829 |
DefaultFLyrRaster.registerPersistence();
|
|
819 |
DefaultFLyrRaster.registerPersistent();
|
|
830 | 820 |
} |
831 | 821 |
|
832 | 822 |
definition = manager.addDefinition( |
833 | 823 |
FLyrWCS.class, |
834 |
PERSISTENT_NAME,
|
|
835 |
PERSISTENT_DESCRIPTION,
|
|
824 |
"FLyrWCS_Persistent",
|
|
825 |
"FLyrWCS Persistent Definition",
|
|
836 | 826 |
null, |
837 | 827 |
null |
838 | 828 |
); |
... | ... | |
840 | 830 |
definition.extend(PersistenceManager.PERSISTENCE_NAMESPACE, DefaultFLyrRaster.PERSISTENT_NAME); |
841 | 831 |
} |
842 | 832 |
|
843 |
definition.addDynFieldObject("fullEnvelope").setClassOfValue(Envelope.class).setMandatory(true); |
|
844 |
definition.addDynFieldString("host").setMandatory(true); |
|
845 |
definition.addDynFieldBoolean("deleteCache").setMandatory(false); |
|
846 |
definition.addDynFieldString("time").setMandatory(false); |
|
847 |
definition.addDynFieldObject("maxres").setClassOfValue(Point2D.class).setMandatory(false); |
|
848 |
definition.addDynFieldString("parameter").setMandatory(false); |
|
849 |
definition.addDynFieldString("srsstr").setMandatory(false); |
|
850 |
definition.addDynFieldString("format").setMandatory(false); |
|
851 |
definition.addDynFieldString("name").setMandatory(false); |
|
852 |
definition.addDynFieldObject("extent").setClassOfValue(Rectangle2D.class).setMandatory(false); |
|
853 |
definition.addDynFieldInt("width").setMandatory(true); |
|
854 |
definition.addDynFieldInt("height").setMandatory(true); |
|
855 |
definition.addDynFieldBoolean("override").setMandatory(false); |
|
856 |
definition.addDynFieldMap("onlineResources").setClassOfItems(String.class).setMandatory(false); |
|
857 |
definition.addDynFieldString("depth").setMandatory(false); |
|
858 |
}*/ |
|
859 |
|
|
860 |
/* |
|
861 |
* (non-Javadoc) |
|
862 |
* @see org.gvsig.raster.fmap.layers.DefaultFLyrRaster#saveToState(org.gvsig.tools.persistence.PersistentState) |
|
863 |
*/ |
|
864 |
/*public void saveToState(PersistentState state) throws PersistenceException { |
|
865 |
super.saveToState(state); |
|
866 |
state.set("fullEnvelope", this.fullEnvelope); |
|
867 |
state.set("host", getParameters().getURI()); |
|
868 |
state.set("time", getParameters().getTime()); |
|
869 |
state.set("deleteCache", getParameters().isDeletingCache()); |
|
870 |
state.set("maxres", getParameters().getMaxResolution()); |
|
871 |
state.set("parameter", getParameters().getParameter()); |
|
872 |
state.set("srsstr", getParameters().getSRSCode()); |
|
873 |
state.set("format", getParameters().getFormat()); |
|
874 |
state.set("name", getParameters().getCoverageName()); |
|
875 |
state.set("extent", getParameters().getExtent()); |
|
876 |
state.set("width", getParameters().getWidth()); |
|
877 |
state.set("height", getParameters().getHeight()); |
|
878 |
state.set("override", getParameters().isOverridingHost()); |
|
879 |
state.set("onlineResources", getParameters().getOnlineResource()); |
|
880 |
state.set("depth", getParameters().getDepth()); |
|
881 |
}*/ |
|
882 |
|
|
883 |
/* |
|
884 |
* (non-Javadoc) |
|
885 |
* @see org.gvsig.raster.fmap.layers.DefaultFLyrRaster#loadFromState(org.gvsig.tools.persistence.PersistentState) |
|
886 |
*/ |
|
887 |
/* public void loadFromState(PersistentState state) |
|
888 |
throws PersistenceException { |
|
889 |
super.loadFromState(state); |
|
890 |
|
|
891 |
this.fullEnvelope = (Envelope) state.get("fullExtent"); |
|
892 |
getParameters().setURI(state.getString("host")); |
|
893 |
getParameters().setTime(state.getString("time")); |
|
894 |
getParameters().setFormat(state.getString("format")); |
|
895 |
getParameters().deleteCache(state.getBoolean("deleteCache")); |
|
896 |
getParameters().setMaxResolution((Point2D)state.get("maxres")); |
|
897 |
getParameters().setParameter(state.getString("parameter")); |
|
898 |
getParameters().setSRS(state.getString("srsstr")); |
|
899 |
getParameters().setFormat(state.getString("format")); |
|
900 |
getParameters().setCoverageName(state.getString("name")); |
|
901 |
getParameters().setExtent((Rectangle2D)state.get("extent")); |
|
902 |
getParameters().setWidth(state.getInt("width")); |
|
903 |
getParameters().setHeight(state.getInt("height")); |
|
904 |
getParameters().setOverrideHost(state.getBoolean("override")); |
|
905 |
getParameters().setOnlineResources(new Hashtable(state.getMap("onlineResources"))); |
|
906 |
getParameters().setDepth(state.getString("depth")); |
|
907 |
}*/ |
|
833 |
DefaultFLyrRaster.registerPersistence(definition); |
|
834 |
} |
|
908 | 835 |
} |
org.gvsig.raster.wcs/branches/org.gvsig.raster.wcs_dataaccess_refactoring/org.gvsig.raster.wcs.app.wcsclient/src/main/java/org/gvsig/raster/wcs/app/wcsclient/gui/dialog/WCSPropsDialog.java | ||
---|---|---|
36 | 36 |
import org.gvsig.andami.ui.mdiManager.WindowInfo; |
37 | 37 |
import org.gvsig.app.gui.wizards.WizardListener; |
38 | 38 |
import org.gvsig.app.gui.wizards.WizardListenerSupport; |
39 |
import org.gvsig.fmap.dal.coverage.exception.RemoteServiceException;
|
|
39 |
import org.gvsig.fmap.dal.coverage.exception.ConnectException;
|
|
40 | 40 |
import org.gvsig.fmap.dal.exception.InitializeException; |
41 | 41 |
import org.gvsig.fmap.mapcontext.MapContext; |
42 | 42 |
import org.gvsig.fmap.mapcontext.exceptions.ConnectionErrorLayerException; |
... | ... | |
152 | 152 |
|
153 | 153 |
try { |
154 | 154 |
explorer.connect(new CancelTaskImpl()); |
155 |
} catch (RemoteServiceException e) {
|
|
155 |
} catch (ConnectException e) {
|
|
156 | 156 |
RasterSwingLibrary.messageBoxError("The connection cannot be established", this, e); |
157 | 157 |
return null; |
158 | 158 |
} |
org.gvsig.raster.wcs/branches/org.gvsig.raster.wcs_dataaccess_refactoring/org.gvsig.raster.wcs.app.wcsclient/src/main/java/org/gvsig/raster/wcs/app/wcsclient/gui/panel/WCSParamsPanel.java | ||
---|---|---|
123 | 123 |
public FLayer getLayer(boolean cached) throws InitializeException { |
124 | 124 |
lastCached = cached; |
125 | 125 |
FLyrWCS layer = new FLyrWCS(); |
126 |
WCSDataParameters par = (WCSDataParameters)explorer.getStoreParameters(); |
|
126 |
WCSDataParameters par = (WCSDataParameters)explorer.getStoredParameters();
|
|
127 | 127 |
DataStoreParameters parameters = par; |
128 | 128 |
|
129 | 129 |
if(cached) { |
org.gvsig.raster.wcs/branches/org.gvsig.raster.wcs_dataaccess_refactoring/org.gvsig.raster.wcs.app.wcsclient/src/main/java/org/gvsig/raster/wcs/app/wcsclient/gui/wizard/WCSWizard.java | ||
---|---|---|
57 | 57 |
import org.gvsig.fmap.dal.DALLocator; |
58 | 58 |
import org.gvsig.fmap.dal.DataManager; |
59 | 59 |
import org.gvsig.fmap.dal.DataStoreParameters; |
60 |
import org.gvsig.fmap.dal.coverage.exception.ConnectException; |
|
60 | 61 |
import org.gvsig.fmap.dal.coverage.exception.RemoteServiceException; |
61 | 62 |
import org.gvsig.fmap.dal.exception.InitializeException; |
62 | 63 |
import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException; |
... | ... | |
67 | 68 |
import org.gvsig.raster.cache.tile.TileCacheLibrary; |
68 | 69 |
import org.gvsig.raster.util.CancelTaskImpl; |
69 | 70 |
import org.gvsig.raster.wcs.app.wcsclient.gui.panel.WCSParamsPanel; |
71 |
import org.gvsig.raster.wcs.io.WCSProvider; |
|
70 | 72 |
import org.gvsig.raster.wcs.io.WCSServerExplorer; |
71 | 73 |
import org.gvsig.raster.wcs.io.WCSServerExplorerParameters; |
72 | 74 |
import org.gvsig.tools.ToolsLocator; |
... | ... | |
256 | 258 |
try { |
257 | 259 |
explorer.connect(cancel); |
258 | 260 |
saveServerListFromComboBox(); |
259 |
} catch (RemoteServiceException e) {
|
|
261 |
} catch (ConnectException e) {
|
|
260 | 262 |
String msg = e.getMessage() + " : " + getIOExceptionMessage(e); |
261 | 263 |
logger.info(msg, e); |
262 | 264 |
JOptionPane.showMessageDialog(getWCSParamsPanel(), msg, Messages.getText("Error"), JOptionPane.ERROR_MESSAGE); |
... | ... | |
346 | 348 |
String host = cmbHost.getModel().getSelectedItem().toString(); |
347 | 349 |
try { |
348 | 350 |
DataManager datamanager = DALLocator.getDataManager(); |
349 |
WCSServerExplorerParameters explorerParams = (WCSServerExplorerParameters) datamanager.createServerExplorerParameters(WCSServerExplorer.NAME);
|
|
351 |
WCSServerExplorerParameters explorerParams = (WCSServerExplorerParameters) datamanager.createServerExplorerParameters(WCSProvider.NAME);
|
|
350 | 352 |
explorerParams.setHost(host); |
351 | 353 |
|
352 | 354 |
explorer = (WCSServerExplorer) datamanager.createServerExplorer(explorerParams); |
Also available in: Unified diff