Skip to content

Commit

Permalink
Merge pull request #30 from nmirasch/RHPAM-4779_7.x
Browse files Browse the repository at this point in the history
RHPAM-4779: Added ProcessDataChangedEvent to ProcessEventSupport
  • Loading branch information
fjtirado authored Aug 7, 2024
2 parents b3548ab + 96831ec commit 5bf0775
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
Expand Down Expand Up @@ -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();
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/*
* 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.
* 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 "==>[ProcessDataChangedEventImpl(name=" + getProcessInstance().getProcessName() + "; id=" + getProcessInstance().getProcessId() + ")]";
}

}

0 comments on commit 5bf0775

Please sign in to comment.