Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:miw:miw08_gefardxtt_1 [2008/06/15 12:16]
miw
pl:miw:miw08_gefardxtt_1 [2019/06/27 15:50] (aktualna)
Linia 19: Linia 19:
  
 [[pl:​miw:​miw08_gefardxtt_1:​spotkania|Archiwum spotkań]] [[pl:​miw:​miw08_gefardxtt_1:​spotkania|Archiwum spotkań]]
 +
  
  
Linia 43: Linia 44:
  
  
 +
 +
 +===== Source =====
 +
 +  - {{:​pl:​miw:​miw08_gefardxtt_1:​ardeditor_project.zip|Ard Editor Project}}
 +  - {{:​pl:​miw:​miw08_gefardxtt_1:​ardeditor_diagram.zip|Ard Editor Diagram}}
 +  - {{:​pl:​miw:​miw08_gefardxtt_1:​ardeditor_edit.zip|Ard Editor Edit}}
 +
 +
 +==== Sposób uruchomienia ====
 +  - Zaimportuj Ard Editor Diagram oraz Ard Editor Edit jako projekt w Eclipse
 +  - Otwórz oba projekty
 +  - Kliknij prawym przyciskiem na Ard Editor Diagram:
 +    - Run As... -> Eclipse Application
 +  - W nowo otwartym oknie Eclipse utwórz nowy projekt (wystarczy nawet pusty katalog)
 +  - Kliknij //New// -> Examples -> My Diagram
 +  - Otworzy się edytor. Użytkownik musi podać 2 nazwy plików:
 +    - Plik edytora o rozszerzeniu .hml_diagram (odpowiada za rozmieszczenie na ekranie itp)
 +    - Plik modelu o rozszerzeniu .hml (w formacie XML)
  
  
Linia 85: Linia 105:
  
  
-==== 2. Pierwsza próba stworzenia edytora ==== 
  
