use of org.drools.compiler.builder.impl.KnowledgeBuilderConfigurationImpl in project drools by kiegroup.
the class PackageBuilderConfigurationTest method testProgrammaticProperties.
@Test
public void testProgrammaticProperties() {
KnowledgeBuilderConfigurationImpl cfg = new KnowledgeBuilderConfigurationImpl();
assertTrue(cfg.getDefaultDialect().equals("java"));
Properties properties = new Properties();
properties.setProperty("drools.dialect.default", "mvel");
KnowledgeBuilderConfigurationImpl cfg1 = new KnowledgeBuilderConfigurationImpl(properties);
assertEquals("mvel", cfg1.getDefaultDialect());
final KnowledgeBuilderConfigurationImpl cfg2 = new KnowledgeBuilderConfigurationImpl(properties);
assertEquals(cfg1.getDefaultDialect().getClass(), cfg2.getDefaultDialect().getClass());
}
use of org.drools.compiler.builder.impl.KnowledgeBuilderConfigurationImpl in project drools by kiegroup.
the class KnowledgeBuilderConfigurationImplTest method testMinusOneParallelRulesBuildThresholdConfiguration.
@Test
public void testMinusOneParallelRulesBuildThresholdConfiguration() {
try {
System.getProperties().put(ParallelRulesBuildThresholdOption.PROPERTY_NAME, "-1");
KnowledgeBuilderConfigurationImpl kbConfigImpl = new KnowledgeBuilderConfigurationImpl();
assertThat(kbConfigImpl.getParallelRulesBuildThreshold(), is(-1));
} finally {
System.getProperties().remove(ParallelRulesBuildThresholdOption.PROPERTY_NAME);
}
}
use of org.drools.compiler.builder.impl.KnowledgeBuilderConfigurationImpl in project drools by kiegroup.
the class ImpactAnalysisKieProject method createKnowledgeBuilder.
@Override
protected KnowledgeBuilder createKnowledgeBuilder(KieBaseModelImpl kBaseModel, InternalKieModule kModule) {
if (getInternalKieModule().getKieModuleModel() != kBaseModel.getKModule()) {
// if the KieBase belongs to a different kmodule it is not necessary to build it
return null;
}
KnowledgeBuilderConfigurationImpl builderConfiguration = getBuilderConfiguration(kBaseModel, kModule);
modelBuilder = new ImpactModelBuilderImpl(builderConfiguration, kModule.getReleaseId());
return modelBuilder;
}
use of org.drools.compiler.builder.impl.KnowledgeBuilderConfigurationImpl in project drools by kiegroup.
the class CanonicalKieModule method afterKieBaseCreationUpdate.
@Override
public void afterKieBaseCreationUpdate(String name, InternalKnowledgeBase kBase) {
KnowledgeBuilder knowledgeBuilderForKieBase = getKnowledgeBuilderForKieBase(name);
final List<KieBaseUpdaterOptions.OptionEntry> options;
if (knowledgeBuilderForKieBase instanceof KnowledgeBuilderImpl) {
// When using executable module in tests
KnowledgeBuilderImpl knowledgeBuilderForImpl = (KnowledgeBuilderImpl) knowledgeBuilderForKieBase;
KnowledgeBuilderConfigurationImpl builderConfiguration = knowledgeBuilderForImpl.getBuilderConfiguration();
options = singletonList(new KieBaseUpdaterOptions.OptionEntry(AlphaNetworkCompilerOption.class, builderConfiguration.getAlphaNetworkCompilerOption()));
} else if (resourceFileExists(getANCFile(internalKieModule.getReleaseId()))) {
// executable model with ANC
options = singletonList(new KieBaseUpdaterOptions.OptionEntry(AlphaNetworkCompilerOption.class, AlphaNetworkCompilerOption.LOAD));
} else {
// Default case when loaded from executable model kjar
options = emptyList();
}
KieContainerImpl.CompositeRunnable compositeUpdater = new KieContainerImpl.CompositeRunnable();
KieBaseUpdaters updaters = KieService.load(KieBaseUpdaters.class);
updaters.getChildren().stream().map(kbu -> kbu.create(new KieBaseUpdatersContext(new KieBaseUpdaterOptions(options), kBase.getRete(), kBase.getRootClassLoader()))).forEach(compositeUpdater::add);
compositeUpdater.run();
}
use of org.drools.compiler.builder.impl.KnowledgeBuilderConfigurationImpl in project drools by kiegroup.
the class CanonicalModelKieProject method createKnowledgeBuilder.
@Override
protected KnowledgeBuilder createKnowledgeBuilder(KieBaseModelImpl kBaseModel, InternalKieModule kModule) {
if (getInternalKieModule().getKieModuleModel() != kBaseModel.getKModule()) {
// if the KieBase belongs to a different kmodule it is not necessary to build it
return null;
}
KnowledgeBuilderConfigurationImpl builderConfiguration = getBuilderConfiguration(kBaseModel, kModule);
ModelBuilderImpl<PackageSources> modelBuilder = new ModelBuilderImpl<>(PackageSources::dumpSources, builderConfiguration, kModule.getReleaseId(), false);
modelBuilders.put(kBaseModel.getName(), modelBuilder);
return modelBuilder;
}
Aggregations