Vytváření šablon JET (Java Emitter Templates) technologie EMFT (Eclipse Modeling Framework Technologies) pro generování přizpůsobeného kódu

Pracovní prostředí používá šablony EMFT JET při generování kódu pureQuery. Tuto výchozí transformaci JET můžete přepsat vlastní transformací.

Popis úlohy:

Přepsání výchozích transformací JET pracovního prostředí pro vytvoření kódu pureQuery zahrnuje vytvoření projektu EMFT JET, vytvoření šablon a nastavení pracovního prostředí tak, aby používalo vaši transformaci JET.

Důležité: Není nutné vytvářet dokumenty XML, které by byly použity jako vstupní modely pro vaše transformace JET. Při generování přizpůsobeného kódu pureQuery průvodce vytvoří dokument XML automaticky na základě objektu, na kterém je založen kód. Dokument XML je přechodný a není uložen.
Musíte však znát formát dokumentu XML, který průvodce vytvoří. Schéma najdete v modulu plug-in com.ibm.datatools.javatool.transform.codegen. Můžete také zobrazit následující ukázkové dokumenty XML založené na tomto schématu:

Chcete-li generovat vlastní přizpůsobený kód, použijte průvodce pro generování kódu pureQuery odpovídající šablonám, které jste přepsali. Pokud například přepíšete šablonu GenTableBean.jet, můžete generovat přizpůsobený kód s pomocí průvodce Generate pureQuery Code for a Table.

Informace o technologii EMFT JET (nyní nazývaná Model-To-Text JET) najdete na stránkách www.eclipse.org.

Postup:

