2022 June Release

Transformation of Legacy Software ComponentsPermanent link for this heading

This chapter outlines the supported language constructs for the transformation of legacy software components.

Creating an Fabasoft app.ducx Project From an Existing Software ComponentPermanent link for this heading

Fabasoft app.ducx allows you to create a Fabasoft app.ducx project from an existing software component. To do so, click “Import“ on the context menu in Eclipse Project Explorer. Select “Existing Component as Fabasoft app.ducx Project” and click “Next“.

This will take you to the dialog box depicted in the following figure where you can select the source for creating the new Fabasoft app.ducx project. You may either select a container object (.coo) file from the file system or a software component from your development domain. Enter a Project name and the reference of your new software component in the Component field, and click “Next“ to proceed.

The remaining steps of the wizard are similar to the steps when creating a new Fabasoft app.ducx project from scratch.

After completing the remaining steps, the wizard creates a Fabasoft app.ducx project based on the software component you selected as source, and transforms the component objects belonging to the software component into domain specific language source code.

Note: A full transformation of all elements of the software component used as source might not be possible.

Object Model LanguagePermanent link for this heading

Language Construct

Transformer Support

Class/Class extension

Supported

Struct/Struct extension

Supported

Enum/Enum extension

Supported

Instance/Instance extension

Supported

Relation

Generated as class and properties

Field

Supported

Property

  initialization values

  constraints

  backlink

Supported

Supported

Supported

Supported

Resource LanguagePermanent link for this heading

Language Construct

Transformer Support

Error message

Supported

String

Supported

Symbol

Supported

User Interface LanguagePermanent link for this heading

Language Construct

Transformer Support

Form/Deskform

  dataset

  layout

Supported

Supported

Ignored

Form/Deskform extension

Supported

Formpage/Formpage extension

Supported

Menu/Menu extension

Generic
Generated as an instance or a set of instances

Menu root

Supported

Portal

Generic

Taskpane/Taskpane extension

Supported

Binding

Supported

Button

Generic

Buttonbar/Buttonber extension

Supported/ Commented, when in backend is not available anymore

Use Case LanguagePermanent link for this heading

Language Construct

Transformer Support

Transaction variable

Generated as enum and properties for COOSYSTEM@1.1@TransactionVariables

Usecase/Action

Supported

Override

Supported

Menu usecase

Supported

Wrappers

Generic

Virtual application

Generic

Organization Structure LanguagePermanent link for this heading

Language Construct

Transformer Support

Position

Supported

Organizational unit/Organizational unit extension

Supported

Access type

Supported

Business Process languagePermanent link for this heading

Language Construct

Transformer Support

Activity/Activity extension

Supported

Process

Partially supported: conditions/loops/case construct might result errors

Customization LanguagePermanent link for this heading

Language Construct

Transformer Support

Customization

Generic

Customization point

Generic

Expression LanguagePermanent link for this heading

In expressions short references are used whenever possible. If parse errors occur, no changes are performed and the expression will be taken as it is.