mappatura dei dati nei file delle proprietà
-
03-07-2019 - |
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.
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.
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