From fce9238881b6143064b15b897729e408a6464484 Mon Sep 17 00:00:00 2001 From: nmirasch Date: Tue, 27 Feb 2024 19:55:44 +0100 Subject: [PATCH 1/2] RHPAM-4779: Added ProcessDataChangedEvent to ProcessEventSupport --- .../core/event/ProcessEventSupport.java | 9 +++++ .../impl/ProcessDataChangedEventImpl.java | 36 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 drools-core/src/main/java/org/drools/core/event/rule/impl/ProcessDataChangedEventImpl.java diff --git a/drools-core/src/main/java/org/drools/core/event/ProcessEventSupport.java b/drools-core/src/main/java/org/drools/core/event/ProcessEventSupport.java index f9754fbd793..f1035792ad7 100644 --- a/drools-core/src/main/java/org/drools/core/event/ProcessEventSupport.java +++ b/drools-core/src/main/java/org/drools/core/event/ProcessEventSupport.java @@ -20,6 +20,7 @@ import java.util.Map; import org.drools.core.common.InternalKnowledgeRuntime; +import org.drools.core.event.rule.impl.ProcessDataChangedEventImpl; import org.kie.api.event.process.MessageEvent; import org.kie.api.event.process.ProcessCompletedEvent; import org.kie.api.event.process.ProcessEventListener; @@ -29,6 +30,7 @@ import org.kie.api.event.process.ProcessStartedEvent; import org.kie.api.event.process.ProcessVariableChangedEvent; import org.kie.api.event.process.SLAViolatedEvent; +import org.kie.api.event.process.ProcessDataChangedEvent; import org.kie.api.event.process.SignalEvent; import org.kie.api.runtime.KieRuntime; import org.kie.api.runtime.process.NodeInstance; @@ -179,6 +181,13 @@ public void fireOnMessage(final ProcessInstance instance, } } + public void fireAfterProcessDataChanged(final ProcessInstance instance, KieRuntime kruntime) { + if ( hasListeners() ) { + final ProcessDataChangedEvent event = new ProcessDataChangedEventImpl(instance, kruntime); + notifyAllListeners( event, ( l, e ) -> l.onProcessDataChangedEvent( e ) ); + } + } + public void reset() { this.clear(); } diff --git a/drools-core/src/main/java/org/drools/core/event/rule/impl/ProcessDataChangedEventImpl.java b/drools-core/src/main/java/org/drools/core/event/rule/impl/ProcessDataChangedEventImpl.java new file mode 100644 index 00000000000..bf852ab6a11 --- /dev/null +++ b/drools-core/src/main/java/org/drools/core/event/rule/impl/ProcessDataChangedEventImpl.java @@ -0,0 +1,36 @@ +/* + * Copyright 2023 Red Hat, Inc. and/or its affiliates. + * + * 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.drools.core.event.rule.impl; + +import org.drools.core.event.ProcessEvent; +import org.kie.api.event.process.ProcessDataChangedEvent; +import org.kie.api.runtime.KieRuntime; +import org.kie.api.runtime.process.ProcessInstance; + +public class ProcessDataChangedEventImpl extends ProcessEvent implements ProcessDataChangedEvent { + + private static final long serialVersionUID = 510l; + + public ProcessDataChangedEventImpl(final ProcessInstance instance, KieRuntime kruntime ) { + super( instance, kruntime ); + } + + public String toString() { + return "==>[ProcessDataChanged(name=" + getProcessInstance().getProcessName() + "; id=" + getProcessInstance().getProcessId() + ")]"; + } + +} From 96831ec44d250252bf3c9abb9af4503b8d8e7a28 Mon Sep 17 00:00:00 2001 From: nmirasch Date: Tue, 12 Mar 2024 11:12:06 +0100 Subject: [PATCH 2/2] updated Copyright year and toString reference --- .../core/event/rule/impl/ProcessDataChangedEventImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drools-core/src/main/java/org/drools/core/event/rule/impl/ProcessDataChangedEventImpl.java b/drools-core/src/main/java/org/drools/core/event/rule/impl/ProcessDataChangedEventImpl.java index bf852ab6a11..10077280e51 100644 --- a/drools-core/src/main/java/org/drools/core/event/rule/impl/ProcessDataChangedEventImpl.java +++ b/drools-core/src/main/java/org/drools/core/event/rule/impl/ProcessDataChangedEventImpl.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Red Hat, Inc. and/or its affiliates. + * Copyright 2024 Red Hat, Inc. and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -30,7 +30,7 @@ public ProcessDataChangedEventImpl(final ProcessInstance instance, KieRuntime kr } public String toString() { - return "==>[ProcessDataChanged(name=" + getProcessInstance().getProcessName() + "; id=" + getProcessInstance().getProcessId() + ")]"; + return "==>[ProcessDataChangedEventImpl(name=" + getProcessInstance().getProcessName() + "; id=" + getProcessInstance().getProcessId() + ")]"; } }