<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#ffffff">
Hola Ana.<br>
<br>
Le he pegado un vistazo r&aacute;pido y tienes raz&oacute;n. El constructor
FLyrWMS(Map) no se incializa correctamente e intenta usar un objeto
antes de ser instanciado. <br>
<br>
En la l&iacute;nea 302, donde se hace la llamada a initServerScale(),
introduce lo siguiente antes de la invocaci&oacute;n:<br>
<br>
try {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; wms = getDriver();<br>
} catch (Exception e) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; throw new LoadLayerException("Error creating the driver"
,e);<br>
}<br>
<br>
Con eso consigues que se instancie el driver antes de utilizarlo y la
capa se carga correctamente.<br>
<br>
Si no es mucha molestia, podr&iacute;as crear un ticket en OSOR y adjuntar el
parche propuesto (si es que te funciona, claro).<br>
<br>
Un saludo,<br>
Jorge<br>
<br>
[1]
<a class="moz-txt-link-freetext" href="http://www.gvsig.org/web/projects/gvsig-desktop/docs/devel/como-contribuir-en-gvsig/contribuciones-y-parches-al-codigo-de-gvsig/contribuciones-y-parches-al-codigo-de-gvsig">http://www.gvsig.org/web/projects/gvsig-desktop/docs/devel/como-contribuir-en-gvsig/contribuciones-y-parches-al-codigo-de-gvsig/contribuciones-y-parches-al-codigo-de-gvsig</a><br>
<br>
<br>
<br>
On 07/22/2011 09:36 AM, Ana Belen Garcia wrote:
<blockquote
 cite="mid:CAG+SDsV5TRRDTSgXr7GovD81j2jGGQYXdRjLOgWmEe7fkNER4g@mail.gmail.com"
 type="cite">Hola a todos de nuevo, <br>
  <br>
&nbsp;&nbsp; Estoy intentando cargar una capa WMS desde c&oacute;digo, que me funcionaba
perfectamente en la version 1.1 y en la version 1.11 no funciona,
concretamente la de Catastro y me aparece un error. Mi c&oacute;digo es el
siguiente:<br>
  <br>
