[Gvsig_usuarios] NavTable Forms

Andrés Maneiro amaneiro en icarto.es
Jue Nov 3 15:56:59 CET 2011


Hola Juan Carlos,

me parece que lo que puede estar pasando es que no ha ido del todo bien la 
actualización.

Lo que me hace pensar eso es que, por un lado, en las últimas versiones el 
nombre de los paquetes ha cambiado (el nombre de la clase es ahora: 
es.icarto.gvsig.navtableforms.AbstractForm) y por el otro, el código de 
AbstractForm de las últimas versiones comparado con el que adjuntas es distinto 
también:
http://forge.osor.eu/plugins/scmsvn/viewcvs.php/*checkout*/trunk/extNavTableForms/src/es/icarto/gvsig/navtableforms/AbstractForm.java?content-type=text%2Fplain&rev=446&root=navtable

Lo que te recomendaría sería que borrases (con un backup previo de lo que 
tengas) las antiguas versiones de la librería (el jar, el proyecto en el 
workspace de eclipse, etc) y que añadieses las nuevas. Algunos recursos de utilidad:

- Aquí encontrarás un proyecto ejemplo funcionando:
http://forge.osor.eu/plugins/wiki/index.php?NavTableForms&id=122&type=g

- Aquí una mini-guía de cómo migrar un proyecto con la antigua librería al 
formato nuevo: 
http://forge.osor.eu/plugins/wiki/index.php?NavTableFormsMigrationGuide&id=122&type=g

Espero que eso te ayude.
Andrés

On 03/11/11 14:02, Gonzalez, Juan Carlos wrote:
> Buenas tardes Andrés,
>
> Efectivamente, modificando la versión de las librerías ha funcionado.Eso sí, el
> ejemplo que tenía operativo con la antigua (con la limitación que motivó mi
> consulta) ha dejado de funcionar y he tenido que realizar el siguiente cambio(en
> rojo):
>
>> >> Clase es.udc.cartolab.gvsig.navtableforms.AbstractForm
>
>
> protected Vector<Integer> getIndexesOfChangedValues() {
>
> Vector<Integer> changedValues = new Vector<Integer>();
>
> try {
>
> SelectableDataSource rs = layer.getRecordset();
>
> Map<String, String> widgetValues = formModel.getWidgetValues();
>
> Value value;
>
> String key;
>
> String valueInRecordSet;
>
> String valueInModel;
>
> for (int index = 0; index < rs.getFieldCount(); index++) {
>
> value = rs.getFieldValue(currentPosition, index);
>
> valueInRecordSet = value
>
> .getStringValue(ValueWriter.internalValueWriter);
>
> key = rs.getFieldName(index);
>
> valueInModel = widgetValues.get(key.toLowerCase());
>
> *if (valueInModel==null) valueInModel = widgetValues.get(key.toUpperCase());*
>
> valueInRecordSet = valueInRecordSet.replaceAll("''", "").trim();
>
> if (valueInModel!=null) {
>
> valueInModel = valueInModel.trim();
>
> if (!valueInRecordSet.equals(valueInModel)) {
>
> changedValues.add(new Integer(index));
>
> }
>
> }
>
> }
>
> } catch (ReadDriverException e) {
>
> logger.error(e.getMessage(), e);
>
> }
>
> return changedValues;
>
> }
>
> He tenido que añadir esa condición porque los campos de nuestro fichero SHAPE y
> de otras tablas geográficas que tenemos cargadas en Oracle Spatial están
> definidos en mayúsculas. ¿Contempla vuestra librería la opción de que los campos
> aparezcan definidos de esta forma o es obligatorio que estén en minúsculas?
>
> Muchas gracias por tu ayuda.
>
> Juan Carlos
>
> -----Missatge original-----
> De: gvsig_usuarios-bounces en listserv.gva.es
> [mailto:gvsig_usuarios-bounces en listserv.gva.es] En nom de Andrés Maneiro
> Enviat: miércoles, 02 de noviembre de 2011 16:45
> Per a: Lista de Usuarios de gvSIG
> Tema: Re: [Gvsig_usuarios] NavTable Forms
>
> On 02/11/11 16:15, Gonzalez, Juan Carlos wrote:
>
>>  Hola Andrés,
>
>>
>
>>  Muchas gracias por tu pronta respuesta. Acabo de seguir tu recomendación y ya
> me he dado de alta en la lista que indicabas. No obstante, respondo a tu correo
> a través de la lista de gvSIG, puesto que ya inicié la consulta a través de esta
> lista.
>
>>
>
> Estupendo :)
>
>>  En referencia a la pregunta que me formulas, el botón de guardar no aparece
> activo (está deshabilitado) y sólo consigo que se active si selecciono un
> registro e indico la opción de copiar registro seleccionado. En cambio, lo que
> necesito es poder manipular los atributos de elementos existentes y guardar los
> cambios.
>
> El botón de guardar está desactivado al inicio y sólo se activa en caso de que
> se edite alguno de los valores del formulario (es decir, cuando el valor que se
> ve en el formulario sea distinto al de la capa).
>
> En alguna versión antigua teníamos un bug con este comportamiento y puede que te
> esté ocurriendo lo mismo. Échale un ojo a este reporte a ver si es el caso:
>
> http://forge.osor.eu/tracker/index.php?func=detail&aid=15225&group_id=122&atid=462<http://forge.osor.eu/tracker/index.php?func=detail&aid=15225&group_id=122&atid=462>
>
> Lo que te recomendaría es que descargues del repositorio la última versión de la
> librería y pruebes con ésa. En caso de que no pudieses actualizar la librería,
> bastaría con que aplicases el parche que se adjunta al reporte anterior.
>
> Andrés
>
> _______________________________________________
>
> gvSIG_usuarios mailing list
>
> gvSIG_usuarios en listserv.gva.es<mailto:gvSIG_usuarios 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:
>
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios
>
>
>
> _______________________________________________
> gvSIG_usuarios mailing list
> gvSIG_usuarios 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:
>
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios


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