<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=unicode">
<META content="MSHTML 6.00.6000.17097" name=GENERATOR></HEAD>
<BODY>
<DIV id=idOWAReplyText46862>
<DIV><FONT face="Times New Roman" color=#000000 size=3>Hello, yes that's it. </FONT><FONT face="Times New Roman" color=#000000 size=3>It keeps its own reference to Mapcontext. Does that work for you?</FONT></DIV>
<DIV> </DIV>
<DIV>If I had to do it again, I would probably promote a change in libFMap though.</DIV>
<DIV><FONT face="Times New Roman" color=#000000 size=3></FONT> </DIV>
<DIV>Regards,</DIV></DIV>
<DIV id=idSignature80763>
<DIV><FONT face="Courier New" size=2><FONT face="Times New Roman" size=3>Juan Lucas Domínguez Rubio<BR></FONT>---</FONT></DIV>
<DIV><FONT face="Courier New" size=2><FONT face="Courier New" size=2><FONT face="Courier New" size=2>Prodevelop SL, Valencia (España)</FONT></DIV>
<DIV>
<DIV><FONT face="Courier New" size=2>Tlf.: 96.351.06.12 -- Fax: 96.351.09.68<BR></FONT><A href="http://www.prodevelop.es/"><FONT face="Courier New" size=2>http://www.prodevelop.es</FONT></A><BR><FONT face="Courier New" size=2>---</FONT></DIV></FONT></DIV></FONT></DIV>
<DIV><BR>
<HR>
<FONT face=Tahoma size=2><B>De:</B> gvsig-desktop-devel-bounces@lists.forge.osor.eu en nombre de Flavio Pompermaier<BR><B>Enviado el:</B> mar 10/05/2011 18:26<BR><B>Para:</B> gvSIG developers mailing list<BR><B>CC:</B> Users and Developers mailing list<BR><B>Asunto:</B> Re: [gvSIG-devel] Herencia de Flayers<BR></FONT><BR></DIV>
<DIV>The problem is actually in the opening of the gvSIG project (gvp). <BR>If a class extends FLayers, then it will not have its MapContext during the set setXMLEntity(XMLEntity xml)!<BR>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)??<BR><BR> public void setParentLayer(FLayers lyr) {<BR> super.setParentLayer(lyr);<BR><BR> if (lyr == null) {<BR> return;<BR> }<BR><BR> myFMap = lyr.getMapContext();<BR><BR> if (lyr instanceof LayerCollection) {<BR> LayerCollection lyrcol = (LayerCollection) lyr;<BR> lyrcol.addLayerCollectionListener(this);<BR> }<BR> }<BR><BR>Thanks for the reply,<BR>Flavio<BR><BR>
<DIV class=gmail_quote>2011/5/10 Juan Lucas Dominguez Rubio <SPAN><<A href="mailto:jldominguez@prodevelop.es">jldominguez@prodevelop.es</A>></SPAN><BR>
<BLOCKQUOTE class=gmail_quote style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<DIV>
<DIV>
<DIV><FONT face="Times New Roman" color=#000000 size=3>Hola, Flavio:</FONT></DIV>
<DIV> </DIV>
<DIV>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:</DIV>
<DIV> </DIV>
<DIV><A href="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">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</A></DIV>
<DIV> </DIV>
<DIV>
<DIV>¿Quizá es un ejemplo para ti? </DIV>
<DIV>¿En qué momento encuentras el problema concretamente?</DIV>
<DIV>¿Es cuando has salvado el proyecto y quieres abrirlo de nuevo?</DIV></DIV>
<DIV> </DIV>
<DIV>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.</DIV>
<DIV> </DIV>
<DIV>Saludos,</DIV>
<DIV><FONT face="Courier New" size=2><FONT face="Times New Roman" size=3>Juan Lucas Domínguez Rubio<BR></FONT>---</FONT></DIV></DIV>
<DIV>
<DIV><FONT face="Courier New" size=2><FONT face="Courier New" size=2><FONT face="Courier New" size=2>Prodevelop SL, Valencia (España)</FONT></FONT></FONT></DIV>
<DIV>
<DIV><FONT face="Courier New" size=2>Tlf.: 96.351.06.12 -- Fax: 96.351.09.68<BR></FONT><A href="http://www.prodevelop.es/"><FONT face="Courier New" size=2>http://www.prodevelop.es</FONT></A><BR><FONT face="Courier New" size=2>---</FONT></DIV></DIV></DIV>
<DIV><BR>
<HR>
<FONT face=Tahoma size=2><B>De:</B> <A href="mailto:gvsig-desktop-devel-bounces@lists.forge.osor.eu">gvsig-desktop-devel-bounces@lists.forge.osor.eu</A> en nombre de Flavio Pompermaier<BR><B>Enviado el:</B> mar 10/05/2011 17:04<BR><B>Para:</B> gvSIG developers mailing list; Users and Developers mailing list<BR><B>Asunto:</B> [gvSIG-devel] Herencia de Flayers<BR></FONT><BR></DIV>
<DIV>
<DIV></DIV>
<DIV class=h5>
<DIV><SPAN><SPAN title="Fai clic per visualizzare le traduzioni alternative">Hola</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">a todos,<BR></SPAN></SPAN><SPAN><SPAN title="Fai clic per visualizzare le traduzioni alternative">salutimi</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">disculpas por</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">mi</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">español...</SPAN></SPAN><BR><SPAN><SPAN title="Fai clic per visualizzare le traduzioni alternative"></SPAN><SPAN title="Fai clic per visualizzare le traduzioni alternative">Quería</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">saber</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">si</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">hay</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">una manera de</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">extender</SPAN> la clase FLayer <SPAN title="Fai clic per visualizzare le traduzioni alternative">(para</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">crear</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">grupo de</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">capas</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">a medida</SPAN><SPAN title="Fai clic per visualizzare le traduzioni alternative">)</SPAN><SPAN title="Fai clic per visualizzare le traduzioni alternative">.</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative"><BR>Creo</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">que</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">es</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">'</SPAN><SPAN title="Fai clic per visualizzare le traduzioni alternative">un error</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">en</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">el siguiente control</SPAN></SPAN>: clase.isAssignableFrom(FLayers.class). <BR><SPAN><SPAN title="Fai clic per visualizzare le traduzioni alternative">Específicamente, en FLayers </SPAN></SPAN><SPAN><SPAN title="Fai clic per visualizzare le traduzioni alternative">está</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">escrito:</SPAN></SPAN><SPAN><SPAN title="Fai clic per visualizzare le traduzioni alternative"> </SPAN></SPAN><BR><BR> Class clase = LayerFactory.getLayerClassForLayerClassName(className);<BR> layer = (FLayer) clase.newInstance();<BR> if (clase.isAssignableFrom(FLayers.class)) {<BR> ((FLayers)layer).setMapContext(getMapContext());<BR> ((FLayers)layer).setParentLayer(this);<BR> // layer = new FLayers(getMapContext(),this);<BR> layer.setXMLEntity(xml);<BR> } else {<BR> // Capas Nuevas (externas)<BR> layer.setName(name);<BR> layer.setXMLEntity(xml);<BR> layer.load();<BR> }<BR><BR>En el caso de Capas Nuevas (externas), <SPAN><SPAN title="Fai clic per visualizzare le traduzioni alternative">no</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">hay</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">manera</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">de</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">establecer el</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">MapContext</SPAN><SPAN title="Fai clic per visualizzare le traduzioni alternative"> en el mi custom FLayers, a menos</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">que</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">corregir el</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">código</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">de la siguiente manera</SPAN><SPAN title="Fai clic per visualizzare le traduzioni alternative">:<BR><BR></SPAN></SPAN> if (layer instanceof FLayers) {<BR> .....<BR> }<BR><BR><SPAN><SPAN title="Fai clic per visualizzare le traduzioni alternative">Algo</SPAN> <SPAN title="Fai clic per visualizzare le traduzioni alternative">mal</SPAN><SPAN title="Fai clic per visualizzare le traduzioni alternative">?</SPAN></SPAN><BR><BR>Saludos,<BR>Flavio<BR></DIV></DIV></DIV></DIV><BR>_______________________________________________<BR>gvSIG-desktop-devel mailing list<BR><A href="mailto:gvSIG-desktop-devel@lists.forge.osor.eu">gvSIG-desktop-devel@lists.forge.osor.eu</A><BR><A href="https://lists.forge.osor.eu/listinfo/gvsig-desktop-devel">https://lists.forge.osor.eu/listinfo/gvsig-desktop-devel</A><BR><BR></BLOCKQUOTE></DIV><BR></DIV></BODY></HTML>