public PMML4Compiler() { super(); this.results = new ArrayList<KnowledgeBuilderResult>(); helper = new PMML4Helper(); helper.setPack("org.kie.pmml.pmml_4_2.test"); SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); try { schema = sf.newSchema(PMML4Compiler.class.getClassLoader().getResource(SCHEMA_PATH)); } catch (SAXException e) { e.printStackTrace(); } }
public String getDRL() { if (pmmlDocument != null) { PMML4Unit pmmlUnit = new PMML4UnitImpl(pmmlDocument); compiler.getHelper().setPack(pmmlUnit.getRootPackage()); } String drl = compiler.generateTheory(pmmlDocument); if (!compiler.getResults().isEmpty()) { for (KnowledgeBuilderResult res : compiler.getResults()) { logger.error(res.getMessage()); } compiler.clearResults(); } return drl; }
PMML4Model rootModel = unit.getRootModel(); if (rootModel != null) { helper.setPack(rootModel.getModelPackageName()); KieBaseModel kbm = module.newKieBaseModel(rootModel.getModelId()); kbm.addPackage(helper.getPack())
compiler.getHelper().setPack( "org.kie.pmml.pmml_4_2.test" );
protected PMMLResource buildResourceFromSegment(PMML pmml_origin, MiningSegment segment, ClassLoader classLoader, KieModuleModel module) { PMML pmml = new PMML(); DataDictionary dd = pmml_origin.getDataDictionary(); pmml.setDataDictionary(dd); pmml.setHeader(pmml_origin.getHeader()); pmml.getAssociationModelsAndBaselineModelsAndClusteringModels().add(segment.getModel().getRawModel()); addMissingFieldDefinition(pmml, segment.getOwner(), segment); helper.setPack(segment.getModel().getModelPackageName());//PMML4Helper.pmmlDefaultPackageName()+".mining.segment_"+segment.getSegmentId()); StringBuilder rules = new StringBuilder(this.compile(pmml, classLoader)); String extBeanMiningRules = segment.getModel().getExternalBeansMiningRules(); if (extBeanMiningRules != null) { rules.append(extBeanMiningRules); } KieBaseModel kbModel = module.newKieBaseModel(segment.getOwner().getOwner().getModelId() + "_" + segment.getOwner().getSegmentationId() + "_SEGMENT_" + segment.getSegmentId()); kbModel.addPackage(helper.getPack()) .setDefault(false) .setEventProcessingMode(EventProcessingOption.CLOUD); KieSessionModel ksm = kbModel.newKieSessionModel("SEGMENT_" + segment.getSegmentId()); ksm.setDefault(true); PMMLResource resource = new PMMLResource(helper.getPack()); resource.setKieBaseModel(kbModel); resource.addRules(segment.getModel().getModelId(), rules.toString()); return resource; }