![]() |
|
|
|||||||
| Plattformprogrammierung OSGi, Eclipse RCP und Co. |
|
|
|
Themen-Optionen | Thema durchsuchen | Ansicht |
| #1 (permalink) | |||
|
Neuer Benutzer
byte
Registriert seit: 27.08.2011
Fachbeiträge: 11
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
|
Guten Tag,
ich arbeite gerade an einem Plugin, dass mithilfe eines Wizards Daten (erstemal Strings) vom Benutzer einliest. Dabei sollen diese Daten gespeichert werden, da sie für den weiteren Verlauf wichtig sind. Die Frage ist wie speichere ich diese Daten(properties) ab?
Wiess jemand vielleicht Rat bei dem Speichern von Properties, oder gehe ich vielleicht in eine falsche Richtung? Vielen Dank im Vorraus für jede Antwort. |
||
|
|
|
| #2 (permalink) | ||||||||||||||||
|
Premium-Benutzer
Registriert seit: 10.11.2004
Fachbeiträge: 20.047
Abgegebene Danke: 4
Erhielt 429 Danke für 400 Beiträge
|
Erstmal eine Frage:
Wenn letzteres: Es gibt per Default 4 verschiedene Scopes: Default - Default Werte Projekt - bezieht sich auf ein Projekt Instance - bezieht sich auf einen Workspace Installation - bezieht sich auf eine Eclipse Installation Welcher dieser Scopes ist der richtige für dich?
__________________
Take back the Desktop |
|||||||||||||||
|
|
|
|||||||||||||||
| Danke sagt: |
dragon_ (08.09.2011)
|
| #3 (permalink) | |
|
Neuer Benutzer
byte
Themenstarter
Registriert seit: 27.08.2011
Fachbeiträge: 11
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
|
Ja also es sind Projektinformationen. Also wie, wenn ich bei einem JavaProjekt auf den ContextMenüeintrag "Properties " gehe und auf Resource.
Es sind Informationen, die ich für einen späteren Ablauf im Plugin benötige. Somit ist Frage zwei auch beantwortet. Ich brauche ProjectScope. Also sie sollen für das Projekt gespeichert werden. Wenn ich ein anderes Projekt habe sollen nur dessen Properties angezeigt werden. |
|
|
|
| #4 (permalink) | |
|
Premium-Benutzer
Registriert seit: 10.11.2004
Fachbeiträge: 20.047
Abgegebene Danke: 4
Erhielt 429 Danke für 400 Beiträge
|
Genau, der ProjectScope ist dann das richtige. Das bedeutet du brauchst eine Referenz auf das Projekt. Wenn dein Wizard ein WorkbenchWizard ist, bekommt er eine selection übergeben. Dort kannst du dann dein Projekt abholen sofern die Action auf einem Projekt aufgerufen wurde.
__________________
Take back the Desktop |
|
|
|
| #5 (permalink) | |
|
Neuer Benutzer
byte
Themenstarter
Registriert seit: 27.08.2011
Fachbeiträge: 11
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
|
Ok das habe ich so noch nicht ganz verstanden.
Also ich habe einen Wizard zum Erstellen eines Java Projektes. Ich habe als Extension "org.eclipse.ui.newWizards" einen Wizard, der von Wizard ableitet und das Interface INewWizard implementiert, eingefügt. Hierbei entstehen nun verschiedene Eingaben vom Benutzer und am Ende gibt es die JavaProjectWizardPages. Diese Eingaben sollten nun irgendwo gepeichert werden. Hierbei habe ich nicht den Namen des Projektes. Das Projekt wird erst nach dem performFinish() erstellt, daher gibt es dieses vorher nicht. D.h. das problem ist dass ich keien Selection habe. Weder zum Speichern noch zum Abrufen der Properties. Das Speichern sollte eben intern und nicht von einer Benutzeraktion ausgeführt werden. Es stellt sich also die Frage wie bekomme ich mein Projekt zur Laufzeit des Plugins. |
|
|
|
| #6 (permalink) | ||||||||||||||||
|
Premium-Benutzer
Registriert seit: 10.11.2004
Fachbeiträge: 20.047
Abgegebene Danke: 4
Erhielt 429 Danke für 400 Beiträge
|
__________________
Take back the Desktop |
|||||||||||||||
|
|
|
|||||||||||||||
| #7 (permalink) | |
|
Neuer Benutzer
byte
Themenstarter
Registriert seit: 27.08.2011
Fachbeiträge: 11
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
|
Nein ja also in performFinish() habe ich den Projektnamen. Durch die Methode NewJavaProjectPage.getProjectName() bekommt man diesen. Aber den Namen irgendwo zu speichern ist schlecht. Und zwar aus dem Grund, dass der Benutzer sein Projekt umbenennen kann und dann hat man ein Problem wenn man mit diesen Namen, den man bei der Erstellung angegeben hat, benutzt. Deshalb war die Frage wie kommt man an den Namen des Projektes zur Laufzeit ohne Selection??
|
|
|
|
| #8 (permalink) | |
|
Premium-Benutzer
Registriert seit: 10.11.2004
Fachbeiträge: 20.047
Abgegebene Danke: 4
Erhielt 429 Danke für 400 Beiträge
|
Wer redet denn davon den Namen des Projekts irgendwo zu speichern? Du brauchst den Namen nur zum performFinish Zeitpunkt um den richtigen Projekt Scope zu erstellen und dort deine Settings zu hinterlegen.
__________________
Take back the Desktop |
|
|
|
| #9 (permalink) | ||||||||||||||||||
|
Neuer Benutzer
byte
Themenstarter
Registriert seit: 27.08.2011
Fachbeiträge: 11
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
|
Jop ok danke , genau soviel habe ich auch verstanden. Sorry ich bin schon ein Schritt weiter gegangen.
Ok also die Einstellungen kann ich nun speichern. Die nächste Frage wäre nun, wie ich auf die Einstellungen zugreife? Man wird hierfür ja auch den ProjectScope benötigen.
D.h. wie kommt man nun dazu, auf die properties zuzugreifen? |
|||||||||||||||||
|
|
|
|||||||||||||||||
| #10 (permalink) | |
|
Premium-Benutzer
Registriert seit: 10.11.2004
Fachbeiträge: 20.047
Abgegebene Danke: 4
Erhielt 429 Danke für 400 Beiträge
|
Ja, statt put ein get. Verstehe das Problem nicht wirklich.
__________________
Take back the Desktop |
|
|
|
| #11 (permalink) | |
|
Neuer Benutzer
byte
Themenstarter
Registriert seit: 27.08.2011
Fachbeiträge: 11
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
|
OK, vielleicht habe ich auch nur gerade einen Gedankenfehler. Also Szenario:
Ok ich habe nun meinen Gedankenfehler gemerkt Sorry. Ich habs nur nochmal für andere Leser zusammengefasst, was ich machen wollte.Ich werde es gleich oder morgen früh einmal so ausprobieren und schaun ob ich noch Fragen habe oder das Thema als erledigt markieren kann. Schon einmal einen rießen Dank an Wildcard.
|
|
|
|
| #12 (permalink) | |
|
Premium-Benutzer
Registriert seit: 10.11.2004
Fachbeiträge: 20.047
Abgegebene Danke: 4
Erhielt 429 Danke für 400 Beiträge
|
Ich glaube jetzt hast du's
![]() Noch zur Info: die Einstellungen liegen dann auch tatsächlich im Projekt. Genauer im versteckten Verzeichnis .setings. Der angenehme Seiteneffekt: damit können die Projektspezifischen Eigenschaften ins Repository committed werden und sind damit allen Team Mitgliedern zugänglich.
__________________
Take back the Desktop |
|
|
|
|
| Themen-Optionen | Thema durchsuchen |
| Ansicht | |
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Liste als Properties | JimK | Java Basics - Anfänger-Themen | 6 | 27.07.2011 07:17 |
| Swing Komponente als Bild speichern | Kamairo | AWT, Swing, JavaFX & SWT | 11 | 02.06.2011 14:54 |
| JAR, Pfad und Properties | Camino | Allgemeine Java-Themen | 17 | 14.04.2011 17:05 |
| Speichern von Einstellungen | mabuhay | Allgemeine Java-Themen | 13 | 03.05.2010 21:52 |
| java.lang.ClassCastException | maenae | Java Basics - Anfänger-Themen | 9 | 26.09.2005 16:39 |
| Lesezeichen |
|
|