Revision 35478 branches/v2_0_0_prep/extensions/extCatalog/src/org/gvsig/catalog/loaders/ARCIMSLayerLoader.java
ARCIMSLayerLoader.java | ||
---|---|---|
6 | 6 |
import org.gvsig.andami.PluginServices; |
7 | 7 |
import org.gvsig.app.project.documents.view.gui.AbstractViewPanel; |
8 | 8 |
import org.gvsig.catalog.schemas.Resource; |
9 |
import org.gvsig.fmap.mapcontext.layers.FLayer; |
|
9 |
import org.gvsig.fmap.dal.DataStoreParameters; |
|
10 |
import org.gvsig.fmap.dal.exception.InitializeException; |
|
11 |
import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException; |
|
10 | 12 |
import org.gvsig.i18n.Messages; |
11 |
import org.gvsig.tools.extensionpoint.ExtensionPoint; |
|
12 |
import org.gvsig.utils.extensionPointsOld.ExtensionPointsSingleton; |
|
13 | 13 |
|
14 | 14 |
|
15 | 15 |
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana |
... | ... | |
52 | 52 |
* +34 963163400 |
53 | 53 |
* dac@iver.es |
54 | 54 |
*/ |
55 |
/* CVS MESSAGES: |
|
56 |
* |
|
57 |
* $Id: ARCIMSLayerLoader.java 505 2007-07-23 07:14:25Z jorpiell $ |
|
58 |
* $Log$ |
|
59 |
* Revision 1.1.2.4.4.2 2007/07/23 07:14:25 jorpiell |
|
60 |
* Catalog refactoring |
|
61 |
* |
|
62 |
* Revision 1.1.2.4.4.1 2007/07/13 12:00:36 jorpiell |
|
63 |
* Add the posibility to add a new panel |
|
64 |
* |
|
65 |
* Revision 1.1.2.4 2007/01/08 12:16:30 jcampos |
|
66 |
* Revert changes |
|
67 |
* |
|
68 |
* Revision 1.1.2.2 2006/11/15 00:08:16 jjdelcerro |
|
69 |
* *** empty log message *** |
|
70 |
* |
|
71 |
* Revision 1.2 2006/10/02 08:29:06 jorpiell |
|
72 |
* Modificados los cambios del Branch 10 al head |
|
73 |
* |
|
74 |
* Revision 1.1.2.1 2006/09/20 12:01:36 jorpiell |
|
75 |
* Se ha cambiado la versi?n de la jzkit, se ha incorporado la funcionalidad de cargar arcims |
|
76 |
* |
|
77 |
* Revision 1.1 2006/09/20 11:23:50 jorpiell |
|
78 |
* Se ha cambiado la versi?n de la librer?a jzkit de la 1 a la 2.0. Adem?s se ha modificado lo del document |
|
79 |
* |
|
80 |
* |
|
81 |
*/ |
|
55 |
|
|
82 | 56 |
/** |
83 | 57 |
* @author Jorge Piera Llodr? (piera_jor@gva.es) |
84 | 58 |
*/ |
85 | 59 |
public class ARCIMSLayerLoader extends GvSigLayerLoader { |
86 |
|
|
87 |
public ARCIMSLayerLoader(Resource resource) { |
|
88 |
super(resource); |
|
89 |
} |
|
90 |
|
|
91 |
/** |
|
92 |
* This function loads a ArcIms resource |
|
93 |
* @param host |
|
94 |
* URL where the server is located |
|
95 |
* @param sLayer |
|
96 |
* Layer name |
|
97 |
* @param crs |
|
98 |
* Coordenates System |
|
99 |
* @throws LayerLoaderException |
|
100 |
*/ |
|
101 |
|
|
102 |
public void loadLayer() throws LayerLoaderException { |
|
103 |
String host = getResource().getLinkage(); |
|
104 |
String sLayer = getResource().getName(); |
|
105 |
String protocol = getResource().getProtocol(); |
|
106 |
AbstractViewPanel activeView = |
|
107 |
(AbstractViewPanel) PluginServices.getMDIManager().getActiveWindow(); |
|
108 |
String srs = activeView.getProjection().getAbrev(); |
|
109 |
FLayer flayer = null; |
|
110 |
|
|
111 |
Map args = new HashMap(); |
|
112 |
args.put("host",host); |
|
113 |
args.put("service_name",sLayer); |
|
114 |
args.put("layer_name",sLayer); |
|
115 |
args.put("srs",srs); |
|
116 |
|
|
117 |
if (protocol.toUpperCase().indexOf(Resource.ARCIMS_IMAGE) >= 0){ |
|
118 |
flayer = createArcImsImageLayer(args); |
|
119 |
}else if (protocol.toUpperCase().indexOf(Resource.ARCIMS_VECTORIAL) >= 0){ |
|
120 |
flayer = createArcImsVectorialLayer(args); |
|
121 |
} |
|
122 |
|
|
123 |
try { |
|
124 |
addLayerToView(flayer); |
|
125 |
flayer.dispose(); |
|
126 |
} catch (Exception e) { |
|
127 |
throw new LayerLoaderException(e.getMessage(),getWindowMessage()); |
|
128 |
} |
|
129 |
|
|
130 |
} |
|
131 | 60 |
|
132 |
private FLayer createArcImsImageLayer(Map args) throws LayerLoaderException{ |
|
133 |
ExtensionPoint extensionPoint = (ExtensionPoint)ExtensionPointsSingleton.getInstance().get("CatalogLayers"); |
|
61 |
public ARCIMSLayerLoader(Resource resource) { |
|
62 |
super(resource); |
|
63 |
} |
|
134 | 64 |
|
135 |
try { |
|
136 |
return (FLayer)extensionPoint.create("arcims_raster", args ); |
|
137 |
} catch(Exception e) { |
|
138 |
throw new LayerLoaderException(getErrorMessage(),getWindowMessage()); |
|
139 |
} |
|
140 |
} |
|
141 |
|
|
142 |
private FLayer createArcImsVectorialLayer(Map args) throws LayerLoaderException{ |
|
143 |
ExtensionPoint extensionPoint = (ExtensionPoint)ExtensionPointsSingleton.getInstance().get("CatalogLayers"); |
|
144 |
|
|
145 |
try { |
|
146 |
return (FLayer)extensionPoint.create("arcims_vectorial", args); |
|
147 |
} catch(Exception e) { |
|
148 |
throw new LayerLoaderException(getErrorMessage(),getWindowMessage()); |
|
149 |
} |
|
150 |
} |
|
151 |
|
|
152 |
/* |
|
153 |
* (non-Javadoc) |
|
154 |
* @see es.gva.cit.gvsig.catalogClient.loaders.LayerLoader#getErrorMessage() |
|
155 |
*/ |
|
156 |
protected String getErrorMessage() { |
|
157 |
return Messages.getText("arcims_server_error") + ".\n" + |
|
158 |
Messages.getText("server") + ": " + |
|
159 |
getResource().getLinkage() + "\n" + |
|
160 |
Messages.getText("layer") + ": " + |
|
161 |
getResource().getName(); |
|
162 |
} |
|
163 |
|
|
164 |
/* |
|
165 |
* (non-Javadoc) |
|
166 |
* @see es.gva.cit.gvsig.catalogClient.loaders.LayerLoader#getWindowMessage() |
|
167 |
*/ |
|
168 |
protected String getWindowMessage() { |
|
169 |
return Messages.getText("arcims_load"); |
|
170 |
} |
|
65 |
protected boolean hasSpecificLayer() { |
|
66 |
return false; |
|
67 |
} |
|
68 |
|
|
69 |
protected String getLayerName() { |
|
70 |
return getResource().getName(); |
|
71 |
} |
|
72 |
|
|
73 |
protected DataStoreParameters createDataStoreParameters() |
|
74 |
throws InitializeException, ProviderNotRegisteredException { |
|
75 |
//TODO provider for ArcIMS |
|
76 |
return null; |
|
77 |
} |
|
78 |
|
|
79 |
protected Map createArgs() { |
|
80 |
String host = getResource().getLinkage(); |
|
81 |
String sLayer = getResource().getName(); |
|
82 |
String protocol = getResource().getProtocol(); |
|
83 |
AbstractViewPanel activeView = |
|
84 |
(AbstractViewPanel) PluginServices.getMDIManager().getActiveWindow(); |
|
85 |
String srs = activeView.getProjection().getAbrev(); |
|
86 |
|
|
87 |
Map args = new HashMap(); |
|
88 |
args.put("host", host); |
|
89 |
args.put("service_name", sLayer); |
|
90 |
args.put("layer_name", sLayer); |
|
91 |
args.put("srs", srs); |
|
92 |
return args; |
|
93 |
} |
|
94 |
|
|
95 |
protected String extensionPointName() { |
|
96 |
String protocol = getResource().getProtocol(); |
|
97 |
if (protocol.toUpperCase().indexOf(Resource.ARCIMS_IMAGE) >= 0){ |
|
98 |
return "arcims_raster"; |
|
99 |
}else if (protocol.toUpperCase().indexOf(Resource.ARCIMS_VECTORIAL) >= 0){ |
|
100 |
return "arcims_vectorial"; |
|
101 |
} |
|
102 |
return null; |
|
103 |
} |
|
104 |
|
|
105 |
protected String getErrorMessage() { |
|
106 |
return Messages.getText("arcims_server_error") + ".\n" + |
|
107 |
Messages.getText("server") + ": " + |
|
108 |
getResource().getLinkage() + "\n" + |
|
109 |
Messages.getText("layer") + ": " + |
|
110 |
getResource().getName(); |
|
111 |
} |
|
112 |
|
|
113 |
protected String getWindowMessage() { |
|
114 |
return Messages.getText("arcims_load"); |
|
115 |
} |
|
171 | 116 |
} |
172 | 117 |
|
Also available in: Unified diff