GESMES/TS Suite: User Documentation


Installation

First install Java version 1.2.2 or higher. If you have got the suite in binary form and want only to run the loader application, you need the Java Runtime Environment (JRE). If you are going to compile the source files yourself or to program your own extensions in Java, you need the full Java Software Development Kit (SDK).

If you want to use FAME, you need to get and install FAME TimeIQ in a version suitable for your version of Java. You must then also make sure to make the TimeIQ libraries available in the CLASSPATH environment variable or using the optuion -cp of the java command.

Configuration

The suite uses a plain text configuration file in the Java {@link java.util.Properties} format. This means it consists of assignment-like lines where the left side is a dot-separated path to the destination. The following could be a quite minimal configuration file to perform only semantic checking and reporting to console only:

##########################################################
#          Gesmes/TS Checker Configuration File          #
##########################################################
# @(#)$Id: index.html,v 1.1 2017/01/19 16:14:05 trainot Exp $
##########################################################

################# Component Usage Setup ##################

# This setting determines whether a SemanticChecker is used.
Int.ecb.gesmescb.application.Loader.useSemanticChecker = true

##################### Logging Setup ######################

# Log to console in human readable format, but only INFOs or above.
handlers = Int.ecb.logging.ConsoleHandler
Int.ecb.logging.ConsoleHandler.formatter = Int.ecb.gesmescb.util.NormalLogFormatter
Int.ecb.logging.ConsoleHandler.level = INFO

# When parsing structural definitions, report only WARNINGs or above.
Int.ecb.gesmescb.edifact.EDIFACTReader.StructuralDefinitionsReader.level = WARNING

Find out about available preferences for:

More involved log file samples you can choose from the following list.

Running

You can run the application using a command line like:

java -cp $CLASSPATH:gesmescb.jar -DInt.ecb.logging.config.class=Int.ecb.gesmescb.util.LoggingPropertiesReader -DInt.ecb.logging.config.file=checker.cnf -DInt.ecb.prefs.config.file=checker.cnf Int.ecb.gesmescb.application.Loader structural_definitions.gsm data.ges

The precise activity performed will be determined by the settings in the used configuration file. Note that the configuration file is specified twice in the above command line. Once it is used to set up logging, then it is used for general process setup. If you want to use two separate configuration files for these tasks, you can though there is probably barely any reason to do so.

You can also put content from the configuration file to the command line. This is particularly useful for specifying output destinations and in connection with shell scripts. E.g. you could replace a line

Int.ecb.gesmescb.fame.FAMEWriter.destination = output

by addition of the option

-DInt.ecb.gesmescb.fame.FAMEWriter.destination=output

to the command line. In a shell script you would therefore find lines like

-DInt.ecb.gesmescb.fame.FAMEWriter.destination=$3

Return value

Upon completion of processing, java will terminate and inform about success or problems using the return code. This can be used in a shell script to determine further actions. The codes used are specified below:

0
if no problems have been detected
1
if unexpected objects were sieved out
2
if a component, particularly the {@link Int.ecb.gesmescb.semanticchecker.SemanticChecker}, encountered an error
other
in case of a configuration failure or internal failure

Also see {@link Int.ecb.gesmescb.error.AcknowledgementManager#computeExitCode}.

Acknowledgement file

The application is capable of writing acknowledgement files similar to MIME format. To do so you need to set the preference variable Int.ecb.gesmescb.error.AcknowledgementManager.acknowledgementFile to specify the output file path.

You can also set Int.ecb.gesmescb.error.AcknowledgementManager.headerFile to point to the input header file in MIME like format. It will then be the starting point for the acknowledgement file.

Error messages

When human readable logging is enabled, an output in the style

Log opened: 4/8/02 9:07 AM
INFO::Configured to {check}
INFO::Starting to parse GESMES/CB(EDIFACT) input from data.gsm.
INFO::Ending to parse GESMES/CB(EDIFACT) input from data.ges. Processed 278562 byte.
INFO::Closed GESMES/CB(EDIFACT) input from data.ges.
INFO::Finished processing data.ges

will be generated. It will be directed to your standard output (e.g. screen) unless configured otherwise.

In case of problems, there will appear lines starting with WARNING or even SEVERE in place of INFO. A WARNING informs about a problem which you should take care of though it is not likely to cause actual harm to the data. A SEVERE is raised when the error condition prohibits safe continuation of the process. This may be due to erroneous input data or to an setup or internal problem with the software.