use of org.drools.core.spi.Tuple in project drools by kiegroup.
the class TupleIndexHashTable method toArray.
public Tuple[] toArray() {
Tuple[] result = new Tuple[this.factSize];
int index = 0;
for (Entry aTable : this.table) {
TupleList bucket = (TupleList) aTable;
while (bucket != null) {
Tuple entry = bucket.getFirst();
while (entry != null) {
result[index++] = entry;
entry = entry.getNext();
}
bucket = bucket.getNext();
}
}
return result;
}
use of org.drools.core.spi.Tuple in project drools by kiegroup.
the class TupleList method toString.
public String toString() {
StringBuilder builder = new StringBuilder();
Iterator it = iterator();
for (Tuple tuple = (Tuple) it.next(); tuple != null; tuple = (Tuple) it.next()) {
builder.append(tuple).append("\n");
}
return builder.toString();
}
use of org.drools.core.spi.Tuple in project drools by kiegroup.
the class TupleList method removeFirst.
public Tuple removeFirst() {
Tuple tuple = this.first;
if (this.last == tuple) {
this.last = null;
this.first = null;
} else {
this.first = tuple.getNext();
if (this.first != null) {
this.first.setPrevious(null);
}
}
tuple.clear();
this.size--;
return tuple;
}
use of org.drools.core.spi.Tuple in project drools by kiegroup.
the class PersisterHelper method createTupleArray.
public static int[] createTupleArray(final Tuple leftTuple) {
if (leftTuple != null) {
int[] tuple = new int[leftTuple.size()];
// tuple iterations happens backwards
int i = tuple.length;
for (Tuple entry = leftTuple; entry != null && i > 0; entry = entry.getParent()) {
if (entry.getFactHandle() != null) {
// can be null for eval, not and exists that have no right input
// have to decrement i before assignment
tuple[--i] = entry.getFactHandle().getId();
}
}
return tuple;
} else {
return new int[0];
}
}
use of org.drools.core.spi.Tuple in project drools by kiegroup.
the class StatefulKnowledgeSessionImpl method getActivationParameters.
public Map getActivationParameters(Activation activation) {
if (activation instanceof RuleAgendaItem) {
RuleAgendaItem ruleAgendaItem = (RuleAgendaItem) activation;
TupleList tupleList = ruleAgendaItem.getRuleExecutor().getLeftTupleList();
Map result = new TreeMap();
int i = 0;
for (Tuple tuple = tupleList.getFirst(); tuple != null; tuple = tuple.getNext()) {
Map params = getActivationParameters(tuple);
result.put("Parameters set [" + i++ + "]", (Map.Entry[]) params.entrySet().toArray(new Map.Entry[params.size()]));
}
return result;
} else {
return getActivationParameters(activation.getTuple());
}
}
Aggregations