Differences
This shows you the differences between two versions of the page.
tutorial:scenario [2020/04/16 10:56] |
tutorial:scenario [2020/04/16 10:56] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | <WRAP indic>Before launching the generation process, the list of <wrap edicode>plugin entities</wrap> must be set. For this first step, Adichatz uses, by default, 3 different ways to launch the generation process: | ||
+ | - Generate <wrap adicode>Pojos</wrap> using Hibernate tools. | ||
+ | - Determine a folder containing <wrap adicode>Pojo</wrap> java files. | ||
+ | - Specify list of plugin entities from previous built Adichatz plugins. (For instance, you can create a first plugin for manage server side using <wrap adicode>Pojos</wrap> generated by Hibernate Tools. A second plugin for the client side will be generated after having determined the list of plugin entities from the Server side plugin. | ||
+ | From there, a default <wrap adicode>Scenario Tree</wrap> is built and stored inside '**scenario.xml**' file.</WRAP>\\ | ||
+ | <wrap adititle>Adichatz proposes default scenarios for generating your application.</wrap> | ||
+ | <columns 100% l 100px> | ||
+ | {{tutorial:scenario.png?500 |Scenario}} | ||
+ | <newcolumn lt> | ||
+ | Each scenario contains the way to generate an XML file from input. | ||
+ | <WRAP indic>By convention, generated XML files use the '.axml"' extension.</WRAP>\\ | ||
+ | For example, the scenario <wrap adicode>org.adichatz.scenario.impl.EntityScenario</wrap> class can take a **Film POJO** as input to build a file called '<wrap adicode>FilmMMGENERATED.axml</wrap>'.\\ | ||
+ | In the same vein, <wrap adicode>org.adichatz.scenario.impl.DetailScenario</wrap> class, takes the **FilmMM** java class as input to build the '<wrap adicode>FilmDIGENERATED.axml</wrap>' file. | ||
+ | \\ \\ | ||
+ | <WRAP indic>Later, '**XML**' file will be used as input by the set of generators to build **JAVA** classes.</WRAP> | ||
+ | </columns> | ||
+ | \\ | ||
+ | |||
+ | |||
+ | You can create your own scenario classes or select a specific scenario class by entity and type: | ||
+ | <columns 100% l> | ||
+ | * Open the '<wrap adicode>./resources/xml/Scenario.xml</wrap>' file with Scenario Editor. | ||
+ | * Select <wrap adicode>Generation</wrap> page. | ||
+ | * Open branch called '<wrap adicode>PluginEntity: <nowiki>adi://myproject/model.actor/ActorMM</nowiki></wrap>'. | ||
+ | * Select item: <wrap adicode>GenerationUnit: ActorTI - TABLE</wrap>. | ||
+ | * In the Outline part, focus on <wrap adicode>scenarioClassName</wrap> field and select available table scenarios (CTL-Space).\\ | ||
+ | <newcolumn lt> | ||
+ | {{tutorial:select_table_scenario.png?550 |Select scenario for generation}} | ||
+ | </columns> | ||
+ | \\ | ||
+ | |||
+ | <WRAP indic>The name of a file generated by scenarios ends by '**GENERATED.axml**'. If you want to customize an XML file ([[http://www.adichatz.org/document/FilmDI.xml|see example]]) and you do not want | ||
+ | that the result will be affected by a future generation process, you just have to remove the '**GENERATED**' from file name: For example, if you rename file from '<wrap adicode>FilmDIGENERATED.axml</wrap>' to '<wrap adicode>FilmDI.axml</wrap>', a new '<wrap adicode>FilmDIGENERATED.axml</wrap>' will be created when relaunching scenario process but generator will take the '<wrap adicode>FilmDI.axml</wrap>' file as input to generate java classes. | ||
+ | </WRAP> |