Chapter 59. Creating work item handler projects Create the software project to contain all configurations, mappings, and executable code for the custom task. You can create a work item handler from scratch or use a Maven archetype to create an example project. Red Hat Process Automation Manager provides the jbpm-workitems-archetype from the Red Hat Maven repository for this purpose. Procedure Open the command line and create a directory where you will build your work item handler such as workitem-home : Check the Maven settings.xml file and ensure that the Red Hat Maven repository is included in the repository list. Note Setting up Maven is outside the scope of this guide. For example, to add the online Red Hat Maven repository to your Maven settings.xml file: Find the Red Hat library version and perform one of the following tasks: To find the library version online, see What is the mapping between Red Hat Process Automation Manager and the Maven library version? . To find the library version offline, check Implementation-Version in business-central.war/META-INF/MANIFEST.MF or Implementation-Version in kie-server.war/META-INF/MANIFEST.MF . In the workitem-home directory, execute the following command: Table 59.1. Parameter descriptions Parameter Description -DarchetypeGroupId Specific to the archetype and must remain unchanged. -DarchetypeArtifactId Specific to the archetype and must remain unchanged. -DarchetypeVersion Red Hat library version that is searched for when Maven attempts to download the jbpm-workitems-archetype artifact. -Dversion Version of your specific project. For example, 1.0.0-SNAPSHOT . -DgroupId Maven group of your specific project. For example, com.redhat . -DartifactId Maven ID of your specific project. For example, myworkitem . -DclassPrefix String added to the beginning of Java classes when Maven generates the classes for easier identification. For example, MyWorkItem . A myworkitem folder is created in the workitem-home directory. For example: Add any Maven dependencies required by the work item handler class to the pom.xml file. To create a deployable JAR for this project, in the parent project folder where the pom.xml file is located, execute the following command: Several files are created in the target/ directory which include the following two main files: Table 59.2. File descriptions Parameter Description myworkitems-<version>.jar Used for direct deployment to Red Hat Process Automation Manager. myworkitems-<version>.zip Used for deployment using a service repository.

Commands:
mkdir workitem-home
<settings> <profiles> <profile> <id>my-profile</id> <activation> <activeByDefault>true</activeByDefault> </activation> <repositories> <repository> <id>redhat-ga</id> <url>http://maven.repository.redhat.com/ga/</url> <snapshots> <enabled>false</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> </repository> </repositories> </profile> </profiles> </settings>
mvn archetype:generate -DarchetypeGroupId=org.jbpm -DarchetypeArtifactId=jbpm-workitems-archetype -DarchetypeVersion=<redhat-library-version> -Dversion=1.0.0-SNAPSHOT -DgroupId=com.redhat -DartifactId=myworkitem -DclassPrefix=MyWorkItem
assembly/ assembly.xml src/ main/ java/ com/ redhat/ MyWorkItemWorkItemHandler.java repository/ resources/ test/ java/ com/ redhat/ MyWorkItemWorkItemHandlerTest.java MyWorkItemWorkItemIntegrationTest.java resources/ com/ redhat/ pom.xml
mvn clean package