The Pineapple API project contains:
The project contains these schemas:
The schema for environment configuration of Pineapple supports definition of credentials and resources.
The schema is defined in the file environment_1_0.xsd and defines the namespace: http://pineapple.dev.java.net/ns/environment_1_0
The schema for modules supports definition of Pineapple modules, e.g. input for operations.
The schema is defined in the file module_1_0.xsd and defines the namespace: http://pineapple.dev.java.net/ns/module_1_0
The module model schema supports definition of models which aggregates a module. A module consist of a set of models (one for each environment) which contains the actual input to operations.
The schema is defined in the file module_model_1_0.xsd and defines the namespace: http://pineapple.dev.java.net/ns/module_model_1_0
The execution result schema supports definition of models contains a tree a execution results. The model is used to transport the state of execution from agents to a controlling Pineapple instance.
The schema is defined in the file execution_result_1_0.xsd and defines the namespace: http://pineapple.dev.java.net/ns/execution_result_model_1_0
The schema supports definition of scheduled operations. The schema is used by the REST API to expose information about the current set of scheduled operations. The schema is used the core component to persist information about scheduled operations.
The schema is defined in the file scheduled_operation_1_0.xsd and defines the namespace: http://pineapple.dev.java.net/ns/scheduled_operation_1_0.xsd
The project generates model classes from the XML schemas:
The project contain classes to map model objects to/from objects used by the core component.
The project contains the helper classes:
Go to the usage page for detailed information about how to use the classes.
The project contains the interfaces which are defined by the plugin framework.
The plugin framework contains interfaces which are used implement plugins.
The project contains the interfaces and classes which implements the execution framework.
The execution framework supports monitoring and controlling the execution of operations and commands. The purpose of the framework is to:
The project contains the interfaces and classes which implements support for internationalization through the resolution of compound messages (e.g. messages with parameters) stored in property files.
The project contains interfaces and classes which implements support for assertion of Hamcrest matchers with collection of results in execution result objects.
The project contains miscellaneous utility classes which can be used across projects.
Instructions on the usage of the classes in the project can be found here.
To provide you with better understanding on some usages of the classes, you can take a look into the following examples:
Technical documentation for developers about the architecture, design and implementation of the project can be found here.