gvSIG bugs #2224

Al indicar en el config.xml una dependencia opcional a veces parece no tener efecto

Added by Joaquín del Cerro Murciano over 10 years ago. Updated over 8 years ago.

Status:Closed% Done:

0%

Priority:NormalSpent time:-
Assignee:Joaquín del Cerro Murciano
Category:Application
Target version:2.3.0-2402
Severity:Blocker Add-on version:
gvSIG version:2.1.0 Add-on build:
gvSIG build:2216 Add-on resolve version:
Operative System: Add-on resolve build:
Keywords: Proyecto:
Has patch:No Hito:
Add-on name:Unknown

Description

Pues eso, que a veces las dependecias opcionales en el config.xml son ignoradas.

A ver si te puedo explicar lo que visto.

Si cuando carga los plugins se encuentra esto, por este orden:

- PluginA
- PluginB depende de PluginA opcional

Lo hace bien, mete en el classloader de PluginB el PluginA. Pero si se encuentra:

- PluginB depende de PluginA opcional
- PluginA

Cuando carga el PluginB no tiene cargado el PluginA y no la añade al classloader, y
como es opcional decide que no bloquea la carga del PluginB y sigue la carga del resto
con el classloader de PluginB "chungo".

Sepodria hacer que cuando encuentra el PluginB, si existe la carpeta del PluginA (dependencyPluginConfig!=null), en lugar de opcional lo trate como obligatorio, eso hara que continue la carga del resto sin cargar el B, y que lo intente en una segunda vuelta, con lo que cuando lo intente de nuevo ya estara cargado el A y funcionara.

En general esto iria, pero si por lo que sea peta la carga del PluginA lo interpretara como que hay una referencia ciclica y gvSIG no arrancara. No se lo grabe que puede ser esto. Se supone que tendria que haber un plugin con un config chungo o algo asi para que esto pasese.

Creo que el codigo de Launcher.pluginsClassLoaders habria que rehacerlo y cambiar el
algoritmo que usa pare resolver las dependencias, pero nunca se cuando puede ser
el momento de tocarlo.


Related issues

Related to Application: gvSIG desktop - gvSIG bugs #2956: Raster calculator simplified GUI Closed 10/31/2014 02/13/2015

Associated revisions

Revision 42364
Added by Joaquín del Cerro Murciano over 8 years ago

refs #2224. rehecho el algoritmo de decision del orden de carga e inicializacion de los plugins.

History

#1 Updated by Álvaro Anguix about 10 years ago

  • Assignee set to Joaquín del Cerro Murciano

#2 Updated by Álvaro Anguix about 10 years ago

Con los plugins que tenemos ahora (2220) no sucede.

#3 Updated by Ignacio Brodín about 10 years ago

Esto se solucionó hace dos o tres builds. Comprobé que funcionara porque afectaba para algún proyecto de raster. Yo lo pondría a fixed si Joaquin no dice lo contrario y en caso de que de problemas en el futuro se abre nuevamente.

#4 Updated by Álvaro Anguix about 10 years ago

  • Target version changed from 2.1.0-2223-rc1 to 2.2.0-2311-rc2

Lo dejamos abierto porque no sucede, pero podría suceder si cambian las dependencias de algún plugin.
Vamos, que se queda abierto, para estar alertas y saber que hay que arreglarlo a futuro (lo paso post-2.1).

#5 Updated by Álvaro Anguix about 10 years ago

  • Assignee deleted (Joaquín del Cerro Murciano)

#6 Updated by Álvaro Anguix over 9 years ago

#7 Updated by Álvaro Anguix over 9 years ago

  • Target version deleted (2.2.0-2311-rc2)

#8 Updated by Joaquín del Cerro Murciano over 8 years ago

  • Severity set to Blocker
  • Target version set to 2.3.0-2402
  • Assignee set to Joaquín del Cerro Murciano
  • Status changed from New to Fixed

#9 Updated by Álvaro Anguix over 8 years ago

  • Status changed from Fixed to Closed

Also available in: Atom PDF