Package org.plugtree.training.jbpm.humantasks.server

Source Code of org.plugtree.training.jbpm.humantasks.server.TaskServerDaemon

package org.plugtree.training.jbpm.humantasks.server;

import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

import org.drools.SystemEventListenerFactory;
import org.jbpm.task.User;
import org.jbpm.task.service.TaskServer;
import org.jbpm.task.service.TaskService;
import org.jbpm.task.service.TaskServiceSession;
import org.jbpm.task.service.mina.MinaTaskServer;
import org.plugtree.training.jbpm.humantasks.server.domain.MockUserInfo;


public class TaskServerDaemon {
   
    private boolean running;
    private TaskServer taskServer;
   
    public TaskServerDaemon() {
        this.running = false;
    }
   
    public void startServer() {
        if(isRunning())
            throw new IllegalStateException("Server is already started");
        this.running = true;
        EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("org.drools.task");
        TaskService taskService = new TaskService(entityManagerFactory, SystemEventListenerFactory.getSystemEventListener());
        TaskServiceSession taskSession = taskService.createSession() ;
        MockUserInfo userInfo = new MockUserInfo();
        taskService.setUserinfo( userInfo);
       
        for (String userName : getDefaultUsers()) {
            taskSession.addUser(new User(userName));
        }
       
        taskServer = new MinaTaskServer(taskService);
        Thread thread = new Thread(taskServer);
        thread.start();
    }

    public void stopServer() throws Exception {
        if(!isRunning())
            return;
        taskServer.stop();
    }
   
    public boolean isRunning() {
        return running;
    }
   
    private String[] getDefaultUsers() {
        return new String[]{"salaboy", "translator", "reviewer", "Administrator"};
    }
   
}
TOP

Related Classes of org.plugtree.training.jbpm.humantasks.server.TaskServerDaemon

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.