<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body style='font-size: 10pt; font-family: Verdana,Geneva,sans-serif'>
<p>Vale, gracias por la aclaraci&oacute;n, voy a mirarlos.</p>
<p>El 15-06-2018 01:38 PM, Joaquin Jose del Cerro Murciano escribi&oacute;:</p>
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0"><!-- html ignored --><!-- head ignored --><!-- meta ignored -->
<div dir="ltr"><br />
<div class="gmail_extra"><br />
<div class="gmail_quote">El 15 de junio de 2018, 12:47, Iago Alonso Alonso <span>&lt;<a href="mailto:ialonso@enxenio.es">ialonso@enxenio.es</a>&gt;</span> escribi&oacute;:<br />
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left: 1px solid #cccccc; padding-left: 1ex;">
<div style="font-size: 10pt; font-family: Verdana,Geneva,sans-serif;">
<p>Acabo de ver los proyectos que me pasa de referencia, ya lo hago as&iacute;. De hecho en el correo original indiqu&eacute; que me baso en c&oacute;mo se han hecho los proyectos "org.gvsig.vectorediting". Segu&iacute; de ejemplo el de "org.gvsig.vectorediting.lib.<wbr />prov.line", creando el respectivo:</p>
<p>xxEditingLibrary</p>
<p>xxEditingProvider</p>
<p>xxEditingProviderFactory</p>
<p>Y despu&eacute;s en el "src/main/resources/META-INF/s<wbr />ervices/org.gvsig.tools.librar<wbr />y.Library" indico la ruta de la case "xxEditingLibrary". Por lo que no entiendo por qu&eacute; dice que lo estoy haciendo a&uacute;n de la forma antigua y alg&uacute;n d&iacute;a dejar&aacute; de funcionar. Cuando los hice para la versi&oacute;n 2.3 ya los hab&iacute;a hecho de esta manera, siguiendo el esquema de "org.gvsig.vectorediting".</p>
<p>Adem&aacute;s, en "org.gvsig.vectorediting.app.<wbr />mainplugin", en el paquete "org.gvsig.vectorediting.app.<wbr />mainplugin" hay un "EditingExtension" y un "ServiceExtension". Y cada plugin lo registro en el "EditingProviderManager" en el m&eacute;todo "doPostInitialize()" de su respectivo xxEditingLibrary.</p>
<p>No entiendo pues qu&eacute; estoy haciendo mal.</p>
</div>
</blockquote>
<div>&nbsp;</div>
<div>No uses este proyecto,&nbsp; "org.gvsig.vectorediting.app.<wbr />mainplugin", de ejemplo.</div>
<div>Colgando de:</div>
<div>&nbsp;</div>
<div><a href="http://devel.gvsig.org/svn/gvsig-vectorediting/org.gvsig.vectorediting/">http://devel.gvsig.org/svn/gvsig-vectorediting/org.gvsig.vectorediting/</a></div>
<div>&nbsp;</div>
<div>Se encuentra tanto API, como SPI e implementacion del framework de edicion.</div>
<div>Estas mirando la implementacion del plugin de edicion, y NO tienes copiar eso.</div>
<div>&nbsp;</div>
<div>Mira:</div>
<div>- org.gvsig.vectorediting.<wbr />symmetry (<a href="http://devel.gvsig.org/svn/gvsig-vectorediting/org.gvsig.vectorediting.symmetry">http://devel.gvsig.org/svn/gvsig-vectorediting/org.gvsig.vectorediting.symmetry</a>)<br />- org.gvsig.vectorediting.offset (<a href="http://devel.gvsig.org/svn/gvsig-vectorediting/org.gvsig.vectorediting.offset">http://devel.gvsig.org/svn/gvsig-vectorediting/org.gvsig.vectorediting.offset</a>)</div>
<div>&nbsp;</div>
<div>Que se han separado del framework de edicion para que sirvan de ejemplo de como hacer nuevas herramientas.</div>
<div>&nbsp;</div>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left: 1px solid #cccccc; padding-left: 1ex;">
<div style="font-size: 10pt; font-family: Verdana,Geneva,sans-serif;">
<p>Un saludo.</p>
<div>
<div class="gmail-h5">
<p>El 15-06-2018 09:19 AM, Joaquin Jose del Cerro Murciano escribi&oacute;:</p>
<blockquote style="padding: 0px 0.4em; border-left: 2px solid #1010ff; margin: 0px;">
<div dir="ltr"><br />
<div class="gmail_extra"><br />
<div class="gmail_quote">El 13 de junio de 2018, 13:22, Iago Alonso Alonso <span>&lt;<a href="mailto:ialonso@enxenio.es">ialonso@enxenio.es</a>&gt;</span> escribi&oacute;:<br />
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left: 1px solid #cccccc; padding-left: 1ex;">
<div style="font-size: 10pt; font-family: Verdana,Geneva,sans-serif;">
<p>Hola, me gustar&iacute;a saber si el mecanismo para habilitar las extensiones en el modo edici&oacute;n ha cambiado. Ya que en gvSIG 2.4 se cargan las extensiones, pero los iconos aparecen en gris (como si estuvieran desactivados) al entrar en el modo edici&oacute;n y en gvSIG 2.3 funcionan sin problemas.</p>
<p>En la extensi&oacute;n, dentro de:</p>
<p>src/main/resources-plugin/conf<wbr />ig.xml</p>
<p>tengo definida la extensi&oacute;n con sus funcionalidades:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;extension class-name=".....EditionManage<wbr />rExtension"<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;description=""<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;active="true"&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;menu<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;text=""<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;position=""<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;/&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;/extension&gt;</p>
<p><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;extension class-name=".....ServiceExtens<wbr />ion"<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;description="" active="true" priority="1"&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;action <br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;name="funcion_1"<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;label=""<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;tooltip=""<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;position=""<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;action-command=""<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;icon=""<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;accelerator=""<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;/&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;action <br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;name="funcion_2"<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;label=""<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;tooltip=""<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;position=""<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;action-command=""<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;icon=""<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;accelerator=""<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;/&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;menu text="" name="funcion_1"/&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;menu text="" name="funcion_2"/&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;tool-bar name="vector_editing"&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;selectable-tool&nbsp; name="funcion_1"/&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;selectable-tool&nbsp; name="funcion_2"/&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;/tool-bar&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;/extension&gt;</p>
<p>Con su respectivo:</p>
<p>EditionManagerExtension.java</p>
<p>EditionManagerObserver.java</p>
<p>ServiceExtension.java</p>
<p>La extensi&oacute;n tiene 2 funcionalidades, en cada funcionalidad (segu&iacute; el esquema de vectorediting, as&iacute; que cada una es un proyecto independiente) hay un:</p>
<p>EditingLibrary.java</p>
<p>EditingProvider.java</p>
<p>EditiingProviderFactory.java</p>
<p>Y para registrar cada funcionalidad, en el fichero "src/main/resources/META-INF/s<wbr />ervices/org.gvsig.tools.librar<wbr />y.Library" indico la ruta de la case "EditingLibrary" de la funcionalidad.</p>
<p>Al arrancer gvSIG, en el log veo que la extensi&oacute;n se carga (y supongo que las funcionalidades tambi&eacute;n, al ser los proyectos hijos del proyecto de la extensi&oacute;n) pero no se activan al entrar en el modo edici&oacute;n.<br /><br />INFO 12577 AWT-EventQueue-0 org.gvsig.andami.Launcher - Initializing plugin "extension"<br />INFO 12578 AWT-EventQueue-0 org.gvsig.andami.Launcher - Initializing extensions of plugin "extension": <br />INFO 12578 AWT-EventQueue-0 org.gvsig.andami.Launcher - Initializing ......ServiceExtension...<br />INFO 12579 AWT-EventQueue-0 org.gvsig.andami.Launcher - Initializing ......EIELEditionManagerExtens<wbr />ion...</p>
<p>&iquest;A cambiado algo en la forma de registrar o activar las extensiones? &iquest;Deber&iacute;a aparecer en el log al arrancar que se inicializan las funcionalidades?</p>
<p>&nbsp;</p>
</div>
</blockquote>
<div>&nbsp;</div>
<div>Con la informacion que pasas no tengo ni idea de que te esta pasando.<br />Es muy dificil interpretar los pedazos de codigo sueltos que pones en el <br />correo.<br /><br /><br />Sobre si el mecanismo de manejo de extensiones a cambiado en gvSIG 2.4, <br />incluido el registro y activacion de estas,<br />no, no ha cambiado.<br /><br />Si lo que tienes es una herramienta normal de gvSIG, deberia funcionar<br />exactamente como lo hacia en la 2.3.<br /><br />Si lo que estas haciendo es una herramienta que se integre con las<br />herramientas de edicion de gvSIG, ten en cuenta que el framework de edicion<br />se reescribio de cero hace ya algunas versiones de gvSIG (en 2014).</div>
<div>&nbsp;</div>
<div>Lo que tuvieses para la edicion vieja no te valdra para la actual.</div>
<div>&nbsp;</div>
<div>Normalmente para hacer una herramienta de edicion no precisarias implementar <br />ninguna clase EditionManagerExtension, EditionManagerObserver o ServiceExtension <br />en gvSIG. Ni siquiera has de meter en el "config.xml" nada para a&ntilde;adir una nueva</div>
<div>herramienta que se integre con la edicion de gvSIG.</div>
<div>Tan solo crear y registrar un proveedor de edicion de forma similar a como lo hacen</div>
<div>los proyectos:</div>
<div>&nbsp;</div>
<div>- org.gvsig.vectorediting.<wbr />symmetry<br />- org.gvsig.vectorediting.offset<br /><br />Y registrarlo en el EditingProviderManager del framework de edicion.</div>
<br />
<div>Esos dos proyectos se separaron del core de edicion vectorial para<br />que pudiesen servir de ejemplo de como hacer un proveedor nuevo<br />de edicion. Puedes encontrarlos en:<br /><br /><a href="https://redmine.gvsig.net/redmine/projects/gvsig-vector-editing/repository">https://redmine.gvsig.net/<wbr />redmine/projects/gvsig-vector-<wbr />editing/repository</a><br /><br /><br />Comentas que tienes dos "extesiones", supongo que te refieres a dos plugins<br />de gvSIG. Y que en cada uno tienes una herramienta de edicion. Aunque en los<br />ejemplos de "symetry" y "offset" hay una herramienta (proveedor) por plugin,<br />puedes meter en el mismo plugin los dos proveedores, incluso en el mismo<br />proyecto maven, tan solo tendrias que registrar en el library del proyecto los dos.<br /><br />Mientras no controles como funciona el mecanismo de herramientas de edicion,<br />si quieres crear una herramienta nueva, mi consejo, es que copies y renombres <br />una de esas dos herramientas y vayas adaptando su codigo para hacer lo que <br />quieras.<br /><br />Y te insisto...<br />Nada que tengas de la edicion vieja de gvSIG te funcionara sobre la edicion<br />actual (gvSIG 2.2 y siguientes).<br /><br />Si lo que quieres es seguir manteniendo tus herramientas de edicion antiguas,<br />y no adaptarte a las de gvSIG 2.2, Puedes coger el codigo de la <br />edicion antigua y tratar de adatarlo a las versiones actuales de gvSIG, y<br />que tus usuarios usen la edicion vieja y no la que viene de base con la aplicacion.<br />De todos modos, aunque eso es una posibilidad, tarde o temprano tendras que<br />adaptar tu codigo a la edicion actual, o quedarte anclado en una version de gvSIG.<br /><br /><br />Un saludo<br />Joaquin<br />&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left: 1px solid #cccccc; padding-left: 1ex;">
<div style="font-size: 10pt; font-family: Verdana,Geneva,sans-serif;">
<p>Saludos.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div>
<br />______________________________<wbr />_________________<br /> gvSIG_desarrolladores mailing list<br /><a href="mailto:gvSIG_desarrolladores@listserv.gva.es">gvSIG_desarrolladores@listserv<wbr />.gva.es</a><br /> Para ver hist&oacute;rico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente direcci&oacute;n: <a href="https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores" rel="noreferrer">https://listserv.gva.es/cgi-bi<wbr />n/mailman/listinfo/gvsig_desar<wbr />rolladores</a><br /><br /></blockquote>
</div>
<br /><br clear="all" /><br />-- <br />
<div class="gmail-m_-27611433900328014gmail_signature">------------------------------<wbr />--------<br />Joaquin Jose del Cerro Murciano<br />Development and software arquitecture manager at gvSIG Team<br /><a href="mailto:jjdelcerro@gvsig.com">jjdelcerro@gvsig.com</a><br /><a href="mailto:jjdelcerro@gvsig.org">jjdelcerro@gvsig.org</a><br />gvSIG Association<br /><a href="http://www.gvsig.com">www.gvsig.com</a><br /><a href="http://www.gvsig.org">www.gvsig.org</a></div>
</div>
</div>
<br />
<div class="gmail-m_-27611433900328014pre" style="margin: 0px; padding: 0px; font-family: monospace;">______________________________<wbr />_________________<br /> gvSIG_desarrolladores mailing list<br /><a href="mailto:gvSIG_desarrolladores@listserv.gva.es">gvSIG_desarrolladores@<wbr />listserv.gva.es</a><br /> Para ver hist&oacute;rico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente direcci&oacute;n: <a href="https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores" rel="noreferrer">https://listserv.gva.es/cgi-<wbr />bin/mailman/listinfo/gvsig_<wbr />desarrolladores</a></div>
</blockquote>
</div>
</div>
</div>
<br />______________________________<wbr />_________________<br /> gvSIG_desarrolladores mailing list<br /><a href="mailto:gvSIG_desarrolladores@listserv.gva.es">gvSIG_desarrolladores@<wbr />listserv.gva.es</a><br /> Para ver hist&oacute;rico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente direcci&oacute;n: <a href="https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores" rel="noreferrer">https://listserv.gva.es/cgi-<wbr />bin/mailman/listinfo/gvsig_<wbr />desarrolladores</a><br /><br /></blockquote>
</div>
<br /><br clear="all" /><br />-- <br />
<div class="gmail_signature">--------------------------------------<br />Joaquin Jose del Cerro Murciano<br />Development and software arquitecture manager at gvSIG Team<br /><a href="mailto:jjdelcerro@gvsig.com">jjdelcerro@gvsig.com</a><br /><a href="mailto:jjdelcerro@gvsig.org">jjdelcerro@gvsig.org</a><br />gvSIG Association<br /><a href="http://www.gvsig.com">www.gvsig.com</a><br /><a href="http://www.gvsig.org">www.gvsig.org</a></div>
</div>
</div>
<br />
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">_______________________________________________<br /> gvSIG_desarrolladores mailing list<br /><a href="mailto:gvSIG_desarrolladores@listserv.gva.es">gvSIG_desarrolladores@listserv.gva.es</a><br /> Para ver hist&oacute;rico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente direcci&oacute;n: <a href="https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores" rel="noreferrer">https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores</a></div>
</blockquote>
</body></html>