Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet
Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet
Il nuovo Deebot X12 OmniCyclone abbina un sistema di raccolta dello sporco senza sacchetto, un rullo di lavaggio esteso e la tecnologia FocusJet per intervenire più efficacemente sulle macchie più persistenti. Un robot completo e preciso che aiuta a tenere puliti i pavimenti di casa con il minimo sforzo
Narwal Flow 2: la pulizia di casa con un mocio a nastro
Narwal Flow 2: la pulizia di casa con un mocio a nastro
Narwal Flow 2 implementa un mocio a nastro che esegue una pulizia dettagliata del pavimento di casa, in abbinamento ad un potente motore di aspirazione della polvere: un prodotto ideale per gestire in autonomia e con grande efficacia le necessità di pulizia dei pavimenti di casa
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
MSI FORGE GK600 TKL WIRELESS: switch lineari hot-swap, tripla connettività, display LCD e 5 strati di fonoassorbimento. Ottima in gaming, a 79,99 euro
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-07-2010, 09:16   #1
jj.69kt
Senior Member
 
L'Avatar di jj.69kt
 
Iscritto dal: Oct 2007
Messaggi: 677
[Java - Tomcat] Permessi di lettura.

Salve,
dopo la domanda inutile dell'altro giorno ho un altro problema che non risco assolutamente a risolvere.

Uso una funzione ricorsiva per reperire tutti i files contenuti in una cartella e le sue sottocartelle, fin qui nessun problema infatti mi funziona tutto con eclipse ed il server fornito dal plugin di GWT, ma se provo a fare deploy sul server dell'università ( http://ltw1008.cs.unibo.it/ ) ho un problema di permessi, nonostante i files siano dentro lo spazio della webApp.
Secondo voi è un problema coi permessi reale o c'è un sistema per aggirarlo?
Inoltre ho provato ad usare un server in locale scaricandomi Apache Tomcat e facendo la deploy nella sua cartela /webapp/phantom/ ed in questo caso mi restituisce "jndi:/localhost/phantom/xml" dove phantom è il nome della webapp.


Ecco il codice che uso:
Codice:
public class DocListServer
		extends RemoteServiceServlet
				implements DocManager {

	private static final long serialVersionUID = -6025311575129578843L;

	/**
	 * URL assoluto del root folder della web-app
	 */
	public static URL absol_ROOT_Url;

	private static FileFilter filter;

	private static ArrayList<TeiDoc> docList;
	private static HashMap<String, String> docTextCache;


	public DocListServer(){
		super();

		initVars();

	}

	
	private void initVars(){
		filter = new FileFilter(".xml");
		docList = new ArrayList<TeiDoc>();
		docTextCache = new HashMap<String, String>();

	}

	public ArrayList<TeiDoc> getDocInfo() {

		return docList;
	}
	
	
	public Boolean scanDirMain() {
		
		if(docList.isEmpty()){
			try {
				absol_ROOT_Url = new URL("file://");
				absol_ROOT_Url = getServletContext().getResource("/");
				scanDir(new URL(absol_ROOT_Url.toString().concat("xml")));

			} catch (MalformedURLException mue) {
				mue.printStackTrace();
				return false;
			} catch (AccessControlException ace){
				System.out.println("Permesso di lettura negato");
				return false;
			}
		}
		
		return true;
	}

	


	/**
	 * this method lists recursively a folder and saves the file list with the associated URI list
	 *  in the <i>files</i> field
	 *  
	 * @param path the directory URI to scan
	 * @throws MalformedURLException 
	 */
	private static void scanDir(URL path) throws MalformedURLException, AccessControlException{
		File[] content = new File[0];
		File dir = new File(path.getFile());
		
		if((content = dir.listFiles(filter)) != null){
			for (File thisFile:content){
				//System.out.println("Content["+i+"] of path "+path+":\n\t"+content[i].toString()+"\n");	// DEBUG
				
				if(thisFile.isFile())
					docList.add( XMLDocManager.getInfo(thisFile.getAbsolutePath(), thisFile.getName()) );
				else
					scanDir(new URL("file://" + thisFile.getAbsolutePath()));
				
			}// END for file list

		} // EndIf content != null
		else
			System.out.println("{content == null} La cartella seguente è vuota: " + path);
	}
}
FileFilter.java
Codice:
public class FileFilter implements FilenameFilter {
	protected String pattern;