if (actionCommand.compareTo("
  <div>CARGARCAPASWMS") == 0){<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;View v;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; MapControl mapCtrl;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; try {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;Map&lt;String, Object&gt; args= new
HashMap&lt;String,Object&gt;();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; args.put("host","<a
 moz-do-not-send="true"
 href="http://ovc.catastro.meh.es/Cartografia/WMS/ServidorWMS.aspx">http://ovc.catastro.meh.es/Cartografia/WMS/ServidorWMS.aspx</a>");<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; args.put("layer", "Catastro");<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; args.put("SRS", "EPSG:23030");<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; args.put("wmsTransparency",true);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; FLyrWMS capaWMS;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; v = (View)
PluginServices.getMDIManager().getActiveWindow();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; mapCtrl = v.getMapControl();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; FLayers&nbsp; lyrs =
mapCtrl.getMapContext().getLayers();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; lyrs.setAllActives(false);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; capaWMS = new FLyrWMS(args);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; capaWMS.setTransparency(95);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; capaWMS.setActive(true);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
mapCtrl.getMapContext().getLayers().addLayer(capaWMS);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } catch (LoadLayerException e) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // TODO Auto-generated catch block<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; e.printStackTrace();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
  <br>
  <br>
El error que me aparece en consola es el siguiente:<br>
  <br>
DEBUG [AWT-EventQueue-1] (MDIFrame.java:673) - Execute
command:CARGARCAPASWMS<br>
20-jul-2011 11:14:46 org.gvsig.remoteClient.utils.Downloader run<br>
INFO: downloading '<a moz-do-not-send="true"
 href="http://ovc.catastro.meh.es/Cartografia/WMS/ServidorWMS.aspx?REQUEST=GetCapabilities&amp;SERVICE=WMS&amp;VERSION=1.1.1">http://ovc.catastro.meh.es/Cartografia/WMS/ServidorWMS.aspx?REQUEST=GetCapabilities&amp;SERVICE=WMS&amp;VERSION=1.1.1</a>'
to:
C:\DOCUME~1\usuario\CONFIG~1\Temp\tmp-andami\wms_capabilities1311153286937.xml<br>
DEBUG [AWT-EventQueue-1] (NotificationManager.java:104) - Error no
capturado por el usuario<br>
java.lang.NullPointerException<br>
&nbsp;&nbsp;&nbsp; at
com.iver.cit.gvsig.fmap.layers.FLyrWMS.getServerMinScale(FLyrWMS.java:1307)<br>
&nbsp;&nbsp;&nbsp; at
com.iver.cit.gvsig.fmap.layers.FLyrWMS.getCorrectedServerMinScale(FLyrWMS.java:1280)<br>
&nbsp;&nbsp;&nbsp; at
com.iver.cit.gvsig.fmap.layers.FLyrWMS.initServerScale(FLyrWMS.java:1258)<br>
&nbsp;&nbsp;&nbsp; at
com.iver.cit.gvsig.fmap.layers.FLyrWMS.&lt;init&gt;(FLyrWMS.java:302)<br>
&nbsp;&nbsp;&nbsp; at
com.iver.cit.gvsig.myplugin.LoadProvinciasExtension.execute(LoadProvinciasExtension.java:1689)<br>
&nbsp;&nbsp;&nbsp; at
com.iver.andami.plugins.ExtensionDecorator.execute(ExtensionDecorator.java:89)<br>
&nbsp;&nbsp;&nbsp; at
com.iver.andami.ui.mdiFrame.MDIFrame.actionPerformed(MDIFrame.java:674)<br>
&nbsp;&nbsp;&nbsp; at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)<br>
&nbsp;&nbsp;&nbsp; at
javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)<br>
&nbsp;&nbsp;&nbsp; at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)<br>
&nbsp;&nbsp;&nbsp; at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)<br>
&nbsp;&nbsp;&nbsp; at javax.swing.AbstractButton.doClick(AbstractButton.java:357)<br>
&nbsp;&nbsp;&nbsp; at
javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1170)<br>
&nbsp;&nbsp;&nbsp; at
javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1211)<br>
&nbsp;&nbsp;&nbsp; at
java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)<br>
&nbsp;&nbsp;&nbsp; at
java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)<br>
&nbsp;&nbsp;&nbsp; at java.awt.Component.processMouseEvent(Component.java:6038)<br>
&nbsp;&nbsp;&nbsp; at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)<br>
&nbsp;&nbsp;&nbsp; at java.awt.Component.processEvent(Component.java:5803)<br>
&nbsp;&nbsp;&nbsp; at java.awt.Container.processEvent(Container.java:2058)<br>
&nbsp;&nbsp;&nbsp; at java.awt.Component.dispatchEventImpl(Component.java:4410)<br>
&nbsp;&nbsp;&nbsp; at java.awt.Container.dispatchEventImpl(Container.java:2116)<br>
&nbsp;&nbsp;&nbsp; at java.awt.Component.dispatchEvent(Component.java:4240)<br>
&nbsp;&nbsp;&nbsp; at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)<br>
&nbsp;&nbsp;&nbsp; at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)<br>
&nbsp;&nbsp;&nbsp; at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)<br>
&nbsp;&nbsp;&nbsp; at java.awt.Container.dispatchEventImpl(Container.java:2102)<br>
&nbsp;&nbsp;&nbsp; at java.awt.Component.dispatchEvent(Component.java:4240)<br>
&nbsp;&nbsp;&nbsp; at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)<br>
&nbsp;&nbsp;&nbsp; at
com.iver.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:58)<br>
&nbsp;&nbsp;&nbsp; at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)<br>
&nbsp;&nbsp;&nbsp; at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)<br>
&nbsp;&nbsp;&nbsp; at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)<br>
&nbsp;&nbsp;&nbsp; at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)<br>
&nbsp;&nbsp;&nbsp; at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)<br>
&nbsp;&nbsp;&nbsp; at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)<br>
&nbsp;WARN [AWT-EventQueue-1] (PluginServices.java:136) - Plugin
com.iver.core -- No se encontr&oacute; la traducci&oacute;n para Consola de
informaci&oacute;n<br>
&nbsp;WARN [AWT-EventQueue-1] (PluginServices.java:136) - Plugin
com.iver.core -- No se encontr&oacute; la traducci&oacute;n para Activa la ventana<br>
DEBUG [AWT-EventQueue-1] (NewSkin.java:413) - Activando Consola de
informaci&oacute;n<br>
DEBUG [AWT-EventQueue-1] (MDIFrame.java:1224) - Memoria usada 64951 KB<br>
DEBUG [AWT-EventQueue-1] (MDIFrame.java:1224) - Memoria usada 65109 KB<br>
DEBUG [AWT-EventQueue-1] (MDIFrame.java:1224) - Memoria usada 65167 KB<br>
Viewport despues: Datos del viewPort:<br>
Extent=java.awt.geom.Rectangle2D$Double[x=100479.007812,y=3988001.25,w=521220.492188,h=300898.75]<br>
adjustedExtent=java.awt.geom.Rectangle2D$Double[x=100479.007812,y=3950088.763961762,w=521220.492188,h=376723.7220764752]<br>
imageSize=java.awt.Dimension[width=1111,height=803]<br>
escale=0.0021315355337166433<br>
trans=AffineTransform[[0.002131535533717, 0.0, -214.17457554387016],
[0.0, -0.002131535533717, 9222.754561719352]]<br>
Cambiando tama&ntilde;o.<br>
Ancho del tree=194 1<br>
Ancho del TOC=150<br>
Tiempo de dibujado:94 mseg. Memoria libre:38197 KB<br>
  <br>
  <br>
