码迷,mamicode.com
首页 > 其他好文 > 详细

Liferay7 BPM门户开发之44: 集成Activiti展示流程列表

时间:2016-12-14 09:40:01      阅读:363      评论:0      收藏:0      [点我收藏+]

标签:mybatis   factory   接下来   1.5   pow   访问权限   framework   jsp页面   var   

集成Activiti之前,必须搞清楚其中的依赖关系,才能在Gradle里进行配置.

依赖关系:

例如,其中activiti-engine依赖于activiti-bpmn-converter,而activiti-bpmn-converter又依赖于activiti-bpmn-model

那么这以下的引用都是要设置的,缺一不可,否则portlet会无法注入进OSGi容器

org.activiti:activiti-engine:jar:5.xx.0
+- org.activiti:activiti-bpmn-converter:jar:5.xx.0:compile
| \- org.activiti:activiti-bpmn-model:jar:5.xx.0:compile
| +- com.fasterxml.jackson.core:jackson-core:jar:2.2.3:compile
| \- com.fasterxml.jackson.core:jackson-databind:jar:2.2.3:compile
| \- com.fasterxml.jackson.core:jackson-annotations:jar:2.2.3:compile
+- org.activiti:activiti-process-validation:jar:5.xx.0:compile
+- org.activiti:activiti-image-generator:jar:5.xx.0:compile
+- org.apache.commons:commons-email:jar:1.2:compile
| +- javax.mail:mail:jar:1.4.1:compile
| \- javax.activation:activation:jar:1.1:compile
+- org.apache.commons:commons-lang3:jar:3.3.2:compile
+- org.mybatis:mybatis:jar:3.2.5:compile
+- org.springframework:spring-beans:jar:4.0.6.RELEASE:compile
| \- org.springframework:spring-core:jar:4.0.6.RELEASE:compile
+- joda-time:joda-time:jar:2.6:compile
+- org.slf4j:slf4j-api:jar:1.7.6:compile
+- org.slf4j:jcl-over-slf4j:jar:1.7.6:compile

 

接下来,需要完成Gradle的设置,

全部:

dependencies {
    compile com.liferay.portal:com.liferay.portal.kernel:2.0.0
    compile com.liferay.portal:com.liferay.util.bridges:2.0.0
    compile com.liferay.portal:com.liferay.util.taglib:2.0.0
    compile com.liferay:com.liferay.application.list.api:1.0.0
    compile javax.portlet:portlet-api:2.0
    compile javax.servlet:javax.servlet-api:3.0.1
    compile org.osgi:org.osgi.service.component.annotations:1.3.0
    compile org.osgi:org.osgi.compendium:5.0.0        
    compile group: com.fasterxml.jackson.core, name: jackson-databind, version: 2.2.3
    compile group: com.fasterxml.jackson.core, name: jackson-core, version: 2.2.3
    compileOnly group: "jstl", name: "jstl", version: "1.2"    
    compile group: org.apache.commons, name: commons-lang3, version: 3.3.2
    compile group: org.slf4j, name: slf4j-api, version: 1.7.6
    compile group: org.slf4j, name: jcl-over-slf4j, version: 1.7.6
    compile group: commons-logging, name: commons-logging, version: 1.2
    compile group: org.joda, name: joda-convert, version: 1.2
    compile group: joda-time, name: joda-time, version: 2.6
    compile group: org.apache.commons, name: commons-email, version: 1.4    
    compile group: com.sun.mail, name: javax.mail, version: 1.5.2
    compile group: javax.activation, name: activation, version: 1.1.1
    compile group: org.mybatis, name: mybatis, version: 3.3.0
    compile group: org.springframework, name: spring-core, version: 4.1.5.RELEASE
    compile group: org.springframework, name: spring-beans, version: 4.1.5.RELEASE
    compile org.springframework:spring-webmvc:4.1.5.RELEASE
    compile org.springframework:spring-webmvc-portlet:4.1.5.RELEASE
    compile group: org.activiti, name: activiti-bpmn-model, version: 5.21.0
    compile group: org.activiti, name: activiti-bpmn-converter, version: 5.21.0
    compile group: org.activiti, name: activiti-engine, version: 5.21.0
    
    testCompile junit:junit:4.+
    
}

 

Portlet java:

ProcessListPortlet:

package com.lifiti.portlet;

import java.io.IOException;
import java.util.List;
import javax.portlet.Portlet;
import javax.portlet.PortletException;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import org.activiti.engine.repository.ProcessDefinition;
import org.osgi.service.component.annotations.Component;

import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet;
import com.liferay.portal.kernel.util.ParamUtil;

@Component(immediate = true, 
property = { "com.liferay.portlet.display-category=category.sample",
        "com.liferay.portlet.instanceable=true", 
        "javax.portlet.display-name=Process List",
        "javax.portlet.init-param.template-path=/", 
        "javax.portlet.init-param.view-template=/process/processList.jsp",
        "javax.portlet.resource-bundle=content.Language",
        "javax.portlet.security-role-ref=power-user,user" },
service = Portlet.class)
public class ProcessListPortlet extends BpmBasePortlet {

    @Override
    public void render(RenderRequest request, RenderResponse response) throws PortletException, IOException {
        
        List<ProcessDefinition> processDefinitionList = repositoryService.createProcessDefinitionQuery().list();
        request.setAttribute("processDefinitionList", processDefinitionList); 
        super.render(request, response);
    }
}

 

jsp页面

<%@ include file="/init.jsp" %>

<portlet:renderURL var="render">
    <portlet:param name="mvcRenderCommandName" value="/porcess/bpmn" />
</portlet:renderURL>


<table width="100%" class="table table-bordered table-hover table-condensed">
        <thead>
            <tr>
                <th><liferay-ui:message key="ProcessDef"/></th>
                <th><liferay-ui:message key="DeplyID"/></th>
                <th><liferay-ui:message key="ProcessName"/></th>
                <th><liferay-ui:message key="ProcessDefKey"/></th>
                <th><liferay-ui:message key="Version"/></th>
                <th>BPMN</th>
                <th><liferay-ui:message key="ImageResource"/></th>
                <th width="80"><liferay-ui:message key="Operation"/></th>
                <th width="80"><liferay-ui:message key="Start"/></th>
            </tr>
        </thead>
        <tbody>
            <c:forEach items="${processDefinitionList }" var="pd">
                <tr>
                    <td>${pd.id }</td>
                    <td>${pd.deploymentId }</td>
                    <td>${pd.name }</td>
                    <td>${pd.key }</td>
                    <td>${pd.version }</td>
                    <td></td>
                    <td></td>
                    <td><liferay-ui:message key="Delete"/></td>
                    <td></td>
                </tr>
            </c:forEach>
        </tbody>
</table>
    

需要注意的是,还需要把jar文件放置在osgi的modules目录下,非常重要

技术分享

这样一个Portlet就开发出来了,感觉靠拖拽放在页面,再设置访问权限有些繁琐,我们还想把它直接放进控制面板里。

 

Liferay7 BPM门户开发之44: 集成Activiti展示流程列表

标签:mybatis   factory   接下来   1.5   pow   访问权限   framework   jsp页面   var   

原文地址:http://www.cnblogs.com/starcrm/p/6177844.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!