diff options
Diffstat (limited to 'bpmn/MSOCockpit')
-rw-r--r-- | bpmn/MSOCockpit/pom.xml | 66 | ||||
-rw-r--r-- | bpmn/MSOCockpit/src/main/assembly/cockpit-build.xml | 91 | ||||
-rw-r--r-- | bpmn/MSOCockpit/src/main/resources/WEB-INF/applicationContext.xml | 111 | ||||
-rw-r--r-- | bpmn/MSOCockpit/src/main/resources/WEB-INF/jboss-deployment-structure.xml | 34 | ||||
-rw-r--r-- | bpmn/MSOCockpit/src/main/resources/WEB-INF/web.xml | 173 |
5 files changed, 475 insertions, 0 deletions
diff --git a/bpmn/MSOCockpit/pom.xml b/bpmn/MSOCockpit/pom.xml new file mode 100644 index 0000000000..bac169d921 --- /dev/null +++ b/bpmn/MSOCockpit/pom.xml @@ -0,0 +1,66 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <parent> + <groupId>org.openecomp.mso</groupId> + <artifactId>bpmn</artifactId> + <version>0.0.4-SNAPSHOT</version> + </parent> + + <modelVersion>4.0.0</modelVersion> + <groupId>org.openecomp.mso</groupId> + <artifactId>MSOCockpit</artifactId> + <packaging>pom</packaging> + <name>MSOCockpit</name> + <description>Builds the Camunda cockpit webapp for MSO</description> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-assembly-plugin</artifactId> + <executions> + <execution> + <configuration> + <descriptors> + <descriptor>src/main/assembly/cockpit-build.xml</descriptor> + </descriptors> + <appendAssemblyId>false</appendAssemblyId> + </configuration> + <id>cockpit-build</id> + <phase>package</phase> + <goals> + <goal>single</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + + <dependencies> + + <dependency> + <groupId>org.camunda.bpm.webapp</groupId> + <artifactId>camunda-webapp-jboss-standalone</artifactId> + <version>${camunda.version}</version> + <type>war</type> + </dependency> + + <dependency> + <groupId>org.openecomp.mso</groupId> + <artifactId>common</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>com.att.camunda.bpm.cockpit.plugin</groupId> + <artifactId>cockpit-urnmap-plugin</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.openecomp.mso</groupId> + <artifactId>MSOCoreBPMN</artifactId> + <version>${project.version}</version> + </dependency> + </dependencies> + +</project> diff --git a/bpmn/MSOCockpit/src/main/assembly/cockpit-build.xml b/bpmn/MSOCockpit/src/main/assembly/cockpit-build.xml new file mode 100644 index 0000000000..d623aa585a --- /dev/null +++ b/bpmn/MSOCockpit/src/main/assembly/cockpit-build.xml @@ -0,0 +1,91 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP MSO + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<assembly + xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1 http://maven.apache.org/xsd/assembly-1.1.1.xsd"> + <id>cockpit-build</id> + + <formats> + <format>war</format> + </formats> + + <includeBaseDirectory>false</includeBaseDirectory> + + <dependencySets> + <dependencySet> + <outputDirectory>/</outputDirectory> + <includes> + <include>org.camunda.bpm.webapp:camunda-webapp-jboss-standalone</include> + </includes> + <unpack>true</unpack> + <unpackOptions> + <excludes> + <exclude>WEB-INF/applicationContext.xml</exclude> + <exclude>WEB-INF/web.xml</exclude> + <exclude>WEB-INF/jboss-deployment-structure.xml</exclude> + </excludes> + </unpackOptions> + <scope>runtime</scope> + <useProjectArtifact>false</useProjectArtifact> + </dependencySet> + + <!-- Here is where cockpit plugins are embedded --> + + <dependencySet> + <outputDirectory>/WEB-INF/lib</outputDirectory> + <includes> + <!-- The URN Mapping plugin --> + <!-- <include>com.att.camunda.bpm.cockpit.plugin:cockpit-urnmap-plugin</include> --> + + <!-- for MSO Logging --> + <include>org.openecomp.mso:logger</include> + <include>ch.qos.logback:logback-core</include> + <include>ch.qos.logback:logback-classic</include> + <include>com.att.eelf:eelf-core</include> + + <!-- Included so the cockpit can deserialize and display core + class objects, like MSOWorkflowException --> + <include>org.openecomp.mso:MSOCoreBPMN</include> + </includes> + <unpack>false</unpack> + <scope>runtime</scope> + <useProjectArtifact>false</useProjectArtifact> + </dependencySet> + </dependencySets> + + <!-- We provide our own versions of the following files --> + + <files> + <file> + <source>src/main/resources/WEB-INF/applicationContext.xml</source> + <outputDirectory>/WEB-INF</outputDirectory> + </file> + <file> + <source>src/main/resources/WEB-INF/web.xml</source> + <outputDirectory>/WEB-INF</outputDirectory> + </file> + <file> + <source>src/main/resources/WEB-INF/jboss-deployment-structure.xml</source> + <outputDirectory>/WEB-INF</outputDirectory> + </file> + </files> +</assembly> diff --git a/bpmn/MSOCockpit/src/main/resources/WEB-INF/applicationContext.xml b/bpmn/MSOCockpit/src/main/resources/WEB-INF/applicationContext.xml new file mode 100644 index 0000000000..fd91391bce --- /dev/null +++ b/bpmn/MSOCockpit/src/main/resources/WEB-INF/applicationContext.xml @@ -0,0 +1,111 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP MSO + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<beans xmlns="http://www.springframework.org/schema/beans" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:activiti="http://www.activiti.org/schema/spring/components" + xsi:schemaLocation="http://www.springframework.org/schema/beans + http://www.springframework.org/schema/beans/spring-beans.xsd"> + + + <!-- + <bean id="dataSource" class="org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy"> + <property name="targetDataSource"> + <bean class="org.apache.commons.dbcp.BasicDataSource"> + <property name="driverClassName" value="org.h2.Driver" /> + <property name="url" value="jdbc:h2:mem:process-engine;MVCC=TRUE;TRACE_LEVEL_FILE=0" /> + <property name="username" value="sa" /> + <property name="password" value="" /> + </bean> + </property> + </bean> + --> + + <!-- Added for MSO: Use the datasource defined in the JBoss configuration --> + <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> + <property name="jndiName" value="java:jboss/datasources/ProcessEngine"/> + </bean> + + <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> + <property name="dataSource" ref="dataSource" /> + </bean> + + <bean id="processEngineConfiguration" class="org.camunda.bpm.engine.spring.SpringProcessEngineConfiguration"> + <property name="processEngineName" value="default" /> + <property name="dataSource" ref="dataSource" /> + <property name="transactionManager" ref="transactionManager" /> + <property name="databaseSchemaUpdate" value="true" /> + <property name="jobExecutorActivate" value="false" /> + <property name="deploymentResources" value="classpath*:bpmn/*.bpmn" /> + <property name="authorizationEnabled" value="true" /> + <property name="failedJobCommandFactory"> + <bean class="org.camunda.bpm.engine.impl.jobexecutor.FoxFailedJobCommandFactory" /> + </property> + <property name="idGenerator"> + <bean class="org.camunda.bpm.engine.impl.persistence.StrongUuidGenerator" /> + </property> + <property name="processEnginePlugins"> + <list> + <!--<ref bean="ldapIdentityProviderPlugin" />--> + <!--<ref bean="administratorAuthorizationPlugin" />--> + <bean id="spinPlugin" class="org.camunda.spin.plugin.impl.SpinProcessEnginePlugin" /> + <bean id="connectPlugin" class="org.camunda.connect.plugin.impl.ConnectProcessEnginePlugin" /> + </list> + </property> + <!-- Added for MSO: Set the history level to full --> + <property name="historyLevel" value="HISTORY_LEVEL_FULL" /> + </bean> + + <!-- ldap identity provider (deactivated, uncomment plugin in processEngineConfiguration to activate) --> + <bean id="ldapIdentityProviderPlugin" class="org.camunda.bpm.identity.impl.ldap.plugin.LdapIdentityProviderPlugin"> + <property name="serverUrl" value="ldap://localhost:3433/" /> + <property name="managerDn" value="uid=daniel,ou=office-berlin,o=camunda,c=org" /> + <property name="managerPassword" value="daniel" /> + <property name="baseDn" value="o=camunda,c=org" /> + + <property name="userSearchBase" value="" /> + <property name="userSearchFilter" value="(objectclass=person)" /> + <property name="userIdAttribute" value="uid" /> + <property name="userFirstnameAttribute" value="cn" /> + <property name="userLastnameAttribute" value="sn" /> + <property name="userEmailAttribute" value="mail" /> + <property name="userPasswordAttribute" value="userpassword" /> + + <property name="groupSearchBase" value="" /> + <property name="groupSearchFilter" value="(objectclass=groupOfNames)" /> + <property name="groupIdAttribute" value="ou" /> + <property name="groupNameAttribute" value="cn" /> + <property name="groupMemberAttribute" value="member" /> + </bean> + + <bean id="administratorAuthorizationPlugin" class="org.camunda.bpm.engine.impl.plugin.AdministratorAuthorizationPlugin"> + <property name="administratorUserName" value="admin" /> + </bean> + + <bean id="processEngine" class="org.camunda.bpm.engine.spring.ProcessEngineFactoryBean"> + <property name="processEngineConfiguration" ref="processEngineConfiguration" /> + </bean> + + <bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" /> + <bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService" /> + <bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" /> + <bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" /> + <bean id="managementService" factory-bean="processEngine" factory-method="getManagementService" /> +</beans> diff --git a/bpmn/MSOCockpit/src/main/resources/WEB-INF/jboss-deployment-structure.xml b/bpmn/MSOCockpit/src/main/resources/WEB-INF/jboss-deployment-structure.xml new file mode 100644 index 0000000000..d183019cb2 --- /dev/null +++ b/bpmn/MSOCockpit/src/main/resources/WEB-INF/jboss-deployment-structure.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ============LICENSE_START======================================================= + ECOMP MSO + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<jboss-deployment-structure> + <deployment> + <exclusions> + <module name="org.jboss.resteasy.resteasy-jackson-provider" /> + <module name="org.jboss.resteasy.resteasy-jettison-provider" /> + + <!-- Added for MSO: logging --> + <module name="org.apache.log4j" /> + <module name="org.slf4j" /> + <module name="org.slf4j.impl" /> + </exclusions> + </deployment> +</jboss-deployment-structure> diff --git a/bpmn/MSOCockpit/src/main/resources/WEB-INF/web.xml b/bpmn/MSOCockpit/src/main/resources/WEB-INF/web.xml new file mode 100644 index 0000000000..e9a9498508 --- /dev/null +++ b/bpmn/MSOCockpit/src/main/resources/WEB-INF/web.xml @@ -0,0 +1,173 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ============LICENSE_START======================================================= + ECOMP MSO + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> + <display-name>camunda bpm webapp</display-name> + + <context-param> + <param-name>contextConfigLocation</param-name> + <param-value>/WEB-INF/applicationContext.xml</param-value> + </context-param> + + <!-- Added for MSO: use our log4j configuration file --> + <context-param> + <param-name>log.configuration</param-name> + <param-value>logback.bpmn.xml</param-value> + </context-param> + + <listener> + <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> + </listener> + + <!-- cockpit bootstrap listener --> + <listener> + <listener-class>org.camunda.bpm.cockpit.impl.web.bootstrap.CockpitContainerBootstrap</listener-class> + </listener> + + <!-- admin bootstrap listener --> + <listener> + <listener-class>org.camunda.bpm.admin.impl.web.bootstrap.AdminContainerBootstrap</listener-class> + </listener> + + <!-- tasklist bootstrap listener --> + <listener> + <listener-class>org.camunda.bpm.tasklist.impl.web.bootstrap.TasklistContainerBootstrap</listener-class> + </listener> + + <!-- Authentication filter --> + <filter> + <filter-name>Authentication Filter</filter-name> + <filter-class>org.camunda.bpm.webapp.impl.security.auth.AuthenticationFilter</filter-class> + </filter> + <filter-mapping> + <filter-name>Authentication Filter</filter-name> + <url-pattern>/*</url-pattern> + <dispatcher>REQUEST</dispatcher> + </filter-mapping> + + <!-- Security filter --> + <filter> + <filter-name>SecurityFilter</filter-name> + <filter-class>org.camunda.bpm.webapp.impl.security.filter.SecurityFilter</filter-class> + <init-param> + <param-name>configFile</param-name> + <param-value>/WEB-INF/securityFilterRules.json</param-value> + </init-param> + </filter> + <filter-mapping> + <filter-name>SecurityFilter</filter-name> + <url-pattern>/*</url-pattern> + <dispatcher>REQUEST</dispatcher> + </filter-mapping> + + <!-- engines filter --> + <filter> + <filter-name>Engines Filter</filter-name> + <filter-class>org.camunda.bpm.webapp.impl.engine.ProcessEnginesFilter</filter-class> + </filter> + <filter-mapping> + <filter-name>Engines Filter</filter-name> + <url-pattern>/app/*</url-pattern> + <dispatcher>REQUEST</dispatcher> + </filter-mapping> + + <!-- REST cache control filter --> + <filter> + <filter-name>CacheControlFilter</filter-name> + <filter-class>org.camunda.bpm.engine.rest.filter.CacheControlFilter</filter-class> + </filter> + <filter-mapping> + <filter-name>CacheControlFilter</filter-name> + <url-pattern>/api/*</url-pattern> + </filter-mapping> + + <!-- cockpit rest api --> + <servlet> + <servlet-name>Cockpit Api</servlet-name> + <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class> + <init-param> + <param-name>javax.ws.rs.Application</param-name> + <param-value>org.camunda.bpm.cockpit.impl.web.CockpitApplication</param-value> + </init-param> + <init-param> + <param-name>resteasy.servlet.mapping.prefix</param-name> + <param-value>/api/cockpit</param-value> + </init-param> + </servlet> + <servlet-mapping> + <servlet-name>Cockpit Api</servlet-name> + <url-pattern>/api/cockpit/*</url-pattern> + </servlet-mapping> + + <!-- admin rest api --> + <servlet> + <servlet-name>Admin Api</servlet-name> + <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class> + <init-param> + <param-name>javax.ws.rs.Application</param-name> + <param-value>org.camunda.bpm.admin.impl.web.AdminApplication</param-value> + </init-param> + <init-param> + <param-name>resteasy.servlet.mapping.prefix</param-name> + <param-value>/api/admin</param-value> + </init-param> + </servlet> + <servlet-mapping> + <servlet-name>Admin Api</servlet-name> + <url-pattern>/api/admin/*</url-pattern> + </servlet-mapping> + + <!-- tasklist rest api --> + <servlet> + <servlet-name>Tasklist Api</servlet-name> + <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class> + <init-param> + <param-name>javax.ws.rs.Application</param-name> + <param-value>org.camunda.bpm.tasklist.impl.web.TasklistApplication</param-value> + </init-param> + <init-param> + <param-name>resteasy.servlet.mapping.prefix</param-name> + <param-value>/api/tasklist</param-value> + </init-param> + </servlet> + <servlet-mapping> + <servlet-name>Tasklist Api</servlet-name> + <url-pattern>/api/tasklist/*</url-pattern> + </servlet-mapping> + + <!-- engine rest api (embedded) --> + <servlet> + <servlet-name>Engine Api</servlet-name> + <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class> + <init-param> + <param-name>javax.ws.rs.Application</param-name> + <param-value>org.camunda.bpm.webapp.impl.engine.EngineRestApplication</param-value> + </init-param> + <init-param> + <param-name>resteasy.servlet.mapping.prefix</param-name> + <param-value>/api/engine</param-value> + </init-param> + </servlet> + <servlet-mapping> + <servlet-name>Engine Api</servlet-name> + <url-pattern>/api/engine/*</url-pattern> + </servlet-mapping> +</web-app> |