-=== 2.1 Użycie definicji DTD i translacja do XSD ===+===== 2. Pierwsza próba stworzenia edytora ===== 
 + 
 +==== 2.1 Użycie definicji DTD i translacja do XSD ====
 Aby skorzystać z możliwości EMF importując model XSD, przekształcono definicję [[https://​ai.ia.agh.edu.pl/​wiki/​_media/​hekate:​hml.dtd?​id=hekate%3Ahekate_markup_language&​cache=cache|HML.dtd]] z postaci DTD do postaci XSD. Efekt został przedstawiony poniżej: Aby skorzystać z możliwości EMF importując model XSD, przekształcono definicję [[https://​ai.ia.agh.edu.pl/​wiki/​_media/​hekate:​hml.dtd?​id=hekate%3Ahekate_markup_language&​cache=cache|HML.dtd]] z postaci DTD do postaci XSD. Efekt został przedstawiony poniżej:
 <code xml> <code xml>
Linia 262: Linia 283:
 Dokument [[https://​ai.ia.agh.edu.pl/​wiki/​_media/​hekate:​hml-test.xml?​id=hekate%3Ahekate_markup_language&​cache=cache|hml-test.xml]] poprawnie przechodzi [[http://​www.xmlforasp.net/​SchemaValidator.aspx|walidację]] przy użyciu powyższej definicji. Konwersji dokonano przy użyciu programu [[http://​www.thaiopensource.com/​relaxng/​trang-manual.html|Trang]]. Dokument [[https://​ai.ia.agh.edu.pl/​wiki/​_media/​hekate:​hml-test.xml?​id=hekate%3Ahekate_markup_language&​cache=cache|hml-test.xml]] poprawnie przechodzi [[http://​www.xmlforasp.net/​SchemaValidator.aspx|walidację]] przy użyciu powyższej definicji. Konwersji dokonano przy użyciu programu [[http://​www.thaiopensource.com/​relaxng/​trang-manual.html|Trang]].
  
-== Problem z użyciem powyższej definicji ==+=== Problem z użyciem powyższej definicji ​===
  
 Powyższa definicja, choć poprawna, okazała się niekompatybilna z frameworkiem GMF. Podstawowe problemy to: Powyższa definicja, choć poprawna, okazała się niekompatybilna z frameworkiem GMF. Podstawowe problemy to:
Linia 271: Linia 292:
 Dokonano próby utworzenia edytora wszystkich elementów (bez żadnej customizacji) za pomocą pluginu do GMF o nazwie [[http://​dynamicgmf.sourceforge.net/​|Dynamic GMF]]. Ten plugin ma w założeniu dać możliwość wygenerowania edytora jedynie przez wybranie pliku xsd. Pojawiał się jednak błąd wewnętrzny programu "Null pointer exception"​. Takiego błędu nie było gdy użyłem pliku [[http://​dev.eclipse.org/​viewcvs/​index.cgi/​org.eclipse.gmf/​examples/​org.eclipse.gmf.examples.mindmap/​model/​mindmap.xsd?​root=Modeling_Project&​view=markup&​content-type=text%2Fvnd.viewcvs-markup&​revision=HEAD|mindmap.xsd]]. Sądzę, iż obecność elementów IDREF mogła się do tego przyczynić. Dokonano próby utworzenia edytora wszystkich elementów (bez żadnej customizacji) za pomocą pluginu do GMF o nazwie [[http://​dynamicgmf.sourceforge.net/​|Dynamic GMF]]. Ten plugin ma w założeniu dać możliwość wygenerowania edytora jedynie przez wybranie pliku xsd. Pojawiał się jednak błąd wewnętrzny programu "Null pointer exception"​. Takiego błędu nie było gdy użyłem pliku [[http://​dev.eclipse.org/​viewcvs/​index.cgi/​org.eclipse.gmf/​examples/​org.eclipse.gmf.examples.mindmap/​model/​mindmap.xsd?​root=Modeling_Project&​view=markup&​content-type=text%2Fvnd.viewcvs-markup&​revision=HEAD|mindmap.xsd]]. Sądzę, iż obecność elementów IDREF mogła się do tego przyczynić.
  
-=== 2.2 Inna metodologia tworzenia modeli ===+==== 2.2 Inna metodologia tworzenia modeli ​====
  
 Dużo bardziej naturalnym, prostszym i efektywniejszym sposobem jest tworzenie modelu ecore pasującego do GMF. I tak import z XSD następuje do pliku ECORE, na którym później się operuje. Dużo bardziej naturalnym, prostszym i efektywniejszym sposobem jest tworzenie modelu ecore pasującego do GMF. I tak import z XSD następuje do pliku ECORE, na którym później się operuje.
Linia 277: Linia 298:
 Kolejnym krokiem mogłoby być eksportowanie tego modelu do XSD. W razie potrzeby można by dokonywać konwersji między róznymi definicjami XSD za pomocą szablonów XSLT. Kolejnym krokiem mogłoby być eksportowanie tego modelu do XSD. W razie potrzeby można by dokonywać konwersji między róznymi definicjami XSD za pomocą szablonów XSLT.
  
-=== 2.3 Własny model ===+==== 2.3 Własny model ====
  
 Stworzyłem zatem edytor opierając się o własny model. Model powstał przy pomocy EMF, który następnie wyeksportowałem do formatu XSD.  Stworzyłem zatem edytor opierając się o własny model. Model powstał przy pomocy EMF, który następnie wyeksportowałem do formatu XSD. 
Linia 313: Linia 334:
 Poniżej zamieszczono screen z edytora oraz odpowiadający mu plik xml. Poniżej zamieszczono screen z edytora oraz odpowiadający mu plik xml.
  
-=== 2.4 Edytor oparty na własnym modelu ===+==== 2.4 Edytor oparty na własnym modelu ​====
  
 Diagram Ard Diagram Ard
Linia 347: Linia 368:
  
  
-==== 3. Perspektywy projektu ====+ 
 +===== 3. Perspektywy projektu ​=====
  
 Jest to wstępny zarys edytora. Docelowy edytor miałby posiadać bogatą funkcjonalność. Dalsze elementy, które należałoby zaimplementować to:  Jest to wstępny zarys edytora. Docelowy edytor miałby posiadać bogatą funkcjonalność. Dalsze elementy, które należałoby zaimplementować to: 
Linia 358: Linia 380:
  
  
-==== 4. Wnioski ====+ 
 +===== 4. Wnioski ​=====
  
   * Model warto tworzyć od podstaw w EMF.   * Model warto tworzyć od podstaw w EMF.
Linia 366: Linia 389:
  
  
-==== 5. Linki ====+ 
 + 
 +===== 5. Linki =====
  
 Poniżej zamieszczam wartościowe linki związane z moim projektem: Poniżej zamieszczam wartościowe linki związane z moim projektem:
-=== 5.1 Instalacja GMF ===+=== Instalacja GMF ===
   * [[http://​wiki.eclipse.org/​index.php/​GMF_Tutorial|Instalacja + tutorial]]   * [[http://​wiki.eclipse.org/​index.php/​GMF_Tutorial|Instalacja + tutorial]]
   * [[http://​www.brovig.org/​blog/​2007/​05/​17/​installing-gmf-on-eclipse-33-m7-europa/​|installing-gmf-on-eclipse-33-m7-europa]]   * [[http://​www.brovig.org/​blog/​2007/​05/​17/​installing-gmf-on-eclipse-33-m7-europa/​|installing-gmf-on-eclipse-33-m7-europa]]
  
-=== 5.2 Nauka ===+=== Nauka ===
   * [[http://​www.eclipse.org/​articles/​Article-Introducing-GMF/​article.html|Introducing GMF]]   * [[http://​www.eclipse.org/​articles/​Article-Introducing-GMF/​article.html|Introducing GMF]]
   * [[http://​www.eclipse.org/​articles/​Article-GEF-editor/​gef-schema-editor.html|GEF Schema Editor]]   * [[http://​www.eclipse.org/​articles/​Article-GEF-editor/​gef-schema-editor.html|GEF Schema Editor]]
Linia 381: Linia 406:
   * [[http://​wiki.eclipse.org/​index.php/​GMF_Tutorial_BPMN|Tutorial]] - edytora [[http://​pl.wikipedia.org/​wiki/​BPMN|BPMN]]. Krok po kroku.   * [[http://​wiki.eclipse.org/​index.php/​GMF_Tutorial_BPMN|Tutorial]] - edytora [[http://​pl.wikipedia.org/​wiki/​BPMN|BPMN]]. Krok po kroku.
  
-=== 5.3 Troubleshooting ===+=== Troubleshooting ===
 Problemy, które napotkałem oraz linki pomocne w ich rozwiązaniu:​ Problemy, które napotkałem oraz linki pomocne w ich rozwiązaniu:​
   * [[http://​dev.eclipse.org/​newslists/​news.eclipse.technology.gmf/​msg03925.html|Containment Feature]]   * [[http://​dev.eclipse.org/​newslists/​news.eclipse.technology.gmf/​msg03925.html|Containment Feature]]
  
-=== 5.4 Support ===+=== Support ===
   * [[http://​www.nabble.com/​Eclipse-GEF---Dev-f2208.html|GEF mailing list archive]]   * [[http://​www.nabble.com/​Eclipse-GEF---Dev-f2208.html|GEF mailing list archive]]
   * [[http://​eclipseforum.org.pl/​|Polskie forum eclipse]] - zostało uruchomione pod koniec 2007 roku.   * [[http://​eclipseforum.org.pl/​|Polskie forum eclipse]] - zostało uruchomione pod koniec 2007 roku.
  
-=== 5.5 Inne ===+=== Inne ===
   * [[http://​wiki.eclipse.org/​index.php/​GMF_Documentation|GMF_Documentation]] - zawiera wiele dalszych linków.   * [[http://​wiki.eclipse.org/​index.php/​GMF_Documentation|GMF_Documentation]] - zawiera wiele dalszych linków.
   * [[http://​help.eclipse.org/​help33/​index.jsp|Eclipse 3.3 API]] - zawiera również GMF, GEF.   * [[http://​help.eclipse.org/​help33/​index.jsp|Eclipse 3.3 API]] - zawiera również GMF, GEF.
   * [[http://​eclipse-po-polsku.blogspot.com/​|Eclipse po polsku]]   * [[http://​eclipse-po-polsku.blogspot.com/​|Eclipse po polsku]]
   * [[http://​www.redbooks.ibm.com/​redbooks/​pdfs/​sg246302.pdf|IBM red book]], [[http://​publib-b.boulder.ibm.com/​Redbooks.nsf/​RedpieceAbstracts/​sg246302.html|code]] - bardzo przydatne, wiele elementów dobrze opisanych.   * [[http://​www.redbooks.ibm.com/​redbooks/​pdfs/​sg246302.pdf|IBM red book]], [[http://​publib-b.boulder.ibm.com/​Redbooks.nsf/​RedpieceAbstracts/​sg246302.html|code]] - bardzo przydatne, wiele elementów dobrze opisanych.
 +
 +
 +
 +
 +
 +
 +
 +
  
 ====== Materiały ====== ====== Materiały ======
Linia 400: Linia 433:
 {{:​pl:​miw:​mgr-gef.pdf|GEF MS Thesis}} {{:​pl:​miw:​mgr-gef.pdf|GEF MS Thesis}}
  
-Patrz też na [[hekate:​eclipse|osobne hasło]]+Patrz też na [[hekatedev:​eclipse|osobne hasło]]
  
pl/miw/miw08_gefardxtt_1.1213524982.txt.gz · ostatnio zmienione: 2019/06/27 15:58 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0