Publication of Processing Status Events

During execution, ShapeChange publishes a certain set of status events. If ShapeChange is not invoked as a standalone command line application then Java objects (that are part of a larger application) that implement the StatusReader interface can be registered with the StatusBoard singleton to receive these events.

NOTE: the information provided on this page is for advanced users, specifically for the case embedding ShapeChange in another application.

Status Events

Event Source / ShapeChange Class Name of ShapeChange Class Public Constant defining the Status Code Status Code (Integer) Description
 Converter  STATUS_TARGET_INITSTART  201  Initialization of a Target before it processes an application schema.
 Converter  STATUS_TARGET_PROCESS  202 A Target starts processing an application schema.
 Converter  STATUS_TARGET_WRITE  203 A Target starts the output writing phase after it has processed an application schema (usually irrelevant for SingleTargets like the FeatureCatalogue).
 Converter  STATUS_TARGET_WRITEALL  204  A SingleTarget starts the output writing phase after it has processed all relevant application schemasThe FeatureCatalogue only writes a temporary XML at this stage.
 Converter  STATUS_TARGET_DEFERRED_WRITE  205  Final phase for all targets where writing the output can be highly memory intensive (like performing an XSL transformation that requires several GB of memory – example: transformation of the temporary XML by the FeatureCatalogue).NOTE1: ShapeChange starts this phase once the model has been processed by all transformations and targets, as a kind of postprocessing phase.NOTE2: currently, the ID of the target for which the deferred output write is executed cannot be retrieved from the Converter.
 Converter  STATUS_TRANSFORMER_PROCESS  206  Indicates that a transformation is being processed.NOTE: currently, the Converter does not provide further information about which transformation is being processed. A transformation itself might publish more specific status events; the Profiler is an example.
 FeatureCatalogue  STATUS_WRITE_PDF  22
 FeatureCatalogue  STATUS_WRITE_HTML  23
 FeatureCatalogue  STATUS_WRITE_XML  24
 FeatureCatalogue  STATUS_WRITE_RTF  25
 FeatureCatalogue  STATUS_WRITE_FRAMEHTML  26
 FeatureCatalogue  STATUS_WRITE_DOCX  27
 Profiler(code range 200100-200199)  STATUS_PREPROCESSING_PROFILESVALUECONSISTENCYCHECK  200100  The Profiler starts execution of rule-trf-profiling-preprocessing-modelConsistencyCheck
 Profiler  STATUS_PREPROCESSING_MODELCONSISTENCYCHECK  200101  The Profiler starts execution of rule-trf-profiling-preprocessing-profilesValueConsistencyCheck
 Profiler  STATUS_PROCESSING_PROFILING  200130  The Profiler starts the actual profiling process
 Profiler  STATUS_POSTPROCESSING_REMOVERESIDUALTYPES  200170  The Profiler starts execution of rule-trf-profiling-postprocessing-removeResidualTypes
 Profiler  STATUS_POSTPROCESSING_REMOVEEMPTYPACKAGES  200171  The Profiler starts execution of rule-trf-profiling-postprocessing-removeEmptyPackage
 Application Schema Metadata
(code range 301500-301599)
 STATUS_RULE_ALL_IDENTIFY_PROFILES  301500  The Application Schema Metadata target starts execution of rule-asm-all-identify-profiles


Pseudocode Example

public class XYZ implements StatusReader {
   public boolean myMethod() {
   converter = new Converter(options, result);