/*
* Copyright 2012 JBoss Inc
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.overlord.dtgov.jbpm.util;
import java.io.InputStream;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
import org.kie.api.KieBase;
import org.kie.api.KieServices;
import org.kie.api.builder.KieModule;
import org.kie.api.builder.KieRepository;
import org.kie.api.builder.ReleaseId;
import org.kie.api.runtime.KieContainer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
//import org.jboss.arquillian.container.test.api.Deployment;
//import org.jboss.shrinkwrap.api.Archive;
//import org.jboss.shrinkwrap.api.ArchivePaths;
//import org.jboss.shrinkwrap.api.ShrinkWrap;
//import org.jboss.shrinkwrap.api.spec.JavaArchive;
/**
* Tests the Configuration.
*
* @author kurt.stam@redhat.com
*/
public class KieTest {
@SuppressWarnings("unused")
private static final Logger logger = LoggerFactory.getLogger(KieTest.class);
// @Deployment()
// public static Archive<?> createDeployment() {
// return ShrinkWrap.create(JavaArchive.class, "jbpm-cdi-sample.jar")
// .addPackage("org.jboss.seam.transaction") //seam-persistence
// .addPackage("org.jbpm.services.task")
// .addPackage("org.jbpm.services.task.wih") // work items org.jbpm.services.task.wih
// .addPackage("org.jbpm.services.task.annotations")
// .addPackage("org.jbpm.services.task.api")
// .addPackage("org.jbpm.services.task.impl")
// .addPackage("org.jbpm.services.task.events")
// .addPackage("org.jbpm.services.task.exception")
// .addPackage("org.jbpm.services.task.identity")
// .addPackage("org.jbpm.services.task.factories")
// .addPackage("org.jbpm.services.task.internals")
// .addPackage("org.jbpm.services.task.internals.lifecycle")
// .addPackage("org.jbpm.services.task.lifecycle.listeners")
// .addPackage("org.jbpm.services.task.query")
// .addPackage("org.jbpm.services.task.util")
// .addPackage("org.jbpm.services.task.commands") // This should not be required here
// .addPackage("org.jbpm.services.task.deadlines") // deadlines
// .addPackage("org.jbpm.services.task.deadlines.notifications.impl")
// .addPackage("org.jbpm.services.task.subtask")
// .addPackage("org.jbpm.services.task.rule")
// .addPackage("org.jbpm.services.task.rule.impl")
//
// .addPackage("org.kie.api.runtime.manager")
// .addPackage("org.kie.internal.runtime.manager")
// .addPackage("org.kie.internal.runtime.manager.context")
// .addPackage("org.kie.internal.runtime.manager.cdi.qualifier")
//
// .addPackage("org.jbpm.runtime.manager.impl")
// .addPackage("org.jbpm.runtime.manager.impl.cdi")
// .addPackage("org.jbpm.runtime.manager.impl.factory")
// .addPackage("org.jbpm.runtime.manager.impl.jpa")
// .addPackage("org.jbpm.runtime.manager.impl.manager")
// .addPackage("org.jbpm.runtime.manager.impl.task")
// .addPackage("org.jbpm.runtime.manager.impl.tx")
//
// .addPackage("org.jbpm.shared.services.api")
// .addPackage("org.jbpm.shared.services.impl")
// .addPackage("org.jbpm.shared.services.impl.tx")
//
// .addPackage("org.jbpm.kie.services.api")
// .addPackage("org.jbpm.kie.services.impl")
// .addPackage("org.jbpm.kie.services.api.bpmn2")
// .addPackage("org.jbpm.kie.services.impl.bpmn2")
// .addPackage("org.jbpm.kie.services.impl.event.listeners")
// .addPackage("org.jbpm.kie.services.impl.audit")
//
// .addPackage("org.jbpm.kie.services.impl.example")
// .addPackage("org.kie.commons.java.nio.fs.jgit")
// .addPackage("org.jbpm.examples.cdi.helper")
// .addPackage("org.jbpm.examples.cdi")
// .addAsResource("jndi.properties", "jndi.properties")
// .addAsManifestResource("META-INF/persistence.xml", ArchivePaths.create("persistence.xml"))
// .addAsManifestResource("META-INF/beans.xml", ArchivePaths.create("beans.xml"));
//
// }
//
// @Inject
// private ProcessEngineService processService;
@Test @Ignore
public void getKieFromFile() {
KieServices ks = KieServices.Factory.get();
KieRepository repo = ks.getRepository();
InputStream is = this.getClass().getResourceAsStream("/dtgov-workflows.jar"); //$NON-NLS-1$
KieModule kModule = repo.addKieModule(ks.getResources().newInputStreamResource(is));
@SuppressWarnings("unused")
ReleaseId releaseId = kModule.getReleaseId();
KieContainer kContainer = ks.newKieContainer(kModule.getReleaseId());
Assert.assertNotNull(kContainer);
KieBase kieBase = kContainer.getKieBase("SRAMPPackage"); //$NON-NLS-1$
Assert.assertNotNull(kieBase);
System.out.println("KieBase=" + kieBase); //$NON-NLS-1$
}
// @Test
// public void testDeployAndStartSimpleProcess() {
// //assertNotNull(processService);
// processService = new ProcessEngineService();
//
//
// KieServices ks = KieServices.Factory.get();
//
// KieRepository repo = ks.getRepository();
// InputStream is = this.getClass().getResourceAsStream("/dtgov-workflows.jar"); //$NON-NLS-1$
//
// KieModule kModule = repo.addKieModule(ks.getResources().newInputStreamResource(is));
//
// @SuppressWarnings("unused")
// ReleaseId releaseId = kModule.getReleaseId();
//
//
// KModuleDeploymentUnit unit = new KModuleDeploymentUnit(
// releaseId.getGroupId(), releaseId.getArtifactId(), releaseId.getVersion());
//
// processService.deployUnit(unit);
// logger.info("TEST:Unit {} has been deployed", unit);
// Collection<ProcessDesc> processes = processService.getProcesses();
// assertNotNull(processes);
// assertEquals(2, processes.size());
// }
}