Execution of Java code that can involve the primitive data and structural data elements of the model.
Following model is used to implement an example of a plain java application (PlainJavaAppExample.xpdl in this zip):
The user enters the full name of a client (format: <first name> <last name>).
In application activity Dispatch Fullname and Generate ID:
the full name is dispatched into first name and last name using Plain Java Application Generate Id App. Therefore, using IN Data Mapping, primitive data Full Name is mapped into the attribute fullName of Generate Id App.
Likewise, the customer id is generated.
Finally, using OUT Data Mapping the corresponding attributes of Generate Id App are mapped into the corresponding fields of Customer structured data.
The values of the Customer structured data are displayed.
The integration of a Plain Java Application into a model is sufficiently described in the corresponding article in the Stardust documentation. The main points to keep in mind are summarized in following:
- only getter- and setter-methods can be used as access points
- to assign the value of a data in the model to an attribute of the Java-class (model data -> Java class): IN-Data Mapping, access point: method setAttribute(..)
- to assign the value of an attribute of the Java-class to a data in the model (Java-class -> model data): OUT-Data Mapping, access point: method getAttribute()
- IN data mappings are executed before the completion method. OUT data mappings are executed after the completion method.
Thus, it is of best practice to leave getter- and setter-methods empty and to implement the application logic within the completion method.