Myśli, porady, tutoriale na temat środowiska Eclipse (i nie tylko)...

poniedziałek, 21 kwietnia 2008

Eclipse Modeling Framework (EMF), część III

Ostatnio wygenerowaliśmy kod, a w tej części tutoriala spróbujemy z tego kody skorzystać.

  1. W projekcie FamilyTree stwórzmy pakiet familytree.main (klikamy prawym przyciskiem na katalog src i wybieramy New->Package). W pliku plugin.xml wchodzimy na zakładkę Dependencies i w sekcji Required Plug-ins klikamy przycisk Add i w nowym oknie wpisujemy org.eclipse.emf.ecore.xmi (jest to dodatkowy plugin, który pozwoli nam na prosty zapis instancji naszego modelu do pliku) i zatwierdźcie wybór klikając OK.
  2. Ściągamy TEN plik z klasą ModelMain, kopiujemy go do nowego pakietu i otwieramy w edytorze. W klasie znajdziecie m.in. następujące trzy metody:
    • createModel - tworzy kilka elementów modelu
    • saveModel - zapisuje model do pliku
    • loadModel - wczytuje model z pliku oraz wypisuje na konsolę znalezione dzieci zapisanej do pliku rodziny

    Łatwo zauważyć, że kod wczytywania i zapisywania modelu może być reużywany w prawie niezmienionej postaci. Natomiast kod operujący na modelu nie różni się prawie niczym od operacji na zwykłych klasach (jedyną różnicą jest korzystanie z fabryki przy tworzeniu obiektów).
  3. Uruchommy kod, klikając prawym przyciskiem myszy na edytorze i wybierając Run As-> Java Application.
  4. Zobaczmy teraz jak działa powiadamianie o zmianach. W klasie ModelMain odkomentujmy metodę listenForChanges oraz jej wywołanie w metodzie main. W metodzie listenForChanges pokazany jest przykład prostego nasłuchiwania na zmiany w modelu. W naszym przypadku nasłuchujemy na zmiany obiektu son, zauważmy że gdy zostajemy powiadomieni o zmianie to mamy łatwy dostęp do wartości przed zmianą, jak i do wartości po zmianie. Uruchommy kod (tak jak w poprzednim punkcie), aby zobaczyć efekt.

    Na tym dzisiaj kończymy, w kolejnej części zobaczymy jak uruchomić wygenerowany przez EMF'a edytor i jak nim operować.

Brak komentarzy: