Introduction
The source import/export tool is used to export Adelia object sources in the form of a text file tree.
The main aim of the tool is to create a tree of files that can be integrated into Git, Subversion or equivalent version control software.
The tool manages the following object types:
- Report (Adelia or Crystal reports).
- RAD model.
- Adelia dialog type.
- Custom graphical object.
- Management rule.
- Program (all types).
- Class.
The source tree view generated complies with the structure of the Adelia repository. The "src" sub-directory contains one sub-directory per Adelia application area, containing the application area's private object sources. The _Commons directory represents the repertory (public object sources).
The tree view contains an "src" sub-directory containing a directory for each Adelia application area (the _Commons directory contains the Adelia repository's public object sources).
Each application area directory contains a sub-directory corresponding to the object type (as referenced in the Adelia repository; the abbreviations are therefore in French), itself containing a sub-directory corresponding to the object name.
BDCADEL
src
_Commons
ETA
GRA
MRA
PGM
AAID_DSPF
AFF_CLI_SQL_01
environment.json
genoptions.json
layout.json
object.json
object.src
resources.json
sync.tag
tech_doc_1.txt
transaction_1.xml
transaction_2.xml
AFF_CLI_SQL_02
RGG
TDI
EXAMPLE_ADELIA
EXAMPLE_MOBILE
...
The generated files are as follows:
All objects |
|
sync.tag |
Synchronization data. |
object.json |
Object description. |
comment.txt |
Comment on the object (optional). |
user_doc.txt |
User documentation (optional for the object types managing the documentation). |
tech_doc.txt |
Technical documentation (optional for the object types managing the documentation). |
Adelia report (ETA) |
|
layout.xml |
Report description file. |
layout.json |
Layout characteristics. |
simformats.json |
Simulation formats (optional). |
Crystal report (ETA) |
|
report.rpt |
Report description file. |
Dialog type (TDI) |
|
object.src |
4GL source. |
transaction_*.xml |
Adelia transaction description files. |
user_doc_*.txt |
Transaction user documentation (optional). |
tech_doc_*.txt |
Transaction technical documentation (optional). |
Custom graphical object (GRA) |
|
object.src |
4GL source (optional for PGOs with source). |
bitmap_up.png |
Palette image resource. |
bitmap_dw.png |
Palette image resource. |
properties.json |
List of changed object properties. |
property_<id>.<ext> |
Binary property values. |
RAD model (MRA) |
|
object.src |
4GL source. |
properties.json |
List of template properties. |
property_<id>.<ext> |
Binary property values. |
window_*.xml |
Template window description files. |
ADELIA program (PGM) |
|
object.src |
4GL source. |
metadata.json |
Program metadata. |
genoptions.json |
Generation options. |
environment.json |
Data environment description. |
layout.json |
Layout characteristics (interactive program). |
transaction_*.xml |
Adelia transaction description files (interactive program). |
user_doc_*.txt |
Transaction user documentation (optional). |
tech_doc_*.txt |
Transaction technical documentation (optional). |
reports.json |
Reports assigned to the program (batch program). |
VISUAL program (PGM) |
|
object.src |
4GL source. |
metadata.json |
Program metadata. |
genoptions.json |
Generation options. |
window_*.xml |
Window description files (interactive program). |
reports.json |
Reports assigned to the program (batch program). |
resources.json |
Resources assigned to the program (optional). |
WADELIA program (PGM) |
|
object.src |
4GL source. |
metadata.json |
Program metadata. |
genoptions.json |
Generation options. |
page_*.xml |
Page description files (interactive program). |
resources.json |
Resources assigned to the program (optional). |
↑ Top of page
Distribution
The command line tools are provided in the form of an archive in the "Distrib" sub-directory of the Adelia Studio installation.
To install the tool, extract the zip file in the "Distrib\AdeliaCommandLineInterface" directory to a dedicated directory.
The zip contains the following directories:
CmdLineInterface |
Contains the documentation files (README*.txt, INSTALL*.txt, NOTICE.txt). |
bin |
Contains the command files (simplified interface in command line). |
conf |
Contains the configuration files. |
lib |
Contains the execution libraries. |
↑ Top of page
Command files
The following command files are provided:
configure.bat
The configure.bat command file is a question/answer script used to create configuration files for a specific Adelia environment (JDBC connection URL and profile/password, output directory, JDBC pilot configuration). If you choose to store the connection password, this will be automatically encoded.
Usage: configure ENVIRONMENT_ALIAS
The command file will create a directory corresponding to the alias chosen in the sub-directory/distribution conf. and use it to store the configuration files containing the environment connection parameters.
Important: The schema (by default: SYSADEL) configuration only applies to databases that support the concept of schema. With MySQL, the schema must be empty and the database must be specified in the connection URL.
For example, the automatic configuration for a BDCADEL database installed in DB2 will generate the following files:
loader.properties (reference of additional JAR added to the CLASSPATH, here the JDBC pilots)
loader.path=C:/Program Files/IBM/SQLLIB/java/db2jcc_license_cu.jar,C:/Program Files/IBM/SQLLIB/java/db2jcc4.jar,C:/Program Files/IBM/SQLLIB/java/pdq.jar
application.properties (Spring Boot application parameters).
#Tue Oct 02 14:01:39 CEST 2018 adelia.language=fr adelia.sync_folder=D\:/IDE/TESTIDE spring.datasource.password=ENC(FV2BiEKzy/mh3xbawBbpNZIMxIVgzyCu) spring.datasource.url=jdbc\:db2\://hostname\:50000/TESTIDE\:useRowsetCursor\=true; spring.datasource.username=test spring.jpa.properties.hibernate.default_schema=SYSADEL
check.bat
The check.bat command file is used to check the validity of the configuration files and, as an option, to change the profile and connection password.
Use: check ALIAS [-u profile] [-p password] [-storepassword] -u profile Connection profile. the profile must correspond to a software engineer registered in the environment. -p password Password. -storepassword Update of profile and password stored in the configuration files (from the -u and -p parameters).
export.bat
The export.bat command file is used to export all or some of the objects from the Adelia repository to the disk (programs, management rules, etc.).
Use: ALIAS export [-u profile] [-p password] ([-type:[REP|ETA,RAD|MRA,PT|TDI,GRA,MR|RGG,PGM,CLA]] [-force] [-app_area:APPLICATION AREA] [-resolve:[AUTO|REPOSITORY|FILESYSTEM]] [names])*
-u profile |
Connection profile, the profile must correspond to a software engineer registered in the environment. |
-p password |
Password. |
-type:TYPES |
List of object types separated by commas. The accepted values are:
|
-app_area:APPLICATION AREA |
Application area (all the application areas will be processed if the parameter is not specified). Use the "_Commons" value for public objects. |
-force |
Force the export whatever the synchronization status. |
-resolve:AUTO |
Ignore objects with synchronization conflicts. |
-resolve:REPOSITORY |
Resolves conflicts by using the environment version. |
-resolve:FILESYSTEM |
Resolves conflicts by using the disk version. |
-component:COMPONENT | Exports the programs and the classes associated with the specified build component. |
names |
List of object name masks (* by default). |
- The ALIAS parameter refers to a sub-directory of the /conf directory containing the configuration files for connecting to the environment (created by the configure command).
- The type parameter is used to filter by object type. By default, all the objects of a supported type will be exported. If you specify "-type:PGM,RGG", only the programs and management rules will be processed.
- Specifying the -app_area option enables only the private objects to be exported to the indicated application area.
- The -force option is used to bypass the synchronization status check and export an object even if the disk version is more recent than the environment version.
- The -resolve option is used to explicitly indicate how to resolve synchronization conflicts. If an object has been changed in the environment as well as on the disk, the -resolve:REPOSITORY option will authorize the export, while -resolve:AUTO or -resolve:FILESYSTEM will ignore the object.
- You can specify a list of names or object name masks to export. By default, all objects will be processed (mask ). The masks are in DOS format ( corresponds to a character sequence, ? to a single character).
- The "-component" option acts as a filter which allows the programs and the classes associated with a component to be selected. For example, the "TEST" build component in a given environment includes the "TEST1" and "TEST2" programs; then the "-component;TEST" option is equal to "-type:PGM,CLA TEST1 TEST2".
↑ Top of page
Please note that the Adelia software engineer must have read access to the objects and the object manager for the application areas processed (Object manager and 4GL editor (*OPPM)").
import.bat
The export.bat command file is used to import all or some of the objects from the Adelia repository from the disk (programs, management rules, etc.).
Use : ALIAS import [-u profile] [-p password] ([-type:[REP|ETA,RAD|MRA,PT|TDI,GRA,MR|RGG,PGM,CLA]] [-force] [-app_area:APPLICATION AREA] [-resolve:[AUTO|REPOSITORY|FILESYSTEM]] [-recreate] [-autocorrect] [-no_check] [names])*
-u profile |
Connection profile, the profile must correspond to a software engineer registered in the environment. |
-p password |
Password. |
-type:TYPES |
List of object types separated by commas. The accepted values are:
|
-app_area:APPLICATION AREA |
Application area (all the application areas will be processed if the parameter is not specified). Use the "_Commons" value for public objects. |
-force |
Force the import whatever the synchronization status. |
-resolve:AUTO |
Ignore objects with synchronization conflicts. |
-resolve:REPOSITORY |
Resolves conflicts by using the environment version. |
-resolve:FILESYSTEM |
Resolves conflicts by using the disk version. |
-recreate |
Recreate the object if it does not exist in the Adelia repository. |
-autocorrect |
Automatically add the object to the correction in progress if necessary (correction environments). |
-no_check |
Partially disable the source structure check (block order, source incorrectly placed). |
-component:COMPONENT | Exports the programs and the classes associated with the specified build component. |
names |
List of object name masks (* by default). |
- The ALIAS parameter refers to a sub-directory of the /conf directory containing the configuration files for connecting to the environment (created by the configure command).
- The type parameter is used to filter by object type. By default, all the objects of a supported type will be exported. If you specify "-type:PGM,RGG", only the programs and management rules will be processed.
- Specifying the -app_area option enables only the private objects to be exported to the indicated application area.
- The -force option is used to bypass the synchronization status check and import an object even if the environment version is more recent than the disk version.
- The -recreate option will try to create the object if it does not exist in the target environment.
- The -autocorrect option will automatically add the object to the correction by default if necessary (and possible) in a correction environment.
- The -resolve option is used to explicitly indicate how to resolve synchronization conflicts. If an object has been changed in the environment as well as on the disk, the -resolve:FILESYSTEM option authorizes the import, while -resolve:AUTO or -resolve:REPOSITORY ignores the object.
- You can specify a list of names or object name masks to export. By default all objects will be processed (mask ). The masks are in DOS format ( corresponds to a character sequence, ? to a single character).
- The "-component" option acts as a filter which allows the programs and the classes associated with a component to be selected. For example, the "TEST" build component in a given environment includes the "TEST1" and "TEST2" programs; then the "-component;TEST" option is equal to "-type:PGM,CLA TEST1 TEST2".
Please note that the Adelia software engineer must be the owner of the processed objects or have "Change all objects (*REM)" permission in the relevant application areas, and have write access to "Object manager and 4GL editor" in the relevant application areas.