use of org.drools.core.marshalling.MarshallerWriteContext in project drools by kiegroup.
the class WorkItemInfo method transform.
// @PreUpdate
@Override
public void transform() {
this.state = workItem.getState();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
MarshallerWriteContext context = new ProtobufMarshallerWriteContext(baos, null, null, null, null, this.env);
ProtobufOutputMarshaller.writeWorkItem(context, workItem);
context.close();
this.workItemByteArray = baos.toByteArray();
} catch (IOException e) {
throw new IllegalArgumentException("IOException while storing workItem " + workItem.getId() + ": " + e.getMessage());
}
}
use of org.drools.core.marshalling.MarshallerWriteContext in project drools by kiegroup.
the class PersisterHelper method writeStrategiesIndex.
private static void writeStrategiesIndex(MarshallerWriteContext context, ProtobufMessages.Header.Builder _header) throws IOException {
for (Entry<ObjectMarshallingStrategy, Integer> entry : context.getUsedStrategies().entrySet()) {
Builder _strat = ProtobufMessages.Header.StrategyIndex.newBuilder().setId(entry.getValue().intValue()).setName(entry.getKey().getName());
Context ctx = context.getStrategyContext().get(entry.getKey());
if (ctx != null) {
Output os = ByteString.newOutput();
ctx.write(new DroolsObjectOutputStream(os));
_strat.setData(os.toByteString());
os.close();
}
_header.addStrategy(_strat.build());
}
}
Aggregations