Difference between revisions of "ExecutionEngine InvokableProfile"

From Gcube Wiki
Jump to: navigation, search
(Eclipse Plug-in)
Line 1: Line 1:
 
=Eclipse Plug-in=
 
=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 [[ExecutionEngine | Execution Engine]] will invoke during the execution of an [[ExecutionEngine#Execution_Plan | Execution Plan]] that involves this callable.
+
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 [[ExecutionEngine | Execution Engine]] will invoke, during the execution of an [[ExecutionEngine#Execution_Plan | Execution Plan]] that involves this callable.
  
 
The annotations defined are the following:
 
The annotations defined are the following:
 
*For Java Objects
 
*For Java Objects
 
**MadgikPojoInvocable
 
**MadgikPojoInvocable
**:Decorates the class definition
+
**:Decorates the class definition.
 
**MadgikPojoConstructor
 
**MadgikPojoConstructor
**:Decorates the constructors that should be visible by the [[ExecutionEngine | Execution Engine]]
+
**:Decorates the constructors that should be visible by the [[ExecutionEngine | Execution Engine]].
 
**MadgikPojoMathod
 
**MadgikPojoMathod
**:Decorates the methods that should be visible by the [[ExecutionEngine | Execution Engine]]
+
**:Decorates the methods that should be visible by the [[ExecutionEngine | Execution Engine]].
 
**MadgikPojoArgument
 
**MadgikPojoArgument
**:Decorates all arguments of constructors or methods that are visible by the [[ExecutionEngine | Execution Engine]]
+
**:Decorates all arguments of constructors or methods that are visible by the [[ExecutionEngine | Execution Engine]].
 
*For Web Services
 
*For Web Services
 
**MadgikWSInvocable
 
**MadgikWSInvocable
**:Decorates the Web Service class definition
+
**:Decorates the Web Service class definition.
 
**MadgikWSMethod
 
**MadgikWSMethod
**:Decorates the methods that should be visible by the [[ExecutionEngine | Execution Engine]]
+
**:Decorates the methods that should be visible by the [[ExecutionEngine | Execution Engine]].
 
**MadgikWSArgument
 
**MadgikWSArgument
**:Decorates all arguments of methods that are visible by the [[ExecutionEngine | Execution Engine]]
+
**:Decorates all arguments of methods that are visible by the [[ExecutionEngine | Execution Engine]].
  
All of these annotations define parameters which must be defined or set to their default values.
+
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.
 
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 screen shot displays this context menu and the commands it offers.
+
The following screenshot displays this context menu, and the commands it offers.
  
 
[[Image:ExecutionEngine_Decoration_ContextMenu.png]]
 
[[Image: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.
+
The output of the processing, which is the Invocable Profile, is displayed in a new Console, or dumped in a file.
  
 
[[Image:ExecutionEngine_Decoration_Profile.png]]
 
[[Image:ExecutionEngine_Decoration_Profile.png]]
  
In cases of errors or warning 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 leared either by correcting the error and reprocessing the decorations, or by selecting the ''Clear Warnings and Errors'' from the context menu.
+
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.
  
 
[[Image:ExecutionEngine_Decoration_Error.png]]
 
[[Image:ExecutionEngine_Decoration_Error.png]]

Revision as of 13:00, 28 September 2011

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.
    • MadgikPojoMathod
      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