Author: dblevins
Date: Sat Aug 20 00:44:03 2011
New Revision: 1159823

URL: http://svn.apache.org/viewvc?rev=1159823&view=rev
Log:
Use the Assembler directly -- undeploy still a bit broken

Modified:
    
openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/TomEEContainer.java

Modified: 
openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/TomEEContainer.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/TomEEContainer.java?rev=1159823&r1=1159822&r2=1159823&view=diff
==============================================================================
--- 
openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/TomEEContainer.java
 (original)
+++ 
openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/TomEEContainer.java
 Sat Aug 20 00:44:03 2011
@@ -30,8 +30,12 @@ import javax.naming.Context;
 import javax.naming.InitialContext;
 
 import org.apache.catalina.startup.Bootstrap;
+import org.apache.openejb.AppContext;
 import org.apache.openejb.BeanContext;
 import org.apache.openejb.assembler.Deployer;
+import org.apache.openejb.assembler.classic.AppInfo;
+import org.apache.openejb.assembler.classic.Assembler;
+import org.apache.openejb.config.ConfigurationFactory;
 import org.apache.openejb.loader.SystemInstance;
 import org.apache.openejb.spi.ContainerSystem;
 import org.apache.openejb.tomcat.catalina.TomcatLoader;
@@ -55,8 +59,10 @@ public class TomEEContainer implements D
     private Bootstrap bootstrap;
     private TomEEConfiguration configuration;
     private File catalinaDirectory;
-    private Map<String, String> moduleIds = new HashMap<String, String>();
+    private Map<String, AppContext> moduleIds = new HashMap<String, 
AppContext>();
     private Deployer deployer;
+    private ConfigurationFactory configurationFactory;
+    private Assembler assembler;
 
     public Class<TomEEConfiguration> getConfigurationClass() {
         return TomEEConfiguration.class;
@@ -143,9 +149,8 @@ public class TomEEContainer implements D
 
                        new TomcatLoader().init(properties);
 
-            ContainerSystem containerSystem = 
SystemInstance.get().getComponent(ContainerSystem.class);
-            BeanContext beanContext = 
containerSystem.getBeanContext("openejb/Deployer");
-            deployer = (Deployer) 
beanContext.getBusinessLocalBeanHome().create();
+            assembler = SystemInstance.get().getComponent(Assembler.class);
+            configurationFactory = new ConfigurationFactory();
 
         } catch (Exception e) {
             e.printStackTrace();
@@ -168,13 +173,15 @@ public class TomEEContainer implements D
 
     public ProtocolMetaData deploy(Archive<?> archive) throws 
DeploymentException {
        try {
+
                String tmpDir = System.getProperty("java.io.tmpdir");
                File file = new File(tmpDir + File.separator + 
archive.getName());
                archive.as(ZipExporter.class).exportTo(file, true);
 
-               deployer.deploy(file.getAbsolutePath());
-            
-            moduleIds.put(archive.getName(), file.getAbsolutePath());
+
+            AppInfo appInfo = configurationFactory.configureApplication(file);
+            AppContext application = assembler.createApplication(appInfo);
+            moduleIds.put(archive.getName(), application);
             
             HTTPContext httpContext = new HTTPContext("0.0.0.0", 
configuration.getHttpPort());
             return new ProtocolMetaData().addContext(httpContext);
@@ -186,8 +193,8 @@ public class TomEEContainer implements D
 
     public void undeploy(Archive<?> archive) throws DeploymentException {
        try {
-               String appId = moduleIds.get(archive.getName());
-               deployer.undeploy(appId);
+            AppContext appContext = moduleIds.get(archive.getName());
+            assembler.destroyApplication(appContext);
         } catch (Exception e) {
             e.printStackTrace();
             throw new DeploymentException("Unable to undeploy", e);


Reply via email to