[jboss-jira] [JBoss JIRA] (DROOLS-2837) Avoid switching by putting the leftInputAdapterNode in an Hashmap
Luca Molteni (JIRA)
issues at jboss.org
Mon Aug 6 11:19:00 EDT 2018
[ https://issues.jboss.org/browse/DROOLS-2837?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Luca Molteni updated DROOLS-2837:
---------------------------------
Description:
In this test:
testAlphaConstraintsSwitchBigDecimal
Let's go from this
{code:java}
private java.util.Map ToNodeId = new java.util.HashMap();
ToNodeId.put(new java.math.BigDecimal("0"), 4);
ToNodeId.put(new java.math.BigDecimal("2"), 10);
ToNodeId.put(new java.math.BigDecimal("1"), 7);
public final void assertObject(org.drools.core.common.InternalFactHandle handle,org.drools.core.spi.PropagationContext context,org.drools.core.common.InternalWorkingMemory wm){
org.drools.modelcompiler.domain.Person fact = (org.drools.modelcompiler.domain.Person)handle.getObject();
Integer NodeId = (Integer)ToNodeId.get(readAccessor.getValue(fact));
if(NodeId != null) {
switch(NodeId.intValue()) {
case 4 :
leftInputAdapterNode5.assertObject(handle,context,wm);
break;
case 7 :
leftInputAdapterNode8.assertObject(handle,context,wm);
break;
case 10 :
leftInputAdapterNode11.assertObject(handle,context,wm);
break;
}
}
}
{code}
to This
{code:java}
private java.util.Map ToNodeId=new java.util.HashMap();
ToNodeId.put(new java.math.BigDecimal("0"),leftInputAdapterNode5);
ToNodeId.put(new java.math.BigDecimal("2"),leftInputAdapterNode11);
ToNodeId.put(new java.math.BigDecimal("1"),leftInputAdapterNode8);
public final void assertObject(org.drools.core.common.InternalFactHandle handle,org.drools.core.spi.PropagationContext context,org.drools.core.common.InternalWorkingMemory wm){
org.drools.modelcompiler.domain.Person fact=(org.drools.modelcompiler.domain.Person)handle.getObject();
org.drools.core.reteoo.LeftInputAdapterNode lia=(Integer)ToNodeId.get(readAccessor.getValue(fact));
if(lia!=null){
lia.assertOject(handle,context,wm);
}
{code}
Therefore avoiding the switch
was:
In this test:
testAlphaConstraintsSwitchBigDecimal
Let's go from this
private java.util.Map ToNodeId = new java.util.HashMap();
ToNodeId.put(new java.math.BigDecimal("0"), 4);
ToNodeId.put(new java.math.BigDecimal("2"), 10);
ToNodeId.put(new java.math.BigDecimal("1"), 7);
public final void assertObject(org.drools.core.common.InternalFactHandle handle,org.drools.core.spi.PropagationContext context,org.drools.core.common.InternalWorkingMemory wm){
org.drools.modelcompiler.domain.Person fact = (org.drools.modelcompiler.domain.Person)handle.getObject();
Integer NodeId = (Integer)ToNodeId.get(readAccessor.getValue(fact));
if(NodeId != null) {
switch(NodeId.intValue()) {
case 4 :
leftInputAdapterNode5.assertObject(handle,context,wm);
break;
case 7 :
leftInputAdapterNode8.assertObject(handle,context,wm);
break;
case 10 :
leftInputAdapterNode11.assertObject(handle,context,wm);
break;
}
}
}
to This
private java.util.Map ToNodeId=new java.util.HashMap();
ToNodeId.put(new java.math.BigDecimal("0"),leftInputAdapterNode5);
ToNodeId.put(new java.math.BigDecimal("2"),leftInputAdapterNode11);
ToNodeId.put(new java.math.BigDecimal("1"),leftInputAdapterNode8);
public final void assertObject(org.drools.core.common.InternalFactHandle handle,org.drools.core.spi.PropagationContext context,org.drools.core.common.InternalWorkingMemory wm){
org.drools.modelcompiler.domain.Person fact=(org.drools.modelcompiler.domain.Person)handle.getObject();
org.drools.core.reteoo.LeftInputAdapterNode lia=(Integer)ToNodeId.get(readAccessor.getValue(fact));
if(lia!=null){
lia.assertOject(handle,context,wm);
}
Therefore avoiding the switch
> Avoid switching by putting the leftInputAdapterNode in an Hashmap
> -----------------------------------------------------------------
>
> Key: DROOLS-2837
> URL: https://issues.jboss.org/browse/DROOLS-2837
> Project: Drools
> Issue Type: Enhancement
> Reporter: Luca Molteni
> Assignee: Luca Molteni
>
> In this test:
> testAlphaConstraintsSwitchBigDecimal
> Let's go from this
> {code:java}
> private java.util.Map ToNodeId = new java.util.HashMap();
> ToNodeId.put(new java.math.BigDecimal("0"), 4);
> ToNodeId.put(new java.math.BigDecimal("2"), 10);
> ToNodeId.put(new java.math.BigDecimal("1"), 7);
> public final void assertObject(org.drools.core.common.InternalFactHandle handle,org.drools.core.spi.PropagationContext context,org.drools.core.common.InternalWorkingMemory wm){
> org.drools.modelcompiler.domain.Person fact = (org.drools.modelcompiler.domain.Person)handle.getObject();
> Integer NodeId = (Integer)ToNodeId.get(readAccessor.getValue(fact));
> if(NodeId != null) {
> switch(NodeId.intValue()) {
> case 4 :
> leftInputAdapterNode5.assertObject(handle,context,wm);
> break;
> case 7 :
> leftInputAdapterNode8.assertObject(handle,context,wm);
> break;
> case 10 :
> leftInputAdapterNode11.assertObject(handle,context,wm);
> break;
> }
> }
> }
> {code}
> to This
> {code:java}
> private java.util.Map ToNodeId=new java.util.HashMap();
> ToNodeId.put(new java.math.BigDecimal("0"),leftInputAdapterNode5);
> ToNodeId.put(new java.math.BigDecimal("2"),leftInputAdapterNode11);
> ToNodeId.put(new java.math.BigDecimal("1"),leftInputAdapterNode8);
> public final void assertObject(org.drools.core.common.InternalFactHandle handle,org.drools.core.spi.PropagationContext context,org.drools.core.common.InternalWorkingMemory wm){
> org.drools.modelcompiler.domain.Person fact=(org.drools.modelcompiler.domain.Person)handle.getObject();
> org.drools.core.reteoo.LeftInputAdapterNode lia=(Integer)ToNodeId.get(readAccessor.getValue(fact));
> if(lia!=null){
> lia.assertOject(handle,context,wm);
> }
> {code}
> Therefore avoiding the switch
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the jboss-jira
mailing list