<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://adichatz.org/dokuwiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://adichatz.org/dokuwiki/feed.php">
        <title>Adichatz Web Site tutorial</title>
        <description></description>
        <link>https://adichatz.org/dokuwiki/</link>
        <image rdf:resource="https://adichatz.org/dokuwiki/lib/tpl/adichatz/images/favicon.ico" />
       <dc:date>2026-04-17T09:31:43+0200</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:add_callback&amp;rev=1587461932&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:add_navigator_item&amp;rev=1588151579&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:change_table&amp;rev=1587461936&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:complete_query&amp;rev=1587027399&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:create_listener&amp;rev=1588932321&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:css&amp;rev=1587027400&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:customize_pagila_scenario&amp;rev=1587027400&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:customize_scenario&amp;rev=1587027400&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:data_cache&amp;rev=1587027400&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:databinding_service&amp;rev=1587027400&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:development_overview&amp;rev=1587027400&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:entity_editor&amp;rev=1587027400&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:extend_controller&amp;rev=1587027400&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:general_architecture&amp;rev=1587462149&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:generate_new_project&amp;rev=1587459321&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:generator&amp;rev=1587027400&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:improve_customer_detail&amp;rev=1587027400&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:improve_film_detail&amp;rev=1588932315&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:improve_film_detail_sakila&amp;rev=1587458997&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:improve_filmdesc_detail&amp;rev=1587027400&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:include_gmap_controller&amp;rev=1587460746&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:lazy_loading&amp;rev=1587461934&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:navigator&amp;rev=1588088013&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:navigator_tree&amp;rev=1587027401&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:osgi&amp;rev=1587027401&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:other_features&amp;rev=1587027401&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:plugins&amp;rev=1587462737&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:pojo_schema&amp;rev=1587027401&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:prerequisites&amp;rev=1587140833&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:queries&amp;rev=1587027401&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:runtime_overview&amp;rev=1587462081&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:sakila_customization&amp;rev=1587027401&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:scenario&amp;rev=1587027401&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:testing&amp;rev=1587975151&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:testing_extensive&amp;rev=1587027402&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:tutorial&amp;rev=1587027402&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:use_grid_controller&amp;rev=1587027402&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:validation_process&amp;rev=1587027402&amp;do=diff"/>
                <rdf:li rdf:resource="https://adichatz.org/dokuwiki/doku.php?id=tutorial:why_adichatz&amp;rev=1587027402&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://adichatz.org/dokuwiki/lib/tpl/adichatz/images/favicon.ico">
        <title>Adichatz Web Site</title>
        <link>https://adichatz.org/dokuwiki/</link>
        <url>https://adichatz.org/dokuwiki/lib/tpl/adichatz/images/favicon.ico</url>
    </image>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:add_callback&amp;rev=1587461932&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-21T11:38:52+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:add_callback</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:add_callback&amp;rev=1587461932&amp;do=diff</link>
        <description>You can easily add Callback classes in order to complete persist, merge or remove processes in the EJB.
For example, how to automatically set value for lastUpdate property in Film class when a record is created or updated.



A callback class must extends class</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:add_navigator_item&amp;rev=1588151579&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-29T11:12:59+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:add_navigator_item</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:add_navigator_item&amp;rev=1588151579&amp;do=diff</link>
        <description>Navigator items can easily be added. Behavior of editor and other parts can directly be changed from the navigator.

In this example, an item is added which provides a way to launch an List/Detail editor with a query of all customers of USA with new features.</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:change_table&amp;rev=1587461936&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-21T11:38:56+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:change_table</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:change_table&amp;rev=1587461936&amp;do=diff</link>
        <description>Adichatz generates one XML file by entity to display query result in a table control.

For example, the generated file for a Customer class is described by an XML file called $projectDirectory/resources/xml/model/customer/CustomerTIGENERATED.axml:</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:complete_query&amp;rev=1587027399&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-16T10:56:39+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:complete_query</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:complete_query&amp;rev=1587027399&amp;do=diff</link>
        <description>Adichatz generates brute queries to fetch data from Application server or database (by default, one query per entity).

