[Gvsig_desarrolladores] Habilitar extensiones en gvSIG 2.4
Joaquin Jose del Cerro Murciano
jjdelcerro en gvsig.org
Vie Jun 15 13:38:36 CEST 2018
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/s
> ervices/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
>
>
> 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
>>
>>
>
>
> --
> --------------------------------------
> 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
> www.gvsig.org
>
> _______________________________________________
> 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
>
>
> _______________________________________________
> 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
>
>
--
--------------------------------------
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
www.gvsig.org
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20180615/f39ce293/attachment.html>
Más información sobre la lista de distribución gvSIG_desarrolladores