[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