Frage

Ich habe die folgenden Daten:

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

und ich brauche, um in der Lage zu bestimmen die system - /subsystem-Tupel aus den Benutzer.Ich muss in der Lage sein, um Benutzer hinzuzufügen, zu jeder Zeit, ohne auf den Wiederaufbau und die erneute Bereitstellung des Systems.

Ich weiß, die Datenbank wäre die beste option, hier aber Ich kann nicht mit einer Datenbank-Tabelle.

Momentan habe ich es gemappt eine hash-map, aber ich möchte es nicht hart kodiert werden.Ich dachte über die Verwendung einer properties-Datei, aber ich kann nicht visualisieren, wie würde ich es implementieren.Sonst noch jemand eine Idee?

Nicht, dass es darauf ankommt, aber ich bin mit JAVA, weblogic 10.3.

War es hilfreich?

Lösung

Ich würde für etwas gehen so einfach wie:

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

Benutzer (id) wird als „primäre“ Schlüssel in Ihren Eigenschaften und eine sehr einfache Verkettung Ihrer Felder verwendet, um Ihre Tabellenwerte zu speichern. Ich benutze dies sehr oft: glauben Sie mir, es ist viel mächtiger als es scheinen mag :)

Andere Tipps

Sie könnten dies tun, indem Sie eine HashMap (wie Sie es jetzt tun), und speichern Sie es mit XStream.

XStream können Sie serialise/deserialise Java-Objekte an/aus lesbar/editierbar XML.Sie können dann Schreibe dies, um (sagen wir) ein Dateisystem, und das Ergebnis ist editable durch hand.

Der Nachteil ist, dass es eine serialisieren in XML ein Java-Objekt, also nicht so unmittelbar erkennbar wie eine properties-Datei zu Bearbeiten.Aber es ist immer noch sehr gut lesbar und einfach zu verstehen, wenn jemand aus der Ferne technische.Ob dies eine geeignete Lösung hängt von der Zielgruppe dieser Datei.

Klingt wie etwas, das man sehr gut YAML ..
nutzen könnten SnakeYAML sieht eine praktikable Java-Implementierung sein.

Für dieses Projekt habe ich mit der Lösung von Olivier vorgeschlagen gegangen. Einige Projekt contrainst (Vermächtnis des Projekts) verhindern, mich mit einer wahrscheinlich bessere Lösung der Verwendung von XStream für gehen.

Thx für das Futter zurück Jungs

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top