Qualcuno di voi ricorda il mio famoso progettino?
http://www.di.unipi.it/~marcod/Didat.../progetto.html
Mi sto incasinando con la struttura dati...
Io ho usato una serie di Vector incapsulati in questo modo
Ma questa soluzione ha un inconveniente e due problemicodice:[VectorHost] |--[NomeHost][ObjectDirectory] |--[NomeDirectory][ObjectFile] |--[ListaFile] [ObjectDirectory2] |--[NomeDirectory][ObjectFile] [ObjectDirectory3] |--[NomeDirectory][ObjectFile] |--[NomeHost2][ObjectDirectory] |--[NomeHost3][ObjectDirectory] ...e così via
1) Quando scambio tra i vari host i dati, devo passare i vari ObjectHost con un nome identificativo... quindi facciamo un esempio... quando io pubblico qualcosa il mio indirizzo IP è 127.0.0.1, ma quando passo questo oggetto a un'altro pc quel 127.0.0.1 dovrà essere sostituito con l'ip reale (es. 192.168.0.45)... beh... male di poco.. devo solo tirare fuori il nomeHost e sostituirlo... un po' laborioso ma efficace.
2) Il secondo è un problema di gestione... es.. se in Linux cerco di pubblicare tutto il contenuto della directory "/" mi da un errore di Out Of Memory.. anche qui il male non è grosso... non credo che qualcuno voglia condividere tutti i file del proprio computer.
3) L'ultimo ma non ultimo problema accade se cancello una directory... ammettiamo che pubblichi una directory
/usr/share/fabrizio
Automaticamente verranno inserite anche tutte le sottodirectory presenti... es.
/usr/share/fabrizio/java
/usr/share/fabrizio/immagini
Ora ammettiamo che pubblichi anche la directory
/usr/share
Se io rimuovo la directory /usr/share/fabrizio, in realtà tale directory e le sue sottodirectory devono essere ancora accessibili, perchè sottodirectory di /usr/share, quindi come eliminare /usr/share/fabrizio?
se rimuovo quella e le sue sottodir, se ho pubblicata una "sopradirectory" mi ritrovo a non poter più accedere a directory che in realtà sono accessibili.
E il discorso vale anche al contrario... se rimuovessi /usr/share, e come metodo utilizzassi "elimina tutte le dir che cominciano con", rischierei di rimuovere la directory /usr/share/fabrizio (e relative sottodir) che in realta sono ancora condivise e quindi devono essere accessibili!
Ed ora arrivano le domande...
1) Esiste una struttura dati che mi risolva il problema 2? quello della memoria?
2) E' tanto sbagliata l'idea di usare dei refer, ovvero un terzo campo (String) che indichi "chi" ha inserito tale directory? in questo modo quando voglio rimuovere una directory deve rimuovere solo quelle che hanno tale directory come refer!
Lo so che è incasinato... pensate a me che ci sto lavorando su... quanto mi ci sto intrippando!!!
Cmq, Buon Anno!