ExecutionEngine InvokableProfile

From Gcube Wiki
Jump to: navigation, search

Eclipse Plug-in

The construction of a profile for a callable object involves the synthesis of a, potentially complex and large, XML document. To automate this procedure, a plugin for the Eclipse IDE has been created, that bases its operation on annotations within the code to generate the Invocable Profile. This plug-in of course can only be used to create Invocable Profiles for Java Objects and Web Services and not for Shell Scripts. The annotations are only used during the construction of the Invocable profile, and need not be present at runtime at the byte code that the Execution Engine will invoke, during the execution of an Execution Plan that involves this callable.

The annotations defined are the following:

  • For Java Objects
    • MadgikPojoInvocable
      Decorates the class definition.
    • MadgikPojoConstructor
      Decorates the constructors that should be visible by the Execution Engine.
    • MadgikPojoMethod
      Decorates the methods that should be visible by the Execution Engine.
    • MadgikPojoArgument
      Decorates all arguments of constructors or methods that are visible by the Execution Engine.
  • For Web Services
    • MadgikWSInvocable
      Decorates the Web Service class definition.
    • MadgikWSMethod
      Decorates the methods that should be visible by the Execution Engine.
    • MadgikWSArgument
      Decorates all arguments of methods that are visible by the Execution Engine.

All of these annotations define parameters, which must be defined or set to their default values.

Once all the needed methods, arguments, constructors, and objects are fully decorated, and the plugin installed, the context menu of the Java file that has been decorated can be used to generate the Invocable Profile.

The following screenshot displays this context menu, and the commands it offers.

ExecutionEngine Decoration ContextMenu.png

The output of the processing, which is the Invocable Profile, is displayed in a new Console, or dumped in a file.

ExecutionEngine Decoration Profile.png

In cases of errors or warnings during the processing, the Java file is marked respectively, and the Problems list is updated with the description of the problem. These errors can be cleared either by correcting the error and reprocessing the decorations, or by selecting the Clear Warnings and Errors from the context menu.

ExecutionEngine Decoration Error.png