/* 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.activiti.cdi.test.impl.event; import java.util.HashSet; import java.util.Set; import javax.enterprise.context.ApplicationScoped; import javax.enterprise.event.Observes; import org.activiti.cdi.BusinessProcessEvent; import org.activiti.cdi.annotation.event.BusinessProcess; import org.activiti.cdi.annotation.event.EndActivity; import org.activiti.cdi.annotation.event.StartActivity; import org.activiti.cdi.annotation.event.TakeTransition; @ApplicationScoped public class TestEventListener { public void reset() { startActivityService1 = 0; endActivityService1 = 0; takeTransitiont1 = 0; eventsReceivedByKey.clear(); eventsReceived.clear(); } private final Set<BusinessProcessEvent> eventsReceivedByKey = new HashSet<BusinessProcessEvent>(); // receives all events related to "process1" public void onProcessEventByKey(@Observes @BusinessProcess("process1") BusinessProcessEvent businessProcessEvent) { eventsReceivedByKey.add(businessProcessEvent); } public Set<BusinessProcessEvent> getEventsReceivedByKey() { return eventsReceivedByKey; } // --------------------------------------------------------- private final Set<BusinessProcessEvent> eventsReceived = new HashSet<BusinessProcessEvent>(); // receives all events public void onProcessEvent(@Observes BusinessProcessEvent businessProcessEvent) { eventsReceived.add(businessProcessEvent); } public Set<BusinessProcessEvent> getEventsReceived() { return eventsReceived; } // --------------------------------------------------------- private int startActivityService1 = 0; private int endActivityService1 = 0; private int takeTransitiont1 = 0; public void onStartActivityService1(@Observes @StartActivity("service1") BusinessProcessEvent businessProcessEvent) { startActivityService1 += 1; } public void onEndActivityService1(@Observes @EndActivity("service1") BusinessProcessEvent businessProcessEvent) { endActivityService1 += 1; } public void takeTransitiont1(@Observes @TakeTransition("t1") BusinessProcessEvent businessProcessEvent) { takeTransitiont1 += 1; } public int getEndActivityService1() { return endActivityService1; } public int getStartActivityService1() { return startActivityService1; } public int getTakeTransitiont1() { return takeTransitiont1; } }