[WEB APPLICATION] algoritmo directory tree Clicca QUI per vedere il messaggio nel forum |
diverso |
ciao
sto realizzando la parte di gestione documentale di una web application
devo realizzare anche la parte di consultazione delle directory, subdirectory, documenti, ...
questa parte probabilmente la realizzo con tecnologia j2ee - ajax .
la domanda è: conoscete qualche algoritmo per la lettura dell'albero delle directory?
le directory sono salvate su db in questo modo:
c'è la tabella folder con i seguenti campi:
- id_folder (identificativo della cartella)
- id_parent (0 se la folder appartiene alla root, altrimenti è una subdirectory di un'altra folder)
- is_doc ('Y' se la cartella identifica un documento che in realtà è una folder che contiene le varie versione del documento, 'N' se è una folder normale)
io pensavo ad una funzione ricorsiva, ma ancora non sono arrivato a sviluppare quella parte, ma stavo cominciando a ragionarci per quando dovrò realizzarla. |
ripe |
Ma sono directory fisiche o 'virtuali'? |
diverso |
sono virtuali chiaramente |
yeah |
L'attraversamento degli alberi in genere si fa con funzioni ricorsive o cicli.
Le prime sono più semplici ma non hai controllo sulla crescita dello stack delle chiamate (rischio overflow dello stack), i secondi sono un pò più complessi :)
Visto che hai un db dietro, qual'è l'obiettivo dell'attraversamento delle directory? |
ripe |
Voto per la funzione ricorsiva... ho appena realizzato qualcosa del genere e poiché le cartelle erano rappresentate da classi (in VB.NET), non avendo certezza se la parent fosse già stata letta o fosse in un record successivo del database ho proceduto così. Ho letto tutte le cartelle dal database senza operare alcun calcolo e le ho memorizzate in una List generica (Of Cartella), dopodiché ho cercato la root nella list e tramite la classica funzione ricorsiva ho assegnato a ogni classe cartella a partire dalla root le sue sottocartelle andando a creare l'albero. |
|
|
|