For example, the query for a Customer class is described by an XML file called $projectDirectory/resources/xml/model/customer/CustomerQUERYGENERATED.axml</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:create_listener&amp;rev=1588932321&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-08T12:05:21+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:create_listener</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:create_listener&amp;rev=1588932321&amp;do=diff</link>
        <description>Listener is a way to add code to generated UI classes by specifying it in the xml File.
For example, open file $projectDirectory/resources/xml/include/detail/FilmDI.xml with XML editor.

Change element:


by


Open a new editor for the detail of a film, if the description field is longer than 12 letters, then the foreground color pass to Red otherwise the foreground color is Blue.</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:css&amp;rev=1587027400&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-16T10:56:40+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:css</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:css&amp;rev=1587027400&amp;do=diff</link>
        <description>CSS Themes can be defined for styling your application..


The visual appearance of your Adichatz application can be style via CSS files as for HTML site.

	*  Each CSS file corresponds to a theme.
	*  Theme can be chosen thru preferences menu.
	*  Mainly colors and fonts are defined.</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:customize_pagila_scenario&amp;rev=1587027400&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-16T10:56:40+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:customize_pagila_scenario</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:customize_pagila_scenario&amp;rev=1587027400&amp;do=diff</link>
        <description>The generation process is driven by Scenario Tree provided by Scenario.xml file.
The Scenario Tree describes how to drive automatic generation processes.

