[Gvsig_desarrolladores] error en capa y convertir un dato numerico expresado en Value a Long o algo así, operable y cambiar el color de un shape

Eduardo Cristóbal Enríquez edu_ce_1988 en hotmail.com
Lun Mayo 24 16:02:44 CEST 2010


He ido a copiar una capa existente y bueno, aparentemente se copia bien sin 
errores, aparece en el panel derecho del visor junto con las demas capas y 
el dibujo, el nombre y todo parece que está bien, pero cuando hago click en 
información y la selecciono me salta un java.lang.NullPointerException: null

El código usado para copiarla es:

try {
	FLayer copia = capas.getLayer(nombreCapaSeleccionada).cloneLayer();
	if (copia != null) {
	copia.setVisible(true);
	MapControl mapControl = v.getMapControl();
	mapControl.getMapContext().getLayers().addLayer(copia);
	}
	} catch (Exception e1) {
	e1.printStackTrace();
	}

pero cuando lo ejecuto me da un error, copio el log:

java.lang.NullPointerException: null 
com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.process(DefaultStrategy.java:393) 
com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.queryByRect(DefaultStrategy.java:115) 
com.iver.cit.gvsig.fmap.operations.strategies.ShpStrategy.queryByRect(ShpStrategy.java:618) 
com.iver.cit.gvsig.fmap.operations.strategies.ShpStrategy.queryByPoint(ShpStrategy.java:752) 
com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.queryByPoint(DefaultStrategy.java:419) 
com.iver.cit.gvsig.fmap.layers.FLyrVect.queryByPoint(FLyrVect.java:1071) 
com.iver.cit.gvsig.fmap.layers.FLyrVect.getInfo(FLyrVect.java:1082) 
com.iver.cit.gvsig.project.documents.view.toolListeners.InfoListener.point(InfoListener.java:423) 
com.iver.cit.gvsig.fmap.tools.Behavior.PointBehavior.mouseReleased(PointBehavior.java:99) 
com.iver.cit.gvsig.fmap.tools.CompoundBehavior.mouseReleased(CompoundBehavior.java:275) 
com.iver.cit.gvsig.fmap.MapControl$MapToolListener.mouseReleased(MapControl.java:1471) 
java.awt.Component.processMouseEvent(Component.java:5517) 
javax.swing.JComponent.processMouseEvent(JComponent.java:3135) 
java.awt.Component.processEvent(Component.java:5282) 
java.awt.Container.processEvent(Container.java:1966) 
java.awt.Component.dispatchEventImpl(Component.java:3984) 
java.awt.Container.dispatchEventImpl(Container.java:2024) 
java.awt.Component.dispatchEvent(Component.java:3819) 
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212) 
java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892) 
java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822) 
java.awt.Container.dispatchEventImpl(Container.java:2010) 
java.awt.Window.dispatchEventImpl(Window.java:1791) 
java.awt.Component.dispatchEvent(Component.java:3819) 
java.awt.EventQueue.dispatchEvent(EventQueue.java:463) 
com.iver.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:58) 
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242) 
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163) 
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) 
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) 
java.awt.EventDispatchThread.run(EventDispatchThread.java:110) 
java.lang.NullPointerException java.lang.NullPointerException: null 
com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.process(DefaultStrategy.java:393) 
com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.queryByRect(DefaultStrategy.java:115) 
com.iver.cit.gvsig.fmap.operations.strategies.ShpStrategy.queryByRect(ShpStrategy.java:618) 
com.iver.cit.gvsig.fmap.operations.strategies.ShpStrategy.queryByPoint(ShpStrategy.java:752) 
com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.queryByPoint(DefaultStrategy.java:419) 
com.iver.cit.gvsig.fmap.layers.FLyrVect.queryByPoint(FLyrVect.java:1071) 
com.iver.cit.gvsig.fmap.layers.FLyrVect.getInfo(FLyrVect.java:1082) 
com.iver.cit.gvsig.project.documents.view.toolListeners.InfoListener.point(InfoListener.java:423) 
com.iver.cit.gvsig.fmap.tools.Behavior.PointBehavior.mouseReleased(PointBehavior.java:99) 
com.iver.cit.gvsig.fmap.tools.CompoundBehavior.mouseReleased(CompoundBehavior.java:275) 
com.iver.cit.gvsig.fmap.MapControl$MapToolListener.mouseReleased(MapControl.java:1471) 
java.awt.Component.processMouseEvent(Component.java:5517) 
javax.swing.JComponent.processMouseEvent(JComponent.java:3135) 
java.awt.Component.processEvent(Component.java:5282) 
java.awt.Container.processEvent(Container.java:1966) 
java.awt.Component.dispatchEventImpl(Component.java:3984) 
java.awt.Container.dispatchEventImpl(Container.java:2024) 
java.awt.Component.dispatchEvent(Component.java:3819) 
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212) 
java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892) 
java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822) 
java.awt.Container.dispatchEventImpl(Container.java:2010) 
java.awt.Window.dispatchEventImpl(Window.java:1791) 
java.awt.Component.dispatchEvent(Component.java:3819) 
java.awt.EventQueue.dispatchEvent(EventQueue.java:463) 
com.iver.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:58) 
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242) 
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163) 
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) 
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) 
java.awt.EventDispatchThread.run(EventDispatchThread.java:110) 
java.lang.NullPointerException java.lang.NullPointerException: null 
com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.process(DefaultStrategy.java:393) 
com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.queryByRect(DefaultStrategy.java:115) 
com.iver.cit.gvsig.fmap.operations.strategies.ShpStrategy.queryByRect(ShpStrategy.java:618) 
com.iver.cit.gvsig.fmap.operations.strategies.ShpStrategy.queryByPoint(ShpStrategy.java:752) 
com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.queryByPoint(DefaultStrategy.java:419) 
com.iver.cit.gvsig.fmap.layers.FLyrVect.queryByPoint(FLyrVect.java:1071) 
com.iver.cit.gvsig.fmap.layers.FLyrVect.getInfo(FLyrVect.java:1082) 
com.iver.cit.gvsig.project.documents.view.toolListeners.InfoListener.point(InfoListener.java:423) 
com.iver.cit.gvsig.fmap.tools.Behavior.PointBehavior.mouseReleased(PointBehavior.java:99) 
com.iver.cit.gvsig.fmap.tools.CompoundBehavior.mouseReleased(CompoundBehavior.java:275) 
com.iver.cit.gvsig.fmap.MapControl$MapToolListener.mouseReleased(MapControl.java:1471) 
java.awt.Component.processMouseEvent(Component.java:5517) 
javax.swing.JComponent.processMouseEvent(JComponent.java:3135) 
java.awt.Component.processEvent(Component.java:5282) 
java.awt.Container.processEvent(Container.java:1966) 
java.awt.Component.dispatchEventImpl(Component.java:3984) 
java.awt.Container.dispatchEventImpl(Container.java:2024) 
java.awt.Component.dispatchEvent(Component.java:3819) 
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212) 
java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892) 
java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822) 
java.awt.Container.dispatchEventImpl(Container.java:2010) 
java.awt.Window.dispatchEventImpl(Window.java:1791) 
java.awt.Component.dispatchEvent(Component.java:3819) 
java.awt.EventQueue.dispatchEvent(EventQueue.java:463) 
com.iver.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:58) 
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242) 
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163) 
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) 
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) 
java.awt.EventDispatchThread.run(EventDispatchThread.java:110) 
java.lang.NullPointerException java.lang.NullPointerException: null 
com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.process(DefaultStrategy.java:393) 
com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.queryByRect(DefaultStrategy.java:115) 
com.iver.cit.gvsig.fmap.operations.strategies.ShpStrategy.queryByRect(ShpStrategy.java:618) 
com.iver.cit.gvsig.fmap.operations.strategies.ShpStrategy.queryByPoint(ShpStrategy.java:752) 
com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.queryByPoint(DefaultStrategy.java:419) 
com.iver.cit.gvsig.fmap.layers.FLyrVect.queryByPoint(FLyrVect.java:1071) 
com.iver.cit.gvsig.fmap.layers.FLyrVect.getInfo(FLyrVect.java:1082) 
com.iver.cit.gvsig.project.documents.view.toolListeners.InfoListener.point(InfoListener.java:423) 
com.iver.cit.gvsig.fmap.tools.Behavior.PointBehavior.mouseReleased(PointBehavior.java:99) 
com.iver.cit.gvsig.fmap.tools.CompoundBehavior.mouseReleased(CompoundBehavior.java:275) 
com.iver.cit.gvsig.fmap.MapControl$MapToolListener.mouseReleased(MapControl.java:1471) 
java.awt.Component.processMouseEvent(Component.java:5517) 
javax.swing.JComponent.processMouseEvent(JComponent.java:3135) 
java.awt.Component.processEvent(Component.java:5282) 
java.awt.Container.processEvent(Container.java:1966) 
java.awt.Component.dispatchEventImpl(Component.java:3984) 
java.awt.Container.dispatchEventImpl(Container.java:2024) 
java.awt.Component.dispatchEvent(Component.java:3819) 
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212) 
java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892) 
java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822) 
java.awt.Container.dispatchEventImpl(Container.java:2010) 
java.awt.Window.dispatchEventImpl(Window.java:1791) 
java.awt.Component.dispatchEvent(Component.java:3819) 
java.awt.EventQueue.dispatchEvent(EventQueue.java:463) 
com.iver.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:58) 
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242) 
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163) 
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) 
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) 
java.awt.EventDispatchThread.run(EventDispatchThread.java:110)


