diff --git a/drools-compiler/src/test/java/org/drools/compiler/integrationtests/CepEspTest.java b/drools-compiler/src/test/java/org/drools/compiler/integrationtests/CepEspTest.java index 0ee41248e3b..97de99e9d70 100644 --- a/drools-compiler/src/test/java/org/drools/compiler/integrationtests/CepEspTest.java +++ b/drools-compiler/src/test/java/org/drools/compiler/integrationtests/CepEspTest.java @@ -3983,6 +3983,44 @@ public void testDeserializationWithTrackableTimerJob() throws InterruptedExcepti } + @Test + public void testDeserializationWithCompositeTrigger() throws InterruptedException { + String drl = "package org.drools.test;\n" + + "import org.drools.compiler.StockTick; \n" + + "global java.util.List list;\n" + + "\n" + + "declare StockTick\n" + + " @role( event )\n" + + " @expires( 1s )\n" + + "end\n" + + "\n" + + "rule \"One\"\n" + + "when\n" + + " $event : StockTick( )\n" + + " not StockTick( company == \"BBB\", this after[0,96h] $event )\n" + + " not StockTick( company == \"CCC\", this after[0,96h] $event )\n" + + "then\n" + + "end"; + + KieBaseConfiguration kbconf = KnowledgeBaseFactory.newKnowledgeBaseConfiguration(); + kbconf.setOption( EventProcessingOption.STREAM ); + kbconf.setOption( RuleEngineOption.PHREAK ); + + KieSessionConfiguration knowledgeSessionConfiguration = KnowledgeBaseFactory.newKnowledgeSessionConfiguration(); + knowledgeSessionConfiguration.setOption( TimerJobFactoryOption.get( "trackable" ) ); + + KnowledgeBase kb = loadKnowledgeBaseFromString( kbconf, drl ); + StatefulKnowledgeSession ks = kb.newStatefulKnowledgeSession( knowledgeSessionConfiguration, null ); + + ks.insert( new StockTick( 2, "AAA", 1.0, 0 ) ); + + try { + ks = SerializationHelper.getSerialisedStatefulKnowledgeSession( ks, true, false ); + } catch ( Exception e ) { + e.printStackTrace(); + fail( e.getMessage() ); + } + } @Test public void testWindowExpireActionDeserialization() throws InterruptedException { diff --git a/drools-core/src/main/java/org/drools/core/marshalling/impl/ProtobufInputMarshaller.java b/drools-core/src/main/java/org/drools/core/marshalling/impl/ProtobufInputMarshaller.java index 89e29829440..528cb5eab36 100644 --- a/drools-core/src/main/java/org/drools/core/marshalling/impl/ProtobufInputMarshaller.java +++ b/drools-core/src/main/java/org/drools/core/marshalling/impl/ProtobufInputMarshaller.java @@ -16,20 +16,7 @@ package org.drools.core.marshalling.impl; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Queue; -import java.util.Set; -import java.util.concurrent.ConcurrentLinkedQueue; -import java.util.concurrent.TimeUnit; - +import com.google.protobuf.ExtensionRegistry; import org.drools.core.SessionConfiguration; import org.drools.core.common.AbstractWorkingMemory; import org.drools.core.common.ActivationsFilter; @@ -60,7 +47,6 @@ import org.drools.core.phreak.RuleExecutor; import org.drools.core.phreak.StackEntry; import org.drools.core.process.instance.WorkItem; -import org.drools.core.reteoo.InitialFactImpl; import org.drools.core.reteoo.LeftTuple; import org.drools.core.reteoo.ObjectTypeConf; import org.drools.core.reteoo.TerminalNode; @@ -71,6 +57,7 @@ import org.drools.core.spi.GlobalResolver; import org.drools.core.spi.PropagationContext; import org.drools.core.time.Trigger; +import org.drools.core.time.impl.CompositeMaxDurationTrigger; import org.drools.core.time.impl.CronTrigger; import org.drools.core.time.impl.IntervalTrigger; import org.drools.core.time.impl.PointInTimeTrigger; @@ -80,7 +67,19 @@ import org.kie.api.runtime.EnvironmentName; import org.kie.api.runtime.rule.EntryPoint; -import com.google.protobuf.ExtensionRegistry; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Queue; +import java.util.Set; +import java.util.concurrent.ConcurrentLinkedQueue; +import java.util.concurrent.TimeUnit; /** * An input marshaller that uses protobuf. @@ -751,6 +750,20 @@ public static Trigger readTrigger(MarshallerReaderContext inCtx, PointInTimeTrigger trigger = new PointInTimeTrigger( _trigger.getPit().getNextFireTime(), null, null ); return trigger; } + case COMPOSITE_MAX_DURATION : { + ProtobufMessages.Trigger.CompositeMaxDurationTrigger _cmdTrigger = _trigger.getCmdt(); + CompositeMaxDurationTrigger trigger = new CompositeMaxDurationTrigger(); + if ( _cmdTrigger.hasMaxDurationTimestamp() ) { + trigger.setMaxDurationTimestamp( new Date( _cmdTrigger.getMaxDurationTimestamp() ) ); + } + if ( _cmdTrigger.hasTimerCurrentDate() ) { + trigger.setTimerCurrentDate( new Date( _cmdTrigger.getTimerCurrentDate() ) ); + } + if ( _cmdTrigger.hasTimerTrigger() ) { + trigger.setTimerTrigger( readTrigger( inCtx, _cmdTrigger.getTimerTrigger() ) ); + } + return trigger; + } } throw new RuntimeException( "Unable to deserialize Trigger for type: " + _trigger.getType() ); diff --git a/drools-core/src/main/java/org/drools/core/marshalling/impl/ProtobufMessages.java b/drools-core/src/main/java/org/drools/core/marshalling/impl/ProtobufMessages.java index 7a007028283..5b08d5ea413 100644 --- a/drools-core/src/main/java/org/drools/core/marshalling/impl/ProtobufMessages.java +++ b/drools-core/src/main/java/org/drools/core/marshalling/impl/ProtobufMessages.java @@ -1,5 +1,5 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! -// source: org/drools/core/marshalling/droolsmessages.proto +// source: droolsmessages.proto package org.drools.core.marshalling.impl; @@ -42748,6 +42748,20 @@ public interface TriggerOrBuilder * optional .org.drools.core.marshalling.Trigger.PointInTimeTrigger pit = 4; */ org.drools.core.marshalling.impl.ProtobufMessages.Trigger.PointInTimeTriggerOrBuilder getPitOrBuilder(); + + // optional .org.drools.core.marshalling.Trigger.CompositeMaxDurationTrigger cmdt = 5; + /** + * optional .org.drools.core.marshalling.Trigger.CompositeMaxDurationTrigger cmdt = 5; + */ + boolean hasCmdt(); + /** + * optional .org.drools.core.marshalling.Trigger.CompositeMaxDurationTrigger cmdt = 5; + */ + org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger getCmdt(); + /** + * optional .org.drools.core.marshalling.Trigger.CompositeMaxDurationTrigger cmdt = 5; + */ + org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTriggerOrBuilder getCmdtOrBuilder(); } /** * Protobuf type {@code org.drools.core.marshalling.Trigger} @@ -42850,6 +42864,19 @@ private Trigger( bitField0_ |= 0x00000008; break; } + case 42: { + org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger.Builder subBuilder = null; + if (((bitField0_ & 0x00000010) == 0x00000010)) { + subBuilder = cmdt_.toBuilder(); + } + cmdt_ = input.readMessage(org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(cmdt_); + cmdt_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000010; + break; + } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { @@ -42906,6 +42933,10 @@ public enum TriggerType * POINT_IN_TIME = 2; */ POINT_IN_TIME(2, 2), + /** + * COMPOSITE_MAX_DURATION = 3; + */ + COMPOSITE_MAX_DURATION(3, 3), ; /** @@ -42920,6 +42951,10 @@ public enum TriggerType * POINT_IN_TIME = 2; */ public static final int POINT_IN_TIME_VALUE = 2; + /** + * COMPOSITE_MAX_DURATION = 3; + */ + public static final int COMPOSITE_MAX_DURATION_VALUE = 3; public final int getNumber() { return value; } @@ -42929,6 +42964,7 @@ public static TriggerType valueOf(int value) { case 0: return CRON; case 1: return INTERVAL; case 2: return POINT_IN_TIME; + case 3: return COMPOSITE_MAX_DURATION; default: return null; } } @@ -45423,6 +45459,675 @@ public Builder clearNextFireTime() { // @@protoc_insertion_point(class_scope:org.drools.core.marshalling.Trigger.PointInTimeTrigger) } + public interface CompositeMaxDurationTriggerOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional int64 maxDurationTimestamp = 1; + /** + * optional int64 maxDurationTimestamp = 1; + */ + boolean hasMaxDurationTimestamp(); + /** + * optional int64 maxDurationTimestamp = 1; + */ + long getMaxDurationTimestamp(); + + // optional int64 timerCurrentDate = 2; + /** + * optional int64 timerCurrentDate = 2; + */ + boolean hasTimerCurrentDate(); + /** + * optional int64 timerCurrentDate = 2; + */ + long getTimerCurrentDate(); + + // optional .org.drools.core.marshalling.Trigger timerTrigger = 3; + /** + * optional .org.drools.core.marshalling.Trigger timerTrigger = 3; + */ + boolean hasTimerTrigger(); + /** + * optional .org.drools.core.marshalling.Trigger timerTrigger = 3; + */ + org.drools.core.marshalling.impl.ProtobufMessages.Trigger getTimerTrigger(); + /** + * optional .org.drools.core.marshalling.Trigger timerTrigger = 3; + */ + org.drools.core.marshalling.impl.ProtobufMessages.TriggerOrBuilder getTimerTriggerOrBuilder(); + } + /** + * Protobuf type {@code org.drools.core.marshalling.Trigger.CompositeMaxDurationTrigger} + */ + public static final class CompositeMaxDurationTrigger extends + com.google.protobuf.GeneratedMessage + implements CompositeMaxDurationTriggerOrBuilder { + // Use CompositeMaxDurationTrigger.newBuilder() to construct. + private CompositeMaxDurationTrigger(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private CompositeMaxDurationTrigger(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final CompositeMaxDurationTrigger defaultInstance; + public static CompositeMaxDurationTrigger getDefaultInstance() { + return defaultInstance; + } + + public CompositeMaxDurationTrigger getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private CompositeMaxDurationTrigger( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 8: { + bitField0_ |= 0x00000001; + maxDurationTimestamp_ = input.readInt64(); + break; + } + case 16: { + bitField0_ |= 0x00000002; + timerCurrentDate_ = input.readInt64(); + break; + } + case 26: { + org.drools.core.marshalling.impl.ProtobufMessages.Trigger.Builder subBuilder = null; + if (((bitField0_ & 0x00000004) == 0x00000004)) { + subBuilder = timerTrigger_.toBuilder(); + } + timerTrigger_ = input.readMessage(org.drools.core.marshalling.impl.ProtobufMessages.Trigger.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(timerTrigger_); + timerTrigger_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000004; + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.drools.core.marshalling.impl.ProtobufMessages.internal_static_org_drools_core_marshalling_Trigger_CompositeMaxDurationTrigger_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.drools.core.marshalling.impl.ProtobufMessages.internal_static_org_drools_core_marshalling_Trigger_CompositeMaxDurationTrigger_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger.class, org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public CompositeMaxDurationTrigger parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new CompositeMaxDurationTrigger(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // optional int64 maxDurationTimestamp = 1; + public static final int MAXDURATIONTIMESTAMP_FIELD_NUMBER = 1; + private long maxDurationTimestamp_; + /** + * optional int64 maxDurationTimestamp = 1; + */ + public boolean hasMaxDurationTimestamp() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional int64 maxDurationTimestamp = 1; + */ + public long getMaxDurationTimestamp() { + return maxDurationTimestamp_; + } + + // optional int64 timerCurrentDate = 2; + public static final int TIMERCURRENTDATE_FIELD_NUMBER = 2; + private long timerCurrentDate_; + /** + * optional int64 timerCurrentDate = 2; + */ + public boolean hasTimerCurrentDate() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional int64 timerCurrentDate = 2; + */ + public long getTimerCurrentDate() { + return timerCurrentDate_; + } + + // optional .org.drools.core.marshalling.Trigger timerTrigger = 3; + public static final int TIMERTRIGGER_FIELD_NUMBER = 3; + private org.drools.core.marshalling.impl.ProtobufMessages.Trigger timerTrigger_; + /** + * optional .org.drools.core.marshalling.Trigger timerTrigger = 3; + */ + public boolean hasTimerTrigger() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional .org.drools.core.marshalling.Trigger timerTrigger = 3; + */ + public org.drools.core.marshalling.impl.ProtobufMessages.Trigger getTimerTrigger() { + return timerTrigger_; + } + /** + * optional .org.drools.core.marshalling.Trigger timerTrigger = 3; + */ + public org.drools.core.marshalling.impl.ProtobufMessages.TriggerOrBuilder getTimerTriggerOrBuilder() { + return timerTrigger_; + } + + private void initFields() { + maxDurationTimestamp_ = 0L; + timerCurrentDate_ = 0L; + timerTrigger_ = org.drools.core.marshalling.impl.ProtobufMessages.Trigger.getDefaultInstance(); + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeInt64(1, maxDurationTimestamp_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeInt64(2, timerCurrentDate_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeMessage(3, timerTrigger_); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += com.google.protobuf.CodedOutputStream + .computeInt64Size(1, maxDurationTimestamp_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeInt64Size(2, timerCurrentDate_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, timerTrigger_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code org.drools.core.marshalling.Trigger.CompositeMaxDurationTrigger} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTriggerOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.drools.core.marshalling.impl.ProtobufMessages.internal_static_org_drools_core_marshalling_Trigger_CompositeMaxDurationTrigger_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.drools.core.marshalling.impl.ProtobufMessages.internal_static_org_drools_core_marshalling_Trigger_CompositeMaxDurationTrigger_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger.class, org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger.Builder.class); + } + + // Construct using org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + getTimerTriggerFieldBuilder(); + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + maxDurationTimestamp_ = 0L; + bitField0_ = (bitField0_ & ~0x00000001); + timerCurrentDate_ = 0L; + bitField0_ = (bitField0_ & ~0x00000002); + if (timerTriggerBuilder_ == null) { + timerTrigger_ = org.drools.core.marshalling.impl.ProtobufMessages.Trigger.getDefaultInstance(); + } else { + timerTriggerBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.drools.core.marshalling.impl.ProtobufMessages.internal_static_org_drools_core_marshalling_Trigger_CompositeMaxDurationTrigger_descriptor; + } + + public org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger getDefaultInstanceForType() { + return org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger.getDefaultInstance(); + } + + public org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger build() { + org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger buildPartial() { + org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger result = new org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.maxDurationTimestamp_ = maxDurationTimestamp_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.timerCurrentDate_ = timerCurrentDate_; + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + if (timerTriggerBuilder_ == null) { + result.timerTrigger_ = timerTrigger_; + } else { + result.timerTrigger_ = timerTriggerBuilder_.build(); + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger) { + return mergeFrom((org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger other) { + if (other == org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger.getDefaultInstance()) return this; + if (other.hasMaxDurationTimestamp()) { + setMaxDurationTimestamp(other.getMaxDurationTimestamp()); + } + if (other.hasTimerCurrentDate()) { + setTimerCurrentDate(other.getTimerCurrentDate()); + } + if (other.hasTimerTrigger()) { + mergeTimerTrigger(other.getTimerTrigger()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // optional int64 maxDurationTimestamp = 1; + private long maxDurationTimestamp_ ; + /** + * optional int64 maxDurationTimestamp = 1; + */ + public boolean hasMaxDurationTimestamp() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional int64 maxDurationTimestamp = 1; + */ + public long getMaxDurationTimestamp() { + return maxDurationTimestamp_; + } + /** + * optional int64 maxDurationTimestamp = 1; + */ + public Builder setMaxDurationTimestamp(long value) { + bitField0_ |= 0x00000001; + maxDurationTimestamp_ = value; + onChanged(); + return this; + } + /** + * optional int64 maxDurationTimestamp = 1; + */ + public Builder clearMaxDurationTimestamp() { + bitField0_ = (bitField0_ & ~0x00000001); + maxDurationTimestamp_ = 0L; + onChanged(); + return this; + } + + // optional int64 timerCurrentDate = 2; + private long timerCurrentDate_ ; + /** + * optional int64 timerCurrentDate = 2; + */ + public boolean hasTimerCurrentDate() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional int64 timerCurrentDate = 2; + */ + public long getTimerCurrentDate() { + return timerCurrentDate_; + } + /** + * optional int64 timerCurrentDate = 2; + */ + public Builder setTimerCurrentDate(long value) { + bitField0_ |= 0x00000002; + timerCurrentDate_ = value; + onChanged(); + return this; + } + /** + * optional int64 timerCurrentDate = 2; + */ + public Builder clearTimerCurrentDate() { + bitField0_ = (bitField0_ & ~0x00000002); + timerCurrentDate_ = 0L; + onChanged(); + return this; + } + + // optional .org.drools.core.marshalling.Trigger timerTrigger = 3; + private org.drools.core.marshalling.impl.ProtobufMessages.Trigger timerTrigger_ = org.drools.core.marshalling.impl.ProtobufMessages.Trigger.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.drools.core.marshalling.impl.ProtobufMessages.Trigger, org.drools.core.marshalling.impl.ProtobufMessages.Trigger.Builder, org.drools.core.marshalling.impl.ProtobufMessages.TriggerOrBuilder> timerTriggerBuilder_; + /** + * optional .org.drools.core.marshalling.Trigger timerTrigger = 3; + */ + public boolean hasTimerTrigger() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional .org.drools.core.marshalling.Trigger timerTrigger = 3; + */ + public org.drools.core.marshalling.impl.ProtobufMessages.Trigger getTimerTrigger() { + if (timerTriggerBuilder_ == null) { + return timerTrigger_; + } else { + return timerTriggerBuilder_.getMessage(); + } + } + /** + * optional .org.drools.core.marshalling.Trigger timerTrigger = 3; + */ + public Builder setTimerTrigger(org.drools.core.marshalling.impl.ProtobufMessages.Trigger value) { + if (timerTriggerBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + timerTrigger_ = value; + onChanged(); + } else { + timerTriggerBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * optional .org.drools.core.marshalling.Trigger timerTrigger = 3; + */ + public Builder setTimerTrigger( + org.drools.core.marshalling.impl.ProtobufMessages.Trigger.Builder builderForValue) { + if (timerTriggerBuilder_ == null) { + timerTrigger_ = builderForValue.build(); + onChanged(); + } else { + timerTriggerBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * optional .org.drools.core.marshalling.Trigger timerTrigger = 3; + */ + public Builder mergeTimerTrigger(org.drools.core.marshalling.impl.ProtobufMessages.Trigger value) { + if (timerTriggerBuilder_ == null) { + if (((bitField0_ & 0x00000004) == 0x00000004) && + timerTrigger_ != org.drools.core.marshalling.impl.ProtobufMessages.Trigger.getDefaultInstance()) { + timerTrigger_ = + org.drools.core.marshalling.impl.ProtobufMessages.Trigger.newBuilder(timerTrigger_).mergeFrom(value).buildPartial(); + } else { + timerTrigger_ = value; + } + onChanged(); + } else { + timerTriggerBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * optional .org.drools.core.marshalling.Trigger timerTrigger = 3; + */ + public Builder clearTimerTrigger() { + if (timerTriggerBuilder_ == null) { + timerTrigger_ = org.drools.core.marshalling.impl.ProtobufMessages.Trigger.getDefaultInstance(); + onChanged(); + } else { + timerTriggerBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + /** + * optional .org.drools.core.marshalling.Trigger timerTrigger = 3; + */ + public org.drools.core.marshalling.impl.ProtobufMessages.Trigger.Builder getTimerTriggerBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return getTimerTriggerFieldBuilder().getBuilder(); + } + /** + * optional .org.drools.core.marshalling.Trigger timerTrigger = 3; + */ + public org.drools.core.marshalling.impl.ProtobufMessages.TriggerOrBuilder getTimerTriggerOrBuilder() { + if (timerTriggerBuilder_ != null) { + return timerTriggerBuilder_.getMessageOrBuilder(); + } else { + return timerTrigger_; + } + } + /** + * optional .org.drools.core.marshalling.Trigger timerTrigger = 3; + */ + private com.google.protobuf.SingleFieldBuilder< + org.drools.core.marshalling.impl.ProtobufMessages.Trigger, org.drools.core.marshalling.impl.ProtobufMessages.Trigger.Builder, org.drools.core.marshalling.impl.ProtobufMessages.TriggerOrBuilder> + getTimerTriggerFieldBuilder() { + if (timerTriggerBuilder_ == null) { + timerTriggerBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.drools.core.marshalling.impl.ProtobufMessages.Trigger, org.drools.core.marshalling.impl.ProtobufMessages.Trigger.Builder, org.drools.core.marshalling.impl.ProtobufMessages.TriggerOrBuilder>( + timerTrigger_, + getParentForChildren(), + isClean()); + timerTrigger_ = null; + } + return timerTriggerBuilder_; + } + + // @@protoc_insertion_point(builder_scope:org.drools.core.marshalling.Trigger.CompositeMaxDurationTrigger) + } + + static { + defaultInstance = new CompositeMaxDurationTrigger(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:org.drools.core.marshalling.Trigger.CompositeMaxDurationTrigger) + } + private int bitField0_; // optional .org.drools.core.marshalling.Trigger.TriggerType type = 1; public static final int TYPE_FIELD_NUMBER = 1; @@ -45506,11 +46211,34 @@ public org.drools.core.marshalling.impl.ProtobufMessages.Trigger.PointInTimeTrig return pit_; } + // optional .org.drools.core.marshalling.Trigger.CompositeMaxDurationTrigger cmdt = 5; + public static final int CMDT_FIELD_NUMBER = 5; + private org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger cmdt_; + /** + * optional .org.drools.core.marshalling.Trigger.CompositeMaxDurationTrigger cmdt = 5; + */ + public boolean hasCmdt() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * optional .org.drools.core.marshalling.Trigger.CompositeMaxDurationTrigger cmdt = 5; + */ + public org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger getCmdt() { + return cmdt_; + } + /** + * optional .org.drools.core.marshalling.Trigger.CompositeMaxDurationTrigger cmdt = 5; + */ + public org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTriggerOrBuilder getCmdtOrBuilder() { + return cmdt_; + } + private void initFields() { type_ = org.drools.core.marshalling.impl.ProtobufMessages.Trigger.TriggerType.CRON; cron_ = org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CronTrigger.getDefaultInstance(); interval_ = org.drools.core.marshalling.impl.ProtobufMessages.Trigger.IntervalTrigger.getDefaultInstance(); pit_ = org.drools.core.marshalling.impl.ProtobufMessages.Trigger.PointInTimeTrigger.getDefaultInstance(); + cmdt_ = org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger.getDefaultInstance(); } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -45536,6 +46264,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (((bitField0_ & 0x00000008) == 0x00000008)) { output.writeMessage(4, pit_); } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + output.writeMessage(5, cmdt_); + } getUnknownFields().writeTo(output); } @@ -45561,6 +46292,10 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, pit_); } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, cmdt_); + } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; return size; @@ -45672,6 +46407,7 @@ private void maybeForceBuilderInitialization() { getCronFieldBuilder(); getIntervalFieldBuilder(); getPitFieldBuilder(); + getCmdtFieldBuilder(); } } private static Builder create() { @@ -45700,6 +46436,12 @@ public Builder clear() { pitBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000008); + if (cmdtBuilder_ == null) { + cmdt_ = org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger.getDefaultInstance(); + } else { + cmdtBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000010); return this; } @@ -45756,6 +46498,14 @@ public org.drools.core.marshalling.impl.ProtobufMessages.Trigger buildPartial() } else { result.pit_ = pitBuilder_.build(); } + if (((from_bitField0_ & 0x00000010) == 0x00000010)) { + to_bitField0_ |= 0x00000010; + } + if (cmdtBuilder_ == null) { + result.cmdt_ = cmdt_; + } else { + result.cmdt_ = cmdtBuilder_.build(); + } result.bitField0_ = to_bitField0_; onBuilt(); return result; @@ -45784,6 +46534,9 @@ public Builder mergeFrom(org.drools.core.marshalling.impl.ProtobufMessages.Trigg if (other.hasPit()) { mergePit(other.getPit()); } + if (other.hasCmdt()) { + mergeCmdt(other.getCmdt()); + } this.mergeUnknownFields(other.getUnknownFields()); return this; } @@ -46198,6 +46951,123 @@ public org.drools.core.marshalling.impl.ProtobufMessages.Trigger.PointInTimeTrig return pitBuilder_; } + // optional .org.drools.core.marshalling.Trigger.CompositeMaxDurationTrigger cmdt = 5; + private org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger cmdt_ = org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger, org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger.Builder, org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTriggerOrBuilder> cmdtBuilder_; + /** + * optional .org.drools.core.marshalling.Trigger.CompositeMaxDurationTrigger cmdt = 5; + */ + public boolean hasCmdt() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * optional .org.drools.core.marshalling.Trigger.CompositeMaxDurationTrigger cmdt = 5; + */ + public org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger getCmdt() { + if (cmdtBuilder_ == null) { + return cmdt_; + } else { + return cmdtBuilder_.getMessage(); + } + } + /** + * optional .org.drools.core.marshalling.Trigger.CompositeMaxDurationTrigger cmdt = 5; + */ + public Builder setCmdt(org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger value) { + if (cmdtBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + cmdt_ = value; + onChanged(); + } else { + cmdtBuilder_.setMessage(value); + } + bitField0_ |= 0x00000010; + return this; + } + /** + * optional .org.drools.core.marshalling.Trigger.CompositeMaxDurationTrigger cmdt = 5; + */ + public Builder setCmdt( + org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger.Builder builderForValue) { + if (cmdtBuilder_ == null) { + cmdt_ = builderForValue.build(); + onChanged(); + } else { + cmdtBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000010; + return this; + } + /** + * optional .org.drools.core.marshalling.Trigger.CompositeMaxDurationTrigger cmdt = 5; + */ + public Builder mergeCmdt(org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger value) { + if (cmdtBuilder_ == null) { + if (((bitField0_ & 0x00000010) == 0x00000010) && + cmdt_ != org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger.getDefaultInstance()) { + cmdt_ = + org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger.newBuilder(cmdt_).mergeFrom(value).buildPartial(); + } else { + cmdt_ = value; + } + onChanged(); + } else { + cmdtBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000010; + return this; + } + /** + * optional .org.drools.core.marshalling.Trigger.CompositeMaxDurationTrigger cmdt = 5; + */ + public Builder clearCmdt() { + if (cmdtBuilder_ == null) { + cmdt_ = org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger.getDefaultInstance(); + onChanged(); + } else { + cmdtBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000010); + return this; + } + /** + * optional .org.drools.core.marshalling.Trigger.CompositeMaxDurationTrigger cmdt = 5; + */ + public org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger.Builder getCmdtBuilder() { + bitField0_ |= 0x00000010; + onChanged(); + return getCmdtFieldBuilder().getBuilder(); + } + /** + * optional .org.drools.core.marshalling.Trigger.CompositeMaxDurationTrigger cmdt = 5; + */ + public org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTriggerOrBuilder getCmdtOrBuilder() { + if (cmdtBuilder_ != null) { + return cmdtBuilder_.getMessageOrBuilder(); + } else { + return cmdt_; + } + } + /** + * optional .org.drools.core.marshalling.Trigger.CompositeMaxDurationTrigger cmdt = 5; + */ + private com.google.protobuf.SingleFieldBuilder< + org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger, org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger.Builder, org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTriggerOrBuilder> + getCmdtFieldBuilder() { + if (cmdtBuilder_ == null) { + cmdtBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger, org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTrigger.Builder, org.drools.core.marshalling.impl.ProtobufMessages.Trigger.CompositeMaxDurationTriggerOrBuilder>( + cmdt_, + getParentForChildren(), + isClean()); + cmdt_ = null; + } + return cmdtBuilder_; + } + // @@protoc_insertion_point(builder_scope:org.drools.core.marshalling.Trigger) } @@ -46469,6 +47339,11 @@ public org.drools.core.marshalling.impl.ProtobufMessages.Trigger.PointInTimeTrig private static com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_org_drools_core_marshalling_Trigger_PointInTimeTrigger_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_org_drools_core_marshalling_Trigger_CompositeMaxDurationTrigger_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_org_drools_core_marshalling_Trigger_CompositeMaxDurationTrigger_fieldAccessorTable; public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { @@ -46478,222 +47353,228 @@ public org.drools.core.marshalling.impl.ProtobufMessages.Trigger.PointInTimeTrig descriptor; static { java.lang.String[] descriptorData = { - "\n0org/drools/core/marshalling/droolsmess" + - "ages.proto\022\033org.drools.core.marshalling\"" + - "\220\002\n\006Header\0225\n\007version\030\001 \001(\0132$.org.drools" + - ".core.marshalling.Version\0229\n\tsignature\030\004" + - " \001(\0132&.org.drools.core.marshalling.Signa" + - "ture\022C\n\010strategy\030\t \003(\01321.org.drools.core" + - ".marshalling.Header.StrategyIndex\022\017\n\007pay" + - "load\030\n \001(\014\0327\n\rStrategyIndex\022\n\n\002id\030\001 \001(\005\022" + - "\014\n\004name\030\002 \001(\t\022\014\n\004data\030\003 \001(\014*\005\010d\020\310\001\"Q\n\007Ve" + - "rsion\022\025\n\rversion_major\030\001 \001(\005\022\025\n\rversion_", - "minor\030\002 \001(\005\022\030\n\020version_revision\030\003 \001(\005\"1\n" + - "\tSignature\022\021\n\tkey_alias\030\001 \001(\t\022\021\n\tsignatu" + - "re\030\002 \001(\014\"5\n\rKnowledgeBase\022\021\n\tsignature\030\001" + - " \001(\014\022\n\n\002id\030\002 \001(\t*\005\010d\020\310\001\"\353\001\n\020KnowledgeSes" + - "sion\022\023\n\013multithread\030\001 \001(\010\022\014\n\004time\030\002 \001(\003\022" + - "8\n\trule_data\030\003 \001(\0132%.org.drools.core.mar" + - "shalling.RuleData\022>\n\014process_data\030\004 \001(\0132" + - "(.org.drools.core.marshalling.ProcessDat" + - "a\0223\n\006timers\030\005 \001(\0132#.org.drools.core.mars" + - "halling.Timers*\005\010d\020\310\001\"\254\003\n\010RuleData\022\017\n\007la", - "st_id\030\003 \001(\005\022\024\n\014last_recency\030\004 \001(\003\022=\n\014ini" + - "tial_fact\030\006 \001(\0132\'.org.drools.core.marsha" + - "lling.FactHandle\0223\n\006agenda\030\010 \001(\0132#.org.d" + - "rools.core.marshalling.Agenda\022<\n\013node_me" + - "mory\030\t \003(\0132\'.org.drools.core.marshalling" + - ".NodeMemory\022<\n\013entry_point\030\n \003(\0132\'.org.d" + - "rools.core.marshalling.EntryPoint\022>\n\014act" + - "ion_queue\030\013 \001(\0132(.org.drools.core.marsha" + - "lling.ActionQueue\022I\n\014OBSOLETE_tms\030\014 \001(\0132" + - "3.org.drools.core.marshalling.TruthMaint", - "enanceSystem\"\024\n\013ProcessData*\005\010\n\020\310\001\"\325\010\n\006A" + - "genda\022\033\n\023dormant_activations\030\001 \001(\005\022\032\n\022ac" + - "tive_activations\030\002 \001(\005\022E\n\014agenda_group\030\003" + - " \003(\0132/.org.drools.core.marshalling.Agend" + - "a.AgendaGroup\022C\n\013focus_stack\030\004 \001(\0132..org" + - ".drools.core.marshalling.Agenda.FocusSta" + - "ck\022J\n\017rule_flow_group\030\005 \003(\01321.org.drools" + - ".core.marshalling.Agenda.RuleFlowGroup\0226" + - "\n\005match\030\006 \003(\0132\'.org.drools.core.marshall" + - "ing.Activation\022@\n\017rule_activation\030\007 \003(\0132", + "\n\024droolsmessages.proto\022\033org.drools.core." + + "marshalling\"\220\002\n\006Header\0225\n\007version\030\001 \001(\0132" + + "$.org.drools.core.marshalling.Version\0229\n" + + "\tsignature\030\004 \001(\0132&.org.drools.core.marsh" + + "alling.Signature\022C\n\010strategy\030\t \003(\01321.org" + + ".drools.core.marshalling.Header.Strategy" + + "Index\022\017\n\007payload\030\n \001(\014\0327\n\rStrategyIndex\022" + + "\n\n\002id\030\001 \001(\005\022\014\n\004name\030\002 \001(\t\022\014\n\004data\030\003 \001(\014*" + + "\005\010d\020\310\001\"Q\n\007Version\022\025\n\rversion_major\030\001 \001(\005" + + "\022\025\n\rversion_minor\030\002 \001(\005\022\030\n\020version_revis", + "ion\030\003 \001(\005\"1\n\tSignature\022\021\n\tkey_alias\030\001 \001(" + + "\t\022\021\n\tsignature\030\002 \001(\014\"5\n\rKnowledgeBase\022\021\n" + + "\tsignature\030\001 \001(\014\022\n\n\002id\030\002 \001(\t*\005\010d\020\310\001\"\353\001\n\020" + + "KnowledgeSession\022\023\n\013multithread\030\001 \001(\010\022\014\n" + + "\004time\030\002 \001(\003\0228\n\trule_data\030\003 \001(\0132%.org.dro" + + "ols.core.marshalling.RuleData\022>\n\014process" + + "_data\030\004 \001(\0132(.org.drools.core.marshallin" + + "g.ProcessData\0223\n\006timers\030\005 \001(\0132#.org.droo" + + "ls.core.marshalling.Timers*\005\010d\020\310\001\"\254\003\n\010Ru" + + "leData\022\017\n\007last_id\030\003 \001(\005\022\024\n\014last_recency\030", + "\004 \001(\003\022=\n\014initial_fact\030\006 \001(\0132\'.org.drools" + + ".core.marshalling.FactHandle\0223\n\006agenda\030\010" + + " \001(\0132#.org.drools.core.marshalling.Agend" + + "a\022<\n\013node_memory\030\t \003(\0132\'.org.drools.core" + + ".marshalling.NodeMemory\022<\n\013entry_point\030\n" + + " \003(\0132\'.org.drools.core.marshalling.Entry" + + "Point\022>\n\014action_queue\030\013 \001(\0132(.org.drools" + + ".core.marshalling.ActionQueue\022I\n\014OBSOLET" + + "E_tms\030\014 \001(\01323.org.drools.core.marshallin" + + "g.TruthMaintenanceSystem\"\024\n\013ProcessData*", + "\005\010\n\020\310\001\"\325\010\n\006Agenda\022\033\n\023dormant_activations" + + "\030\001 \001(\005\022\032\n\022active_activations\030\002 \001(\005\022E\n\014ag" + + "enda_group\030\003 \003(\0132/.org.drools.core.marsh" + + "alling.Agenda.AgendaGroup\022C\n\013focus_stack" + + "\030\004 \001(\0132..org.drools.core.marshalling.Age" + + "nda.FocusStack\022J\n\017rule_flow_group\030\005 \003(\0132" + + "1.org.drools.core.marshalling.Agenda.Rul" + + "eFlowGroup\0226\n\005match\030\006 \003(\0132\'.org.drools.c" + + "ore.marshalling.Activation\022@\n\017rule_activ" + + "ation\030\007 \003(\0132\'.org.drools.core.marshallin", + "g.Activation\032\370\002\n\013AgendaGroup\022\014\n\004name\030\001 \001" + + "(\t\022\021\n\tis_active\030\002 \001(\010\022\032\n\022is_auto_deactiv" + + "ate\030\003 \001(\010\022\035\n\025activated_for_recency\030\004 \001(\003" + + "\022\033\n\023cleared_for_recency\030\005 \001(\003\0226\n\005match\030\006" + + " \003(\0132\'.org.drools.core.marshalling.Activ" + + "ation\022S\n\rnode_instance\030\007 \003(\0132<.org.drool" + + "s.core.marshalling.Agenda.AgendaGroup.No" + + "deInstance\022\034\n\024has_rule_flow_lister\030\010 \001(\010" + + "\032E\n\014NodeInstance\022\033\n\023process_instance_id\030" + + "\001 \001(\003\022\030\n\020node_instance_id\030\002 \001(\t\032 \n\nFocus", + "Stack\022\022\n\ngroup_name\030\001 \003(\t\032\242\002\n\rRuleFlowGr" + + "oup\022\014\n\004name\030\001 \001(\t\022\021\n\tis_active\030\002 \001(\010\022\032\n\022" + + "is_auto_deactivate\030\003 \001(\010\0226\n\005match\030\004 \003(\0132" + "\'.org.drools.core.marshalling.Activation" + - "\032\370\002\n\013AgendaGroup\022\014\n\004name\030\001 \001(\t\022\021\n\tis_act" + - "ive\030\002 \001(\010\022\032\n\022is_auto_deactivate\030\003 \001(\010\022\035\n" + - "\025activated_for_recency\030\004 \001(\003\022\033\n\023cleared_" + - "for_recency\030\005 \001(\003\0226\n\005match\030\006 \003(\0132\'.org.d" + - "rools.core.marshalling.Activation\022S\n\rnod" + - "e_instance\030\007 \003(\0132<.org.drools.core.marsh" + - "alling.Agenda.AgendaGroup.NodeInstance\022\034" + - "\n\024has_rule_flow_lister\030\010 \001(\010\032E\n\014NodeInst" + - "ance\022\033\n\023process_instance_id\030\001 \001(\003\022\030\n\020nod", - "e_instance_id\030\002 \001(\t\032 \n\nFocusStack\022\022\n\ngro" + - "up_name\030\001 \003(\t\032\242\002\n\rRuleFlowGroup\022\014\n\004name\030" + - "\001 \001(\t\022\021\n\tis_active\030\002 \001(\010\022\032\n\022is_auto_deac" + - "tivate\030\003 \001(\010\0226\n\005match\030\004 \003(\0132\'.org.drools" + - ".core.marshalling.Activation\022U\n\rnode_ins" + - "tance\030\005 \003(\0132>.org.drools.core.marshallin" + - "g.Agenda.RuleFlowGroup.NodeInstance\032E\n\014N" + - "odeInstance\022\033\n\023process_instance_id\030\001 \001(\003" + - "\022\030\n\020node_instance_id\030\002 \001(\t\"\322\013\n\nNodeMemor" + - "y\022\017\n\007node_id\030\001 \001(\005\022C\n\tnode_type\030\002 \001(\01620.", - "org.drools.core.marshalling.NodeMemory.N" + - "odeType\022P\n\naccumulate\030\003 \001(\0132<.org.drools" + - ".core.marshalling.NodeMemory.AccumulateN" + - "odeMemory\022B\n\003ria\030\004 \001(\01325.org.drools.core" + - ".marshalling.NodeMemory.RIANodeMemory\022D\n" + - "\004from\030\005 \001(\01326.org.drools.core.marshallin" + - "g.NodeMemory.FromNodeMemory\022U\n\rquery_ele" + - "ment\030\006 \001(\0132>.org.drools.core.marshalling" + - ".NodeMemory.QueryElementNodeMemory\032\200\002\n\024A" + - "ccumulateNodeMemory\022_\n\007context\030\001 \003(\0132N.o", - "rg.drools.core.marshalling.NodeMemory.Ac" + - "cumulateNodeMemory.AccumulateContext\032\206\001\n" + - "\021AccumulateContext\0221\n\005tuple\030\001 \001(\0132\".org." + - "drools.core.marshalling.Tuple\022>\n\rresult_" + - "handle\030\002 \001(\0132\'.org.drools.core.marshalli" + - "ng.FactHandle\032\343\001\n\rRIANodeMemory\022Q\n\007conte" + - "xt\030\001 \003(\0132@.org.drools.core.marshalling.N" + - "odeMemory.RIANodeMemory.RIAContext\032\177\n\nRI" + - "AContext\0221\n\005tuple\030\001 \001(\0132\".org.drools.cor" + - "e.marshalling.Tuple\022>\n\rresult_handle\030\002 \001", - "(\0132\'.org.drools.core.marshalling.FactHan" + - "dle\032\340\001\n\016FromNodeMemory\022S\n\007context\030\001 \003(\0132" + - "B.org.drools.core.marshalling.NodeMemory" + - ".FromNodeMemory.FromContext\032y\n\013FromConte" + - "xt\0221\n\005tuple\030\001 \001(\0132\".org.drools.core.mars" + - "halling.Tuple\0227\n\006handle\030\002 \003(\0132\'.org.droo" + - "ls.core.marshalling.FactHandle\032\254\002\n\026Query" + - "ElementNodeMemory\022\\\n\007context\030\001 \003(\0132K.org" + - ".drools.core.marshalling.NodeMemory.Quer" + - "yElementNodeMemory.QueryContext\032\263\001\n\014Quer", - "yContext\0221\n\005tuple\030\001 \001(\0132\".org.drools.cor" + - "e.marshalling.Tuple\0227\n\006handle\030\002 \001(\0132\'.or" + - "g.drools.core.marshalling.FactHandle\0227\n\006" + - "result\030\003 \003(\0132\'.org.drools.core.marshalli" + - "ng.FactHandle\"@\n\010NodeType\022\016\n\nACCUMULATE\020" + - "\000\022\007\n\003RIA\020\001\022\010\n\004FROM\020\002\022\021\n\rQUERY_ELEMENT\020\003\"" + - "\342\001\n\nEntryPoint\022\026\n\016entry_point_id\030\001 \001(\t\0227" + - "\n\006handle\030\002 \003(\0132\'.org.drools.core.marshal" + - "ling.FactHandle\022@\n\003tms\030\003 \001(\01323.org.drool" + - "s.core.marshalling.TruthMaintenanceSyste", - "m\022A\n\003otc\030\004 \003(\01324.org.drools.core.marshal" + - "ling.ObjectTypeConfiguration\"\322\002\n\nFactHan" + - "dle\022@\n\004type\030\001 \001(\01622.org.drools.core.mars" + - "halling.FactHandle.HandleType\022\n\n\002id\030\002 \001(" + - "\005\022\017\n\007recency\030\003 \001(\003\022\021\n\ttimestamp\030\004 \001(\003\022\020\n" + - "\010duration\030\005 \001(\003\022\022\n\nis_expired\030\006 \001(\010\022\031\n\021a" + - "ctivations_count\030\007 \001(\003\022\026\n\016strategy_index" + - "\030\010 \001(\005\022\016\n\006object\030\t \001(\014\022\023\n\013entry_point\030\n " + - "\001(\t\022\024\n\014is_justified\030\013 \001(\010\">\n\nHandleType\022" + - "\020\n\014INITIAL_FACT\020\001\022\010\n\004FACT\020\002\022\t\n\005QUERY\020\003\022\t", - "\n\005EVENT\020\004\"\354\001\n\nActivation\0221\n\005tuple\030\002 \001(\0132" + - "\".org.drools.core.marshalling.Tuple\022\020\n\010s" + - "alience\030\003 \001(\005\022\024\n\014package_name\030\004 \001(\t\022\021\n\tr" + - "ule_name\030\005 \001(\t\022\030\n\020activation_group\030\007 \001(\t" + - "\022\024\n\014is_activated\030\010 \001(\010\022\021\n\thandle_id\030\t \001(" + - "\005\022\032\n\022logical_dependency\030\n \003(\005\022\021\n\tevaluat" + - "ed\030\013 \001(\010\"\032\n\005Tuple\022\021\n\thandle_id\030\001 \003(\005\"\227\001\n" + - "\026TruthMaintenanceSystem\0225\n\003key\030\001 \003(\0132(.o" + - "rg.drools.core.marshalling.EqualityKey\022F" + - "\n\026OBSOLETE_justification\030\002 \003(\0132&.org.dro", - "ols.core.marshalling.BeliefSet\"<\n\027Object" + - "TypeConfiguration\022\014\n\004type\030\001 \001(\t\022\023\n\013tms_e" + - "nabled\030\002 \001(\010\"\201\001\n\013EqualityKey\022\016\n\006status\030\001" + - " \001(\005\022\021\n\thandle_id\030\002 \001(\005\022\024\n\014other_handle\030" + - "\003 \003(\005\0229\n\tbeliefSet\030\004 \001(\0132&.org.drools.co" + - "re.marshalling.BeliefSet\"i\n\tBeliefSet\022\021\n" + - "\thandle_id\030\001 \001(\005\022I\n\021logicalDependency\030\002 " + - "\003(\0132..org.drools.core.marshalling.Logica" + - "lDependency\"\254\001\n\021LogicalDependency\022;\n\nact" + - "ivation\030\002 \001(\0132\'.org.drools.core.marshall", - "ing.Activation\022\035\n\025object_strategy_index\030" + - "\010 \001(\005\022\016\n\006object\030\t \001(\014\022\034\n\024value_strategy_" + - "index\030\n \001(\005\022\r\n\005value\030\013 \001(\014\"\377\013\n\013ActionQue" + - "ue\022?\n\006action\030\001 \003(\0132/.org.drools.core.mar" + - "shalling.ActionQueue.Action\032\264\005\n\006Action\022A" + - "\n\004type\030\001 \001(\01623.org.drools.core.marshalli" + - "ng.ActionQueue.ActionType\022P\n\017behavior_ex" + - "pire\030\002 \001(\01327.org.drools.core.marshalling" + - ".ActionQueue.BehaviorExpire\022X\n\023deactivat" + - "e_callback\030\003 \001(\0132;.org.drools.core.marsh", - "alling.ActionQueue.DeactivateCallback\022P\n" + - "\017logical_retract\030\004 \001(\01327.org.drools.core" + - ".marshalling.ActionQueue.LogicalRetract\022" + - "E\n\tpropagate\030\005 \001(\01322.org.drools.core.mar" + - "shalling.ActionQueue.Propagate\022?\n\006assert" + - "\030\006 \001(\0132/.org.drools.core.marshalling.Act" + - "ionQueue.Assert\022?\n\006expire\030\007 \001(\0132/.org.dr" + - "ools.core.marshalling.ActionQueue.Expire" + - "\022?\n\006signal\030\010 \001(\0132/.org.drools.core.marsh" + - "alling.ActionQueue.Signal\022_\n\027signal_proc", - "ess_instance\030\t \001(\0132>.org.drools.core.mar" + - "shalling.ActionQueue.SignalProcessInstan" + - "ce\032!\n\016BehaviorExpire\022\017\n\007node_id\030\001 \001(\005\032,\n" + - "\022DeactivateCallback\022\026\n\016ruleflow_group\030\001 " + - "\001(\t\032\207\001\n\016LogicalRetract\022\021\n\thandle_id\030\001 \001(" + - "\005\022;\n\nactivation\030\002 \001(\0132\'.org.drools.core." + - "marshalling.Activation\022\025\n\rfully_retract\030" + - "\003 \001(\010\022\016\n\006update\030\004 \001(\010\032\034\n\tPropagate\022\017\n\007no" + - "de_id\030\001 \001(\005\032\264\001\n\006Assert\022\021\n\thandle_id\030\001 \001(" + - "\005\022\026\n\016remove_logical\030\002 \001(\010\022\031\n\021update_equa", - "ls_map\030\003 \001(\010\022\027\n\017origin_pkg_name\030\004 \001(\t\022\030\n" + - "\020origin_rule_name\030\005 \001(\t\0221\n\005tuple\030\006 \001(\0132\"" + - ".org.drools.core.marshalling.Tuple\032,\n\006Ex" + - "pire\022\021\n\thandle_id\030\001 \001(\005\022\017\n\007node_id\030\002 \001(\005" + - "\032%\n\006Signal\022\014\n\004type\030\001 \001(\t\022\r\n\005event\030\002 \001(\014\032" + - "Q\n\025SignalProcessInstance\022\014\n\004type\030\001 \001(\t\022\r" + - "\n\005event\030\002 \001(\014\022\033\n\023process_instance_id\030\003 \001" + - "(\003\"\237\001\n\nActionType\022\023\n\017BEHAVIOR_EXPIRE\020\001\022\027" + - "\n\023DEACTIVATE_CALLBACK\020\002\022\023\n\017LOGICAL_RETRA" + - "CT\020\003\022\r\n\tPROPAGATE\020\004\022\n\n\006ASSERT\020\005\022\n\n\006EXPIR", - "E\020\006\022\n\n\006SIGNAL\020\007\022\033\n\027SIGNAL_PROCESS_INSTAN" + - "CE\020\010\"\337\007\n\006Timers\0228\n\005timer\030\001 \003(\0132).org.dro" + - "ols.core.marshalling.Timers.Timer\032\342\002\n\005Ti" + - "mer\022;\n\004type\030\001 \001(\0162-.org.drools.core.mars" + - "halling.Timers.TimerType\022?\n\006expire\030\002 \001(\013" + - "2/.org.drools.core.marshalling.Timers.Ex" + - "pireTimer\022G\n\nactivation\030\003 \001(\01323.org.droo" + - "ls.core.marshalling.Timers.ActivationTim" + - "er\022C\n\010behavior\030\004 \001(\01321.org.drools.core.m" + - "arshalling.Timers.BehaviorTimer\022F\n\ntimer", - "_node\030\005 \001(\01322.org.drools.core.marshallin" + - "g.Timers.TimerNodeTimer*\005\010d\020\310\001\032i\n\013Expire" + - "Timer\022\021\n\thandle_id\030\001 \001(\005\022\026\n\016entry_point_" + - "id\030\002 \001(\t\022\022\n\nclass_name\030\003 \001(\t\022\033\n\023next_fir" + - "e_timestamp\030\004 \001(\003\032\205\001\n\017ActivationTimer\022;\n" + - "\nactivation\030\001 \001(\0132\'.org.drools.core.mars" + - "halling.Activation\0225\n\007trigger\030\002 \001(\0132$.or" + - "g.drools.core.marshalling.Trigger\032a\n\rBeh" + - "aviorTimer\022\032\n\022DEPRECATED_node_id\030\001 \001(\005\022!" + - "\n\031DEPRECATED_behavior_index\030\002 \001(\005\022\021\n\than", - "dle_id\030\003 \001(\005\032\213\001\n\016TimerNodeTimer\022\017\n\007node_" + - "id\030\001 \001(\005\0221\n\005tuple\030\002 \001(\0132\".org.drools.cor" + - "e.marshalling.Tuple\0225\n\007trigger\030\003 \001(\0132$.o" + - "rg.drools.core.marshalling.Trigger\"R\n\tTi" + - "merType\022\n\n\006EXPIRE\020\001\022\016\n\nACTIVATION\020\002\022\014\n\010B" + - "EHAVIOR\020\003\022\013\n\007PROCESS\020\004\022\016\n\nTIMER_NODE\020\005\"\316" + - "\005\n\007Trigger\022>\n\004type\030\001 \001(\01620.org.drools.co" + - "re.marshalling.Trigger.TriggerType\022>\n\004cr" + - "on\030\002 \001(\01320.org.drools.core.marshalling.T" + - "rigger.CronTrigger\022F\n\010interval\030\003 \001(\01324.o", - "rg.drools.core.marshalling.Trigger.Inter" + - "valTrigger\022D\n\003pit\030\004 \001(\01327.org.drools.cor" + - "e.marshalling.Trigger.PointInTimeTrigger" + - "\032\247\001\n\013CronTrigger\022\022\n\nstart_time\030\001 \001(\003\022\020\n\010" + - "end_time\030\002 \001(\003\022\024\n\014repeat_limit\030\003 \001(\005\022\024\n\014" + - "repeat_count\030\004 \001(\005\022\027\n\017cron_expression\030\005 " + - "\001(\t\022\026\n\016next_fire_time\030\006 \001(\003\022\025\n\rcalendar_" + - "name\030\007 \003(\t\032\242\001\n\017IntervalTrigger\022\022\n\nstart_" + - "time\030\001 \001(\003\022\020\n\010end_time\030\002 \001(\003\022\024\n\014repeat_l" + - "imit\030\003 \001(\005\022\024\n\014repeat_count\030\004 \001(\005\022\026\n\016next", - "_fire_time\030\006 \001(\003\022\016\n\006period\030\007 \001(\003\022\025\n\rcale" + - "ndar_name\030\010 \003(\t\032,\n\022PointInTimeTrigger\022\026\n" + - "\016next_fire_time\030\001 \001(\003\"8\n\013TriggerType\022\010\n\004" + - "CRON\020\000\022\014\n\010INTERVAL\020\001\022\021\n\rPOINT_IN_TIME\020\002B" + - "4\n org.drools.core.marshalling.implB\020Pro" + - "tobufMessages" + "\022U\n\rnode_instance\030\005 \003(\0132>.org.drools.cor" + + "e.marshalling.Agenda.RuleFlowGroup.NodeI" + + "nstance\032E\n\014NodeInstance\022\033\n\023process_insta" + + "nce_id\030\001 \001(\003\022\030\n\020node_instance_id\030\002 \001(\t\"\322" + + "\013\n\nNodeMemory\022\017\n\007node_id\030\001 \001(\005\022C\n\tnode_t" + + "ype\030\002 \001(\01620.org.drools.core.marshalling.", + "NodeMemory.NodeType\022P\n\naccumulate\030\003 \001(\0132" + + "<.org.drools.core.marshalling.NodeMemory" + + ".AccumulateNodeMemory\022B\n\003ria\030\004 \001(\01325.org" + + ".drools.core.marshalling.NodeMemory.RIAN" + + "odeMemory\022D\n\004from\030\005 \001(\01326.org.drools.cor" + + "e.marshalling.NodeMemory.FromNodeMemory\022" + + "U\n\rquery_element\030\006 \001(\0132>.org.drools.core" + + ".marshalling.NodeMemory.QueryElementNode" + + "Memory\032\200\002\n\024AccumulateNodeMemory\022_\n\007conte" + + "xt\030\001 \003(\0132N.org.drools.core.marshalling.N", + "odeMemory.AccumulateNodeMemory.Accumulat" + + "eContext\032\206\001\n\021AccumulateContext\0221\n\005tuple\030" + + "\001 \001(\0132\".org.drools.core.marshalling.Tupl" + + "e\022>\n\rresult_handle\030\002 \001(\0132\'.org.drools.co" + + "re.marshalling.FactHandle\032\343\001\n\rRIANodeMem" + + "ory\022Q\n\007context\030\001 \003(\0132@.org.drools.core.m" + + "arshalling.NodeMemory.RIANodeMemory.RIAC" + + "ontext\032\177\n\nRIAContext\0221\n\005tuple\030\001 \001(\0132\".or" + + "g.drools.core.marshalling.Tuple\022>\n\rresul" + + "t_handle\030\002 \001(\0132\'.org.drools.core.marshal", + "ling.FactHandle\032\340\001\n\016FromNodeMemory\022S\n\007co" + + "ntext\030\001 \003(\0132B.org.drools.core.marshallin" + + "g.NodeMemory.FromNodeMemory.FromContext\032" + + "y\n\013FromContext\0221\n\005tuple\030\001 \001(\0132\".org.droo" + + "ls.core.marshalling.Tuple\0227\n\006handle\030\002 \003(" + + "\0132\'.org.drools.core.marshalling.FactHand" + + "le\032\254\002\n\026QueryElementNodeMemory\022\\\n\007context" + + "\030\001 \003(\0132K.org.drools.core.marshalling.Nod" + + "eMemory.QueryElementNodeMemory.QueryCont" + + "ext\032\263\001\n\014QueryContext\0221\n\005tuple\030\001 \001(\0132\".or", + "g.drools.core.marshalling.Tuple\0227\n\006handl" + + "e\030\002 \001(\0132\'.org.drools.core.marshalling.Fa" + + "ctHandle\0227\n\006result\030\003 \003(\0132\'.org.drools.co" + + "re.marshalling.FactHandle\"@\n\010NodeType\022\016\n" + + "\nACCUMULATE\020\000\022\007\n\003RIA\020\001\022\010\n\004FROM\020\002\022\021\n\rQUER" + + "Y_ELEMENT\020\003\"\342\001\n\nEntryPoint\022\026\n\016entry_poin" + + "t_id\030\001 \001(\t\0227\n\006handle\030\002 \003(\0132\'.org.drools." + + "core.marshalling.FactHandle\022@\n\003tms\030\003 \001(\013" + + "23.org.drools.core.marshalling.TruthMain" + + "tenanceSystem\022A\n\003otc\030\004 \003(\01324.org.drools.", + "core.marshalling.ObjectTypeConfiguration" + + "\"\322\002\n\nFactHandle\022@\n\004type\030\001 \001(\01622.org.droo" + + "ls.core.marshalling.FactHandle.HandleTyp" + + "e\022\n\n\002id\030\002 \001(\005\022\017\n\007recency\030\003 \001(\003\022\021\n\ttimest" + + "amp\030\004 \001(\003\022\020\n\010duration\030\005 \001(\003\022\022\n\nis_expire" + + "d\030\006 \001(\010\022\031\n\021activations_count\030\007 \001(\003\022\026\n\016st" + + "rategy_index\030\010 \001(\005\022\016\n\006object\030\t \001(\014\022\023\n\013en" + + "try_point\030\n \001(\t\022\024\n\014is_justified\030\013 \001(\010\">\n" + + "\nHandleType\022\020\n\014INITIAL_FACT\020\001\022\010\n\004FACT\020\002\022" + + "\t\n\005QUERY\020\003\022\t\n\005EVENT\020\004\"\354\001\n\nActivation\0221\n\005", + "tuple\030\002 \001(\0132\".org.drools.core.marshallin" + + "g.Tuple\022\020\n\010salience\030\003 \001(\005\022\024\n\014package_nam" + + "e\030\004 \001(\t\022\021\n\trule_name\030\005 \001(\t\022\030\n\020activation" + + "_group\030\007 \001(\t\022\024\n\014is_activated\030\010 \001(\010\022\021\n\tha" + + "ndle_id\030\t \001(\005\022\032\n\022logical_dependency\030\n \003(" + + "\005\022\021\n\tevaluated\030\013 \001(\010\"\032\n\005Tuple\022\021\n\thandle_" + + "id\030\001 \003(\005\"\227\001\n\026TruthMaintenanceSystem\0225\n\003k" + + "ey\030\001 \003(\0132(.org.drools.core.marshalling.E" + + "qualityKey\022F\n\026OBSOLETE_justification\030\002 \003" + + "(\0132&.org.drools.core.marshalling.BeliefS", + "et\"<\n\027ObjectTypeConfiguration\022\014\n\004type\030\001 " + + "\001(\t\022\023\n\013tms_enabled\030\002 \001(\010\"\201\001\n\013EqualityKey" + + "\022\016\n\006status\030\001 \001(\005\022\021\n\thandle_id\030\002 \001(\005\022\024\n\014o" + + "ther_handle\030\003 \003(\005\0229\n\tbeliefSet\030\004 \001(\0132&.o" + + "rg.drools.core.marshalling.BeliefSet\"i\n\t" + + "BeliefSet\022\021\n\thandle_id\030\001 \001(\005\022I\n\021logicalD" + + "ependency\030\002 \003(\0132..org.drools.core.marsha" + + "lling.LogicalDependency\"\254\001\n\021LogicalDepen" + + "dency\022;\n\nactivation\030\002 \001(\0132\'.org.drools.c" + + "ore.marshalling.Activation\022\035\n\025object_str", + "ategy_index\030\010 \001(\005\022\016\n\006object\030\t \001(\014\022\034\n\024val" + + "ue_strategy_index\030\n \001(\005\022\r\n\005value\030\013 \001(\014\"\377" + + "\013\n\013ActionQueue\022?\n\006action\030\001 \003(\0132/.org.dro" + + "ols.core.marshalling.ActionQueue.Action\032" + + "\264\005\n\006Action\022A\n\004type\030\001 \001(\01623.org.drools.co" + + "re.marshalling.ActionQueue.ActionType\022P\n" + + "\017behavior_expire\030\002 \001(\01327.org.drools.core" + + ".marshalling.ActionQueue.BehaviorExpire\022" + + "X\n\023deactivate_callback\030\003 \001(\0132;.org.drool" + + "s.core.marshalling.ActionQueue.Deactivat", + "eCallback\022P\n\017logical_retract\030\004 \001(\01327.org" + + ".drools.core.marshalling.ActionQueue.Log" + + "icalRetract\022E\n\tpropagate\030\005 \001(\01322.org.dro" + + "ols.core.marshalling.ActionQueue.Propaga" + + "te\022?\n\006assert\030\006 \001(\0132/.org.drools.core.mar" + + "shalling.ActionQueue.Assert\022?\n\006expire\030\007 " + + "\001(\0132/.org.drools.core.marshalling.Action" + + "Queue.Expire\022?\n\006signal\030\010 \001(\0132/.org.drool" + + "s.core.marshalling.ActionQueue.Signal\022_\n" + + "\027signal_process_instance\030\t \001(\0132>.org.dro", + "ols.core.marshalling.ActionQueue.SignalP" + + "rocessInstance\032!\n\016BehaviorExpire\022\017\n\007node" + + "_id\030\001 \001(\005\032,\n\022DeactivateCallback\022\026\n\016rulef" + + "low_group\030\001 \001(\t\032\207\001\n\016LogicalRetract\022\021\n\tha" + + "ndle_id\030\001 \001(\005\022;\n\nactivation\030\002 \001(\0132\'.org." + + "drools.core.marshalling.Activation\022\025\n\rfu" + + "lly_retract\030\003 \001(\010\022\016\n\006update\030\004 \001(\010\032\034\n\tPro" + + "pagate\022\017\n\007node_id\030\001 \001(\005\032\264\001\n\006Assert\022\021\n\tha" + + "ndle_id\030\001 \001(\005\022\026\n\016remove_logical\030\002 \001(\010\022\031\n" + + "\021update_equals_map\030\003 \001(\010\022\027\n\017origin_pkg_n", + "ame\030\004 \001(\t\022\030\n\020origin_rule_name\030\005 \001(\t\0221\n\005t" + + "uple\030\006 \001(\0132\".org.drools.core.marshalling" + + ".Tuple\032,\n\006Expire\022\021\n\thandle_id\030\001 \001(\005\022\017\n\007n" + + "ode_id\030\002 \001(\005\032%\n\006Signal\022\014\n\004type\030\001 \001(\t\022\r\n\005" + + "event\030\002 \001(\014\032Q\n\025SignalProcessInstance\022\014\n\004" + + "type\030\001 \001(\t\022\r\n\005event\030\002 \001(\014\022\033\n\023process_ins" + + "tance_id\030\003 \001(\003\"\237\001\n\nActionType\022\023\n\017BEHAVIO" + + "R_EXPIRE\020\001\022\027\n\023DEACTIVATE_CALLBACK\020\002\022\023\n\017L" + + "OGICAL_RETRACT\020\003\022\r\n\tPROPAGATE\020\004\022\n\n\006ASSER" + + "T\020\005\022\n\n\006EXPIRE\020\006\022\n\n\006SIGNAL\020\007\022\033\n\027SIGNAL_PR", + "OCESS_INSTANCE\020\010\"\337\007\n\006Timers\0228\n\005timer\030\001 \003" + + "(\0132).org.drools.core.marshalling.Timers." + + "Timer\032\342\002\n\005Timer\022;\n\004type\030\001 \001(\0162-.org.droo" + + "ls.core.marshalling.Timers.TimerType\022?\n\006" + + "expire\030\002 \001(\0132/.org.drools.core.marshalli" + + "ng.Timers.ExpireTimer\022G\n\nactivation\030\003 \001(" + + "\01323.org.drools.core.marshalling.Timers.A" + + "ctivationTimer\022C\n\010behavior\030\004 \001(\01321.org.d" + + "rools.core.marshalling.Timers.BehaviorTi" + + "mer\022F\n\ntimer_node\030\005 \001(\01322.org.drools.cor", + "e.marshalling.Timers.TimerNodeTimer*\005\010d\020" + + "\310\001\032i\n\013ExpireTimer\022\021\n\thandle_id\030\001 \001(\005\022\026\n\016" + + "entry_point_id\030\002 \001(\t\022\022\n\nclass_name\030\003 \001(\t" + + "\022\033\n\023next_fire_timestamp\030\004 \001(\003\032\205\001\n\017Activa" + + "tionTimer\022;\n\nactivation\030\001 \001(\0132\'.org.droo" + + "ls.core.marshalling.Activation\0225\n\007trigge" + + "r\030\002 \001(\0132$.org.drools.core.marshalling.Tr" + + "igger\032a\n\rBehaviorTimer\022\032\n\022DEPRECATED_nod" + + "e_id\030\001 \001(\005\022!\n\031DEPRECATED_behavior_index\030" + + "\002 \001(\005\022\021\n\thandle_id\030\003 \001(\005\032\213\001\n\016TimerNodeTi", + "mer\022\017\n\007node_id\030\001 \001(\005\0221\n\005tuple\030\002 \001(\0132\".or" + + "g.drools.core.marshalling.Tuple\0225\n\007trigg" + + "er\030\003 \001(\0132$.org.drools.core.marshalling.T" + + "rigger\"R\n\tTimerType\022\n\n\006EXPIRE\020\001\022\016\n\nACTIV" + + "ATION\020\002\022\014\n\010BEHAVIOR\020\003\022\013\n\007PROCESS\020\004\022\016\n\nTI" + + "MER_NODE\020\005\"\316\007\n\007Trigger\022>\n\004type\030\001 \001(\01620.o" + + "rg.drools.core.marshalling.Trigger.Trigg" + + "erType\022>\n\004cron\030\002 \001(\01320.org.drools.core.m" + + "arshalling.Trigger.CronTrigger\022F\n\010interv" + + "al\030\003 \001(\01324.org.drools.core.marshalling.T", + "rigger.IntervalTrigger\022D\n\003pit\030\004 \001(\01327.or" + + "g.drools.core.marshalling.Trigger.PointI" + + "nTimeTrigger\022N\n\004cmdt\030\005 \001(\0132@.org.drools." + + "core.marshalling.Trigger.CompositeMaxDur" + + "ationTrigger\032\247\001\n\013CronTrigger\022\022\n\nstart_ti" + + "me\030\001 \001(\003\022\020\n\010end_time\030\002 \001(\003\022\024\n\014repeat_lim" + + "it\030\003 \001(\005\022\024\n\014repeat_count\030\004 \001(\005\022\027\n\017cron_e" + + "xpression\030\005 \001(\t\022\026\n\016next_fire_time\030\006 \001(\003\022" + + "\025\n\rcalendar_name\030\007 \003(\t\032\242\001\n\017IntervalTrigg" + + "er\022\022\n\nstart_time\030\001 \001(\003\022\020\n\010end_time\030\002 \001(\003", + "\022\024\n\014repeat_limit\030\003 \001(\005\022\024\n\014repeat_count\030\004" + + " \001(\005\022\026\n\016next_fire_time\030\006 \001(\003\022\016\n\006period\030\007" + + " \001(\003\022\025\n\rcalendar_name\030\010 \003(\t\032,\n\022PointInTi" + + "meTrigger\022\026\n\016next_fire_time\030\001 \001(\003\032\221\001\n\033Co" + + "mpositeMaxDurationTrigger\022\034\n\024maxDuration" + + "Timestamp\030\001 \001(\003\022\030\n\020timerCurrentDate\030\002 \001(" + + "\003\022:\n\014timerTrigger\030\003 \001(\0132$.org.drools.cor" + + "e.marshalling.Trigger\"T\n\013TriggerType\022\010\n\004" + + "CRON\020\000\022\014\n\010INTERVAL\020\001\022\021\n\rPOINT_IN_TIME\020\002\022" + + "\032\n\026COMPOSITE_MAX_DURATION\020\003B4\n org.drool", + "s.core.marshalling.implB\020ProtobufMessage" + + "s" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() { @@ -46993,7 +47874,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_org_drools_core_marshalling_Trigger_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_org_drools_core_marshalling_Trigger_descriptor, - new java.lang.String[] { "Type", "Cron", "Interval", "Pit", }); + new java.lang.String[] { "Type", "Cron", "Interval", "Pit", "Cmdt", }); internal_static_org_drools_core_marshalling_Trigger_CronTrigger_descriptor = internal_static_org_drools_core_marshalling_Trigger_descriptor.getNestedTypes().get(0); internal_static_org_drools_core_marshalling_Trigger_CronTrigger_fieldAccessorTable = new @@ -47012,6 +47893,12 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_org_drools_core_marshalling_Trigger_PointInTimeTrigger_descriptor, new java.lang.String[] { "NextFireTime", }); + internal_static_org_drools_core_marshalling_Trigger_CompositeMaxDurationTrigger_descriptor = + internal_static_org_drools_core_marshalling_Trigger_descriptor.getNestedTypes().get(3); + internal_static_org_drools_core_marshalling_Trigger_CompositeMaxDurationTrigger_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_org_drools_core_marshalling_Trigger_CompositeMaxDurationTrigger_descriptor, + new java.lang.String[] { "MaxDurationTimestamp", "TimerCurrentDate", "TimerTrigger", }); return null; } }; diff --git a/drools-core/src/main/java/org/drools/core/marshalling/impl/ProtobufOutputMarshaller.java b/drools-core/src/main/java/org/drools/core/marshalling/impl/ProtobufOutputMarshaller.java index 88c4b570e77..4f7363376f4 100644 --- a/drools-core/src/main/java/org/drools/core/marshalling/impl/ProtobufOutputMarshaller.java +++ b/drools-core/src/main/java/org/drools/core/marshalling/impl/ProtobufOutputMarshaller.java @@ -83,6 +83,7 @@ import org.drools.core.time.JobContext; import org.drools.core.time.SelfRemovalJobContext; import org.drools.core.time.Trigger; +import org.drools.core.time.impl.CompositeMaxDurationTrigger; import org.drools.core.time.impl.CronTrigger; import org.drools.core.time.impl.IntervalTrigger; import org.drools.core.time.impl.PointInTimeTrigger; @@ -937,6 +938,22 @@ public static ProtobufMessages.Trigger writeTrigger(Trigger trigger, .setNextFireTime( pinTrigger.hasNextFireTime().getTime() ) .build() ) .build(); + } else if ( trigger instanceof CompositeMaxDurationTrigger ) { + CompositeMaxDurationTrigger cmdTrigger = (CompositeMaxDurationTrigger) trigger; + ProtobufMessages.Trigger.CompositeMaxDurationTrigger.Builder _cmdt = ProtobufMessages.Trigger.CompositeMaxDurationTrigger.newBuilder(); + if ( cmdTrigger.getMaxDurationTimestamp() != null ) { + _cmdt.setMaxDurationTimestamp( cmdTrigger.getMaxDurationTimestamp().getTime() ); + } + if ( cmdTrigger.getTimerCurrentDate() != null ) { + _cmdt.setTimerCurrentDate( cmdTrigger.getTimerCurrentDate().getTime() ); + } + if ( cmdTrigger.getTimerTrigger() != null ) { + _cmdt.setTimerTrigger( writeTrigger(cmdTrigger.getTimerTrigger(), outCtx) ); + } + return ProtobufMessages.Trigger.newBuilder() + .setType( ProtobufMessages.Trigger.TriggerType.COMPOSITE_MAX_DURATION ) + .setCmdt( _cmdt.build() ) + .build(); } throw new RuntimeException( "Unable to serialize Trigger for type: " + trigger.getClass() ); } diff --git a/drools-core/src/main/java/org/drools/core/time/impl/CompositeMaxDurationTrigger.java b/drools-core/src/main/java/org/drools/core/time/impl/CompositeMaxDurationTrigger.java index afa1f0c90fc..b4bc030b097 100644 --- a/drools-core/src/main/java/org/drools/core/time/impl/CompositeMaxDurationTrigger.java +++ b/drools-core/src/main/java/org/drools/core/time/impl/CompositeMaxDurationTrigger.java @@ -16,18 +16,24 @@ package org.drools.core.time.impl; -import java.util.Date; - import org.drools.core.time.Trigger; import org.kie.api.runtime.Calendars; +import java.io.Externalizable; +import java.io.IOException; +import java.io.ObjectInput; +import java.io.ObjectOutput; +import java.util.Date; + public class CompositeMaxDurationTrigger implements - Trigger { + Trigger, Externalizable { private Trigger timerTrigger; private Date maxDurationTimestamp; private Date timerCurrentDate; + public CompositeMaxDurationTrigger() { } + public CompositeMaxDurationTrigger(Date maxDurationTimestamp, // this max duration of when rules are allowed to fire (cep rules like 'not') Trigger timerTrigger, // trigger of when a rule should try to fire, should not execute before maxDurationTimestamp String[] calendarNames, @@ -64,4 +70,41 @@ public Date nextFireTime() { } } + public Date getTimerCurrentDate() { + return timerCurrentDate; + } + + public void setTimerCurrentDate(Date timerCurrentDate) { + this.timerCurrentDate = timerCurrentDate; + } + + public Trigger getTimerTrigger() { + return timerTrigger; + } + + public void setTimerTrigger(Trigger timerTrigger) { + this.timerTrigger = timerTrigger; + } + + public Date getMaxDurationTimestamp() { + return maxDurationTimestamp; + } + + public void setMaxDurationTimestamp(Date maxDurationTimestamp) { + this.maxDurationTimestamp = maxDurationTimestamp; + } + + @Override + public void writeExternal(ObjectOutput out) throws IOException { + out.writeObject( maxDurationTimestamp ); + out.writeObject( timerCurrentDate ); + out.writeObject( timerTrigger ); + } + + @Override + public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { + maxDurationTimestamp = ( Date ) in.readObject(); + timerCurrentDate = ( Date ) in.readObject(); + timerTrigger = ( Trigger )in.readObject(); + } } diff --git a/drools-core/src/main/resources/org/drools/core/marshalling/droolsmessages.proto b/drools-core/src/main/resources/org/drools/core/marshalling/droolsmessages.proto index 7effe06aa65..21de89d6183 100644 --- a/drools-core/src/main/resources/org/drools/core/marshalling/droolsmessages.proto +++ b/drools-core/src/main/resources/org/drools/core/marshalling/droolsmessages.proto @@ -398,11 +398,13 @@ message Trigger { optional CronTrigger cron = 2; optional IntervalTrigger interval = 3; optional PointInTimeTrigger pit = 4; + optional CompositeMaxDurationTrigger cmdt = 5; enum TriggerType { CRON = 0; INTERVAL = 1; POINT_IN_TIME = 2; + COMPOSITE_MAX_DURATION = 3; } message CronTrigger { @@ -426,5 +428,10 @@ message Trigger { message PointInTimeTrigger { optional int64 next_fire_time = 1; } + message CompositeMaxDurationTrigger { + optional int64 maxDurationTimestamp = 1; + optional int64 timerCurrentDate = 2; + optional Trigger timerTrigger = 3; + } }