[Gvsig_desarrolladores] (sin asunto)

Vidal Toboso vidaltoboso en fomex.es
Jue Abr 12 12:37:38 CEST 2007


Hola Vicente y gracias por la respuesta.
He comprobado en StartEditing que efectivamente isWritable() se utiliza,
pero en el caso de que sea “false” sólo muestra un mensaje de warning
sin parar el inicio de la edición como tú comentabas.
¿Tenéis pensado introducir en un futuro un isEditable() y un
setEditable(boolean b), o algo así (cualquir método que indique que
aunque la fuente de datos sea writable-isWritable()=true- no podamos
modificarla, aunque sí se pueda seguir guardando la versión modificada
en otro formato o en otra fuente), sin tocar el isWritable() que tiene
su sentido, para poder dar permisos de edición sobre la fuente a las
capas desde la programación?, yo creo que sería muy útil, porque muchas
veces se trabaja sobre datos compartidos que están en un servidor y a
los que acceden muchos usuarios y no todos con los mismos permisos. 
Sobre lo de otro usuario de bbdd sólo con permisos de lectura yo también
lo he contemplado, pero no puede ser porque se desea tener sólo un
usuario de bbdd.
Otra opción que había pensado era crear vistas de todas las tablas, ya
que creo que en postgresql no se pueden hacer ni inserts ni updates ni
deletes sobre las vista, y cargar, según los permisos, la vista o la
tabla original.
Sobre el driver de Postgis es cierto que siempre devuelve “true” en
isWritable() y creo que así debe ser tras saber lo que significa
realmente isWritable().
La idea que me propones en la conclusión creo que es la que voy a
adoptar, por lo menos temporalmente. Pero aquí me surge una duda, para
hacer que la extensión StartEditing esté siempre oculta o desactivada
tengo que modificar el isVisible() (o isEnabled(), según sea el caso)
del código fuente poniéndolos a ‘false’ o hay alguna forma de hacerlo
desde la nueva extensión que genere. Es por no tocar el código fuente.
 
Gracias de nuevo y saludos,
 
Vidal Toboso
 
-----Mensaje original-----
De: gvsig_desarrolladores-bounces en runas.cap.gva.es
[mailto:gvsig_desarrolladores-bounces en runas.cap.gva.es] En nombre de
Vicente Caballero Navarro
Enviado el: jueves, 12 de abril de 2007 11:11
Para: Lista de Desarrolladores de gvSIG
Asunto: Re: [Gvsig_desarrolladores] (sin asunto)
 
Hola Vidal.
 
El isWritable() no está pensado para que el usuario lo cambie como el
isVisible(), ya que depende de si existe un writer para su formato,
permisos de escritura, etc...
Sirve para saber si con lo que tenemos es posible escribir. No implica
que hagamos algo como en el caso de setVisible(boolean b), que si
cambiamos el estado de una capa.
Creo que tener un usuario en la base de datos con permisos de lectura
sería la solución razonable para no sobreescribir la capa, no sé si
estaría bien poner otro nivel más de permisos sobre las capas para
permitir escribir pero de todas formas esto no quitaría la posibilidad
de editar una capa.
 
Esta es la teoría pero he mirado el driver que comentas de PostGis y no
tiene en cuenta nada de esto, devuelve un true siempre. 
 
Y por otro lado, gvSIG no limita la posibilidad de entrar en edición
según sea writable ya que te permite después guardar en otro formato.
 
Conclusión: ahora mismo para controlar que capas puedes poner en edición
y cuales no, solo se me ocurre ocultar la extensión StartEditing y poner
una nueva que extienda de ella reimplementado su método isVisible() para
que compruebe si la capa seleccionada es o no la que queremos que se
pueda editar.
 
Un saludo.
 
Vicente Caballero Navarro
Grupo desarrollo gvSIG.
IVER TI S.A.
C/ Salamanca, 50-52
46005-Valencia
Tlf.+34963163400
www.iver.es
www.gvsig.com
----- Original Message ----- 
From: Vidal Toboso <mailto:vidaltoboso en fomex.es>  
To: 'Lista de Desarrolladores de
<mailto:gvsig_desarrolladores en runas.cap.gva.es>  gvSIG' 
Sent: Thursday, April 12, 2007 9:44 AM
Subject: RE: [Gvsig_desarrolladores] (sin asunto)
 
Buenos días a todos
 
Esta claro que lo más recomendable no es modificar el código fuente,
pero ante este caso yo no he encontrado otra solución.
Estoy desarrollando una extensión para validar y autenticar a los
usuarios que se conecten a la base de datos. Es decir, el usuario no
tiene ni idea del password de usuario de bbdd, ya que es algo que
proporciona el servicio web en el que se autentica. 
Para añadir capas al proyecto sí hice lo que comentaba Álvaro de copiar
parte del código fuente y generar mi propia extension (en concreto de la
extensión extJDBC), pero para el caso que nos ocupa de abrir y cargar un
proyecto, la cosa no es tan sencilla, porque se trata de la extensión
Project, que es bastante extensa (guardar archivio, abrir archivo, etc),
aun así no descarto realizarlo.
Así, tuve que modificar la clase DefaultDBDriver.java
(libFMap/src/com.iver.cit.gvsig.fmap.drivers) y crear una clase
JValidationDlg.java, que por coherencia añadí en
(libIverUtiles/src/com.iver.utiles.swing).
 
