[Gvsig_desarrolladores] Habilitar extensiones en gvSIG 2.4

Iago Alonso Alonso ialonso en enxenio.es
Vie Jun 15 14:08:55 CEST 2018


Vale, gracias por la aclaración, voy a mirarlos. 

El 15-06-2018 01:38 PM, Joaquin Jose del Cerro Murciano escribió:

> El 15 de junio de 2018, 12:47, Iago Alonso Alonso <ialonso en enxenio.es> escribió:
> 
>> Acabo de ver los proyectos que me pasa de referencia, ya lo hago así. De hecho en el correo original indiqué que me baso en cómo se han hecho los proyectos "org.gvsig.vectorediting". Seguí de ejemplo el de "org.gvsig.vectorediting.lib.prov.line", creando el respectivo: 
>> 
>> xxEditingLibrary 
>> 
>> xxEditingProvider 
>> 
>> xxEditingProviderFactory 
>> 
>> Y después en el "src/main/resources/META-INF/services/org.gvsig.tools.library.Library" indico la ruta de la case "xxEditingLibrary". Por lo que no entiendo por qué dice que lo estoy haciendo aún de la forma antigua y algún día dejará de funcionar. Cuando los hice para la versión 2.3 ya los había hecho de esta manera, siguiendo el esquema de "org.gvsig.vectorediting". 
>> 
>> Además, en "org.gvsig.vectorediting.app.mainplugin", en el paquete "org.gvsig.vectorediting.app.mainplugin" hay un "EditingExtension" y un "ServiceExtension". Y cada plugin lo registro en el "EditingProviderManager" en el método "doPostInitialize()" de su respectivo xxEditingLibrary. 
>> 
>> No entiendo pues qué estoy haciendo mal.
> 
> No uses este proyecto,  "org.gvsig.vectorediting.app.mainplugin", de ejemplo. 
> Colgando de: 
> 
> http://devel.gvsig.org/svn/gvsig-vectorediting/org.gvsig.vectorediting/ 
> 
> Se encuentra tanto API, como SPI e implementacion del framework de edicion. 
> Estas mirando la implementacion del plugin de edicion, y NO tienes copiar eso. 
> 
> Mira: 
> - org.gvsig.vectorediting.symmetry (http://devel.gvsig.org/svn/gvsig-vectorediting/org.gvsig.vectorediting.symmetry)
> - org.gvsig.vectorediting.offset (http://devel.gvsig.org/svn/gvsig-vectorediting/org.gvsig.vectorediting.offset) 
> 
> Que se han separado del framework de edicion para que sirvan de ejemplo de como hacer nuevas herramientas. 
> 
> Un saludo.
> 
> El 15-06-2018 09:19 AM, Joaquin Jose del Cerro Murciano escribió: 
> 
> El 13 de junio de 2018, 13:22, Iago Alonso Alonso <ialonso en enxenio.es> escribió:
> 
> Hola, me gustaría saber si el mecanismo para habilitar las extensiones en el modo edició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ón y en gvSIG 2.3 funcionan sin problemas. 
> 
> En la extensión, dentro de: 
> 
> src/main/resources-plugin/config.xml 
> 
> tengo definida la extensión con sus funcionalidades: 
> 
> <extension class-name=".....EditionManagerExtension"
> description=""
> active="true">
> <menu
> text=""
> position=""
> />
> </extension> 
> 
> <extension class-name=".....ServiceExtension"
> description="" active="true" priority="1">
> <action 
> name="funcion_1"
> label=""
> tooltip=""
> position=""
> action-command=""
> icon=""
> accelerator=""
> />
> <action 
> name="funcion_2"
> label=""
> tooltip=""
> position=""
> action-command=""
> icon=""
> accelerator=""
> />
> 
> <menu text="" name="funcion_1"/>
> <menu text="" name="funcion_2"/>
> <tool-bar name="vector_editing">
> <selectable-tool  name="funcion_1"/>
> <selectable-tool  name="funcion_2"/>
> </tool-bar>        
> </extension> 
> 
> Con su respectivo: 
> 
> EditionManagerExtension.java 
> 
> EditionManagerObserver.java 
> 
> ServiceExtension.java 
> 
> La extensión tiene 2 funcionalidades, en cada funcionalidad (seguí el esquema de vectorediting, así que cada una es un proyecto independiente) hay un: 
> 
> EditingLibrary.java 
> 
> EditingProvider.java 
> 
> EditiingProviderFactory.java 
> 
> Y para registrar cada funcionalidad, en el fichero "src/main/resources/META-INF/services/org.gvsig.tools.library.Library" indico la ruta de la case "EditingLibrary" de la funcionalidad. 
> 
> Al arrancer gvSIG, en el log veo que la extensión se carga (y supongo que las funcionalidades también, al ser los proyectos hijos del proyecto de la extensión) pero no se activan al entrar en el modo edición.
> 
> INFO 12577 AWT-EventQueue-0 org.gvsig.andami.Launcher - Initializing plugin "extension"
> INFO 12578 AWT-EventQueue-0 org.gvsig.andami.Launcher - Initializing extensions of plugin "extension": 
> INFO 12578 AWT-EventQueue-0 org.gvsig.andami.Launcher - Initializing ......ServiceExtension...
> INFO 12579 AWT-EventQueue-0 org.gvsig.andami.Launcher - Initializing ......EIELEditionManagerExtension... 
> 
> ¿A cambiado algo en la forma de registrar o activar las extensiones? ¿Debería aparecer en el log al arrancar que se inicializan las funcionalidades? 
> 
> Con la informacion que pasas no tengo ni idea de que te esta pasando.
> Es muy dificil interpretar los pedazos de codigo sueltos que pones en el 
> correo.
> 
> Sobre si el mecanismo de manejo de extensiones a cambiado en gvSIG 2.4, 
> incluido el registro y activacion de estas,
> no, no ha cambiado.
> 
> Si lo que tienes es una herramienta normal de gvSIG, deberia funcionar
> exactamente como lo hacia en la 2.3.
> 
> Si lo que estas haciendo es una herramienta que se integre con las
> herramientas de edicion de gvSIG, ten en cuenta que el framework de edicion
> se reescribio de cero hace ya algunas versiones de gvSIG (en 2014). 
> 
> Lo que tuvieses para la edicion vieja no te valdra para la actual. 
> 
> Normalmente para hacer una herramienta de edicion no precisarias implementar 
> ninguna clase EditionManagerExtension, EditionManagerObserver o ServiceExtension 
> en gvSIG. Ni siquiera has de meter en el "config.xml" nada para añadir una nueva 
> herramienta que se integre con la edicion de gvSIG. 
> Tan solo crear y registrar un proveedor de edicion de forma similar a como lo hacen 
> los proyectos: 
> 
> - org.gvsig.vectorediting.symmetry
> - org.gvsig.vectorediting.offset
> 
> Y registrarlo en el EditingProviderManager del framework de edicion. 
> Esos dos proyectos se separaron del core de edicion vectorial para
> que pudiesen servir de ejemplo de como hacer un proveedor nuevo
> de edicion. Puedes encontrarlos en:
> 
> https://redmine.gvsig.net/redmine/projects/gvsig-vector-editing/repository [1]
> 
> Comentas que tienes dos "extesiones", supongo que te refieres a dos plugins
> de gvSIG. Y que en cada uno tienes una herramienta de edicion. Aunque en los
> ejemplos de "symetry" y "offset" hay una herramienta (proveedor) por plugin,
> puedes meter en el mismo plugin los dos proveedores, incluso en el mismo
> proyecto maven, tan solo tendrias que registrar en el library del proyecto los dos.
> 
> Mientras no controles como funciona el mecanismo de herramientas de edicion,
> si quieres crear una herramienta nueva, mi consejo, es que copies y renombres 
> una de esas dos herramientas y vayas adaptando su codigo para hacer lo que 
> quieras.
> 
> Y te insisto...
> Nada que tengas de la edicion vieja de gvSIG te funcionara sobre la edicion
> actual (gvSIG 2.2 y siguientes).
> 
> Si lo que quieres es seguir manteniendo tus herramientas de edicion antiguas,
> y no adaptarte a las de gvSIG 2.2, Puedes coger el codigo de la 
> edicion antigua y tratar de adatarlo a las versiones actuales de gvSIG, y
> que tus usuarios usen la edicion vieja y no la que viene de base con la aplicacion.
> De todos modos, aunque eso es una posibilidad, tarde o temprano tendras que
> adaptar tu codigo a la edicion actual, o quedarte anclado en una version de gvSIG.
> 
> Un saludo
> Joaquin
> 
> Saludos. 
> 
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en listserv.gva.es
> Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección: https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores [2]
> 
> -- 
> --------------------------------------
> Joaquin Jose del Cerro Murciano
> Development and software arquitecture manager at gvSIG Team
> jjdelcerro en gvsig.com
> jjdelcerro en gvsig.org
> gvSIG Association
> www.gvsig.com [3]
> www.gvsig.org [4] 
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en listserv.gva.es
> Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección: https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores [2]

_______________________________________________
gvSIG_desarrolladores mailing list
gvSIG_desarrolladores en listserv.gva.es
Para ver histórico de mensajes, editar sus preferencias de usuario o
darse de baja en esta lista, acuda a la siguiente dirección:
https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
[2]

-- 
--------------------------------------
Joaquin Jose del Cerro Murciano
Development and software arquitecture manager at gvSIG Team
jjdelcerro en gvsig.com
jjdelcerro en gvsig.org
gvSIG Association
www.gvsig.com [3]
www.gvsig.org [4] 
_______________________________________________
gvSIG_desarrolladores mailing list
gvSIG_desarrolladores en listserv.gva.es
Para ver histórico de mensajes, editar sus preferencias de usuario o
darse de baja en esta lista, acuda a la siguiente dirección:
https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores 

Links:
------
[1]
https://redmine.gvsig.net/redmine/projects/gvsig-vector-editing/repository
[2]
https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
[3] http://www.gvsig.com
[4] http://www.gvsig.org
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20180615/8dadd5b4/attachment.html>


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