[Gvsig_english] [gvSIG-devel] Herencia de Flayers

Flavio Pompermaier fla83tn at gmail.com
Tue May 10 18:26:07 CEST 2011


The problem is actually in the opening of the gvSIG project (gvp).
If a class extends FLayers, then it will not have its MapContext during the
set setXMLEntity(XMLEntity xml)!
There's no way to retrieve it..I wasn't able to test the class you suggested
me and I don't know if it solves the problem..maybe it goes around the
problem overriding the setParentLayer() method (pasted below)??

 public void setParentLayer(FLayers lyr) {
        super.setParentLayer(lyr);

        if (lyr == null) {
            return;
        }

        myFMap = lyr.getMapContext();

        if (lyr instanceof LayerCollection) {
            LayerCollection lyrcol = (LayerCollection) lyr;
            lyrcol.addLayerCollectionListener(this);
        }
    }

Thanks for the reply,
Flavio

2011/5/10 Juan Lucas Dominguez Rubio <jldominguez at prodevelop.es>

>  Hola, Flavio:
>
> Creo que yo encontré este problema cuando hice la capa para servidores
> ArcIMS vectorial porque es posible tener varias capas ArcIMS vectorial en
> una petición y el resultado era una colección (FLayers). Después de
> investigar un poco pude resolverlo pero no recuerdo los detalles. La clase
> es esta:
>
>
> https://svn.forge.osor.eu/svn/gvsig-desktop/branches/gvSIG_1.11.0_Mejoras_gvSIG-EIEL/extensions/extArcims/src/es/prodevelop/cit/gvsig/arcims/fmap/layers/FFeatureLyrArcIMSCollection.java
>
>  ¿Quizá es un ejemplo para ti?
> ¿En qué momento encuentras el problema concretamente?
> ¿Es cuando has salvado el proyecto y quieres abrirlo de nuevo?
>
> En este momento existen pocos servidores ArcIMS y ninguno tiene capas
> vectoriales (solo raster) por lo tanto no puedo ejecutar un ejemplo con mi
> código.
>
> 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
> ---
>
> ------------------------------
> *De:* gvsig-desktop-devel-bounces at lists.forge.osor.eu en nombre de Flavio
> Pompermaier
> *Enviado el:* mar 10/05/2011 17:04
> *Para:* gvSIG developers mailing list; Users and Developers mailing list
> *Asunto:* [gvSIG-devel] Herencia de Flayers
>
> Hola a todos,
> salutimi disculpas por mi español...
> Quería saber si hay una manera de extender la clase FLayer (para crear grupo
> de capas a medida).
> Creo que es 'un error en el siguiente control:
> clase.isAssignableFrom(FLayers.class).
> Específicamente, en FLayers está escrito:
>
>     Class clase = LayerFactory.getLayerClassForLayerClassName(className);
>     layer = (FLayer) clase.newInstance();
>     if (clase.isAssignableFrom(FLayers.class)) {
>               ((FLayers)layer).setMapContext(getMapContext());
>               ((FLayers)layer).setParentLayer(this);
>               //    layer = new FLayers(getMapContext(),this);
>              layer.setXMLEntity(xml);
>     } else {
>          // Capas Nuevas (externas)
>         layer.setName(name);
>         layer.setXMLEntity(xml);
>         layer.load();
>     }
>
> En el caso de Capas Nuevas (externas), no hay manera de establecer el
> MapContext en el mi custom FLayers, a menos que corregir el código de la
> siguiente manera:
>
>    if (layer  instanceof FLayers) {
>    .....
>    }
>
> Algo mal?
>
> Saludos,
> Flavio
>
> _______________________________________________
> gvSIG-desktop-devel mailing list
> gvSIG-desktop-devel at lists.forge.osor.eu
> https://lists.forge.osor.eu/listinfo/gvsig-desktop-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://listserv.gva.es/pipermail/gvsig_internacional/attachments/20110510/e0f01ee0/attachment.htm 


More information about the Gvsig_internacional mailing list