alguien sabe por que puede ser esto y los otros 2 problemas?
Gracias

--------------------------------------------------
From: "Eduardo Cristóbal Enríquez" <edu_ce_1988 en hotmail.com>
Sent: Monday, May 24, 2010 2:04 AM
To: <gvsig_desarrolladores en listserv.gva.es>
Subject: [Gvsig_desarrolladores] convertir un dato numerico expresado en 
Value a Long o algo así, operable y cambiar el color de un shape

> Hola,
>
> tengo dos problemas, el primero es que cuando hago una consulta de esta
> forma:
>
> Value strArea = ds.getFieldValue(selection.nextSetBit(0),idArea);
> Va todo bien, sin ningún tipo de error, y me muestra el dato que está
> asignado a dicha capa, en este caso:  4.272045E7
> El problema es que el número es en realidad: 42720450,00000  (lo se porque
> abro el .dbf con el excel y ahí sí se muestra el valor real).
> Entonces la pregunta es la siguiente: cómo puedo pasar de Value a Long (o 
> a
> un dato con el que pueda operar): He probado cosas como:
> (long)strArea.toString() pero no me deja.
>
> El segundo es que no se como puedo cambiar el color de una capa (layer), y
> necesito cambiárselo (que aparezca con otro color cuando se muestra en el
> mapa) .
> Lo podría hacer dentro de este código o como sería?
>
> try {
> FBitSet selection =
> capaSeleccionada.queryByRect(capaSeleccionada.getFullExtent());
>
> if (!selection.isEmpty()){
> DataSource ds = ((AlphanumericData)capaSeleccionada).getRecordset();
> ds.start();
> ds.(algun método que me permita cambiar el color)
>
>
> Muchas gracias.
> Un saludo.
>
> Eduardo.
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en listserv.gva.es
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
> 


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