Search in sources :

Example 1 with RuleTemplateModelImpl

use of org.drools.compiler.kproject.models.RuleTemplateModelImpl in project drools by kiegroup.

the class RuleTemplateConverter method marshal.

public void marshal(Object value, HierarchicalStreamWriter writer, MarshallingContext context) {
    RuleTemplateModelImpl rtm = (RuleTemplateModelImpl) value;
    writer.addAttribute("dtable", rtm.getDtable());
    writer.addAttribute("template", rtm.getTemplate());
    writer.addAttribute("row", "" + rtm.getRow());
    writer.addAttribute("col", "" + rtm.getCol());
}
Also used : RuleTemplateModelImpl(org.drools.compiler.kproject.models.RuleTemplateModelImpl)

Example 2 with RuleTemplateModelImpl

use of org.drools.compiler.kproject.models.RuleTemplateModelImpl in project drools by kiegroup.

the class KBaseConverter method unmarshal.

public Object unmarshal(HierarchicalStreamReader reader, final UnmarshallingContext context) {
    final KieBaseModelImpl kBase = new KieBaseModelImpl();
    String kbaseName = reader.getAttribute("name");
    kBase.setNameForUnmarshalling(kbaseName != null ? kbaseName : StringUtils.uuid());
    kBase.setDefault("true".equals(reader.getAttribute("default")));
    String eventMode = reader.getAttribute("eventProcessingMode");
    if (eventMode != null) {
        kBase.setEventProcessingMode(EventProcessingOption.determineEventProcessingMode(eventMode));
    }
    String equalsBehavior = reader.getAttribute("equalsBehavior");
    if (equalsBehavior != null) {
        kBase.setEqualsBehavior(EqualityBehaviorOption.determineEqualityBehavior(equalsBehavior));
    }
    String mutability = reader.getAttribute("mutability");
    if (mutability != null) {
        kBase.setMutability(KieBaseMutabilityOption.determineMutability(mutability));
    }
    String declarativeAgenda = reader.getAttribute("declarativeAgenda");
    if (declarativeAgenda != null) {
        kBase.setDeclarativeAgenda(DeclarativeAgendaOption.determineDeclarativeAgenda(declarativeAgenda));
    }
    String sequential = reader.getAttribute("sequential");
    if (sequential != null) {
        kBase.setSequential(SequentialOption.determineSequential(sequential));
    }
    String sessionsPool = reader.getAttribute("sessionsPool");
    if (sessionsPool != null) {
        kBase.setSessionsPool(SessionsPoolOption.get(Integer.parseInt(sessionsPool)));
    }
    String betaRangeIndex = reader.getAttribute("betaRangeIndex");
    if (betaRangeIndex != null) {
        kBase.setBetaRangeIndexOption(BetaRangeIndexOption.determineBetaRangeIndex(betaRangeIndex));
    }
    String scope = reader.getAttribute("scope");
    if (scope != null) {
        kBase.setScope(scope.trim());
    }
    String pkgs = reader.getAttribute("packages");
    if (pkgs != null) {
        for (String pkg : pkgs.split(",")) {
            kBase.addPackage(pkg.trim());
        }
    }
    String includes = reader.getAttribute("includes");
    if (includes != null) {
        for (String include : includes.split(",")) {
            kBase.addInclude(include.trim());
        }
    }
    readNodes(reader, new AbstractXStreamConverter.NodeReader() {

        public void onNode(HierarchicalStreamReader reader, String name, String value) {
            if ("ksession".equals(name)) {
                KieSessionModelImpl kSession = readObject(reader, context, KieSessionModelImpl.class);
                kBase.getRawKieSessionModels().put(kSession.getName(), kSession);
                kSession.setKBase(kBase);
            } else if ("ruleTemplate".equals(name)) {
                RuleTemplateModelImpl ruleTemplate = readObject(reader, context, RuleTemplateModelImpl.class);
                kBase.getRawRuleTemplates().add(ruleTemplate);
                ruleTemplate.setKBase(kBase);
            }
        // @TODO we don't use support nested includes
        // if ( "includes".equals( name ) ) {
        // for ( String include : readList( reader ) ) {
        // kBase.addInclude( include );
        // }
        // }
        }
    });
    return kBase;
}
Also used : KieSessionModelImpl(org.drools.compiler.kproject.models.KieSessionModelImpl) HierarchicalStreamReader(com.thoughtworks.xstream.io.HierarchicalStreamReader) RuleTemplateModelImpl(org.drools.compiler.kproject.models.RuleTemplateModelImpl) KieBaseModelImpl(org.drools.compiler.kproject.models.KieBaseModelImpl)

Example 3 with RuleTemplateModelImpl

use of org.drools.compiler.kproject.models.RuleTemplateModelImpl in project drools by kiegroup.

the class RuleTemplateConverter method unmarshal.

public Object unmarshal(HierarchicalStreamReader reader, final UnmarshallingContext context) {
    RuleTemplateModelImpl rtm = new RuleTemplateModelImpl();
    rtm.setDtable(reader.getAttribute("dtable"));
    rtm.setTemplate(reader.getAttribute("template"));
    rtm.setRow(Integer.parseInt(reader.getAttribute("row")));
    rtm.setCol(Integer.parseInt(reader.getAttribute("col")));
    return rtm;
}
Also used : RuleTemplateModelImpl(org.drools.compiler.kproject.models.RuleTemplateModelImpl)

Aggregations

RuleTemplateModelImpl (org.drools.compiler.kproject.models.RuleTemplateModelImpl)3 HierarchicalStreamReader (com.thoughtworks.xstream.io.HierarchicalStreamReader)1 KieBaseModelImpl (org.drools.compiler.kproject.models.KieBaseModelImpl)1 KieSessionModelImpl (org.drools.compiler.kproject.models.KieSessionModelImpl)1