public ClassLoader determineActualClassLoader() { if (classLoader != null) { return classLoader; } else if (kieContainer != null) { return kieContainer.getClassLoader(); } return getClass().getClassLoader(); }
protected static Object getInstanceFromModel(ObjectModel model, KieContainer kieContainer, Map<String, Object> contaxtParams) { ObjectModelResolver resolver = ObjectModelResolverProvider.get(model.getResolver()); return resolver.getInstance(model, kieContainer.getClassLoader(), contaxtParams); } }
private static RuntimeEnvironmentBuilder setupClasspathKmoduleBuilder( KieContainer kieContainer, String kbaseName, String ksessionName ) { if (StringUtils.isEmpty(kbaseName)) { KieBaseModel defaultKBaseModel = ((KieContainerImpl)kieContainer).getKieProject().getDefaultKieBaseModel(); if (defaultKBaseModel != null) { kbaseName = defaultKBaseModel.getName(); } else { kbaseName = DEFAULT_KBASE_NAME; } } InternalKieModule module = (InternalKieModule) ((KieContainerImpl)kieContainer).getKieModuleForKBase(kbaseName); if (module == null) { throw new IllegalStateException("Cannot find kbase with name " + kbaseName); } KieBase kbase = kieContainer.getKieBase(kbaseName); return getDefault() .knowledgeBase(kbase) .classLoader(kieContainer.getClassLoader()) .registerableItemsFactory(new KModuleRegisterableItemsFactory(kieContainer, ksessionName)); }
@Test public void buildSolverEmptyWithKieContainer() throws IOException, ReflectiveOperationException { ReleaseId releaseId = deployTestdataKjar( "buildSolverWithReleaseId", "org/optaplanner/core/api/solver/kieContainerNamedKsessionKmodule.xml", null); KieContainer kieContainer = kieServices.newKieContainer(releaseId); SolverFactory<?> solverFactory = SolverFactory.createEmptyFromKieContainer(kieContainer); SolverConfig solverConfig = solverFactory.getSolverConfig(); solverConfig.setSolutionClass( kieContainer.getClassLoader().loadClass("testdata.kjar.ClassloadedTestdataSolution")); solverConfig.setEntityClassList(Collections.singletonList( kieContainer.getClassLoader().loadClass("testdata.kjar.ClassloadedTestdataEntity"))); ScoreDirectorFactoryConfig scoreDirectorFactoryConfig = new ScoreDirectorFactoryConfig(); scoreDirectorFactoryConfig.setKsessionName("testdataKsession"); solverConfig.setScoreDirectorFactoryConfig(scoreDirectorFactoryConfig); Solver<?> solver = solverFactory.buildSolver(); assertNotNull(solver); assertNewKieSessionSucceeds(solver); }
classLoaders = new ClassLoader[] {configContext.getClassLoader()}; } else if (configContext.getKieContainer() != null) { classLoaders = new ClassLoader[] {configContext.getKieContainer().getClassLoader()}; ReflectionsKieVfsUrlType.register(configContext.getKieContainer()); } else {
contaxtParams.put("classLoader", kieContainer.getClassLoader()); .classLoader(kieContainer.getClassLoader()) .registerableItemsFactory(new KModuleRegisterableItemsFactory(kieContainer, ksessionName));
KieSession ksession2 = kieContainer2.newKieSession(); Class cls1 = kieContainer.getClassLoader().loadClass( "org.drools.test.Message"); Constructor constructor = cls1.getConstructor(String.class); ksession.insert(constructor.newInstance("Hello World")); assertEquals( 2, ksession.fireAllRules() ); Class cls2 = kieContainer2.getClassLoader().loadClass( "org.drools.test.Message"); Constructor constructor2 = cls2.getConstructor(String.class); ksession2.insert(constructor2.newInstance("Hello World"));
ClassLoader classLoader = kieContainer.getClassLoader(); assertEnumerationSize(1, classLoader.getResources("org/drools/testjava")); // no trailing "/"
final Class<?> messageClass = kieContainer.getClassLoader().loadClass("org.drools.compiler.JavaSourceMessage"); assertNotNull(messageClass); } catch (final ClassNotFoundException e) {
final Class<?> messageClass = kieContainer.getClassLoader().loadClass("org.drools.compiler.JavaSourceMessage"); assertNotNull(messageClass); } catch (final ClassNotFoundException e) {
@Test public void testClassLoaderStore() throws Exception { // DROOLS-1766 String drl = "package org; declare Person name : String end"; KieServices ks = KieServices.Factory.get(); KieFileSystem kfs = ks.newKieFileSystem().write( "src/main/resources/r1.drl", drl ); ks.newKieBuilder( kfs ).buildAll(); KieContainer kcontainer = ks.newKieContainer(ks.getRepository().getDefaultReleaseId()); KieProject kieProject = (( KieContainerImpl ) kcontainer).getKieProject(); ResultsImpl messages = kieProject.verify(); assertSame( kieProject.getClassLoader(), kcontainer.getClassLoader() ); ProjectClassLoader pcl = (( ProjectClassLoader ) kieProject.getClassLoader()); assertNotNull( pcl.getStore().get("org/Person.class") ); }
ksession = kieContainer.newKieSession(); Class<?> clazz = kieContainer.getClassLoader().loadClass("org.drools.compiler.test.PersonObject"); Object person = clazz.newInstance(); person = kieContainer.getClassLoader().loadClass("org.drools.compiler.test.PersonObject").newInstance();
@Override protected void addExtraCustomClasses(Map<String, Class<?>> extraClasses) throws Exception { extraClasses.put(CLAIM_REPORT_CLASS_NAME, Class.forName(CLAIM_REPORT_CLASS_NAME, true, kieContainer.getClassLoader())); extraClasses.put(PROPERTY_DAMAGE_REPORT_CLASS_NAME, Class.forName(PROPERTY_DAMAGE_REPORT_CLASS_NAME, true, kieContainer.getClassLoader())); }
@Override protected void addExtraCustomClasses( Map<String, Class<?>> extraClasses ) throws Exception { extraClasses.put( PERSON_CLASS_NAME, Class.forName( PERSON_CLASS_NAME, true, kieContainer.getClassLoader() ) ); }
@Override protected void addExtraCustomClasses(Map<String, Class<?>> extraClasses) throws Exception { extraClasses.put(PERSON_CLASS_NAME, Class.forName(PERSON_CLASS_NAME, true, kieContainer.getClassLoader())); extraClasses.put(CUSTOM_PARAMETER_CLASS_NAME, Class.forName(CUSTOM_PARAMETER_CLASS_NAME, true, kieContainer.getClassLoader())); }
@Override protected void addExtraCustomClasses(Map<String, Class<?>> extraClasses) throws Exception { extraClasses.put(ORDER_CLASS_NAME, Class.forName(ORDER_CLASS_NAME, true, kieContainer.getClassLoader())); extraClasses.put(ITEM_CLASS_NAME, Class.forName(ITEM_CLASS_NAME, true, kieContainer.getClassLoader())); }
@Override protected void addExtraCustomClasses(Map<String, Class<?>> extraClasses) throws Exception { extraClasses.put(CLAIM_REPORT_CLASS_NAME, Class.forName(CLAIM_REPORT_CLASS_NAME, true, kieContainer.getClassLoader())); extraClasses.put(PROPERTY_DAMAGE_REPORT_CLASS_NAME, Class.forName(PROPERTY_DAMAGE_REPORT_CLASS_NAME, true, kieContainer.getClassLoader())); }
@Override protected void addExtraCustomClasses(Map<String, Class<?>> extraClasses) throws Exception { extraClasses.put(CLAIM_REPORT_CLASS_NAME, Class.forName(CLAIM_REPORT_CLASS_NAME, true, kieContainer.getClassLoader())); extraClasses.put(PROPERTY_DAMAGE_REPORT_CLASS_NAME, Class.forName(PROPERTY_DAMAGE_REPORT_CLASS_NAME, true, kieContainer.getClassLoader())); extraClasses.put(DocumentImpl.class.getName(), DocumentImpl.class); }
protected static Object getInstanceFromModel(ObjectModel model, KieContainer kieContainer, Map<String, Object> contaxtParams) { ObjectModelResolver resolver = ObjectModelResolverProvider.get(model.getResolver()); return resolver.getInstance(model, kieContainer.getClassLoader(), contaxtParams); } }
protected static Object getInstanceFromModel(ObjectModel model, KieContainer kieContainer, Map<String, Object> contaxtParams) { ObjectModelResolver resolver = ObjectModelResolverProvider.get(model.getResolver()); return resolver.getInstance(model, kieContainer.getClassLoader(), contaxtParams); } }