[Gvsig_italian] programmazione java

gaghi gaghi84 a gmail.com
Lun 5 Maggio 2008 07:23:24 PDT


che il get mi restituisce parte del .gvp lo sapevo, ma mi interessa solo la
parte relativa al layer attivo. di default quando apri un layer gvsig
imposta di default il valore "current projection" a 23030. io invece voglio
modificarlo in base ai valori dell'extent. non so se sono stato chiaro?
insomma evitare di avere una rappresentazione sbagliata del sistema di
riferimento. una volta trovato quello attualmente impostato lo confronto con
quello che dovrebbe essere. a questo punto vorrei ricaricare questi metadati
riguardo al layer con i valoi corretti e fare un refresh dell'immagine(per
questo basta settare dirty a true?).

Esiste un metodo della classe FLayer per modificare questo valore? non mi è
sembrato...
Comunque
XMLEntity xmle = XMLEntity.parse("C:\\prova.xml");
non funziona e non mi è sembrato che sia implementato in XMLEntity un metodo
del genere.

Ciao



Juan Lucas Dominguez Rubio wrote:
> 
> Ciao,
>  
> I metodi getXMLEntity())  e setXMLEntity() si usano generalmente per
> salvare/caricare la descrizione del layer quando l'uttente salva/apre un
> progetto di gvSIG. Quello che hai salvato (C:\\prova.xml) è un elemento di
> un file XML con i suoi sotto-elementi, cioè un pezzo del file GVP. Nella
> classe XMLEntity c'è il metodo statico parse(String data), con cui
> dovrebbe essere possibile fare ciò che vuoi. Devi caricare l'intero file 
> C:\\prova.xml in un String.  Ho trovato su internet un modo semplice di
> farlo (attach file_to_string.txt). Poi, sarebbe più o meno così:
>  
> File f = new File("c:\\prova.xml");
> String str = file2String(f);
> XMLEntity xe = XMLEntity.parse(str);
> layer.setXMLEntity(xe);
>  
> Comunque, il modo piu normale di modificare qualcosa in un layer sarebbe
> usando i suoi metodi. Modificare il file c:\\prova.xml e poi ricaricarlo
> con setXMLEntity mi sembra un po' pericoloso...cosa vuoi cambiare nel
> layer?
>  
>  
> Saluti,
>  
> Juan Lucas Domínguez Rubio
> Prodevelop SL, Valencia (España)
> Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
> http://www.prodevelop.es <http://www.prodevelop.es/> 
> 
> ________________________________
> 
> De: gvsig_italian-bounces a lists.gvsig.org en nombre de gaghi
> Enviado el: lun 05/05/2008 12:25
> Para: gvsig_italian a lists.gvsig.org
> Asunto: Re: [Gvsig_italian] programmazione java
> 
> 
> 
> 
> ciao, grazie per gli utilissimi consigli che ho ricevuto finora.
> adesso mi trovo di fronte all'ultimo(per ora).
> Devo manipolare un file xml e modificarne il valore di un tag.
> 
> FLayer lyr = root.getLayer(0);
> 
> File f=new File("C:\\prova.xml");
>                                 FileOutputStream fos;
>                                 try {
>                                         fos = new FileOutputStream(f);
>                                         PrintStream ps=new
> PrintStream(fos);
>                                         ps.println(lyr.getXMLEntity());
>                                 } catch (FileNotFoundException e) {
>                                         e.printStackTrace();
>                                 }
> 
> Facendo in questo modo riesco a scrivere il contenuto del file xml
> restituito dal layer e metterlo in un file. quindi a leggerlo come un
> normale file di testo.
> 
> Una volta svolte le operazioni che mi servono sul file vorrei
> "ricaricarlo"
> tramite il metodo setXMLEntity(XMLEntity x) e aggiornare il layer. Non so
> però come fare perchè JAVA non mi consente il casting da String a XML.
> 
> Grazie e scusate l'insistenza.
> --
> View this message in context:
> http://www.nabble.com/programmazione-java-tp16935242p17056947.html
> Sent from the gvSIG Italian mailing list archive at Nabble.com.
> 
> _______________________________________________
> Gvsig_italian mailing list
> Gvsig_italian a lists.gvsig.org
> https://gvsig.org/lists/mailman/listinfo/gvsig_italian
> 
> 
> 
> public  String file2String(File f) {
>   
>       StringBuffer TextBuffer = new StringBuffer();
>       String desc;
>       char[] chars = null;
>       int c;
>       FileReader in;
>   
>       try {
>   
>         in = new FileReader( f );
>   
>         while ( ( c = in.read() ) != -1 )
>           TextBuffer.append( (char) c );
>         in.close();
>   
>       } catch ( IOException ioe ) {
>         TextBuffer.append( ioe.toString() );
>       }
>   
>       return TextBuffer.toString();
>   
>     } // end file2String
> _______________________________________________
> Gvsig_italian mailing list
> Gvsig_italian a lists.gvsig.org
> https://gvsig.org/lists/mailman/listinfo/gvsig_italian
> 
> 

-- 
View this message in context: http://www.nabble.com/programmazione-java-tp16935242p17062751.html
Sent from the gvSIG Italian mailing list archive at Nabble.com.




More information about the Gvsig_italian mailing list