	/**
	 * Sets the file extension's filter
	 * @param str the file extension
	 */
	public FileFilter(String str) {
		pattern = str.toLowerCase();
	}

	public boolean accept (File dir, String name) {
		//System.out.println("Dir> "+dir.toString()+"\nFile> "+name); //DEBUG
		return (name.toLowerCase().endsWith(pattern) |
				new File(dir+"/"+name).isDirectory());
	}
}

Grazie per l'aiuto.

EDIT:
Ho sistemato le stringhe che facevano riferimento a costanti e non si capiva bene il codice.
__________________

Desktop: (In Vendita) iMac (12,2) 27" --> i5 QaudCore 2,7GHz, 8GB RAM, 1TB HDD..
Laptop (In Pensione): MacBook PRO (3,1) 15.4" (Glossy, ma pentito) --> 2.2Ghz, 4GB Ram..
Camera: Nikon D80 with Nikkor 18-55mm 1:3-5.6 GII + Nikkor 55-200mm 1:4-5.6 VR
"Mobile":iPhone 5 64Gb
MyEbay: 100%! • Mercatino (Green = Good; Red = Bad) UncleSam, Boxi80, Zuckerbaer, lamerone, danidj, maxmax80

Ultima modifica di jj.69kt : 15-07-2010 alle 13:57.
jj.69kt è offline   Rispondi citando il messaggio o parte di esso
Old 12-07-2010, 08:40   #2
jj.69kt
Senior Member
 
L'Avatar di jj.69kt
 
Iscritto dal: Oct 2007
Messaggi: 677
Nessun'idea?
__________________

Desktop: (In Vendita) iMac (12,2) 27" --> i5 QaudCore 2,7GHz, 8GB RAM, 1TB HDD..
Laptop (In Pensione): MacBook PRO (3,1) 15.4" (Glossy, ma pentito) --> 2.2Ghz, 4GB Ram..
Camera: Nikon D80 with Nikkor 18-55mm 1:3-5.6 GII + Nikkor 55-200mm 1:4-5.6 VR
"Mobile":iPhone 5 64Gb
MyEbay: 100%! • Mercatino (Green = Good; Red = Bad) UncleSam, Boxi80, Zuckerbaer, lamerone, danidj, maxmax80
jj.69kt è offline   Rispondi citando il messaggio o parte di esso
Old 15-07-2010, 10:17   #3
jj.69kt
Senior Member
 
L'Avatar di jj.69kt
 
Iscritto dal: Oct 2007
Messaggi: 677
Nessun'idea? o nessuno che guarda il thread? XD
__________________

Desktop: (In Vendita) iMac (12,2) 27" --> i5 QaudCore 2,7GHz, 8GB RAM, 1TB HDD..
Laptop (In Pensione): MacBook PRO (3,1) 15.4" (Glossy, ma pentito) --> 2.2Ghz, 4GB Ram..
Camera: Nikon D80 with Nikkor 18-55mm 1:3-5.6 GII + Nikkor 55-200mm 1:4-5.6 VR
"Mobile":iPhone 5 64Gb
MyEbay: 100%! • Mercatino (Green = Good; Red = Bad) UncleSam, Boxi80, Zuckerbaer, lamerone, danidj, maxmax80
jj.69kt è offline   Rispondi citando il messaggio o parte di esso
Old 15-07-2010, 11:09   #4
lovaz
Senior Member
 
L'Avatar di lovaz
 
Iscritto dal: Jul 2002
Messaggi: 4334
Devi essere un po' piu' preciso, cosa vuol dire "ho un problema di permessi"?
e "mi restituisce jndi:..."? chi restituisce?
lovaz è offline   Rispondi citando il messaggio o parte di esso
Old 15-07-2010, 13:51   #5
jj.69kt
Senior Member
 
