Hallo werte Java Gemeinde,
ich habe wieder mal eine Frage, bei der ich nicht so richtig nen Ansatzpunkt finde. Für mein Softwareprojekt möchte ich, ganz so wie in Eclipse, eine Baumstruktur haben, die mir die Inhalte eines Workspace auflistet. Der Workspace soll austauschbar sein und dann jeweils die beinhaltete Struktur laden.
Relationen im Workspace:
- Workspace HAS_MANY Projekt
- Projekt HAS_MANY ScientificDatasets
- ScientificDatasets HAS_ONE Dataset (Das File, dass die Daten enthält)
- ScientificDatasets HAS_ONE Description (Beschreibung des Datafiles, variable Hashmap)
- ScientificDatasets HAS_MANY Visualizations (Die unterschiedlichen Darstellungen des Datafiles)
- Visualization HAS_ONE VolumeSourceObject (beschreibt, wie das Precalculate File zu verwenden ist)
- VolumeSourceObject HAS_ONE PrecalculatedValuesFile
- Visualization HAS_ONE VolumeRepresentationObject (beschreibt, mit welcher Technik das VolumeSourceObject visualisiert wird)
- Visualizations HAS_ONE ViewportSettingsObject (beschreibt die Visualisierungseinstellungen)
Im Prinzip möchte ich diese Verknüpfungen als Baumstruktur darstellen. Die zwei Objekte, die einem Binary File im Filesystem entsprechen müssen, sind Dataset und PrecalculatedValuesFile. Alles andere könnte man doch in einem XML File unterbringen? Da gibt es doch sicher eine automatisierung für? Der User soll die Möglichkeit haben, Alle diese Objete per Kontextmenu zu erstellen, editieren und löschen. Vor allem soll aber die Struktur gespeichert werden und beim nächsten laden des Workspace wieder verfügbar sein.
Es soll in der Software so Aussehen (halt mit Logos später) wie im linken bereich unter Projects:
Ich denke, dass mir eines der Persistenz Frameworks helfen könnte, bin mir aber nicht sicher. Ich stelle mir vor allem die Frage, wie ich es anstelle, dass die Software beim nächsten Start wieder ihren Workspace öffnet, und sich aber auch andere bereits einmal geöffnete Workspaces merkt. Wo legt man diese Information am Besten ab? Ja, zu den Objekte, die eine entsprechung im Filesystem haben müssen, die sollten nicht in eine Datenbank, da sie sehr groß (>2GB) werden können. Außerdem sollte die Software auch ohne DB System lauffähig sein.
Hoffe, ich konnte halbwegs klar vermitteln, was ich mir vorstelle. Könnt ihr mir einen Rat geben, wo ich anfange, zu lesen, wie man das Vorhaben umsetzt? Gibt es ein Framework zum Speichern auf dem Filesystem?
Vielleicht würde es auch Sinn machen, den entsprechenden Source Code in Eclipse mal zu begutachten. Habe das ganze Eclipse Projekt als CVS importiert, ist halt sehr viel, ich habs noch nicht gefunden. Wisst ihr, welcher Teil für den Teil ProjectExplorer <-> Filesystem zuständig ist?
ich habe wieder mal eine Frage, bei der ich nicht so richtig nen Ansatzpunkt finde. Für mein Softwareprojekt möchte ich, ganz so wie in Eclipse, eine Baumstruktur haben, die mir die Inhalte eines Workspace auflistet. Der Workspace soll austauschbar sein und dann jeweils die beinhaltete Struktur laden.
Relationen im Workspace:
- Workspace HAS_MANY Projekt
- Projekt HAS_MANY ScientificDatasets
- ScientificDatasets HAS_ONE Dataset (Das File, dass die Daten enthält)
- ScientificDatasets HAS_ONE Description (Beschreibung des Datafiles, variable Hashmap)
- ScientificDatasets HAS_MANY Visualizations (Die unterschiedlichen Darstellungen des Datafiles)
- Visualization HAS_ONE VolumeSourceObject (beschreibt, wie das Precalculate File zu verwenden ist)
- VolumeSourceObject HAS_ONE PrecalculatedValuesFile
- Visualization HAS_ONE VolumeRepresentationObject (beschreibt, mit welcher Technik das VolumeSourceObject visualisiert wird)
- Visualizations HAS_ONE ViewportSettingsObject (beschreibt die Visualisierungseinstellungen)
Im Prinzip möchte ich diese Verknüpfungen als Baumstruktur darstellen. Die zwei Objekte, die einem Binary File im Filesystem entsprechen müssen, sind Dataset und PrecalculatedValuesFile. Alles andere könnte man doch in einem XML File unterbringen? Da gibt es doch sicher eine automatisierung für? Der User soll die Möglichkeit haben, Alle diese Objete per Kontextmenu zu erstellen, editieren und löschen. Vor allem soll aber die Struktur gespeichert werden und beim nächsten laden des Workspace wieder verfügbar sein.
Es soll in der Software so Aussehen (halt mit Logos später) wie im linken bereich unter Projects:

Ich denke, dass mir eines der Persistenz Frameworks helfen könnte, bin mir aber nicht sicher. Ich stelle mir vor allem die Frage, wie ich es anstelle, dass die Software beim nächsten Start wieder ihren Workspace öffnet, und sich aber auch andere bereits einmal geöffnete Workspaces merkt. Wo legt man diese Information am Besten ab? Ja, zu den Objekte, die eine entsprechung im Filesystem haben müssen, die sollten nicht in eine Datenbank, da sie sehr groß (>2GB) werden können. Außerdem sollte die Software auch ohne DB System lauffähig sein.
Hoffe, ich konnte halbwegs klar vermitteln, was ich mir vorstelle. Könnt ihr mir einen Rat geben, wo ich anfange, zu lesen, wie man das Vorhaben umsetzt? Gibt es ein Framework zum Speichern auf dem Filesystem?
Vielleicht würde es auch Sinn machen, den entsprechenden Source Code in Eclipse mal zu begutachten. Habe das ganze Eclipse Projekt als CVS importiert, ist halt sehr viel, ich habs noch nicht gefunden. Wisst ihr, welcher Teil für den Teil ProjectExplorer <-> Filesystem zuständig ist?