[Gvsig_desarrolladores] (sin asunto)

Vicente Caballero Navarro vicente.caballero en iver.es
Jue Abr 12 11:10:53 CEST 2007


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 
  To: 'Lista de Desarrolladores de 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> 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, 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/b689dd8d/attachment-0001.htm


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