Por cierto, tengo una duda sobre las layer que cargo: he visto que
FLayer tiene el método isWritable(), al igual que isVisible(), pero
compruebo que no existe setWritable(boolean), y sí setVisible(boolean).
El isWritable(), al ser una FLayer una interfaz, creo que acaba
ejecutando el isWritable() de PostGisDriver.java cuando se trata de un
acceso a base de datos postgresql, que es mi caso, y este suele devolver
“true” o por lo menos lo mismo para todas las capas que tiran de ese
mismo driver, mi pregunta es ¿habría alguna forma de poder especificar
en cada capa, aunque consuman el mismo driver, si es editable o no?
 
Gracias por adelantado y un saludo,
 
Vidal Toboso 
 
 
 
-----Mensaje original-----
De: gvsig_desarrolladores-bounces en runas.cap.gva.es
[mailto:gvsig_desarrolladores-bounces en runas.cap.gva.es] En nombre de
Alvaro Zabala
Enviado el: miércoles, 11 de abril de 2007 19:31
Para: Lista de Desarrolladores de gvSIG
Asunto: Re: [Gvsig_desarrolladores] (sin asunto)
 
Maria José, no te recomiendo esa opción por lo obvio (siempre es
recomendable no introducir cambios en el código fuente para evitar
dolores de cabeza cuando vengan nuevas actualizaciones).

Sé que la gente del proyecto  estaba trabajando en la posibilidad de que
cada extensión pueda persistir los datos que necesite, y que estos se
guarden en el archivo GVP...(ellos ya te amplian la información). 

No obstante, si finalmente tuvieras que modificar el código de gvSIG, te
recomiendo que te crees tu propia extensión (aunque el código de esta
sea 99% copy+paste del código de gvSIG). Así evitarás problemas con las
actualizaciones (aunque estos siempre pueden acabar apareciendo) 

Un saludo.



El día 11/04/07, mj.gomez en telvent.abengoa.com <
mj.gomez en telvent.abengoa.com <mailto:mj.gomez en telvent.abengoa.com> >
escribió:

Ya probé esa opción y no me funcionó. Al final he modificado el código
donde se muestra la ventana para introducir el password y lo que hago es
cogerla de un fichero. 
Saludos 



"David Fernández Martínez" <fmdavid en gmail.com> 
"David Fernández Martínez" 
Enviado por: gvsig_desarrolladores-bounces en runas.cap.gva.es 
11/04/2007 09:09 
Por favor, responda a Lista de Desarrolladores de gvSIG         

Para: 
"Lista de Desarrolladores de gvSIG"
<gvsig_desarrolladores en runas.cap.gva.es> 

cc: 
 

Asunto: 
Re: [Gvsig_desarrolladores] (sin asunto)




Ocurre lo mismo con Postgres.

Si en el fichero gvp se añade una propiedad "password" a mano...
...
<property key="username" value="postgres"/>
<property key="password" value="postgres"/> 
...
funciona y no te pide la contraseña. Pero en cuanto haces algún cambio
en el gvp y lo guardas, se piede esa información y te lo vuelve a pedir.

¿Alguien conoce algún remedio más eficaz?
Gracias.

El día 10/04/07,  <mailto:mj.gomez en telvent.abengoa.com>
mj.gomez en telvent.abengoa.com <mj.gomez en telvent.abengoa.com > escribió: 

Buenos días. Haciendo pruebas con gvSig descubro que cuando guardamos en
un proyecto una capa procedente de la base de datos, en mi caso Oracle,
y cierro el programa, cuando lo vuelvo a abrir e intento cargar el
proyecto obtengo una ventana en la que se solicita la clave del usuario
de conexión a la base de datos. Es posible omitir esta ventana y
configurar la clave de alguna otra manera? 

Saludos y gracias 

_______________________________________________
gvSIG_desarrolladores mailing list
gvSIG_desarrolladores en runas.cap.gva.es 
http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores 




-- 
----------------------------------------
David Fernández Martínez

fmdavid en gmail.com _______________________________________________
gvSIG_desarrolladores mailing list
gvSIG_desarrolladores en runas.cap.gva.es
http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores


_______________________________________________
gvSIG_desarrolladores mailing list
gvSIG_desarrolladores en runas.cap.gva.es 
http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores



-- 
Alvaro Zabala Ordóñez 
Tlf: 657235082 

  _____  

_______________________________________________
gvSIG_desarrolladores mailing list
gvSIG_desarrolladores en runas.cap.gva.es
http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://runas.cap.gva.es/pipermail/gvsig_desarrolladores/attachments/20070412/e230bbe8/attachment-0001.htm


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