[Gvsig_desarrolladores] Duda sobre método nuevo al reemplazar el Deprecated

Iago Alonso Alonso ialonso en enxenio.es
Jue Ene 5 17:27:16 CET 2017


Hola, revisando código he visto en una clase un método donde se usa una
función marcada como Deprecated. En concreto es: 

PUBLIC DYNOBJECTSET GETINFO(JAVA.AWT.POINT P, DOUBLE TOLERANCE,
CANCELLABLE CANCEL) THROWS LOADLAYEREXCEPTION, DATAEXCEPTION; 

De la interfaz InfoByPoint. En el javadoc pone que se uitilice ésta en
su lugar: 

PUBLIC DYNOBJECTSET GETINFO(POINT P, DOUBLE TOLERANCE) THROWS
LOADLAYEREXCEPTION, DATAEXCEPTION; 

En este caso se usa org.gvsig.fmap.geom.primitive.Point 

El problema surge cuando en el método que utiliza la función _getInfo_
Deprecated la cambio por la nueva. La funcionalidad del plugin ya no
funciona, no se abre la ventana con la información del elemento pulsado.


El código original se usa primero: 

(java.awt.Point) POINT IMAGEPOINT = NEW POINT((INT)
EVENT.GETPOINT().GETX(), (INT) EVENT.GETPOINT().GETY()); 

y después más adelante: 

DYNOBJECTSET BIT = ((VECTORLAYER) LACAPA).GETINFO(IMAGEPOINT,
     MAPCTRL.GETMAPCONTEXT().GETVIEWPORT().TOMAPDISTANCE(3), NEW
CANCELLABLE() {
          PUBLIC BOOLEAN ISCANCELED() {
               RETURN FALSE;
          } 

          PUBLIC VOID SETCANCELED(BOOLEAN CANCELED) {
          }
     }); 

Donde CANCELLABLE es _org.gvsig.tools.task.Cancellable_ (Deprecated
también). Si ahora intento cambiarlo por el método nuevo recomendado: 

GEOMETRYMANAGER GEOMETRYMANAGER = GEOMETRYLOCATOR.GETGEOMETRYMANAGER();
(org.gvsig.fmap.geom.primitive.Point) POINT IMAGEPOINT =
GEOMETRYMANAGER.CREATEPOINT((INT) EVENT.GETPOINT().GETX(), (INT)
EVENT.GETPOINT().GETY(), SUBTYPES.GEOM2D); 

y después más adelante: 

DOUBLE TOLERANCE =
MAPCTRL.GETMAPCONTEXT().GETVIEWPORT().TOMAPDISTANCE(3);
DYNOBJECTSET BIT = ((VECTORLAYER)LACAPA).GETINFO(IMAGEPOINT, TOLERANCE);


Para DYNOBJECTSET utilizo ORG.GVSIG.TOOLS.DYNOBJECT.DYNOBJECTSET. 

Si ahora ejecuto gvSIG con las extensiones, cuando pincho en un elemento
de la capa para obtener su información ya no se abre una ventana con los
datos del elemento pero con el código antiguo marcado como Deprecated
sí. 

¿Por qué al realizar el cambio no funciona, tiene que ver algo con usar
org.gvsig.fmap.geom.primitive.Point en lugar de java.awt.Point? ¿Estoy
creando, gerenando, usando o importando algo que no es correcto? 

Un saludo y gracias.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20170105/d68c4180/attachment.html>


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