[Gvsig_desarrolladores] ERROR AL MIGRAR WMS 1.1 a la 1.11

Jorge Piera Llodrá jpiera en gvsig.com
Vie Jul 22 12:37:08 CEST 2011


Hola Ana.

Me alegro de que funcione.

No entiendo muy bien qué es lo que no encuentras. Simplemente tienes que 
dar de alta un bug [1] informando del error y añadiendo un parche con la 
solución (si es que lo tienes). Es la mejor forma de reportar errores.

Un saludo,
Jorge

[1] https://forge.osor.eu/tracker/?func=add&group_id=89&atid=732

On 07/22/2011 12:33 PM, Juan Lucas Dominguez Rubio wrote:
> Hola, debe ser posible instanciar una capa WMS por código usando el 
> constructor que no tiene parámetros, así tu extensión funcionaría en 
> una instalación de gvSIG 1.11.
> Mira el método:
> protected FLayer getLayerPlain()
> de la clase WMSParamsPanel (extWMS). Si pones un punto de interrupción 
> y observas cómo se está instanciando puedes replicar eso en tu 
> extensión. No lo he probado pero tiene pinta de que funcionará.
> Saludos,
> Juan Lucas Domínguez Rubio
> ---
> Prodevelop SL, Valencia (España)
> Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
> http://www.prodevelop.es <http://www.prodevelop.es/>
> ---
>
> ------------------------------------------------------------------------
> *De:* gvsig_desarrolladores-bounces en listserv.gva.es en nombre de Jorge 
> Piera Llodrá
> *Enviado el:* vie 22/07/2011 10:18
> *Para:* gvsig_desarrolladores en listserv.gva.es; 
> "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/"@dunas.gva.es
> *Asunto:* Re: [Gvsig_desarrolladores] ERROR AL MIGRAR WMS 1.1 a la 1.11
>
> Hola Ana.
>
> Le he pegado un vistazo rápido y tienes razón. El constructor 
> FLyrWMS(Map) no se incializa correctamente e intenta usar un objeto 
> antes de ser instanciado.
>
> En la línea 302, donde se hace la llamada a initServerScale(), 
> introduce lo siguiente antes de la invocación:
>
> try {
>             wms = getDriver();
> } catch (Exception e) {
>             throw new LoadLayerException("Error creating the driver" ,e);
> }
>
> Con eso consigues que se instancie el driver antes de utilizarlo y la 
> capa se carga correctamente.
>
> Si no es mucha molestia, podrías crear un ticket en OSOR y adjuntar el 
> parche propuesto (si es que te funciona, claro).
>
> Un saludo,
> Jorge
>
> [1] 
> 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
>
>
>
> On 07/22/2011 09:36 AM, Ana Belen Garcia wrote:
>
>     Hola a todos de nuevo,
>
>        Estoy intentando cargar una capa WMS desde có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ódigo es el siguiente:
>
>     if (actionCommand.compareTo("
>     CARGARCAPASWMS") == 0){
>                  View v;
>                  MapControl mapCtrl;
>
>
>                             try {
>                                  Map<String, Object> args= new
>     HashMap<String,Object>();
>
>                                    
>     args.put("host","http://ovc.catastro.meh.es/Cartografia/WMS/ServidorWMS.aspx");
>                                     args.put("layer", "Catastro");
>                                     args.put("SRS", "EPSG:23030");
>                                     args.put("wmsTransparency",true);
>
>
>                                 FLyrWMS capaWMS;
>                                 v = (View)
>     PluginServices.getMDIManager().getActiveWindow();
>                                 mapCtrl = v.getMapControl();
>
>                                 FLayers  lyrs =
>     mapCtrl.getMapContext().getLayers();
>                                 lyrs.setAllActives(false);
>
>
>
>                                 capaWMS = new FLyrWMS(args);
>
>
>                                 capaWMS.setTransparency(95);
>                                 capaWMS.setActive(true);
>                                
>     mapCtrl.getMapContext().getLayers().addLayer(capaWMS);
>
>                             } catch (LoadLayerException e) {
>                                 // TODO Auto-generated catch block
>                                 e.printStackTrace();
>                             }
>
>             }
>
>
>     El error que me aparece en consola es el siguiente:
>
>     DEBUG [AWT-EventQueue-1] (MDIFrame.java:673) - Execute
>     command:CARGARCAPASWMS
>     20-jul-2011 11:14:46 org.gvsig.remoteClient.utils.Downloader run
>     INFO: downloading
>     'http://ovc.catastro.meh.es/Cartografia/WMS/ServidorWMS.aspx?REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.1.1
>     <http://ovc.catastro.meh.es/Cartografia/WMS/ServidorWMS.aspx?REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.1.1>'
>     to:
>     C:\DOCUME~1\usuario\CONFIG~1\Temp\tmp-andami\wms_capabilities1311153286937.xml
>     DEBUG [AWT-EventQueue-1] (NotificationManager.java:104) - Error no
>     capturado por el usuario
>     java.lang.NullPointerException
>         at
>     com.iver.cit.gvsig.fmap.layers.FLyrWMS.getServerMinScale(FLyrWMS.java:1307)
>         at
>     com.iver.cit.gvsig.fmap.layers.FLyrWMS.getCorrectedServerMinScale(FLyrWMS.java:1280)
>         at
>     com.iver.cit.gvsig.fmap.layers.FLyrWMS.initServerScale(FLyrWMS.java:1258)
>         at com.iver.cit.gvsig.fmap.layers.FLyrWMS.<init>(FLyrWMS.java:302)
>         at
>     com.iver.cit.gvsig.myplugin.LoadProvinciasExtension.execute(LoadProvinciasExtension.java:1689)
>         at
>     com.iver.andami.plugins.ExtensionDecorator.execute(ExtensionDecorator.java:89)
>         at
>     com.iver.andami.ui.mdiFrame.MDIFrame.actionPerformed(MDIFrame.java:674)
>         at
>     javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
>         at
>     javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
>         at
>     javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
>         at
>     javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
>         at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
>         at
>     javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1170)
>         at
>     javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1211)
>         at
>     java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
>         at
>     java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
>         at java.awt.Component.processMouseEvent(Component.java:6038)
>         at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
>         at java.awt.Component.processEvent(Component.java:5803)
>         at java.awt.Container.processEvent(Container.java:2058)
>         at java.awt.Component.dispatchEventImpl(Component.java:4410)
>         at java.awt.Container.dispatchEventImpl(Container.java:2116)
>         at java.awt.Component.dispatchEvent(Component.java:4240)
>         at
>     java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
>         at
>     java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
>         at
>     java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
>         at java.awt.Container.dispatchEventImpl(Container.java:2102)
>         at java.awt.Component.dispatchEvent(Component.java:4240)
>         at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
>         at
>     com.iver.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:58)
>         at
>     java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
>         at
>     java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
>         at
>     java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
>         at
>     java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
>         at
>     java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
>         at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
>      WARN [AWT-EventQueue-1] (PluginServices.java:136) - Plugin
>     com.iver.core -- No se encontró la traducción para Consola de
>     información
>      WARN [AWT-EventQueue-1] (PluginServices.java:136) - Plugin
>     com.iver.core -- No se encontró la traducción para Activa la ventana
>     DEBUG [AWT-EventQueue-1] (NewSkin.java:413) - Activando Consola de
>     información
>     DEBUG [AWT-EventQueue-1] (MDIFrame.java:1224) - Memoria usada 64951 KB
>     DEBUG [AWT-EventQueue-1] (MDIFrame.java:1224) - Memoria usada 65109 KB
>     DEBUG [AWT-EventQueue-1] (MDIFrame.java:1224) - Memoria usada 65167 KB
>     Viewport despues: Datos del viewPort:
>     Extent=java.awt.geom.Rectangle2D$Double[x=100479.007812,y=3988001.25,w=521220.492188,h=300898.75]
>     adjustedExtent=java.awt.geom.Rectangle2D$Double[x=100479.007812,y=3950088.763961762,w=521220.492188,h=376723.7220764752]
>     imageSize=java.awt.Dimension[width=1111,height=803]
>     escale=0.0021315355337166433
>     trans=AffineTransform[[0.002131535533717, 0.0,
>     -214.17457554387016], [0.0, -0.002131535533717, 9222.754561719352]]
>     Cambiando tamaño.
>     Ancho del tree=194 1
>     Ancho del TOC=150
>     Tiempo de dibujado:94 mseg. Memoria libre:38197 KB
>
>
>     Por lo que he podido observar en el código de la FLyrWMS me falla
>     cuando ejecuta el initServerScale() y dentro de este método en:
>     *  double minScale = getCorrectedServerMinScale();
>            double maxScale = getCorrectedServerMaxScale(); *
>
>     Cuyos métodos son los siguientes:
>      public double getCorrectedServerMinScale() {
>            return (getServerMinScale()*MapContext.getScreenDPI())/WMS_DPI;
>        }
>       public double getCorrectedServerMaxScale() {
>            return (getServerMaxScale()*MapContext.getScreenDPI())/WMS_DPI;
>        }
>
>
>     Porque ocurre esto, tengo que pasarle algún otro argumento para
>     que no falle.
>
>     Por favor necesito ayuda.
>
>     Gracias.
>
>
>     -- 
>
>
>
>     _______________________________________________
>     gvSIG_desarrolladores mailing list
>     gvSIG_desarrolladores en listserv.gva.es
>     http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
>        
>
>
>
> -- 
> Jorge Piera Llodrá
> gvSIG software architect
> PRODEVELOP
> e-mail:jpiera en gvsig.com
> http://www.prodevelop.es
> http://www.gvsig.org
>    
>
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en listserv.gva.es
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
>    


-- 
Jorge Piera Llodrá
gvSIG software architect
PRODEVELOP
e-mail: jpiera en gvsig.com
http://www.prodevelop.es
http://www.gvsig.org

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20110722/b336aaf9/attachment.htm 


Más información sobre la lista de distribución gvSIG_desarrolladores