gvSIG bugs #2121

NPE modifying a boolean value of Vectorial Layer

Added by Jose Manuel Vivó Arnal over 10 years ago. Updated over 10 years ago.

Status:Closed% Done:

0%

Priority:NormalSpent time:-
Assignee:Juan Lucas Domínguez
Category:Application
Target version:2.1.0-2217-devel
Severity: Add-on version:
gvSIG version:2.0.0 Add-on build:
gvSIG build:2066 Add-on resolve version:
Operative System: Add-on resolve build:
Keywords: Proyecto:
Has patch:Yes Hito:
Add-on name:Unknown

Description

Due to #2120 FeatureAttributeDescriptor.getObjectClass return a null. This produces that DefaultFeature.set throws a NullPointerException when it tries to check value class or coerce value.

This patch solves the problem.

Fix_NPE_on_set_when_objectClass_is_null.patch Magnifier (885 Bytes) Jose Manuel Vivó Arnal, 11/26/2013 01:15 PM


Related issues

Related to Application: gvSIG desktop - gvSIG bugs #2120: Boolean fields aren't identified correctly on PosgreSQL Closed

History

#1 Updated by Juan Lucas Domínguez over 10 years ago

  • Status changed from New to Fixed
  • Assignee set to Juan Lucas Domínguez
  • Target version set to 2.1.0-2223-rc1

Fixing code to check value class or coerce value (patch provided by jmvivo).

gvsig-desktop:r40940

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

  • Status changed from Fixed to New

No veo nada claro el parche.
Tiene pinta que el error esta en otra parte y que aqui se manifiesta.
Probablemente se trate de un error en un proveedor de datos que esta construyendo mal el featuretype, y con este parche escondemos ese error.
Si lo dejamos asi, tapado, probablemente estemos dejando que errores en los proveedores tarden mas en manifestarse.

(Despues de mirar un rato el codigo)

En este caso, el error esta en el codigo del metodo createAttributeFromJDBC de la clase JDBCHelper, en el default del switch, se le esta diciendo que el atributo es de tipo OBJECT, pero no se le dice de que clase de object es a traves del metodo setObjectClass, lo
cual es incorrecto.

Deberiamos meter al metodo checkIntegrity de DefaultEditableFeatureAttributeDescriptor
una comprobacion al respecto...

  if( this.dataType.isObject() && this.objectClass == null ) {
    logger.warn("Incorrect data type object, objectClass is null.");
    ex.add(new AttributeFeatureTypeIntegrityException(this.name));
  }

#3 Updated by Juan Lucas Domínguez over 10 years ago

  • Status changed from New to Fixed

Restoring code and applying new patch provided by jjdelcerro.

gvsig-desktop:r40964

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

  • Target version changed from 2.1.0-2223-rc1 to 2.1.0-2217-devel

#5 Updated by Álvaro Anguix over 10 years ago

  • Status changed from Fixed to Closed

Also available in: Atom PDF