Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
tutorial:plugins [2020/06/06 15:22] admin created |
tutorial:plugins [2021/01/10 17:58] (current) admin [Using Custom Plugin] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Tutorial: Plugins ====== | + | ====== Tutorial: |
+ | |||
+ | ====Learning Objectives==== | ||
+ | * [[#What does a plugin do?]] | ||
+ | * [[#Develop custom plugin]] | ||
+ | * [[#Deploy custom plugin]] | ||
+ | * [[#Using custom plugin]] | ||
+ | |||
+ | |||
+ | ===== What does a plugin do?===== | ||
+ | Plugin extends capability that enables your script to interact with AUT like [[plugins# | ||
+ | |||
+ | |||
+ | |||
+ | ===== Develop custom plugin ===== | ||
+ | Custom plugins are just java classes. | ||
+ | |||
+ | Before we can start building our custom plugin, we need to set up the java development environment: | ||
+ | * create a java maven project | ||
+ | * add following maven dependency to pom.xml | ||
+ | |||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | |||
+ | Now we are ready to build our first custom plugin in Eclipse: | ||
+ | * create a plugin java package to hold your custom plugin java classes, e.g. com.mine.plugin | ||
+ | * create your custom plugin java class by inheriting from // | ||
+ | * add @TO_PLUGIN annotation to your java class | ||
+ | * implement required methods | ||
+ | * add your plugin functions - declare them as public functions | ||
+ | |||
+ | Below is an example of the java class: | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | @Override | ||
+ | public String getPluginID() { | ||
+ | | ||
+ | } | ||
+ | |||
+ | @Override | ||
+ | public String getPluginDesc() { | ||
+ | | ||
+ | } | ||
+ | |||
+ | @NOT_MSCRIPT_METHOD | ||
+ | @Override | ||
+ | | ||
+ | System.out.println(" | ||
+ | |||
+ | } | ||
+ | |||
+ | @NOT_MSCRIPT_METHOD | ||
+ | @Override | ||
+ | public void close() { | ||
+ | | ||
+ | } | ||
+ | |||
+ | public String doSomething (String something_p) { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | By default, all public methods declared as well as inherited are exposed as MScript function. | ||
+ | |||
+ | Don't forget to write junit test to test the plugin functions. | ||
+ | |||
+ | |||
+ | ===== Deploy Custom Plugin ===== | ||
+ | * Export project as jar file | ||
+ | * Copy the plugin jar file to /lib folder in // | ||
+ | * Register your plugin package in // | ||
+ | |||
+ | | ||
+ | |||
+ | Above registry tells // | ||
+ | |||
+ | * Restart TestOptimal server to make the changes effective. | ||
+ | |||
+ | ===== Using Custom Plugin ===== | ||
+ | Plugins must be activated before they can be used in the script. | ||
+ | |||
+ | * Open an existing model or create a new model | ||
+ | * Select //SCRIP//T tab | ||
+ | * Click on " | ||
+ | * Check the checkbox for your custom plugin | ||
+ | * Close Plugin Activation dialog | ||
+ | |||
+ | Press // | ||
- | Learning Objectives: | ||
- | * What does a plugin do? | ||
- | * System plugins | ||
- | * Develop custom plugin | ||
- | * Deploy custom plugin | ||
- | * Sharing custom plugin | ||