L'Avatar di jj.69kt
 
Iscritto dal: Oct 2007
Messaggi: 677
Si, scusa in effetti i dati potrebbero essere di più.
Il problema di permessi l'ho verificato su un server dell'università mentre n locale mi si resenta il problema della "cartella vuota"..
In pratica ho un controllo ce se la cartella è vuota stampa nello standard output il nome della cartella he risulta vuota, e questo controllo mi restituisce per l'appunto "jndi:/localhost/phantom/xml" quando cerco di leggere la cartella /xml/ che dovrebbe essere nella root della mia webapp.
Purtroppo ho usato Eclipse ed il plugin di GWT per creare il progetto e pare che questo plugin non usi Tomcat come server per cui il codice che funziona su Eclipse non funziona sempre su Tomcat.. Come è successo appunto adesso con la lettura della cartella..

Ho sentito voci che non è possibile leggere un file su Tomcat se no utilizzando uno StreamInput (per esempio FileStreamInput), è vero? Ed in tal caso, come faccio a riconoscere se si tratta di un file o di una cartella?


Perché il mio obbiettivo è quello di avere una lista di files (con le relativa path) contenuti in una cartella e le sue sottocartelle.
__________________

Desktop: (In Vendita) iMac (12,2) 27" --> i5 QaudCore 2,7GHz, 8GB RAM, 1TB HDD..
Laptop (In Pensione): MacBook PRO (3,1) 15.4" (Glossy, ma pentito) --> 2.2Ghz, 4GB Ram..
Camera: Nikon D80 with Nikkor 18-55mm 1:3-5.6 GII + Nikkor 55-200mm 1:4-5.6 VR
"Mobile":iPhone 5 64Gb
MyEbay: 100%! • Mercatino (Green = Good; Red = Bad) UncleSam, Boxi80, Zuckerbaer, lamerone, danidj, maxmax80
jj.69kt è offline   Rispondi citando il messaggio o parte di esso
Old 19-07-2010, 09:52   #6
jj.69kt
Senior Member
 
L'Avatar di jj.69kt
 
Iscritto dal: Oct 2007
Messaggi: 677
Non sono stato sufficientemente esplicativo?
__________________

Desktop: (In Vendita) iMac (12,2) 27" --> i5 QaudCore 2,7GHz, 8GB RAM, 1TB HDD..
Laptop (In Pensione): MacBook PRO (3,1) 15.4" (Glossy, ma pentito) --> 2.2Ghz, 4GB Ram..
Camera: Nikon D80 with Nikkor 18-55mm 1:3-5.6 GII + Nikkor 55-200mm 1:4-5.6 VR
"Mobile":iPhone 5 64Gb
MyEbay: 100%! • Mercatino (Green = Good; Red = Bad) UncleSam, Boxi80, Zuckerbaer, lamerone, danidj, maxmax80
jj.69kt è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet Ecovacs Deebot X12 OmniCyclone: lava grazie a Fo...
Narwal Flow 2: la pulizia di casa con un mocio a nastro Narwal Flow 2: la pulizia di casa con un mocio a...
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Huawei punta sul canale europeo: per il ...
Ubuntu 26.04: le GPU guadagnano il 17% i...
La Commissione UE registra l'iniziativa ...
SSD troppo cari? La soluzione alla crisi...
Anteprima mondiale Hyundai IONIQ 3: segm...
Fintool sbarca su Microsoft 365: arrivan...
Hanno chiesto 1 dollaro per salvare un M...
Arriva AgentExchange, il marketplace di ...
Blizzard fa chiudere Turtle WoW: perché ...
Claude Desktop e la modifica silenziosa ...
Blue Origin ha mostrato gli interni del ...
Linux alla pari di Windows in gioco: con...
Il rientro del secondo stadio del razzo ...
Il controller ufficiale Microsoft per Xb...
DJI Power 1000 Mini: la power station da...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 23:28.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v