Skip to content

Commit

Permalink
- adding listeners improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
salaboy committed Aug 2, 2012
1 parent 6107afc commit 281ea43
Show file tree
Hide file tree
Showing 13 changed files with 254 additions and 68 deletions.
22 changes: 19 additions & 3 deletions jbpm-human-task/jbpm-human-task-core-cdi/pom.xml
Expand Up @@ -88,8 +88,8 @@
</dependency>
<dependency>

<groupId>org.jboss.arquillian.junit</groupId>
<artifactId>arquillian-junit-container</artifactId>
<groupId>org.jboss.arquillian.junit</groupId>
<artifactId>arquillian-junit-container</artifactId>
<scope>test</scope>

</dependency>
Expand Down Expand Up @@ -123,8 +123,24 @@
<filtering>true</filtering>
</testResource>
</testResources>

<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>jar</goal>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
<plugins>

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>hibernate3-maven-plugin</artifactId>
Expand Down
Expand Up @@ -17,7 +17,9 @@
@Entity
public class TaskEvent implements Serializable {

public enum TaskEventType{STARTED, ACTIVATED, COMPLETED, CLAIMED, SKIPPED, SUSPENDED};
public enum TaskEventType{STARTED, ACTIVATED, COMPLETED,
STOPPED, EXITED, FAILED, ADDED,
CLAIMED, SKIPPED, SUSPENDED};
@Id
@GeneratedValue
private long id;
Expand Down
Expand Up @@ -15,20 +15,15 @@
*/
package org.jbpm.task.commands;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.enterprise.util.AnnotationLiteral;
import org.drools.command.Context;
import org.jboss.seam.transaction.Transactional;
import org.jbpm.task.Content;
import org.jbpm.task.ContentData;
import org.jbpm.task.Group;
import org.jbpm.task.OrganizationalEntity;
import org.jbpm.task.PeopleAssignments;
import org.jbpm.task.Status;
import org.jbpm.task.Task;
import org.jbpm.task.TaskData;
import org.jbpm.task.User;
import org.jbpm.task.events.AfterTaskAddedEvent;
import org.jbpm.task.events.BeforeTaskAddedEvent;
import org.jbpm.task.utils.ContentMarshallerHelper;

/**
Expand All @@ -55,7 +50,10 @@ public AddTaskCommand(Task task, ContentData data) {
}

public Long execute(Context cntxt) {

TaskContext context = (TaskContext) cntxt;
context.getTaskEvents().select(new AnnotationLiteral<BeforeTaskAddedEvent>() {
}).fire(task);
if (params != null) {
ContentData contentData = ContentMarshallerHelper.marshal(params, null);
Content content = new Content(contentData.getContent());
Expand All @@ -69,7 +67,8 @@ public Long execute(Context cntxt) {
}

context.getEm().persist(task);

context.getTaskEvents().select(new AnnotationLiteral<AfterTaskAddedEvent>() {
}).fire(task);
return (Long) task.getId();
}

Expand Down
@@ -0,0 +1,21 @@
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.jbpm.task.events;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.inject.Qualifier;


@Qualifier

@Target({ElementType.FIELD, ElementType.PARAMETER})

@Retention(RetentionPolicy.RUNTIME)

public @interface AfterTaskAddedEvent {}

@@ -0,0 +1,21 @@
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.jbpm.task.events;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.inject.Qualifier;


@Qualifier

@Target({ElementType.FIELD, ElementType.PARAMETER})

@Retention(RetentionPolicy.RUNTIME)

public @interface BeforeTaskAddedEvent {}

Expand Up @@ -132,6 +132,14 @@ public static Task evalTask(Reader reader, Map<String, Object> vars, boolean ini
return task;
}

public static Task evalTask(String taskString, Map<String, Object> vars, boolean initialize) {
Task task = (Task) MVELUtils.eval(taskString, vars);
if (initialize) {
initializeTask(task);
}
return task;
}

public static Task evalTask(Reader reader) {
return evalTask(reader, null);
}
Expand Down
@@ -0,0 +1,22 @@
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.jbpm.task.lifecycle.listeners;

import org.jbpm.task.Task;

/**
*
*/

public interface DeadlinesEventListener {
public void afterTaskAddedEvent(Task ti);
public void afterTaskStartedEvent(Task ti);
public void afterTaskSkippedEvent(Task ti);
public void afterTaskStoppedEvent(Task ti);
public void afterTaskCompletedEvent(Task ti);
public void afterTaskFailedEvent(Task ti);
public void afterTaskExitedEvent(Task ti);

}
Expand Up @@ -9,11 +9,15 @@
import javax.enterprise.inject.Alternative;
import javax.inject.Singleton;
import org.jbpm.task.Task;
import org.jbpm.task.events.BeforeTaskActivatedEvent;
import org.jbpm.task.events.BeforeTaskClaimedEvent;
import org.jbpm.task.events.BeforeTaskSkippedEvent;
import org.jbpm.task.events.BeforeTaskStartedEvent;
import org.jbpm.task.events.BeforeTaskStoppedEvent;
import org.jbpm.task.events.AfterTaskActivatedEvent;
import org.jbpm.task.events.AfterTaskAddedEvent;
import org.jbpm.task.events.AfterTaskClaimedEvent;
import org.jbpm.task.events.AfterTaskCompletedEvent;
import org.jbpm.task.events.AfterTaskExitedEvent;
import org.jbpm.task.events.AfterTaskFailedEvent;
import org.jbpm.task.events.AfterTaskSkippedEvent;
import org.jbpm.task.events.AfterTaskStartedEvent;
import org.jbpm.task.events.AfterTaskStoppedEvent;


/**
Expand All @@ -27,23 +31,39 @@ public DefaultTaskLifeCycleEventListener() {

}

public void afterTaskStartedEvent(@Observes(notifyObserver= Reception.IF_EXISTS) @BeforeTaskStartedEvent Task ti) {
public void afterTaskStartedEvent(@Observes(notifyObserver= Reception.IF_EXISTS) @AfterTaskStartedEvent Task ti) {

}

public void afterTaskActivatedEvent(@Observes(notifyObserver= Reception.IF_EXISTS) @BeforeTaskActivatedEvent Task ti) {
public void afterTaskActivatedEvent(@Observes(notifyObserver= Reception.IF_EXISTS) @AfterTaskActivatedEvent Task ti) {

}

public void afterTaskClaimedEvent(@Observes(notifyObserver= Reception.IF_EXISTS) @BeforeTaskClaimedEvent Task ti) {
public void afterTaskClaimedEvent(@Observes(notifyObserver= Reception.IF_EXISTS) @AfterTaskClaimedEvent Task ti) {

}

public void afterTaskSkippedEvent(@Observes(notifyObserver= Reception.IF_EXISTS) @BeforeTaskSkippedEvent Task ti) {
public void afterTaskSkippedEvent(@Observes(notifyObserver= Reception.IF_EXISTS) @AfterTaskSkippedEvent Task ti) {

}

public void afterTaskStoppedEvent(@Observes(notifyObserver= Reception.IF_EXISTS) @BeforeTaskStoppedEvent Task ti) {
public void afterTaskStoppedEvent(@Observes(notifyObserver= Reception.IF_EXISTS) @AfterTaskStoppedEvent Task ti) {

}

public void afterTaskCompletedEvent(@Observes(notifyObserver= Reception.IF_EXISTS) @AfterTaskCompletedEvent Task ti) {

}

public void afterTaskFailedEvent(@Observes(notifyObserver= Reception.IF_EXISTS) @AfterTaskFailedEvent Task ti) {

}

public void afterTaskAddedEvent(@Observes(notifyObserver= Reception.IF_EXISTS) @AfterTaskAddedEvent Task ti) {

}

public void afterTaskExitedEvent(@Observes(notifyObserver= Reception.IF_EXISTS) @AfterTaskExitedEvent Task ti) {

}

Expand Down
@@ -0,0 +1,56 @@
/*
* Copyright 2012 JBoss by Red Hat.
*
* 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.
*/
package org.jbpm.task.lifecycle.listeners;

import org.jbpm.task.Task;
import org.jbpm.task.annotations.Internal;

/**
*
*/
@Internal
public class InternalDeadlinesEventListener implements DeadlinesEventListener{

public void afterTaskAddedEvent(Task ti) {

}

public void afterTaskStartedEvent(Task ti) {

}

public void afterTaskSkippedEvent(Task ti) {

}

public void afterTaskStoppedEvent(Task ti) {

}

public void afterTaskCompletedEvent(Task ti) {

}

public void afterTaskFailedEvent(Task ti) {

}

public void afterTaskExitedEvent(Task ti) {

}

}
Expand Up @@ -8,10 +8,14 @@
import javax.enterprise.event.Reception;
import org.jbpm.task.Task;
import org.jbpm.task.annotations.Internal;
import org.jbpm.task.events.BeforeTaskActivatedEvent;
import org.jbpm.task.events.BeforeTaskClaimedEvent;
import org.jbpm.task.events.BeforeTaskSkippedEvent;
import org.jbpm.task.events.BeforeTaskStartedEvent;
import org.jbpm.task.events.AfterTaskActivatedEvent;
import org.jbpm.task.events.AfterTaskAddedEvent;
import org.jbpm.task.events.AfterTaskClaimedEvent;
import org.jbpm.task.events.AfterTaskCompletedEvent;
import org.jbpm.task.events.AfterTaskFailedEvent;
import org.jbpm.task.events.AfterTaskSkippedEvent;
import org.jbpm.task.events.AfterTaskStartedEvent;
import org.jbpm.task.events.AfterTaskStoppedEvent;


/**
Expand All @@ -23,22 +27,38 @@ public class InternalTaskLifeCycleEventListener implements TaskLifeCycleEventLis
public InternalTaskLifeCycleEventListener() {
}

public void afterTaskStartedEvent(@Observes(notifyObserver= Reception.ALWAYS) @BeforeTaskStartedEvent Task ti) {
public void afterTaskStartedEvent(@Observes(notifyObserver= Reception.ALWAYS) @AfterTaskStartedEvent Task ti) {
}

public void afterTaskActivatedEvent(@Observes(notifyObserver= Reception.ALWAYS) @BeforeTaskActivatedEvent Task ti) {
public void afterTaskActivatedEvent(@Observes(notifyObserver= Reception.ALWAYS) @AfterTaskActivatedEvent Task ti) {

}

public void afterTaskClaimedEvent(@Observes(notifyObserver= Reception.ALWAYS) @BeforeTaskClaimedEvent Task ti) {
public void afterTaskClaimedEvent(@Observes(notifyObserver= Reception.ALWAYS) @AfterTaskClaimedEvent Task ti) {

}

public void afterTaskSkippedEvent(@Observes(notifyObserver= Reception.ALWAYS) @BeforeTaskSkippedEvent Task ti) {
public void afterTaskSkippedEvent(@Observes(notifyObserver= Reception.ALWAYS) @AfterTaskSkippedEvent Task ti) {

}

public void afterTaskStoppedEvent(Task ti) {
public void afterTaskStoppedEvent(@Observes(notifyObserver= Reception.ALWAYS) @AfterTaskStoppedEvent Task ti) {

}

public void afterTaskCompletedEvent(@Observes(notifyObserver= Reception.ALWAYS) @AfterTaskCompletedEvent Task ti) {

}

public void afterTaskFailedEvent(@Observes(notifyObserver= Reception.ALWAYS) @AfterTaskFailedEvent Task ti) {

}

public void afterTaskAddedEvent(@Observes(notifyObserver= Reception.ALWAYS) @AfterTaskAddedEvent Task ti) {

}

public void afterTaskExitedEvent(Task ti) {

}

Expand Down

0 comments on commit 281ea43

Please sign in to comment.