Chcete-li vytvořit a konfigurovat šablony EMFT JET pro generování přizpůsobeného kódu pro aplikace pureQuery, postupujte takto:

  1. Vytvořte projekt transformace EMFT JET. Klepněte pravým tlačítkem myši v oblasti Průzkumníka balíků a vyberte volbu Nový > Projekt. V průvodci Nový projekt vyberte volby Transformace EMFT JET > Projekt transformací EMFT JET.
  2. Upravte soubor manifest.mf pro svůj projekt. Tento soubor musí určovat, že přepisujete výchozí transformaci pureQuery.

    Chcete-li použít třídu DBHelper, třídu v modulu plug-in com.ibm.datatools.javatool.transform.codegen obsahující informace o připojení databáze vyžadované transformací, soubor manifest musí určovat závislost na modulu plug-in com.ibm.datatools.javatool.transform.codegen. V rámci tohoto modulu plug-in se nachází dokumentace této třídy.

    1. Poklepáním na soubor manifest.mf v projektu jej otevřete pro úpravy.
    2. Klepněte na kartu Rozšíření.
    3. V poli přepsat zadejte řetězec com.ibm.datatools.javatool.transform.codegen.
    4. Volitelné: Pokud chcete používat třídu DBHelper, klepněte na kartu Závislosti a přidejte modul plug-in com.ibm.datatools.javatool.transform.codegen coby vyžadovaný modul plug-in.
    5. Uložte a zavřete soubor.
  3. Ve svém projektu transformací EMFT JET odstraňte soubor dump.jet. Pokud chcete, aby vaše transformace používala soubor main.jet z transformace com.ibm.datatools.javatool.transform.codegen, odstraňte také soubor main.jet.
  4. V adresáři templates svého projektu transformace EMFT JET vytvořte šablony, které přepíší šablony v transformaci com.ibm.datatools.javatool.transform.codegen. Chcete-li přepsat jednu z výchozích šablon pureQuery, vytvořte šablonu se stejným názvem. Pokud nepřepíšete výchozí šablonu, pracovní prostředí ji bude i nadále používat při generování odpovídajícího kódu pureQuery code.

    Následující tabulka obsahuje šablony obsažené v této transformaci.

    Tabulka 1. Šablony v transformaci com.ibm.datatools.javatool.transform.codegen
    Název šablony Popis
    GenProcedureInlineJunit.jet Používána v případě zaškrtnutí obou zaškrtávacích políček Generovat testovací třídu se syntaxí volání inline-methodGenerovat testovací případy JUnit v průvodci Generovat kód pureQuery pro uloženou proceduru.

    Generuje testovací případ JUnit obsahující metody inline pro volání odpovídající uložené procedury.

    GenProcedureInlineSample.jet Používána v případě zaškrtnutí políčka Generovat testovací třídu se syntaxí volání inline-method v průvodci Generovat kód pureQuery pro uloženou proceduru.

    Generuje testovací třídu Java obsahující metody inline pro volání odpovídající uložené procedury.

    GenProcedureInterface.jet Používána v případě zaškrtnutí políčka Generovat rozhraní Java pro uloženou proceduru v průvodci Generovat kód pureQuery pro uloženou proceduru.

    Generuje rozhraní Java obsahující anotované metody pro volání odpovídající uložené procedury.

    GenProcedureInterfaceJunit.jet Používána v případě zaškrtnutí políček Generovat rozhraní Java pro uloženou proceduru, Generovat testovací třídu pro rozhraní Java uložené proceduryGenerovat testovací případy JUnit v průvodci Generovat kód pureQuery pro uloženou proceduru.

    Generuje testovací případ JUnit obsahující anotované metody pro volání odpovídající uložené procedury.

    GenProcedureInterfaceTest.jet Používána v případě zaškrtnutí obou políček Generovat rozhraní Java pro uloženou proceduruGenerovat testovací třídu pro rozhraní Java uložené procedury v průvodci Generovat kód pureQuery pro uloženou proceduru.

    Generuje testovací třídu pro testování implementace odpovídajícího rozhraní.

    GenProcedureParmBean.jet Používána v případě, že uložená procedura zpracovávaná průvodcem Generovat kód pureQuery pro uloženou proceduru obsahuje parametry.

    Generuje objekt pureQuery bean obsahující pole reprezentující parametry uložené procedury.

    GenSampleUtil.jet

    Generuje třídu obsahující statické metody volané testovacími třídami při jejich spuštění. Tyto metody tisknou do zobrazení konzoly výsledky ze spuštění testovacích tříd.

    Tato třída také obsahuje kód pro navázání připojení k databázi pro testovací třídy.

    GenSQLBean.jet Používána, pokud klepnete na volbu Dokončit v průvodci Generovat objekt Bean pro výslednou sadu SQL.

    Generuje objekt pureQuery bean, který představuje výslednou sadu příkazu SQL SELECT.

    GenTableBean.jet Používána při generování objektu bean v průvodci Generovat kód pureQuery pro tabulku.

    Generuje objekt pureQuery bean obsahující pole reprezentující sloupce tabulky či pohledu.

    GenTableInlineJunit.jet Používána v případě zaškrtnutí obou zaškrtávacích políček Generovat testovací třídu se syntaxí volání inline-methodGenerovat testovací případy JUnit v průvodci Generovat kód pureQuery pro tabulku.

    Generuje testovací případ JUnit obsahující metody inline pro přístup k odpovídajícímu databázovému objektu.

    GenTableInlineSample.jet Používána v případě zaškrtnutí políčka Generovat testovací třídu se syntaxí volání inline-method v průvodci Generovat kód pureQuery pro tabulku.

    Generuje testovací třídu Java obsahující metody inline pro přístup k odpovídajícímu databázovému objektu.

    GenTableInterface.jet Používána v případě zaškrtnutí políčka Generovat rozhraní Java pro tabulku v průvodci Generovat kód pureQuery pro tabulku.

    Generuje rozhraní Java obsahující anotované metody pro přístup k odpovídajícímu databázovému objektu.

    GenTableInterfaceJUnit.jet Používána v případě zaškrtnutí políček Generovat rozhraní Java pro tabulku, Generovat testovací třídu pro rozhraní Java tabulkyGenerovat testovací případy JUnit v průvodci Generovat kód pureQuery pro tabulku.

    Generuje testovací případ JUnit pro testování implementace odpovídajícího rozhraní.

    GenTableInterfaceTest.jet Používána v případě zaškrtnutí obou políček Generovat rozhraní Java pro tabulkuGenerovat testovací třídu pro rozhraní Java tabulky v průvodci Generovat kód pureQuery pro tabulku.

    Generuje testovací třídu pro testování implementace odpovídajícího rozhraní.

  5. Na stránce předvoleb Transformace pureQuery určete, které transformace má pracovní prostředí používat:
    1. Vyberte volbu Okno > Předvolby.
    2. Vyberte volbu Data > pureQuery > Transformace pureQuery.
    3. V poli Identifikátor transformace vyberte název svého projektu transformace EMFT JET.
Související pojmy
Generování kódu pureQuery z databázových objektů
Související úlohy
Generování kódu pureQuery z objektů bean
Generování objektů pureQuery bean pro zachycení výsledných sad z příkazů SQL SELECT
Generování tříd implementace s pomocí konfiguračních souborů XML
Vývoj aplikací pureQuery pomocí pracovního prostředí
Generování kódu pureQuery z uložených procedur
Generování kódu pureQuery z aliasů, tabulek nebo pohledů
Související odkazy
Ukázka vstupu XML pro šablony pureQuery JET pro tabulky či pohledy
Ukázka vstupu XML pro šablony pureQuery JET pro uložené procedury
Ukázka vstupu ve formátu XML pro transformace JET příkazů SQL do objektů pureQuery bean
Související informace
Vytvoření lepšího kódu v prostředí Eclipse s využitím JET

Váš názor