Extension Project Folder Structure
The folder structure of the extension project looks like this:
In the section on individualizing settings, you learned how to change the build.gradle
file to make your individual extension.
Statements like the extension name and the groupId are used to create the folder structure of your extension project.
The groupId, for example, is the root path of your Java packages. The extension name is used to name the files of your project. The name of the example extension is MyTest
.
The folder src/main/java
contains your Java code, while src/main/resources
contains configurations, documentation and the extension icon.
The following table describes the different generated files in your extension project (replace 'NAME' with the name of your extension):
File name | Description |
---|---|
PluginInitNAME.java | The Java class PluginInitNAME.java loads the extension into Altair AI Studio. It contains certain methods that you can specify to add actions (for example, during the extension start-up or before closing the application). When using the extension on your RapidMiner Server, only the method initPlugin() is called. |
groupsNAME.properties | Specifies operator or data object colors. |
ioobjectsNAME.xml | Defines IOObjects (data objects), how they are called, their implementation class, and the renderer that renders the data object in the Results perspective. |
OperatorsNAME.xml | Specifies operators and operator groups, as well as their location in the Operator Tree of the Operators view. |
parserulesNAME.xml | Automatically updates operator parameters (not frequently used). |
settingsNAME.xml | Specifies settings in the Preferences dialog. |
ErrorsNAME.properties | Stores I18N error messages. You can load an error message in your code with I18N.getErrorMessage(key, arguments); . |
GUINAME.properties | Stores I18N GUI messages. You can load a message in your code with I18N.getGUIMessage(key, arguments); . |
OperatorsDocNAME.xml | Contains translations from operator group keys to names as well as tags for the operators. This is explained in more detail here. |
SettingsNAME.properties | Contains user-friendly setting names and descriptions for setting keys defined in settingsNAME.xml . The names and descriptions are shown in the Preferences dialog. |
UserErrorMessagesNAME.properties | Contains user error messages for operators. They are displayed, when the code in an operator detects wrong parameter settings or otherwise encounters a problem. For each error name, you must define the properties error.error_name.name (name of the error), error.error_name.short (short error message) and error.error_name.long (long error message). Example use of an user error in your code: throw new UserError(this, exception.getMessage(), "error_name"); . |
example_operator_key.xml | Provides an example of operator documentation. The file is placed in the folder mytest.example_group . Create one folder, called NAME.group_name , per operator group and add one XML file per operator to the respective group folder. |
Now, you know how the project is structured. It's time to build your first operator class.