EMF und Notification Framework

Diskutiere EMF und Notification Framework im Plattformprogrammierung Forum; Ja, so. Bei einem einfachen Command spielt es keine große Rolle, aber bei komplexeren Operationen ist das Change Command IMO komfortabler als n...

  1. Gast2
    Gast2 Guest
    Okay.
    Was ich noch nicht verstehe ist das ComposedAdapterFactory die geb ich ja dem AdapterFactoryEditingDomain im Konstruktor mit. Und der ComposedAdapterFactory kann ich noch weitere Factory adden. Ich check net ganz für was das gut ist?
     
  2. Wildcard
    Wildcard Neues Mitglied
    2 wichtige Gründe:
    1. Eine Adapter Factory kann nicht nur die Edit Adapter erstellen, sondern auch Adapter die deinem Modell zB neue Funktionalität verleiht, ähnlich wie IAdaptable in Eclipse. Anstatt nun alle denkbaren Adapter Typen in einer einzigen Factory Bündeln zu müssen kannst du dank der Composed Adapter Factory mehrere verschiedene Adapter Factories implementieren und sie dann alle einer Composed Adapter Factory hinzufügen. Die Composed Adapter Factory unterstützt dann alle Adapter Typen der einzelnen Factories

    2. Wenn man sich mit EMF vertraut gemacht hat will man es nicht mehr missen. Man verwendet EMF nun für so ziemlich jede Art Modell in der eigenen Anwendung. Manche dieser Modelle referenzieren wieder andere Modell. Willst du nun zB ein Modell in einem TreeViewer darstellen dessen Kinder wieder aus anderen Modellen kommen dann erlaubt dir die Composed Adapter Factory das du alle benötigten Item Provider in einer einzigen Factory bündelst. Der TreeViewer kann jetzt Objekte aus den unterschiedlichsten Domainen (Ecore Modellen) korrekt rendern ohne die anderen Modelle überhaupt zu 'kennen'.
     
  3. Gast2
    Gast2 Guest
    Okay soweit bin ich wohl noch nicht :)...

    Gibt es dazu ne gut Seite ? Wie man durch einen Adapater neue Funktioniltät einem Model gibt?


    Aber das hat jetzt nichts mit dem undo/Redo support zu tun oder? Weil ich hab der ComposedAdapterFactory keine weitere Factory hinzugefügt und es klappt trotzdem

    Code (Java):

            ComposedAdapterFactory adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
            BasicCommandStack commandStack = new BasicCommandStack();
           
            editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new HashMap<Resource, Boolean>());
     
     
    Zuletzt von einem Moderator bearbeitet: 20. Dez. 2010
  4. Wildcard
    Wildcard Neues Mitglied
    Indirekt schon. Du übergibst die globale Registry an die ComposedAdapterFactory. In der Registry sind alle ItemProviderAdapterFactories bekannt die sich per ExtensionPoint anmelden (der per default generierte Edit Code enthält auch eine plugin.xml mit einer solchen Extension).
    Wenn nun ein Objekt deines Modells auf einen Item Provider adaptiert werden soll findet die Composed Adapter Factory die passende ItemProviderAdapterFactory über den Extension Point und instanziert sie. Damit werden deine Item Provider verwendet um die Labels, Kinder usw berechnen.
    Beim Databinding werden dann die gleichen Item Provider verwendet um Commands zu erzeugen. Diese Commands werden über die Edit Domain ausgeführt und damit funktioniert Undo und Redo.
     
  5. Gast2
    Gast2 Guest
    Ah den Extension Point hab ich noch gar nie beachtet, gut dann macht das Sinn =)
     
  6. Gast2
    Gast2 Guest
    1.Klappt das eigentlich auch irgendwie wenn als input mehrere roots hat? oder muss man dann extra noch ein Root Object anlegen in EMF?

    Also ich hab quasi eine Klasse Root und die kann mehrer Nodes aufnehmen.
    Ich habe mehrere Roots die würde ich gerne auch anzeigen lassen.

    2. Unterstützt die Factory auch DeferredTrees? Oder muss man hierfür noch etwas anlegen?
    Also es wäre schön wenn da auch "Pending" steht wenn das Laden der Kinder etwas länger dauert? Ist das so ohne weiteres möglich?

    Also sowas :
    Code (Java):

                AdapterFactory factory = new ProvidermodelItemProviderAdapterFactory();
                viewer.setLabelProvider(new AdapterFactoryLabelProvider(factory));
                viewer.setContentProvider(new AdapterFactoryContentProvider(factory));
                List<Root> roots= new ArrayList<Root>();
                for(int i = 0 ;i < 5; i++){
                    Root root = ProvidermodelFactory.eINSTANCE.createRoot();
                    for(int j = 0; j<5;j++){
                        Node node = ProvidermodelFactory.eINSTANCE.createNode();
                        root.getChildren().add(node);
                    }
                    roots.add(root);
                }
               
                viewer.setInput(roots);
               
     
     
    Zuletzt von einem Moderator bearbeitet: 7. Jan. 2011
  7. Wildcard
    Wildcard Neues Mitglied
    Wenn etwas nicht funktioniert mach dir einfach einen ContentProvider der an einen AdapterFactoryContentProvider delegiert aber bestimmte Anfragen anders/selbst handelt.

    Eclipse bietet dafür schon eine fertige Klasse. AFAIR hieß sie DeferredTreeContentManager
     
  8. Alan4
    Alan4 Neues Mitglied
    Hallo zusammen,
    ich habe eine Frage bitte bezüglich EMF Forms.

    Ich bin bis jetzt dazu bekommen, dass ich aus einer XSD ein Listobjekt nun nur Pull-Down-Menü in EMF Forms bekomme, und das wäre die Fragestellung, wie ich aus einer XSD eine ListBox in EMF Forms bekommen kann?
    Ist das möglich? Oder es ist schon so festgelegt?

    Außerdem könnte man die UI nach der Erstellung irgendwie als XML Beschreibung (Also XML Datei) abspeichern?

    Ich bedanke mich im Voraus für eure Antwort und Unterstützung.

    Beste Grüße
    Alan Jaff
     
  9. temi
    temi Aktives Mitglied
    Before writing an answer, keep an eye on the date of the question ;)
     
  10. DerWissende
    DerWissende Bekanntes Mitglied
    Welches Jahr haben wir denn nochmal heute/in diesem Jahr? :rolleyes::oops: .... Bei dem ganzen Nicht mehr Zeitumsteller kann man ja wohl Durcheinander kommen :D

    (Oder anders, scannst du alte Themenlücken?)
     
  11. Hinweis: Du möchtest Java lernen? Vielleicht hilft dir dieser Kurs hier weiter. Sichere dir hier den Zugriff auf umfangreiches Java-Know How und starte richtig durch!
Die Seite wird geladen...

EMF und Notification Framework - Ähnliche Themen

Notification mit Firebase Notification anpassen
Notification mit Firebase Notification anpassen im Forum Mobile Geräte
Script ausführen wenn Browser Notification eingetroffen ist?
Script ausführen wenn Browser Notification eingetroffen ist? im Forum Java Basics - Anfänger-Themen
Android Push Notification
Android Push Notification im Forum Mobile Geräte
Datenbankverbindung in Service für Push Notification
Datenbankverbindung in Service für Push Notification im Forum Mobile Geräte
Notification nicht mehr senden nachdem sie geklickt wurde
Notification nicht mehr senden nachdem sie geklickt wurde im Forum Mobile Geräte
Thema: EMF und Notification Framework