Domanda

Ho i seguenti dati:

User   System    SubSystem
user1  System1   SubSystem1
user2  System1   SubSystem2
user3  N/A       N/A

e devo essere in grado di determinare la tupla di sistema / sottosistema dall'utente. Devo essere in grado di aggiungere utenti in qualsiasi momento senza ricostruire e ridistribuire il sistema.

So che il database sarebbe l'opzione migliore qui, ma non posso usare una tabella di database.

Attualmente l'ho mappato usando una mappa hash ma non voglio che sia hard-coded. Stavo pensando di utilizzare un file delle proprietà ma non riesco a visualizzare come implementarlo. Qualcun altro ha qualche suggerimento?

Non importa, ma sto usando JAVA, su weblogic 10.3.

È stato utile?

Soluzione

Vorrei qualcosa di semplice come:

user1 = userValue
user1.system = systemValue
user1.system.subsystem= subsystemValue
user2 = userValue
user2.system = systemValue
user2.system.subsystem= subsystemValue

utente (id) viene utilizzato come "primario" digitare le proprietà e una concatenazione molto semplice dei campi per memorizzare i valori della tabella. Lo uso molto spesso: fidati di me, è molto più potente di quanto possa sembrare :)

Altri suggerimenti

Puoi farlo usando una HashMap (come fai ora) e archiviarla usando XStream .

XStream consente di serializzare / deserializzare oggetti Java da / a XML leggibile / modificabile. È quindi possibile scrivere questo (ad esempio) un filesystem e il risultato è modificabile a mano.

Il rovescio della medaglia è che si tratta di una serializzazione in XML di un oggetto Java, quindi non immediatamente evidente come un file delle proprietà da modificare. Tuttavia è ancora molto leggibile e facilmente comprensibile da chiunque in remoto. Se questa è una soluzione appropriata dipende dal pubblico di questo file.

Sembra qualcosa che potresti benissimo usare YAML per ..
SnakeYAML sembra un'implementazione Java realizzabile.

Per questo progetto ho scelto la soluzione proposta da Olivier. Alcuni contrasti del progetto (eredità del progetto) mi impediscono di scegliere una soluzione probabilmente migliore dell'uso di XStream.

Grazie per i feed back ragazzi

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top