Por lo que he podido observar en el c&oacute;digo de la FLyrWMS me falla
cuando ejecuta el initServerScale() y dentro de este m&eacute;todo en:<br>
&nbsp; &nbsp;&nbsp; <b>&nbsp; double minScale = getCorrectedServerMinScale();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; double maxScale = getCorrectedServerMaxScale(); </b><br>
  <br>
Cuyos m&eacute;todos son los siguientes:<br>
&nbsp;public double getCorrectedServerMinScale() {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return (getServerMinScale()*MapContext.getScreenDPI())/WMS_DPI;<br>
&nbsp;&nbsp; }<br>
&nbsp; public double getCorrectedServerMaxScale() {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return (getServerMaxScale()*MapContext.getScreenDPI())/WMS_DPI;<br>
&nbsp;&nbsp; }<br>
&nbsp;&nbsp; <br>
  <br>
Porque ocurre esto, tengo que pasarle alg&uacute;n otro argumento para que no
falle.<br>
  <br>
Por favor necesito ayuda. <br>
  <br>
Gracias.<br>
  </div>
  <br>
  <br>
-- <br>
  <br>
  <br>
  <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
gvSIG_desarrolladores mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gvSIG_desarrolladores@listserv.gva.es">gvSIG_desarrolladores@listserv.gva.es</a>
<a class="moz-txt-link-freetext" href="http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores">http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores</a>
  </pre>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">-- 
Jorge Piera Llodr&aacute;
gvSIG software architect
PRODEVELOP
e-mail: <a class="moz-txt-link-abbreviated" href="mailto:jpiera@gvsig.com">jpiera@gvsig.com</a>
<a class="moz-txt-link-freetext" href="http://www.prodevelop.es">http://www.prodevelop.es</a>
<a class="moz-txt-link-freetext" href="http://www.gvsig.org">http://www.gvsig.org</a>
</pre>
</body>
</html>