Indeed, as explained in this page a scenario transforms an input (XML files, Pojos) into a GENERATED XML file which describes the body of a part (Editor, Query, Detail UI</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:customize_scenario&amp;rev=1587027400&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-16T10:56:40+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:customize_scenario</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:customize_scenario&amp;rev=1587027400&amp;do=diff</link>
        <description>This step is optional. If you used examples given by Adichatz (pagila/PosgreSQL or sakila/MySQL), an customization file if automatically proposed to you when creating project. 

Customization of the generation processes issues

Scenario Tree describes how to drive automatic generation processes.</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:data_cache&amp;rev=1587027400&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-16T10:56:40+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:data_cache</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:data_cache&amp;rev=1587027400&amp;do=diff</link>
        <description>Features

Adichatz manages an application data cache on the client side in order to provides these features:

	*  Only needed queries are send to the Application Server (JEE context) or to the database (JSE Context): Adichatz requests the data cache before requesting the server.</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:databinding_service&amp;rev=1587027400&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-16T10:56:40+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:databinding_service</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:databinding_service&amp;rev=1587027400&amp;do=diff</link>
        <description>Adichatz databinding service is the environment where data are manipulated. By default, one databinding service is created when opening an editor. This service ensures data consistency of the entities in connection with the Application Data Cache and editor:

	*  Changes are broadcast to other editors (including changes on relationship between objects).</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:development_overview&amp;rev=1587027400&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-16T10:56:40+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:development_overview</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:development_overview&amp;rev=1587027400&amp;do=diff</link>
        <description>Development under Adichatz obeys to a specific and simple logic.

	*  With generation tools, you can quickly  succeed  in building a deliverable that uses specific technologies.
	*  Several means are available to transform the deliverable:
		*  Dealing the generation process (Pojo rewriters,</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:entity_editor&amp;rev=1587027400&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-16T10:56:40+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:entity_editor</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:entity_editor&amp;rev=1587027400&amp;do=diff</link>
        <description>Entity Editor

Adichatz provides Entity Editors for managing inside one editor detail of an entity and all related objects (dependencies) of this one.




The default default design of an entity editor contains:

	*  one page which presents entity detail.</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:extend_controller&amp;rev=1587027400&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-16T10:56:40+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:extend_controller</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:extend_controller&amp;rev=1587027400&amp;do=diff</link>
        <description>Controller (UI component composition) can be extended and their extensions easily incorporated by the xml file.




Example: Extend a specific 'CComboController' for property 'rating'

We want to create a new CComboController which manages background colors:</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:general_architecture&amp;rev=1587462149&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-21T11:42:29+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:general_architecture</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:general_architecture&amp;rev=1587462149&amp;do=diff</link>
        <description>[ General architecture]

The project generation is determined by 3 steps:

	*  Database schema (POJOs are generated from tables and constraints or copied from existing folder)
	*  Scenarios, which can be customized, determine how to generate XML files: these files describe how Adichatz components are assembled.</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:generate_new_project&amp;rev=1587459321&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-21T10:55:21+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:generate_new_project</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:generate_new_project&amp;rev=1587459321&amp;do=diff</link>
        <description>Create a project from scratch

	*  In the Package Explorer right-click and select new / Project... / Adichatz Application (Model and RCP)
	*  In the open window:

[Create project]

	*  Specify the project name.
	*  Specify a connector between JSE, Wildfly 18.x,  ...</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:generator&amp;rev=1587027400&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-16T10:56:40+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:generator</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:generator&amp;rev=1587027400&amp;do=diff</link>
        <description>Generators aims to build final Java classes:

[Generator]

A generator transforms an XML file (see scenario) in java classes.

For example, the generator org.adichatz.generator.PartTreeGenerator class  can take a ActorEDITORGENERATED.axml file as input to generate 3 java classes:</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:improve_customer_detail&amp;rev=1587027400&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-16T10:56:40+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:improve_customer_detail</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:improve_customer_detail&amp;rev=1587027400&amp;do=diff</link>
        <description>File $projectDirectory/resources/xml/model/film/CustomerDIGENERATED.xml describes the layout of Customer entity. 

Following XML elements:


renders the following layout:

[ Customer detail (brute)]




Change XML elements

	*  Copy CustomerDIGENERATED.axml file to CustomerDI.axml</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:improve_film_detail&amp;rev=1588932315&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-08T12:05:15+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:improve_film_detail</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:improve_film_detail&amp;rev=1588932315&amp;do=diff</link>
        <description>Adichatz generates brute Entity Editors to display detail parts of an Entity and the list of its related objects (dependencies).
For example the Entity Editor for a Film class is described by an XML file called 'FilmEditorGENERATED.axml' or 'FilmDIGENERATED.axml</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:improve_film_detail_sakila&amp;rev=1587458997&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-21T10:49:57+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:improve_film_detail_sakila</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:improve_film_detail_sakila&amp;rev=1587458997&amp;do=diff</link>
        <description>Adichatz generates brute Entity Editors to display detail parts of an Entity and the list of its related objects (dependencies).
For example the Entity Editor for a Film class is described by an XML file called 'FilmEditorGENERATED.axml' or 'FilmDIGENERATED.axml</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:improve_filmdesc_detail&amp;rev=1587027400&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-16T10:56:40+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:improve_filmdesc_detail</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:improve_filmdesc_detail&amp;rev=1587027400&amp;do=diff</link>
        <description>File $projectDirectory/resources/xml/model/film/FilmDescDIGENERATED.xml describes the layout of FilmDesc entity linked to a Film entity (OneToOne relationship).. 

Following XML elements:


renders the following layout:

[ FilmDescription detail (brute)]




Change XML elements

	*</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:include_gmap_controller&amp;rev=1587460746&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-21T11:19:06+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:include_gmap_controller</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:include_gmap_controller&amp;rev=1587460746&amp;do=diff</link>
        <description>Part can use rich controllers provided by Adichatz as GMapController.

Before using GMapController,  get GMap API key and store it in './resources/xml/AdichatzRcpConfig.xml' file as shown below.





For example, open file $projectDirectory/resources/xml/model/address/AddressDIGENERATED.xml.</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:lazy_loading&amp;rev=1587461934&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-21T11:38:54+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:lazy_loading</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:lazy_loading&amp;rev=1587461934&amp;do=diff</link>
        <description>Let the problem

[Diagram]

To explain how lazy loading work  in Adichatz, have a look on this diagram:

	*  An Adress depends on one and only one City.

	*  A City could have zero or several Adresses.

	*  A City depends on one and only one Country.

POJOs corresponding to this schema can be consult</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:navigator&amp;rev=1588088013&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-28T17:33:33+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:navigator</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:navigator&amp;rev=1588088013&amp;do=diff</link>
        <description>Navigators

Navigators parts are layout in the rigth panel of the application.


 You may have several navigators and, in one navigator, nodes may come from different plugins.

Step 1: Add a 'Group list Navigator' scenario

	*  Open Scenario.xml file with</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:navigator_tree&amp;rev=1587027401&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-16T10:56:41+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:navigator_tree</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:navigator_tree&amp;rev=1587027401&amp;do=diff</link>
        <description>Navigators

Navigators parts are layout in the rigth panel of the application.


 You may have several navigators and, in one navigator, nodes may come from different plugins.

Step 1: Add a 'Tree Navigator' scenario

	*  Open Scenario.xml file with</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:osgi&amp;rev=1587027401&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-16T10:56:41+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:osgi</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:osgi&amp;rev=1587027401&amp;do=diff</link>
        <description>The OSGi technology is a set of specifications that define a dynamic component system for Java.
OSGi reduces complexity by providing a modular architecture for today's large-scale distributed systems as well as small, embedded applications. Building systems from in-house and off-the-shelf modules significantly reduces complexity and thus development and maintenance expenses. The OSGi programming model realizes the promise of component-based systems (see</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:other_features&amp;rev=1587027401&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-16T10:56:41+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:other_features</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:other_features&amp;rev=1587027401&amp;do=diff</link>
        <description>OneToOne relationship.

It is quite difficult to manage OneToOne relationship with Hibernate for 2 reasons:

	*  By default, Hibernate POJO generation does not support OneToOne relationship.
	*  Once you have added correct annotations to POJO in order to support OneToOne relationship, Eager loading of OnetoOne second member when quering on first member becomes a real problem.</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:plugins&amp;rev=1587462737&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-21T11:52:17+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:plugins</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:plugins&amp;rev=1587462737&amp;do=diff</link>
        <description>10 plugins are added to Eclipse to form Adichatz framework.




The central plugins

org.adichatz.engine:

Central plugin which manages basic resources:  Controllers, Application data caches, listeners, validation, databinding...




org.adichatz.engine.e4</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:pojo_schema&amp;rev=1587027401&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-16T10:56:41+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:pojo_schema</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:pojo_schema&amp;rev=1587027401&amp;do=diff</link>
        <description>Class Address


package org.mycompany.myproject.model;
import ...
/**
 * Address generated by hbm2java
 */
@Entity
@Table(name=&quot;address&quot;, schema=&quot;public&quot;)
public class Address extends ASuperLastUpdate  implements java.io.Serializable {
    private static final long serialVersionUID = 1L;

    private int addressId;
    private City city;
    private String address;
    private String address2;
    private String district;
    private String postalCode;
    private String phone;
    private Date …</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:prerequisites&amp;rev=1587140833&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-17T18:27:13+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:prerequisites</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:prerequisites&amp;rev=1587140833&amp;do=diff</link>
        <description>Prerequisites and Assumed knowledge

In order to follow this tutorial, please check all these prerequisites:

Assumed Knowledge

	*  Knowledge Java, Eclipse or another development environment is a better thing but not essential.
With Adichatz, developing and customizing an Eclipse 4 RCP / JEE applications does not require particular skills because most of the complexity is supported by the framework and no longer by the developer.</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:queries&amp;rev=1587027401&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-16T10:56:41+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:queries</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:queries&amp;rev=1587027401&amp;do=diff</link>
        <description>Queries

Adichatz provides a rich Query Editor which can host a JQL or a SQL query.

The Query Editor is designed to provide a rich interface to end-users so that they can easily define their preferences, store them and recall them.

[Query Editor]

By default, the basic features offer:</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:runtime_overview&amp;rev=1587462081&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-21T11:41:21+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:runtime_overview</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:runtime_overview&amp;rev=1587462081&amp;do=diff</link>
        <description>UI side

[ General architecture]

The application platform is based on Eclipse 4 technology and provides:

	*  One perspective with 4 panels that end-user can resize, minimize or maximize:
		*  A Navigator Panel displays available features (queries, tools...).
		*  An Editor panel for hosting Query and Entity editors.</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:sakila_customization&amp;rev=1587027401&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-16T10:56:41+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:sakila_customization</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:sakila_customization&amp;rev=1587027401&amp;do=diff</link>
        <description>After having changed a value in the Film Editor, if you try to save your change into the database, an error occurs:

	*  Caused by: java.sql.SQLException: Data truncated for column 'release_year' at row 1



This error is caused by a inaccurate mapping of the special type year of the column</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:scenario&amp;rev=1587027401&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-16T10:56:41+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:scenario</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:scenario&amp;rev=1587027401&amp;do=diff</link>
        <description>Before launching the generation process, the list of plugin entities must be set. For this first step, Adichatz uses, by default,  3 different ways to launch  the generation process:

	*  Generate Pojos using Hibernate tools.
	*  Determine a folder containing</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:testing&amp;rev=1587975151&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-27T10:12:31+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:testing</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:testing&amp;rev=1587975151&amp;do=diff</link>
        <description>Adichatz provides an original and easy to use solution for testing UI components.

	*  Based on TestNG testing framework.
	*  Launched automatically or on-demand from application (Test classes can be updated and relaunched).
	*  Can easily simulate users actions.</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:testing_extensive&amp;rev=1587027402&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-16T10:56:42+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:testing_extensive</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:testing_extensive&amp;rev=1587027402&amp;do=diff</link>
        <description>Build a Test which checks that databinding service process between editors.


Main aim of this test is to check the good running of databinding service:

	*  Change on an entity in an editor is broadcasted on a second editor.
	*  Dynamic process on controllers is broadcasted between editors.</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:tutorial&amp;rev=1587027402&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-16T10:56:42+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:tutorial</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:tutorial&amp;rev=1587027402&amp;do=diff</link>
        <description>Foreword

	*  Before starting this tutorial, make sure prerequisites are met:




tutorial



This tutorial introduces to the flexibility of the Adichatz framework:


It allows not only to federate powerful technologies, but also offers a logical, structured and easy to learn approach.</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:use_grid_controller&amp;rev=1587027402&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-16T10:56:42+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:use_grid_controller</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:use_grid_controller&amp;rev=1587027402&amp;do=diff</link>
        <description>By default, Adichatz uses TableController. However, GridController can be also an attractive choice. 
For example, make changes on file $projectDirectory/resources/xml/model/cutomer/CustomerTI.xml.





renders the following layout:

[ Grid controller]


Explanations:


	*  Line  3 - rowHeaderVisible=</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:validation_process&amp;rev=1587027402&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-16T10:56:42+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:validation_process</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:validation_process&amp;rev=1587027402&amp;do=diff</link>
        <description>Principles

The validation process is totally integrated to the editor.

	*  You cannot save an editor when a validation error is encountered..
	*  When displaying, modifying, saving data, the validation process is triggered.

To illustrate this issue, choose in the menu the option</description>
    </item>
    <item rdf:about="https://adichatz.org/dokuwiki/doku.php?id=tutorial:why_adichatz&amp;rev=1587027402&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-16T10:56:42+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tutorial:why_adichatz</title>
        <link>https://adichatz.org/dokuwiki/doku.php?id=tutorial:why_adichatz&amp;rev=1587027402&amp;do=diff</link>
        <description>Why Adichatz

Apporter une autre réponse au besoin de développement d'applicaiton aux entreprises:

Riche et étendue

Easy to use to customize to run

En fait, un fois les prerequisite installer, il est très facile de créer votre première application, (2 mn). En suivant ce petit cours, vous aurez une idée plus précise toute la valeur ajoutée que peut apporter Adichatz.</description>
    </item>
</rdf:RDF>
