[jboss-cvs] JBossAS SVN: r62067 - in trunk/embedded: docs and 44 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Apr 3 21:29:30 EDT 2007


Author: bill.burke at jboss.com
Date: 2007-04-03 21:29:30 -0400 (Tue, 03 Apr 2007)
New Revision: 62067

Added:
   trunk/embedded/docs/
   trunk/embedded/docs/tutorial/
   trunk/embedded/docs/tutorial/junit/
   trunk/embedded/docs/tutorial/junit/ide/
   trunk/embedded/docs/tutorial/junit/ide/classes/
   trunk/embedded/docs/tutorial/junit/ide/classes/production/
   trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/
   trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/
   trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/
   trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/
   trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/
   trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/
   trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/beans/
   trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/beans/Customer.class
   trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/beans/CustomerDAOBean.class
   trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/beans/CustomerDAOLocal.class
   trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/beans/CustomerDAORemote.class
   trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/beans/ExampleMDB.class
   trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/vfstests/
   trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/vfstests/EasierEjbTestCase.class
   trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/vfstests/EjbTestCase$1.class
   trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/vfstests/EjbTestCase.class
   trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/tutorial-persistence.xml
   trunk/embedded/docs/tutorial/junit/ide/classes/test/
   trunk/embedded/docs/tutorial/junit/ide/classes/test/testWithVfs/
   trunk/embedded/docs/tutorial/junit/ide/src/
   trunk/embedded/docs/tutorial/junit/ide/src/main/
   trunk/embedded/docs/tutorial/junit/ide/src/main/java/
   trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/
   trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/jboss/
   trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/jboss/embedded/
   trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/jboss/embedded/tutorial/
   trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/jboss/embedded/tutorial/junit/
   trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/jboss/embedded/tutorial/junit/beans/
   trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/jboss/embedded/tutorial/junit/beans/Customer.java
   trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/jboss/embedded/tutorial/junit/beans/CustomerDAOBean.java
   trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/jboss/embedded/tutorial/junit/beans/CustomerDAOLocal.java
   trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/jboss/embedded/tutorial/junit/beans/CustomerDAORemote.java
   trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/jboss/embedded/tutorial/junit/beans/ExampleMDB.java
   trunk/embedded/docs/tutorial/junit/ide/src/main/resources/
   trunk/embedded/docs/tutorial/junit/ide/src/main/resources/tutorial-persistence.xml
   trunk/embedded/docs/tutorial/junit/ide/src/test/
   trunk/embedded/docs/tutorial/junit/ide/src/test/java/
   trunk/embedded/docs/tutorial/junit/ide/src/test/java/org/
   trunk/embedded/docs/tutorial/junit/ide/src/test/java/org/jboss/
   trunk/embedded/docs/tutorial/junit/ide/src/test/java/org/jboss/embedded/
   trunk/embedded/docs/tutorial/junit/ide/src/test/java/org/jboss/embedded/tutorial/
   trunk/embedded/docs/tutorial/junit/ide/src/test/java/org/jboss/embedded/tutorial/junit/
   trunk/embedded/docs/tutorial/junit/ide/src/test/java/org/jboss/embedded/tutorial/junit/vfstests/
   trunk/embedded/docs/tutorial/junit/ide/src/test/java/org/jboss/embedded/tutorial/junit/vfstests/EasierEjbTestCase.java
   trunk/embedded/docs/tutorial/junit/ide/src/test/java/org/jboss/embedded/tutorial/junit/vfstests/EjbTestCase.java
   trunk/embedded/docs/tutorial/junit/ide/testWithVfs.iml
   trunk/embedded/docs/tutorial/junit/ide/testWithVfs.ipr
   trunk/embedded/docs/tutorial/junit/ide/testWithVfs.iws
   trunk/embedded/docs/tutorial/plain-java-application/
   trunk/embedded/docs/tutorial/plain-java-application/build.xml
   trunk/embedded/docs/tutorial/plain-java-application/resources/
   trunk/embedded/docs/tutorial/plain-java-application/resources/META-INF/
   trunk/embedded/docs/tutorial/plain-java-application/resources/META-INF/persistence.xml
   trunk/embedded/docs/tutorial/plain-java-application/resources/tutorial-persistence.xml
   trunk/embedded/docs/tutorial/plain-java-application/src/
   trunk/embedded/docs/tutorial/plain-java-application/src/org/
   trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/
   trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/
   trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/
   trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/
   trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/ClasspathDeploy.java
   trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/DeployJarFromResourceBase.java
   trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/Main.java
   trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/VirtualArchiveDeploy.java
   trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/VirtualArchiveDeploy2.java
   trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/beans/
   trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/beans/Customer.java
   trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/beans/CustomerDAOBean.java
   trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/beans/CustomerDAOLocal.java
   trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/beans/CustomerDAORemote.java
   trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/beans/ExampleMDB.java
   trunk/embedded/docs/tutorial/tomcat/
   trunk/embedded/src/main/java/org/jboss/embedded/junit/BaseTestCase.java
Modified:
   trunk/embedded/src/main/java/org/jboss/embedded/Bootstrap.java
   trunk/embedded/src/main/java/org/jboss/embedded/DeploymentGroup.java
Log:
start tutorials.  Expand junit integration.

Added: trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/beans/Customer.class
===================================================================
(Binary files differ)


Property changes on: trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/beans/Customer.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/beans/CustomerDAOBean.class
===================================================================
(Binary files differ)


Property changes on: trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/beans/CustomerDAOBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/beans/CustomerDAOLocal.class
===================================================================
(Binary files differ)


Property changes on: trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/beans/CustomerDAOLocal.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/beans/CustomerDAORemote.class
===================================================================
(Binary files differ)


Property changes on: trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/beans/CustomerDAORemote.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/beans/ExampleMDB.class
===================================================================
(Binary files differ)


Property changes on: trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/beans/ExampleMDB.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/vfstests/EasierEjbTestCase.class
===================================================================
(Binary files differ)


Property changes on: trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/vfstests/EasierEjbTestCase.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/vfstests/EjbTestCase$1.class
===================================================================
(Binary files differ)


Property changes on: trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/vfstests/EjbTestCase$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/vfstests/EjbTestCase.class
===================================================================
(Binary files differ)


Property changes on: trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/org/jboss/embedded/tutorial/junit/vfstests/EjbTestCase.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/tutorial-persistence.xml
===================================================================
--- trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/tutorial-persistence.xml	                        (rev 0)
+++ trunk/embedded/docs/tutorial/junit/ide/classes/production/testWithVfs/tutorial-persistence.xml	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<persistence>
+   <persistence-unit name="custdb">
+      <jta-data-source>java:/DefaultDS</jta-data-source>
+      <properties>
+         <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
+         <property name="jboss.entity.manager.jndi.name" value="java:/EntityManagers/custdb"/>
+      </properties>
+   </persistence-unit>
+</persistence>

Added: trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/jboss/embedded/tutorial/junit/beans/Customer.java
===================================================================
--- trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/jboss/embedded/tutorial/junit/beans/Customer.java	                        (rev 0)
+++ trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/jboss/embedded/tutorial/junit/beans/Customer.java	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,62 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.embedded.tutorial.junit.beans;
+
+import java.io.Serializable;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.GeneratedValue; import javax.persistence.GenerationType;
+
+/**
+ * Comment
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 61136 $
+ */
+ at Entity
+public class Customer implements Serializable
+{
+   private int id;
+   private String name;
+
+   @Id @GeneratedValue(strategy=GenerationType.AUTO)
+   public int getId()
+   {
+      return id;
+   }
+
+   public void setId(int id)
+   {
+      this.id = id;
+   }
+
+   public String getName()
+   {
+      return name;
+   }
+
+   public void setName(String name)
+   {
+      this.name = name;
+   }
+
+}

Added: trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/jboss/embedded/tutorial/junit/beans/CustomerDAOBean.java
===================================================================
--- trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/jboss/embedded/tutorial/junit/beans/CustomerDAOBean.java	                        (rev 0)
+++ trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/jboss/embedded/tutorial/junit/beans/CustomerDAOBean.java	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,51 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.embedded.tutorial.junit.beans;
+
+import javax.ejb.Stateless;
+import javax.persistence.PersistenceContext;
+import javax.persistence.EntityManager;
+
+/**
+ * Comment
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 61136 $
+ */
+ at Stateless
+public class CustomerDAOBean implements CustomerDAOLocal, CustomerDAORemote
+{
+   @PersistenceContext(unitName="custdb") private EntityManager em;
+
+   public int createCustomer(String name)
+   {
+      Customer cust = new Customer();
+      cust.setName(name);
+      em.persist(cust);
+      return cust.getId();
+   }
+
+   public Customer findCustomer(int id)
+   {
+      return em.find(Customer.class, id);
+   }
+}

Added: trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/jboss/embedded/tutorial/junit/beans/CustomerDAOLocal.java
===================================================================
--- trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/jboss/embedded/tutorial/junit/beans/CustomerDAOLocal.java	                        (rev 0)
+++ trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/jboss/embedded/tutorial/junit/beans/CustomerDAOLocal.java	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.embedded.tutorial.junit.beans;
+
+import javax.ejb.Local;
+
+/**
+ * Comment
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 61136 $
+ */
+ at Local
+public interface CustomerDAOLocal
+{
+   int createCustomer(String name);
+
+   Customer findCustomer(int id);
+}

Added: trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/jboss/embedded/tutorial/junit/beans/CustomerDAORemote.java
===================================================================
--- trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/jboss/embedded/tutorial/junit/beans/CustomerDAORemote.java	                        (rev 0)
+++ trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/jboss/embedded/tutorial/junit/beans/CustomerDAORemote.java	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.embedded.tutorial.junit.beans;
+
+import javax.ejb.Remote;
+
+/**
+ * Comment
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 61136 $
+ */
+ at Remote
+public interface CustomerDAORemote
+{
+   int createCustomer(String name);
+
+   Customer findCustomer(int id);
+}

Added: trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/jboss/embedded/tutorial/junit/beans/ExampleMDB.java
===================================================================
--- trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/jboss/embedded/tutorial/junit/beans/ExampleMDB.java	                        (rev 0)
+++ trunk/embedded/docs/tutorial/junit/ide/src/main/java/org/jboss/embedded/tutorial/junit/beans/ExampleMDB.java	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,49 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.embedded.tutorial.junit.beans;
+
+import org.jboss.annotation.ejb.Depends;
+
+import javax.ejb.MessageDriven;
+import javax.ejb.ActivationConfigProperty;
+import javax.jms.MessageListener;
+import javax.jms.Message;
+
+ at MessageDriven(activationConfig =
+{
+        @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"),
+        @ActivationConfigProperty(propertyName="destination", propertyValue="queue/example")
+})
+ at Depends("jboss.mq.destination:name=example,service=Queue")
+public class ExampleMDB implements MessageListener
+{
+   public static boolean executed = false;
+
+   public void onMessage(Message recvMsg)
+   {
+      System.out.println("----------------");
+      System.out.println("Received message");
+      executed = true;
+      System.out.println("----------------");
+   }
+
+}

Added: trunk/embedded/docs/tutorial/junit/ide/src/main/resources/tutorial-persistence.xml
===================================================================
--- trunk/embedded/docs/tutorial/junit/ide/src/main/resources/tutorial-persistence.xml	                        (rev 0)
+++ trunk/embedded/docs/tutorial/junit/ide/src/main/resources/tutorial-persistence.xml	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<persistence>
+   <persistence-unit name="custdb">
+      <jta-data-source>java:/DefaultDS</jta-data-source>
+      <properties>
+         <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
+         <property name="jboss.entity.manager.jndi.name" value="java:/EntityManagers/custdb"/>
+      </properties>
+   </persistence-unit>
+</persistence>

Added: trunk/embedded/docs/tutorial/junit/ide/src/test/java/org/jboss/embedded/tutorial/junit/vfstests/EasierEjbTestCase.java
===================================================================
--- trunk/embedded/docs/tutorial/junit/ide/src/test/java/org/jboss/embedded/tutorial/junit/vfstests/EasierEjbTestCase.java	                        (rev 0)
+++ trunk/embedded/docs/tutorial/junit/ide/src/test/java/org/jboss/embedded/tutorial/junit/vfstests/EasierEjbTestCase.java	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,140 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.embedded.tutorial.junit.vfstests;
+
+import junit.framework.Test;
+import org.jboss.virtual.plugins.context.vfs.AssembledDirectory;
+import org.jboss.virtual.plugins.context.vfs.AssembledContextFactory;
+import org.jboss.embedded.junit.BaseTestCase;
+import org.jboss.embedded.tutorial.junit.beans.Customer;
+import org.jboss.embedded.tutorial.junit.beans.CustomerDAOBean;
+import org.jboss.embedded.tutorial.junit.beans.CustomerDAOLocal;
+import org.jboss.embedded.tutorial.junit.beans.CustomerDAORemote;
+import org.jboss.embedded.Bootstrap;
+import org.jboss.deployers.spi.DeploymentException;
+
+import javax.naming.InitialContext;
+import javax.persistence.EntityManager;
+import javax.transaction.TransactionManager;
+
+/**
+ * Comment
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 61136 $
+ */
+public class EasierEjbTestCase extends BaseTestCase
+{
+   public EasierEjbTestCase()
+   {
+      super("EjbTestCase");
+   }
+
+   private static AssembledDirectory jar;
+
+   public static void deploy()
+   {
+      jar = AssembledContextFactory.getInstance().create("ejbTestCase.jar");
+      jar.addClass(Customer.class);
+      jar.addClass(CustomerDAOBean.class);
+      jar.addClass(CustomerDAOLocal.class);
+      jar.addClass(CustomerDAORemote.class);
+      jar.mkdir("META-INF").addResource("tutorial-persistence.xml", "persistence.xml");
+      try
+      {
+         Bootstrap.getInstance().deploy(jar);
+      }
+      catch (DeploymentException e)
+      {
+         throw new RuntimeException("Unable to deploy", e);
+      }
+   }
+
+   public static void undeploy()
+   {
+      try
+      {
+         Bootstrap.getInstance().undeploy(jar);
+         AssembledContextFactory.getInstance().remove(jar);
+         jar = null;
+      }
+      catch (DeploymentException e)
+      {
+         throw new RuntimeException("Unable to undeploy", e);
+      }
+   }
+
+
+
+   public static Test suite()
+   {
+      return preProcessedTest(EasierEjbTestCase.class);
+   }
+
+   public void testEJBs() throws Exception
+   {
+      InitialContext ctx = new InitialContext();
+      CustomerDAOLocal local = (CustomerDAOLocal) ctx.lookup("CustomerDAOBean/local");
+      CustomerDAORemote remote = (CustomerDAORemote) ctx.lookup("CustomerDAOBean/remote");
+
+      int id = local.createCustomer("Gavin");
+      Customer cust = local.findCustomer(id);
+      assertNotNull(cust);
+      System.out.println("Successfully created and found Gavin from @Local interface");
+
+      id = remote.createCustomer("Emmanuel");
+      cust = remote.findCustomer(id);
+      assertNotNull(cust);
+      System.out.println("Successfully created and found Emmanuel from @Remote interface");
+   }
+
+   public void testEntityManager() throws Exception
+   {
+      // This is a transactionally aware EntityManager and must be accessed within a JTA transaction
+      // Why aren't we using javax.persistence.Persistence?  Well, our persistence.xml file uses
+      // jta-datasource which means that it is created by the EJB container/embedded JBoss.
+      // using javax.persistence.Persistence will just cause us an error
+      EntityManager em = (EntityManager) new InitialContext().lookup("java:/EntityManagers/custdb");
+
+      // Obtain JBoss transaction
+      TransactionManager tm = (TransactionManager) new InitialContext().lookup("java:/TransactionManager");
+
+      tm.begin();
+
+      Customer cust = new Customer();
+      cust.setName("Bill");
+      em.persist(cust);
+
+      assertTrue(cust.getId() > 0);
+
+      int id = cust.getId();
+
+      System.out.println("created bill in DB with id: " + id);
+
+      tm.commit();
+
+      tm.begin();
+      cust = em.find(Customer.class, id);
+      assertNotNull(cust);
+      tm.commit();
+   }
+}

Added: trunk/embedded/docs/tutorial/junit/ide/src/test/java/org/jboss/embedded/tutorial/junit/vfstests/EjbTestCase.java
===================================================================
--- trunk/embedded/docs/tutorial/junit/ide/src/test/java/org/jboss/embedded/tutorial/junit/vfstests/EjbTestCase.java	                        (rev 0)
+++ trunk/embedded/docs/tutorial/junit/ide/src/test/java/org/jboss/embedded/tutorial/junit/vfstests/EjbTestCase.java	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,181 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.embedded.tutorial.junit.vfstests;
+
+import javax.naming.InitialContext;
+import javax.persistence.EntityManager;
+import javax.transaction.TransactionManager;
+
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import junit.framework.Test;
+import junit.extensions.TestSetup;
+import org.jboss.embedded.tutorial.junit.beans.CustomerDAORemote;
+import org.jboss.embedded.tutorial.junit.beans.CustomerDAOLocal;
+import org.jboss.embedded.tutorial.junit.beans.Customer;
+import org.jboss.embedded.tutorial.junit.beans.CustomerDAOBean;
+import org.jboss.embedded.junit.EmbeddedTestSetup;
+import org.jboss.embedded.Bootstrap;
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.virtual.plugins.context.vfs.AssembledDirectory;
+import org.jboss.virtual.plugins.context.vfs.AssembledContextFactory;
+
+/**
+ * Comment
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 61136 $
+ */
+public class EjbTestCase extends TestCase
+{
+   public EjbTestCase()
+   {
+      super("EjbTestCase");
+   }
+
+   private static AssembledDirectory jar;
+   private static boolean globalSetup = false;
+
+   private static void deploy()
+   {
+      EmbeddedTestSetup.testSetup();
+      jar = AssembledContextFactory.getInstance().create("ejbTestCase.jar");
+      jar.addClass(Customer.class);
+      jar.addClass(CustomerDAOBean.class);
+      jar.addClass(CustomerDAOLocal.class);
+      jar.addClass(CustomerDAORemote.class);
+      jar.mkdir("META-INF").addResource("tutorial-persistence.xml", "persistence.xml");
+      try
+      {
+         Bootstrap.getInstance().deploy(jar);
+      }
+      catch (DeploymentException e)
+      {
+         throw new RuntimeException("Unable to deploy", e);
+      }
+   }
+
+   private static void undeploy()
+   {
+      try
+      {
+         Bootstrap.getInstance().undeploy(jar);
+         AssembledContextFactory.getInstance().remove(jar);
+      }
+      catch (DeploymentException e)
+      {
+         throw new RuntimeException("Unable to undeploy", e);
+      }
+   }
+
+   
+
+   public static Test suite()
+   {
+      TestSuite suite = new TestSuite();
+      suite.addTestSuite(EjbTestCase.class);
+      globalSetup = true;
+
+      return new TestSetup(suite)
+      {
+         @Override
+         protected void setUp() throws Exception
+         {
+            super.setUp();
+            deploy();
+         }
+
+         @Override
+         protected void tearDown() throws Exception
+         {
+            undeploy();
+            super.tearDown();
+         }
+      };
+   }
+
+
+
+
+   @Override
+   protected void setUp() throws Exception
+   {
+      if (globalSetup) return;
+      deploy();
+   }
+
+   @Override
+   protected void tearDown() throws Exception
+   {
+      if (globalSetup) return;
+      undeploy();
+   }
+
+
+   public void testEJBs() throws Exception
+   {
+      InitialContext ctx = new InitialContext();
+      CustomerDAOLocal local = (CustomerDAOLocal) ctx.lookup("CustomerDAOBean/local");
+      CustomerDAORemote remote = (CustomerDAORemote) ctx.lookup("CustomerDAOBean/remote");
+
+      int id = local.createCustomer("Gavin");
+      Customer cust = local.findCustomer(id);
+      assertNotNull(cust);
+      System.out.println("Successfully created and found Gavin from @Local interface");
+
+      id = remote.createCustomer("Emmanuel");
+      cust = remote.findCustomer(id);
+      assertNotNull(cust);
+      System.out.println("Successfully created and found Emmanuel from @Remote interface");
+   }
+
+   public void testEntityManager() throws Exception
+   {
+      // This is a transactionally aware EntityManager and must be accessed within a JTA transaction
+      // Why aren't we using javax.persistence.Persistence?  Well, our persistence.xml file uses
+      // jta-datasource which means that it is created by the EJB container/embedded JBoss.
+      // using javax.persistence.Persistence will just cause us an error
+      EntityManager em = (EntityManager) new InitialContext().lookup("java:/EntityManagers/custdb");
+
+      // Obtain JBoss transaction
+      TransactionManager tm = (TransactionManager) new InitialContext().lookup("java:/TransactionManager");
+
+      tm.begin();
+
+      Customer cust = new Customer();
+      cust.setName("Bill");
+      em.persist(cust);
+
+      assertTrue(cust.getId() > 0);
+
+      int id = cust.getId();
+
+      System.out.println("created bill in DB with id: " + id);
+
+      tm.commit();
+
+      tm.begin();
+      cust = em.find(Customer.class, id);
+      assertNotNull(cust);
+      tm.commit();
+   }
+}

Added: trunk/embedded/docs/tutorial/junit/ide/testWithVfs.iml
===================================================================
--- trunk/embedded/docs/tutorial/junit/ide/testWithVfs.iml	                        (rev 0)
+++ trunk/embedded/docs/tutorial/junit/ide/testWithVfs.iml	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4" relativePaths="true" type="JAVA_MODULE">
+  <component name="ModuleRootManager" />
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="false" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../output/lib/embedded-jboss/lib/hibernate-all.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../output/lib/embedded-jboss/optional-lib/junit.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../output/lib/embedded-jboss/optional-lib/jboss-test.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../output/lib/embedded-jboss/lib/jboss-embedded-all.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../output/lib/embedded-jboss/lib/thirdparty-all.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="file://$MODULE_DIR$/../../../../output/lib/embedded-jboss/bootstrap" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntryProperties />
+  </component>
+</module>
+

Added: trunk/embedded/docs/tutorial/junit/ide/testWithVfs.ipr
===================================================================
--- trunk/embedded/docs/tutorial/junit/ide/testWithVfs.ipr	                        (rev 0)
+++ trunk/embedded/docs/tutorial/junit/ide/testWithVfs.ipr	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,286 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4" relativePaths="true">
+  <component name="AntConfiguration">
+    <defaultAnt bundledAnt="true" />
+  </component>
+  <component name="BuildJarProjectSettings">
+    <option name="BUILD_JARS_ON_MAKE" value="false" />
+  </component>
+  <component name="CodeStyleProjectProfileManger">
+    <option name="PROJECT_PROFILE" />
+    <option name="USE_PROJECT_LEVEL_SETTINGS" value="false" />
+  </component>
+  <component name="CodeStyleSettingsManager">
+    <option name="PER_PROJECT_SETTINGS" />
+    <option name="USE_PER_PROJECT_SETTINGS" value="false" />
+  </component>
+  <component name="CompilerConfiguration">
+    <option name="DEFAULT_COMPILER" value="Javac" />
+    <option name="DEPLOY_AFTER_MAKE" value="0" />
+    <resourceExtensions>
+      <entry name=".+\.(properties|xml|html|dtd|tld)" />
+      <entry name=".+\.(gif|png|jpeg|jpg)" />
+    </resourceExtensions>
+    <wildcardResourcePatterns>
+      <entry name="?*.properties" />
+      <entry name="?*.xml" />
+      <entry name="?*.gif" />
+      <entry name="?*.png" />
+      <entry name="?*.jpeg" />
+      <entry name="?*.jpg" />
+      <entry name="?*.html" />
+      <entry name="?*.dtd" />
+      <entry name="?*.tld" />
+    </wildcardResourcePatterns>
+  </component>
+  <component name="DataSourceManagerImpl" />
+  <component name="DependenciesAnalyzeManager">
+    <option name="myForwardDirection" value="false" />
+  </component>
+  <component name="DependencyValidationManager" />
+  <component name="EclipseCompilerSettings">
+    <option name="DEBUGGING_INFO" value="true" />
+    <option name="GENERATE_NO_WARNINGS" value="true" />
+    <option name="DEPRECATION" value="false" />
+    <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+    <option name="MAXIMUM_HEAP_SIZE" value="128" />
+  </component>
+  <component name="EclipseEmbeddedCompilerSettings">
+    <option name="DEBUGGING_INFO" value="true" />
+    <option name="GENERATE_NO_WARNINGS" value="true" />
+    <option name="DEPRECATION" value="false" />
+    <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+    <option name="MAXIMUM_HEAP_SIZE" value="128" />
+  </component>
+  <component name="EntryPointsManager">
+    <entry_points />
+  </component>
+  <component name="ExportToHTMLSettings">
+    <option name="PRINT_LINE_NUMBERS" value="false" />
+    <option name="OPEN_IN_BROWSER" value="false" />
+    <option name="OUTPUT_DIRECTORY" />
+  </component>
+  <component name="GUI Designer component loader factory" />
+  <component name="IdProvider" IDEtalkID="3A2717DC122FBF4BF2CC994944233637" />
+  <component name="InspectionProjectProfileManager">
+    <option name="PROJECT_PROFILE" value="Project Default" />
+    <option name="USE_PROJECT_LEVEL_SETTINGS" value="false" />
+    <scopes />
+    <profiles>
+      <profile version="1.0" is_locked="false">
+        <option name="myName" value="Project Default" />
+        <option name="myLocal" value="false" />
+        <used_levels>
+          <error>
+            <option name="myName" value="ERROR" />
+            <option name="myVal" value="400" />
+          </error>
+          <warning>
+            <option name="myName" value="WARNING" />
+            <option name="myVal" value="300" />
+          </warning>
+          <information>
+            <option name="myName" value="INFO" />
+            <option name="myVal" value="200" />
+          </information>
+          <server>
+            <option name="myName" value="SERVER PROBLEM" />
+            <option name="myVal" value="100" />
+          </server>
+        </used_levels>
+      </profile>
+    </profiles>
+  </component>
+  <component name="JavacSettings">
+    <option name="DEBUGGING_INFO" value="true" />
+    <option name="GENERATE_NO_WARNINGS" value="false" />
+    <option name="DEPRECATION" value="true" />
+    <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+    <option name="MAXIMUM_HEAP_SIZE" value="128" />
+  </component>
+  <component name="JavadocGenerationManager">
+    <option name="OUTPUT_DIRECTORY" />
+    <option name="OPTION_SCOPE" value="protected" />
+    <option name="OPTION_HIERARCHY" value="true" />
+    <option name="OPTION_NAVIGATOR" value="true" />
+    <option name="OPTION_INDEX" value="true" />
+    <option name="OPTION_SEPARATE_INDEX" value="true" />
+    <option name="OPTION_DOCUMENT_TAG_USE" value="false" />
+    <option name="OPTION_DOCUMENT_TAG_AUTHOR" value="false" />
+    <option name="OPTION_DOCUMENT_TAG_VERSION" value="false" />
+    <option name="OPTION_DOCUMENT_TAG_DEPRECATED" value="true" />
+    <option name="OPTION_DEPRECATED_LIST" value="true" />
+    <option name="OTHER_OPTIONS" value="" />
+    <option name="HEAP_SIZE" />
+    <option name="LOCALE" />
+    <option name="OPEN_IN_BROWSER" value="true" />
+  </component>
+  <component name="JikesSettings">
+    <option name="JIKES_PATH" value="" />
+    <option name="DEBUGGING_INFO" value="true" />
+    <option name="DEPRECATION" value="true" />
+    <option name="GENERATE_NO_WARNINGS" value="false" />
+    <option name="IS_EMACS_ERRORS_MODE" value="true" />
+    <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+  </component>
+  <component name="LogConsolePreferences">
+    <option name="FILTER_ERRORS" value="false" />
+    <option name="FILTER_WARNINGS" value="false" />
+    <option name="FILTER_INFO" value="true" />
+    <option name="CUSTOM_FILTER" />
+  </component>
+  <component name="Palette2">
+    <group name="Swing">
+      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
+      </item>
+      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
+        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
+        <initial-values>
+          <property name="text" value="Button" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="RadioButton" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="CheckBox" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="Label" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
+          <preferred-size width="-1" height="20" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
+      </item>
+    </group>
+  </component>
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/testWithVfs.iml" filepath="$PROJECT_DIR$/testWithVfs.iml" />
+    </modules>
+  </component>
+  <component name="ProjectRootManager" version="2" assert-keyword="true" jdk-15="true" project-jdk-name="1.5" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/classes" />
+  </component>
+  <component name="ProjectRunConfigurationManager" />
+  <component name="RmicSettings">
+    <option name="IS_EANABLED" value="false" />
+    <option name="DEBUGGING_INFO" value="true" />
+    <option name="GENERATE_NO_WARNINGS" value="false" />
+    <option name="GENERATE_IIOP_STUBS" value="false" />
+    <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+  </component>
+  <component name="StarteamVcsAdapter" />
+  <component name="VssVcs" />
+  <component name="com.intellij.jsf.UserDefinedFacesConfigs">
+    <option name="USER_DEFINED_CONFIGS">
+      <value>
+        <list size="0" />
+      </value>
+    </option>
+  </component>
+  <component name="libraryTable" />
+  <component name="uidesigner-configuration">
+    <option name="INSTRUMENT_CLASSES" value="true" />
+    <option name="COPY_FORMS_RUNTIME_TO_OUTPUT" value="true" />
+    <option name="DEFAULT_LAYOUT_MANAGER" value="GridLayoutManager" />
+  </component>
+  <UsedPathMacros />
+</project>
+

Added: trunk/embedded/docs/tutorial/junit/ide/testWithVfs.iws
===================================================================
--- trunk/embedded/docs/tutorial/junit/ide/testWithVfs.iws	                        (rev 0)
+++ trunk/embedded/docs/tutorial/junit/ide/testWithVfs.iws	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,744 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4" relativePaths="true">
+  <component name="BookmarkManager" />
+  <component name="ChangeBrowserSettings">
+    <option name="MAIN_SPLITTER_PROPORTION" value="0.3" />
+    <option name="MESSAGES_SPLITTER_PROPORTION" value="0.8" />
+    <option name="USE_DATE_BEFORE_FILTER" value="false" />
+    <option name="USE_DATE_AFTER_FILTER" value="false" />
+    <option name="USE_CHANGE_BEFORE_FILTER" value="false" />
+    <option name="USE_CHANGE_AFTER_FILTER" value="false" />
+    <option name="DATE_BEFORE" value="" />
+    <option name="DATE_AFTER" value="" />
+    <option name="CHANGE_BEFORE" value="" />
+    <option name="CHANGE_AFTER" value="" />
+    <option name="USE_USER_FILTER" value="false" />
+    <option name="USER" value="" />
+  </component>
+  <component name="ChangeListManager">
+    <list default="true" name="Default" comment="" />
+  </component>
+  <component name="ChangeListSynchronizer" />
+  <component name="ChangesViewManager" flattened_view="true" />
+  <component name="CheckinPanelState" />
+  <component name="Commander">
+    <leftPanel />
+    <rightPanel />
+    <splitter proportion="0.5" />
+  </component>
+  <component name="CompilerWorkspaceConfiguration">
+    <option name="COMPILE_IN_BACKGROUND" value="false" />
+    <option name="AUTO_SHOW_ERRORS_IN_EDITOR" value="true" />
+    <option name="CLOSE_MESSAGE_VIEW_IF_SUCCESS" value="true" />
+    <option name="COMPILE_DEPENDENT_FILES" value="false" />
+    <option name="CLEAR_OUTPUT_DIRECTORY" value="false" />
+    <option name="ASSERT_NOT_NULL" value="true" />
+  </component>
+  <component name="CoverageDataManager" />
+  <component name="Cvs2Configuration">
+    <option name="PRUNE_EMPTY_DIRECTORIES" value="true" />
+    <option name="MERGING_MODE" value="0" />
+    <option name="MERGE_WITH_BRANCH1_NAME" value="HEAD" />
+    <option name="MERGE_WITH_BRANCH2_NAME" value="HEAD" />
+    <option name="RESET_STICKY" value="false" />
+    <option name="CREATE_NEW_DIRECTORIES" value="true" />
+    <option name="DEFAULT_TEXT_FILE_SUBSTITUTION" value="kv" />
+    <option name="PROCESS_UNKNOWN_FILES" value="false" />
+    <option name="PROCESS_DELETED_FILES" value="false" />
+    <option name="PROCESS_IGNORED_FILES" value="false" />
+    <option name="RESERVED_EDIT" value="false" />
+    <option name="CHECKOUT_DATE_OR_REVISION_SETTINGS">
+      <value>
+        <option name="BRANCH" value="" />
+        <option name="DATE" value="" />
+        <option name="USE_BRANCH" value="false" />
+        <option name="USE_DATE" value="false" />
+      </value>
+    </option>
+    <option name="UPDATE_DATE_OR_REVISION_SETTINGS">
+      <value>
+        <option name="BRANCH" value="" />
+        <option name="DATE" value="" />
+        <option name="USE_BRANCH" value="false" />
+        <option name="USE_DATE" value="false" />
+      </value>
+    </option>
+    <option name="SHOW_CHANGES_REVISION_SETTINGS">
+      <value>
+        <option name="BRANCH" value="" />
+        <option name="DATE" value="" />
+        <option name="USE_BRANCH" value="false" />
+        <option name="USE_DATE" value="false" />
+      </value>
+    </option>
+    <option name="SHOW_OUTPUT" value="false" />
+    <option name="ADD_WATCH_INDEX" value="0" />
+    <option name="REMOVE_WATCH_INDEX" value="0" />
+    <option name="UPDATE_KEYWORD_SUBSTITUTION" />
+    <option name="MAKE_NEW_FILES_READONLY" value="false" />
+    <option name="SHOW_CORRUPTED_PROJECT_FILES" value="0" />
+    <option name="TAG_AFTER_PROJECT_COMMIT" value="false" />
+    <option name="OVERRIDE_EXISTING_TAG_FOR_PROJECT" value="true" />
+    <option name="TAG_AFTER_PROJECT_COMMIT_NAME" value="" />
+    <option name="CLEAN_COPY" value="false" />
+  </component>
+  <component name="DaemonCodeAnalyzer">
+    <disable_hints />
+  </component>
+  <component name="DebuggerManager">
+    <breakpoint_any>
+      <breakpoint>
+        <option name="NOTIFY_CAUGHT" value="true" />
+        <option name="NOTIFY_UNCAUGHT" value="true" />
+        <option name="ENABLED" value="false" />
+        <option name="SUSPEND_POLICY" value="SuspendAll" />
+        <option name="LOG_ENABLED" value="false" />
+        <option name="LOG_EXPRESSION_ENABLED" value="false" />
+        <option name="COUNT_FILTER_ENABLED" value="false" />
+        <option name="COUNT_FILTER" value="0" />
+        <option name="CONDITION_ENABLED" value="false" />
+        <option name="CLASS_FILTERS_ENABLED" value="false" />
+        <option name="INSTANCE_FILTERS_ENABLED" value="false" />
+        <option name="CONDITION" value="" />
+        <option name="LOG_MESSAGE" value="" />
+      </breakpoint>
+      <breakpoint>
+        <option name="NOTIFY_CAUGHT" value="true" />
+        <option name="NOTIFY_UNCAUGHT" value="true" />
+        <option name="ENABLED" value="false" />
+        <option name="SUSPEND_POLICY" value="SuspendAll" />
+        <option name="LOG_ENABLED" value="false" />
+        <option name="LOG_EXPRESSION_ENABLED" value="false" />
+        <option name="COUNT_FILTER_ENABLED" value="false" />
+        <option name="COUNT_FILTER" value="0" />
+        <option name="CONDITION_ENABLED" value="false" />
+        <option name="CLASS_FILTERS_ENABLED" value="false" />
+        <option name="INSTANCE_FILTERS_ENABLED" value="false" />
+        <option name="CONDITION" value="" />
+        <option name="LOG_MESSAGE" value="" />
+      </breakpoint>
+    </breakpoint_any>
+    <breakpoint_rules />
+    <ui_properties />
+  </component>
+  <component name="ErrorTreeViewConfiguration">
+    <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
+    <option name="HIDE_WARNINGS" value="false" />
+  </component>
+  <component name="FavoritesManager">
+    <favorites_list name="testWithVfs" />
+  </component>
+  <component name="FavoritesProjectViewPane">
+    <subPane subId="testWithVfs">
+      <PATH>
+        <PATH_ELEMENT>
+          <option name="myItemId" />
+          <option name="myItemType" value="com.intellij.ide.favoritesTreeView.FavoritesTreeNodeDescriptor" />
+        </PATH_ELEMENT>
+      </PATH>
+    </subPane>
+  </component>
+  <component name="FileEditorManager">
+    <leaf>
+      <file leaf-file-name="EjbTestCase.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/embedded/tutorial/junit/vfstests/EjbTestCase.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="181" column="0" selection-start="5530" selection-end="5530" vertical-scroll-proportion="0.9664363">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="TestSuite.class" pinned="false" current="false" current-in-tab="false">
+        <entry file="jar://$PROJECT_DIR$/../../../../output/lib/embedded-jboss/optional-lib/junit.jar!/junit/framework/TestSuite.class">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="5" column="13" selection-start="153" selection-end="153" vertical-scroll-proportion="0.06712735">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="EasierEjbTestCase.java" pinned="false" current="true" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/embedded/tutorial/junit/vfstests/EasierEjbTestCase.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="44" column="13" selection-start="1845" selection-end="1845" vertical-scroll-proportion="0.1846002">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="TestCaseHelper.class" pinned="false" current="false" current-in-tab="false">
+        <entry file="jar://$PROJECT_DIR$/../../../../output/lib/embedded-jboss/lib/jboss-embedded-all.jar!/org/jboss/embedded/junit/TestCaseHelper.class">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="16" column="22" selection-start="581" selection-end="581" vertical-scroll-proportion="0.25172755">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="tutorial-persistence.xml" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/resources/tutorial-persistence.xml">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="10" column="0" selection-start="389" selection-end="389" vertical-scroll-proportion="0.16781837">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="CustomerDAOBean.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/embedded/tutorial/junit/beans/CustomerDAOBean.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="34" column="13" selection-start="1331" selection-end="1331" vertical-scroll-proportion="0.20138204">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+    </leaf>
+  </component>
+  <component name="FindManager">
+    <FindUsagesManager>
+      <setting name="OPEN_NEW_TAB" value="false" />
+    </FindUsagesManager>
+  </component>
+  <component name="HierarchyBrowserManager">
+    <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
+    <option name="SORT_ALPHABETICALLY" value="false" />
+    <option name="HIDE_CLASSES_WHERE_METHOD_NOT_IMPLEMENTED" value="false" />
+  </component>
+  <component name="InspectionManager">
+    <option name="AUTOSCROLL_TO_SOURCE" value="false" />
+    <option name="SPLITTER_PROPORTION" value="0.5" />
+    <option name="GROUP_BY_SEVERITY" value="false" />
+    <option name="FILTER_RESOLVED_ITEMS" value="true" />
+    <option name="ANALYZE_TEST_SOURCES" value="true" />
+    <option name="SHOW_DIFF_WITH_PREVIOUS_RUN" value="false" />
+    <option name="SCOPE_TYPE" value="1" />
+    <option name="CUSTOM_SCOPE_NAME" value="" />
+    <option name="SHOW_ONLY_DIFF" value="false" />
+    <option name="myCurrentProfileName" value="Default" />
+  </component>
+  <component name="J2EEProjectPane" />
+  <component name="JspContextManager" />
+  <component name="ModuleEditorState">
+    <option name="LAST_EDITED_MODULE_NAME" />
+    <option name="LAST_EDITED_TAB_NAME" />
+  </component>
+  <component name="NamedScopeManager" />
+  <component name="PackagesPane">
+    <subPane>
+      <PATH>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="testWithVfs.ipr" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="testWithVfs" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
+        </PATH_ELEMENT>
+      </PATH>
+    </subPane>
+  </component>
+  <component name="PerforceChangeBrowserSettings">
+    <option name="USE_CLIENT_FILTER" value="true" />
+    <option name="CLIENT" value="" />
+  </component>
+  <component name="PerforceDirect.Settings">
+    <option name="useP4CONFIG" value="true" />
+    <option name="port" value="&lt;perforce_server&gt;:1666" />
+    <option name="client" value="" />
+    <option name="user" value="" />
+    <option name="passwd" value="" />
+    <option name="showCmds" value="false" />
+    <option name="useNativeApi" value="true" />
+    <option name="pathToExec" value="p4" />
+    <option name="useCustomPathToExec" value="false" />
+    <option name="SYNC_FORCE" value="false" />
+    <option name="SYNC_RUN_RESOLVE" value="true" />
+    <option name="REVERT_UNCHANGED_FILES" value="true" />
+    <option name="CHARSET" value="none" />
+    <option name="SHOW_BRANCHES_HISTORY" value="true" />
+    <option name="ENABLED" value="true" />
+    <option name="USE_LOGIN" value="false" />
+    <option name="LOGIN_SILENTLY" value="false" />
+    <option name="INTEGRATE_RUN_RESOLVE" value="true" />
+    <option name="INTEGRATE_REVERT_UNCHANGED" value="true" />
+    <option name="SERVER_TIMEOUT" value="20000" />
+  </component>
+  <component name="ProjectLevelVcsManager">
+    <OptionsSetting value="true" id="Add" />
+    <OptionsSetting value="true" id="Remove" />
+    <OptionsSetting value="true" id="Checkin" />
+    <OptionsSetting value="true" id="Checkout" />
+    <OptionsSetting value="true" id="Update" />
+    <OptionsSetting value="true" id="Status" />
+    <OptionsSetting value="true" id="Edit" />
+    <OptionsSetting value="true" id="Undo Check Out" />
+    <OptionsSetting value="true" id="Compare with SourceSafe Version" />
+    <OptionsSetting value="true" id="Get Latest Version" />
+    <ConfirmationsSetting value="0" id="Add" />
+    <ConfirmationsSetting value="0" id="Remove" />
+  </component>
+  <component name="ProjectPane">
+    <subPane>
+      <PATH>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="testWithVfs.ipr" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="testWithVfs" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+        </PATH_ELEMENT>
+      </PATH>
+      <PATH>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="testWithVfs.ipr" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="testWithVfs" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\jboss\jboss-head\embedded\docs\tutorial\junit\ide" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+      </PATH>
+      <PATH>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="testWithVfs.ipr" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="testWithVfs" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\jboss\jboss-head\embedded\docs\tutorial\junit\ide" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\jboss\jboss-head\embedded\docs\tutorial\junit\ide\src" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\jboss\jboss-head\embedded\docs\tutorial\junit\ide\src\test" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\jboss\jboss-head\embedded\docs\tutorial\junit\ide\src\test\java" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\jboss\jboss-head\embedded\docs\tutorial\junit\ide\src\test\java\org\jboss\embedded\tutorial\junit\vfstests" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+      </PATH>
+      <PATH>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="testWithVfs.ipr" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="testWithVfs" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\jboss\jboss-head\embedded\docs\tutorial\junit\ide" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\jboss\jboss-head\embedded\docs\tutorial\junit\ide\src" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\jboss\jboss-head\embedded\docs\tutorial\junit\ide\src\main" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\jboss\jboss-head\embedded\docs\tutorial\junit\ide\src\main\resources" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+      </PATH>
+      <PATH>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="testWithVfs.ipr" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="testWithVfs" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\jboss\jboss-head\embedded\docs\tutorial\junit\ide" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\jboss\jboss-head\embedded\docs\tutorial\junit\ide\src" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\jboss\jboss-head\embedded\docs\tutorial\junit\ide\src\main" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\jboss\jboss-head\embedded\docs\tutorial\junit\ide\src\main\java" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\jboss\jboss-head\embedded\docs\tutorial\junit\ide\src\main\java\org\jboss\embedded\tutorial\junit\beans" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+      </PATH>
+    </subPane>
+  </component>
+  <component name="ProjectReloadState">
+    <option name="STATE" value="0" />
+  </component>
+  <component name="ProjectView">
+    <navigator currentView="ProjectPane" proportions="0.16666667" version="1" splitterProportion="0.5">
+      <flattenPackages />
+      <showMembers />
+      <showModules />
+      <showLibraryContents />
+      <hideEmptyPackages />
+      <abbreviatePackageNames />
+      <showStructure ProjectPane="false" PackagesPane="false" Favorites="false" />
+      <autoscrollToSource />
+      <autoscrollFromSource />
+      <sortByType />
+    </navigator>
+  </component>
+  <component name="PropertiesComponent">
+    <property name="MemberChooser.copyJavadoc" value="false" />
+    <property name="GoToClass.includeLibraries" value="false" />
+    <property name="MemberChooser.showClasses" value="true" />
+    <property name="MemberChooser.sorted" value="false" />
+    <property name="GoToFile.includeJavaFiles" value="false" />
+    <property name="GoToClass.toSaveIncludeLibraries" value="false" />
+  </component>
+  <component name="ReadonlyStatusHandler">
+    <option name="SHOW_DIALOG" value="true" />
+  </component>
+  <component name="RecentsManager" />
+  <component name="RestoreUpdateTree" />
+  <component name="RunManager" selected="JUnit.org.jboss.embedded.tutorial.junit.vfstests in testWithVfs">
+    <tempConfiguration default="false" name="org.jboss.embedded.tutorial.junit.vfstests in testWithVfs" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
+      <module name="testWithVfs" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="PACKAGE_NAME" value="org.jboss.embedded.tutorial.junit.vfstests" />
+      <option name="MAIN_CLASS_NAME" />
+      <option name="METHOD_NAME" />
+      <option name="TEST_OBJECT" value="package" />
+      <option name="VM_PARAMETERS" />
+      <option name="PARAMETERS" />
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
+      <option name="ADDITIONAL_CLASS_PATH" />
+      <option name="TEST_SEARCH_SCOPE">
+        <value defaultName="singleModule" />
+      </option>
+      <RunnerSettings RunnerId="Run" />
+      <ConfigurationWrapper RunnerId="Run" />
+      <method>
+        <option name="Make" value="true" />
+      </method>
+    </tempConfiguration>
+    <configuration default="true" type="Applet" factoryName="Applet">
+      <module name="" />
+      <option name="MAIN_CLASS_NAME" />
+      <option name="HTML_FILE_NAME" />
+      <option name="HTML_USED" value="false" />
+      <option name="WIDTH" value="400" />
+      <option name="HEIGHT" value="300" />
+      <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
+      <option name="VM_PARAMETERS" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+    </configuration>
+    <configuration default="true" type="Application" factoryName="Application" enabled="false" merge="false">
+      <option name="MAIN_CLASS_NAME" />
+      <option name="VM_PARAMETERS" />
+      <option name="PROGRAM_PARAMETERS" />
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="ENABLE_SWING_INSPECTOR" value="false" />
+      <module name="" />
+    </configuration>
+    <configuration default="true" type="Remote" factoryName="Remote">
+      <option name="USE_SOCKET_TRANSPORT" value="true" />
+      <option name="SERVER_MODE" value="false" />
+      <option name="SHMEM_ADDRESS" value="javadebug" />
+      <option name="HOST" value="localhost" />
+      <option name="PORT" value="5005" />
+    </configuration>
+    <configuration default="true" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
+      <module name="" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="PACKAGE_NAME" />
+      <option name="MAIN_CLASS_NAME" />
+      <option name="METHOD_NAME" />
+      <option name="TEST_OBJECT" value="class" />
+      <option name="VM_PARAMETERS" />
+      <option name="PARAMETERS" />
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
+      <option name="ADDITIONAL_CLASS_PATH" />
+      <option name="TEST_SEARCH_SCOPE">
+        <value defaultName="wholeProject" />
+      </option>
+      <method>
+        <option name="Make" value="true" />
+      </method>
+    </configuration>
+    <configuration default="false" name="EjbTestCase" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
+      <pattern value="org.jboss.embedded.tutorial.junit.vfstests.*" />
+      <module name="testWithVfs" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="PACKAGE_NAME" value="org.jboss.embedded.tutorial.junit.vfstests" />
+      <option name="MAIN_CLASS_NAME" value="org.jboss.embedded.tutorial.junit.vfstests.EjbTestCase" />
+      <option name="METHOD_NAME" />
+      <option name="TEST_OBJECT" value="class" />
+      <option name="VM_PARAMETERS" />
+      <option name="PARAMETERS" />
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
+      <option name="ADDITIONAL_CLASS_PATH" />
+      <option name="TEST_SEARCH_SCOPE">
+        <value defaultName="wholeProject" />
+      </option>
+      <RunnerSettings RunnerId="Run" />
+      <ConfigurationWrapper RunnerId="Run" />
+      <method>
+        <option name="Make" value="true" />
+      </method>
+    </configuration>
+    <configuration name="&lt;template&gt;" type="WebApp" default="true" selected="false">
+      <Host>localhost</Host>
+      <Port>5050</Port>
+    </configuration>
+  </component>
+  <component name="ScopeViewComponent" />
+  <component name="SelectInManager" />
+  <component name="StarteamConfiguration">
+    <option name="SERVER" value="" />
+    <option name="PORT" value="49201" />
+    <option name="USER" value="" />
+    <option name="PASSWORD" value="" />
+    <option name="PROJECT" value="" />
+    <option name="VIEW" value="" />
+    <option name="ALTERNATIVE_WORKING_PATH" value="" />
+    <option name="LOCK_ON_CHECKOUT" value="false" />
+    <option name="UNLOCK_ON_CHECKIN" value="false" />
+  </component>
+  <component name="StructuralSearchPlugin" />
+  <component name="StructureViewFactory">
+    <option name="AUTOSCROLL_MODE" value="true" />
+    <option name="AUTOSCROLL_FROM_SOURCE" value="false" />
+    <option name="ACTIVE_ACTIONS" value="" />
+  </component>
+  <component name="Struts Assistant">
+    <option name="showInputs" value="true" />
+    <option name="resources">
+      <value>
+        <option name="strutsPath" />
+        <option name="strutsHelp" />
+      </value>
+    </option>
+    <option name="selectedTaglibs" />
+    <option name="selectedTaglibs" />
+    <option name="myStrutsValidationEnabled" value="true" />
+    <option name="myTilesValidationEnabled" value="true" />
+    <option name="myValidatorValidationEnabled" value="true" />
+    <option name="myReportErrorsAsWarnings" value="true" />
+  </component>
+  <component name="SvnChangesBrowserSettings">
+    <option name="USE_AUTHOR_FIELD" value="true" />
+    <option name="AUTHOR" value="" />
+    <option name="LOCATION" value="" />
+    <option name="USE_PROJECT_SETTINGS" value="true" />
+    <option name="USE_ALTERNATE_LOCATION" value="false" />
+  </component>
+  <component name="SvnConfiguration">
+    <option name="USER" value="" />
+    <option name="PASSWORD" value="" />
+    <option name="PROCESS_UNRESOLVED" value="false" />
+    <option name="LAST_MERGED_REVISION" />
+    <option name="UPDATE_RUN_STATUS" value="false" />
+    <option name="UPDATE_RECURSIVELY" value="true" />
+    <option name="MERGE_DRY_RUN" value="false" />
+    <checkoutURL>http://svn.jboss.org</checkoutURL>
+  </component>
+  <component name="TodoView" selected-index="0">
+    <todo-panel id="selected-file">
+      <are-packages-shown value="false" />
+      <are-modules-shown value="false" />
+      <flatten-packages value="false" />
+      <is-autoscroll-to-source value="true" />
+    </todo-panel>
+    <todo-panel id="all">
+      <are-packages-shown value="true" />
+      <are-modules-shown value="false" />
+      <flatten-packages value="false" />
+      <is-autoscroll-to-source value="true" />
+    </todo-panel>
+  </component>
+  <component name="ToolWindowManager">
+    <frame x="14" y="-13" width="1909" height="1172" extended-state="0" />
+    <editor active="false" />
+    <layout>
+      <window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
+      <window_info id="CVS" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
+      <window_info id="IDEtalk" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
+      <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="7" />
+      <window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.24973032" order="0" />
+      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="1" />
+      <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="1" />
+      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
+      <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" order="6" />
+      <window_info id="Module Dependencies" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
+      <window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
+      <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
+      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="1" />
+      <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
+      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32950193" order="2" />
+      <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="2" />
+      <window_info id="File View" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
+      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" order="4" />
+      <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" order="0" />
+      <window_info id="IDEtalk Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
+      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
+      <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="0" />
+      <window_info id="Web" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="2" />
+      <window_info id="EJB" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="3" />
+      <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="5" />
+    </layout>
+  </component>
+  <component name="VCS.FileViewConfiguration">
+    <option name="SELECTED_STATUSES" value="DEFAULT" />
+    <option name="SELECTED_COLUMNS" value="DEFAULT" />
+    <option name="SHOW_FILTERS" value="true" />
+    <option name="CUSTOMIZE_VIEW" value="true" />
+    <option name="SHOW_FILE_HISTORY_AS_TREE" value="true" />
+  </component>
+  <component name="VcsManagerConfiguration">
+    <option name="OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT" value="true" />
+    <option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="true" />
+    <option name="PERFORM_UPDATE_IN_BACKGROUND" value="false" />
+    <option name="PERFORM_COMMIT_IN_BACKGROUND" value="false" />
+    <option name="PUT_FOCUS_INTO_COMMENT" value="false" />
+    <option name="FORCE_NON_EMPTY_COMMENT" value="false" />
+    <option name="LAST_COMMIT_MESSAGE" />
+    <option name="SAVE_LAST_COMMIT_MESSAGE" value="true" />
+    <option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8" />
+    <option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
+    <option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" />
+    <option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" />
+    <option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" />
+    <option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" />
+    <option name="ERROR_OCCURED" value="false" />
+    <option name="ACTIVE_VCS_NAME" />
+    <option name="UPDATE_GROUP_BY_PACKAGES" value="false" />
+    <option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
+    <option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
+  </component>
+  <component name="VssConfiguration">
+    <option name="CLIENT_PATH" value="" />
+    <option name="SRCSAFEINI_PATH" value="" />
+    <option name="USER_NAME" value="" />
+    <option name="PWD" value="" />
+    <option name="VSS_IS_INITIALIZED" value="true" />
+    <CheckoutOptions>
+      <option name="COMMENT" value="" />
+      <option name="DO_NOT_GET_LATEST_VERSION" value="false" />
+      <option name="REPLACE_WRITABLE" value="false" />
+      <option name="RECURSIVE" value="false" />
+    </CheckoutOptions>
+    <CheckinOptions>
+      <option name="COMMENT" value="" />
+      <option name="KEEP_CHECKED_OUT" value="false" />
+      <option name="RECURSIVE" value="false" />
+    </CheckinOptions>
+    <AddOptions>
+      <option name="COMMENT" value="" />
+      <option name="STORE_ONLY_LATEST_VERSION" value="false" />
+      <option name="CHECK_OUT_IMMEDIATELY" value="false" />
+      <option name="FILE_TYPE" value="0" />
+    </AddOptions>
+    <UndocheckoutOptions>
+      <option name="MAKE_WRITABLE" value="false" />
+      <option name="REPLACE_LOCAL_COPY" value="0" />
+      <option name="RECURSIVE" value="false" />
+    </UndocheckoutOptions>
+    <GetOptions>
+      <option name="REPLACE_WRITABLE" value="0" />
+      <option name="MAKE_WRITABLE" value="false" />
+      <option name="ANSWER_NEGATIVELY" value="false" />
+      <option name="ANSWER_POSITIVELY" value="false" />
+      <option name="RECURSIVE" value="false" />
+      <option name="VERSION" />
+    </GetOptions>
+    <VssConfigurableExcludedFilesTag />
+  </component>
+  <component name="antWorkspaceConfiguration">
+    <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
+    <option name="FILTER_TARGETS" value="false" />
+  </component>
+  <component name="com.intellij.ide.util.scopeChooser.ScopeChooserConfigurable" proportions="" version="1">
+    <option name="myLastEditedConfigurable" />
+  </component>
+  <component name="com.intellij.openapi.roots.ui.configuration.projectRoot.ProjectRootMasterDetailsConfigurable" proportions="0.16666667" version="1">
+    <option name="myPlainMode" value="false" />
+    <option name="myLastEditedConfigurable" value="testWithVfs" />
+  </component>
+  <component name="com.intellij.profile.ui.ErrorOptionsConfigurable" proportions="" version="1">
+    <option name="myLastEditedConfigurable" />
+  </component>
+  <component name="editorHistoryManager">
+    <entry file="jar://$PROJECT_DIR$/../../../../output/lib/embedded-jboss/optional-lib/junit.jar!/junit/framework/TestSuite.class">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="5" column="13" selection-start="153" selection-end="153" vertical-scroll-proportion="0.06712735">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/tutorial-persistence.xml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="10" column="0" selection-start="389" selection-end="389" vertical-scroll-proportion="0.16781837">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/embedded/tutorial/junit/beans/CustomerDAOBean.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="34" column="13" selection-start="1331" selection-end="1331" vertical-scroll-proportion="0.20138204">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="jar://$PROJECT_DIR$/../../../../output/lib/embedded-jboss/lib/jboss-embedded-all.jar!/org/jboss/embedded/junit/TestCaseHelper.class">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="16" column="22" selection-start="581" selection-end="581" vertical-scroll-proportion="0.25172755">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/embedded/tutorial/junit/vfstests/EjbTestCase.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="181" column="0" selection-start="5530" selection-end="5530" vertical-scroll-proportion="0.9664363">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/embedded/tutorial/junit/vfstests/EasierEjbTestCase.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="44" column="13" selection-start="1845" selection-end="1845" vertical-scroll-proportion="0.1846002">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+  </component>
+</project>
+

Added: trunk/embedded/docs/tutorial/plain-java-application/build.xml
===================================================================
--- trunk/embedded/docs/tutorial/plain-java-application/build.xml	                        (rev 0)
+++ trunk/embedded/docs/tutorial/plain-java-application/build.xml	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,81 @@
+<?xml version="1.0"?>
+
+<!-- ======================================================================= -->
+<!-- JBoss build file                                                       -->
+<!-- ======================================================================= -->
+
+<project name="JBoss" default="ejbjar" basedir=".">
+
+   <property environment="env"/>
+   <property name="src.dir" value="${basedir}/src"/>
+   <property name="build.dir" value="${basedir}/build"/>
+   <property name="build.classes.dir" value="${build.dir}/classes"/>
+   <property name="lib.dir" value="../../../lib"/>
+   <property name="conf.dir" value="../../../conf"/>
+
+   <!-- Build classpath -->
+   <path id="build.classpath">
+      <!-- So that we can get jndi.properties for InitialContext and log4j.xml
+   -->
+      <fileset dir="${lib.dir}">
+         <include name="*.jar"/>
+      </fileset>
+      <pathelement location="${conf.dir}"/>
+   </path>
+
+   <!-- =================================================================== -->
+   <!-- Prepares the build directory                                        -->
+   <!-- =================================================================== -->
+   <target name="prepare">
+      <mkdir dir="${build.dir}"/>
+      <mkdir dir="${build.classes.dir}"/>
+   </target>
+
+   <!-- =================================================================== -->
+   <!-- Compiles the source code                                            -->
+   <!-- =================================================================== -->
+   <target name="compile" depends="prepare">
+      <javac srcdir="${src.dir}"
+         destdir="${build.classes.dir}"
+         debug="on"
+         deprecation="on"
+         optimize="off"
+         includes="**">
+         <classpath refid="build.classpath"/>
+      </javac>
+   </target>
+
+   <target name="ejbjar" depends="compile">
+      <jar jarfile="build/tutorial.jar">
+         <fileset dir="${build.classes.dir}">
+            <include name="**/*.class"/>
+         </fileset>
+         <fileset dir="resources">
+            <include name="META-INF/persistence.xml"/>
+         </fileset>
+      </jar>
+   </target>
+
+   <target name="run" depends="ejbjar">
+      <path id="classpath">
+         <path refid="build.classpath"/>
+         <fileset dir="${build.dir}">
+            <include name="tutorial.jar"/>
+         </fileset>
+      </path>
+
+      <java classname="org.jboss.tutorial.simple.Main" fork="yes" dir=".">
+         <classpath refid="classpath"/>
+      </java>
+   </target>
+
+   <!-- =================================================================== -->
+   <!-- Cleans up generated stuff                                           -->
+   <!-- =================================================================== -->
+   <target name="clean">
+      <delete dir="${build.dir}"/>
+   </target>
+
+
+</project>
+

Added: trunk/embedded/docs/tutorial/plain-java-application/resources/META-INF/persistence.xml
===================================================================
--- trunk/embedded/docs/tutorial/plain-java-application/resources/META-INF/persistence.xml	                        (rev 0)
+++ trunk/embedded/docs/tutorial/plain-java-application/resources/META-INF/persistence.xml	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<persistence>
+   <persistence-unit name="custdb">
+      <jta-data-source>java:/DefaultDS</jta-data-source>
+      <properties>
+         <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
+      </properties>
+   </persistence-unit>
+</persistence>

Added: trunk/embedded/docs/tutorial/plain-java-application/resources/tutorial-persistence.xml
===================================================================
--- trunk/embedded/docs/tutorial/plain-java-application/resources/tutorial-persistence.xml	                        (rev 0)
+++ trunk/embedded/docs/tutorial/plain-java-application/resources/tutorial-persistence.xml	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<persistence>
+   <persistence-unit name="custdb">
+      <jta-data-source>java:/DefaultDS</jta-data-source>
+      <properties>
+         <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
+      </properties>
+   </persistence-unit>
+</persistence>

Added: trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/ClasspathDeploy.java
===================================================================
--- trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/ClasspathDeploy.java	                        (rev 0)
+++ trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/ClasspathDeploy.java	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,43 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.embedded.tutorial.javase;
+
+import org.jboss.embedded.Bootstrap;
+
+/**
+ * comment
+ *
+ * @author <a href="bill at jboss.com">Bill Burke</a>
+ * @version $Revision: 1.1 $
+ */
+public class ClasspathDeploy extends Main
+{
+   public static void main(String[] args) throws Exception
+   {
+      Bootstrap.getInstance().bootstrap();
+      Bootstrap.getInstance().scanClasspath("tutorial.jar");
+
+      run();
+
+      Bootstrap.getInstance().shutdown();
+   }
+}

Added: trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/DeployJarFromResourceBase.java
===================================================================
--- trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/DeployJarFromResourceBase.java	                        (rev 0)
+++ trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/DeployJarFromResourceBase.java	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,46 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.embedded.tutorial.javase;
+
+import org.jboss.embedded.Bootstrap;
+import org.jboss.embedded.DeploymentGroup;
+
+/**
+ * Find a jar to deploy by providing a resource it is located in
+ *
+ * @author <a href="bill at jboss.com">Bill Burke</a>
+ * @version $Revision: 1.1 $
+ */
+public class DeployJarFromResourceBase extends Main
+{
+   public static void main(String[] args) throws Exception
+   {
+      Bootstrap.getInstance().bootstrap();
+
+      String resource = "META-INF/persistence.xml";
+      Bootstrap.getInstance().deployResourceBase(resource);
+
+      run();
+
+      Bootstrap.getInstance().shutdown();
+   }
+}

Added: trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/Main.java
===================================================================
--- trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/Main.java	                        (rev 0)
+++ trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/Main.java	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,58 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.embedded.tutorial.javase;
+
+import org.jboss.embedded.tutorial.javase.beans.CustomerDAORemote;
+import org.jboss.embedded.tutorial.javase.beans.Customer;
+import org.jboss.embedded.tutorial.javase.beans.CustomerDAOLocal;
+
+import java.util.Hashtable;
+import javax.naming.InitialContext;
+
+/**
+ * Comment
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 61136 $
+ */
+public class Main
+{
+   public static void run() throws Exception
+   {
+      InitialContext ctx = new InitialContext();
+      CustomerDAOLocal local = (CustomerDAOLocal)ctx.lookup("CustomerDAOBean/local");
+      CustomerDAORemote remote = (CustomerDAORemote)ctx.lookup("CustomerDAOBean/remote");
+
+      System.out.println("----------------------------------------------------------");
+      System.out.println("This test scans the System Property java.class.path for all annotated EJB3 classes");
+      System.out.print("    ");
+
+      int id = local.createCustomer("Gavin");
+      Customer cust = local.findCustomer(id);
+      System.out.println("Successfully created and found Gavin from @Local interface");
+
+      id = remote.createCustomer("Emmanuel");
+      cust = remote.findCustomer(id);
+      System.out.println("Successfully created and found Emmanuel from @Remote interface");
+      System.out.println("----------------------------------------------------------");
+   }
+}

Added: trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/VirtualArchiveDeploy.java
===================================================================
--- trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/VirtualArchiveDeploy.java	                        (rev 0)
+++ trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/VirtualArchiveDeploy.java	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,58 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.embedded.tutorial.javase;
+
+import org.jboss.embedded.Bootstrap;
+import org.jboss.embedded.tutorial.javase.beans.Customer;
+import org.jboss.embedded.tutorial.javase.beans.CustomerDAOBean;
+import org.jboss.embedded.tutorial.javase.beans.CustomerDAOLocal;
+import org.jboss.embedded.tutorial.javase.beans.CustomerDAORemote;
+import org.jboss.embedded.tutorial.javase.beans.ExampleMDB;
+import org.jboss.virtual.plugins.context.vfs.AssembledDirectory;
+import org.jboss.virtual.plugins.context.vfs.AssembledContextFactory;
+
+/**
+ * comment
+ *
+ * @author <a href="bill at jboss.com">Bill Burke</a>
+ * @version $Revision: 1.1 $
+ */
+public class VirtualArchiveDeploy extends Main
+{
+   public static void main(String[] args) throws Exception
+   {
+      AssembledDirectory jar = AssembledContextFactory.getInstance().create("tutorial.jar");
+      jar.addClass(Customer.class);
+      jar.addClass(CustomerDAOBean.class);
+      jar.addClass(CustomerDAOLocal.class);
+      jar.addClass(CustomerDAORemote.class);
+      jar.addClass(ExampleMDB.class);
+      jar.mkdir("META-INF").addResource("tutorial-persistence.xml");
+
+      Bootstrap.getInstance().bootstrap();
+      Bootstrap.getInstance().deploy(jar);
+
+      run();
+
+      Bootstrap.getInstance().shutdown();
+   }
+}

Added: trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/VirtualArchiveDeploy2.java
===================================================================
--- trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/VirtualArchiveDeploy2.java	                        (rev 0)
+++ trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/VirtualArchiveDeploy2.java	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,54 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.embedded.tutorial.javase;
+
+import org.jboss.virtual.plugins.context.vfs.AssembledDirectory;
+import org.jboss.virtual.plugins.context.vfs.AssembledContextFactory;
+import org.jboss.embedded.tutorial.javase.beans.Customer;
+import org.jboss.embedded.tutorial.javase.beans.CustomerDAOBean;
+import org.jboss.embedded.tutorial.javase.beans.CustomerDAOLocal;
+import org.jboss.embedded.tutorial.javase.beans.CustomerDAORemote;
+import org.jboss.embedded.Bootstrap;
+
+/**
+ * comment
+ *
+ * @author <a href="bill at jboss.com">Bill Burke</a>
+ * @version $Revision: 1.1 $
+ */
+public class VirtualArchiveDeploy2 extends Main
+{
+   public static void main(String[] args) throws Exception
+   {
+      AssembledDirectory jar = AssembledContextFactory.getInstance().create("tutorial.jar");
+      String[] includes = {"**/beans/*.class"};
+      jar.addResources(Customer.class, includes, null);
+      jar.mkdir("META-INF").addResource("tutorial-persistence.xml");
+
+      Bootstrap.getInstance().bootstrap();
+      Bootstrap.getInstance().deploy(jar);
+
+      run();
+
+      Bootstrap.getInstance().shutdown();
+   }
+}

Added: trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/beans/Customer.java
===================================================================
--- trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/beans/Customer.java	                        (rev 0)
+++ trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/beans/Customer.java	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,62 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.embedded.tutorial.javase.beans;
+
+import java.io.Serializable;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.GeneratedValue; import javax.persistence.GenerationType;
+
+/**
+ * Comment
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 61136 $
+ */
+ at Entity
+public class Customer implements Serializable
+{
+   private int id;
+   private String name;
+
+   @Id @GeneratedValue(strategy=GenerationType.AUTO)
+   public int getId()
+   {
+      return id;
+   }
+
+   public void setId(int id)
+   {
+      this.id = id;
+   }
+
+   public String getName()
+   {
+      return name;
+   }
+
+   public void setName(String name)
+   {
+      this.name = name;
+   }
+
+}

Added: trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/beans/CustomerDAOBean.java
===================================================================
--- trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/beans/CustomerDAOBean.java	                        (rev 0)
+++ trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/beans/CustomerDAOBean.java	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,51 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.embedded.tutorial.javase.beans;
+
+import javax.ejb.Stateless;
+import javax.persistence.PersistenceContext;
+import javax.persistence.EntityManager;
+
+/**
+ * Comment
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 61136 $
+ */
+ at Stateless
+public class CustomerDAOBean implements CustomerDAOLocal, CustomerDAORemote
+{
+   @PersistenceContext(unitName="custdb") private EntityManager em;
+
+   public int createCustomer(String name)
+   {
+      Customer cust = new Customer();
+      cust.setName(name);
+      em.persist(cust);
+      return cust.getId();
+   }
+
+   public Customer findCustomer(int id)
+   {
+      return em.find(Customer.class, id);
+   }
+}

Added: trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/beans/CustomerDAOLocal.java
===================================================================
--- trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/beans/CustomerDAOLocal.java	                        (rev 0)
+++ trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/beans/CustomerDAOLocal.java	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.embedded.tutorial.javase.beans;
+
+import javax.ejb.Local;
+
+/**
+ * Comment
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 61136 $
+ */
+ at Local
+public interface CustomerDAOLocal
+{
+   int createCustomer(String name);
+
+   Customer findCustomer(int id);
+}

Added: trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/beans/CustomerDAORemote.java
===================================================================
--- trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/beans/CustomerDAORemote.java	                        (rev 0)
+++ trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/beans/CustomerDAORemote.java	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.embedded.tutorial.javase.beans;
+
+import javax.ejb.Remote;
+
+/**
+ * Comment
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 61136 $
+ */
+ at Remote
+public interface CustomerDAORemote
+{
+   int createCustomer(String name);
+
+   Customer findCustomer(int id);
+}

Added: trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/beans/ExampleMDB.java
===================================================================
--- trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/beans/ExampleMDB.java	                        (rev 0)
+++ trunk/embedded/docs/tutorial/plain-java-application/src/org/jboss/embedded/tutorial/javase/beans/ExampleMDB.java	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,46 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.embedded.tutorial.javase.beans;
+
+import org.jboss.annotation.ejb.Depends;
+
+import javax.ejb.MessageDriven;
+import javax.ejb.ActivationConfigProperty;
+import javax.jms.MessageListener;
+import javax.jms.Message;
+
+ at MessageDriven(activationConfig =
+{
+        @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"),
+        @ActivationConfigProperty(propertyName="destination", propertyValue="queue/example")
+})
+ at Depends("jboss.mq.destination:name=example,service=Queue")
+public class ExampleMDB implements MessageListener
+{
+   public void onMessage(Message recvMsg)
+   {
+      System.out.println("----------------");
+      System.out.println("Received message");
+      System.out.println("----------------");
+   }
+
+}

Modified: trunk/embedded/src/main/java/org/jboss/embedded/Bootstrap.java
===================================================================
--- trunk/embedded/src/main/java/org/jboss/embedded/Bootstrap.java	2007-04-03 23:19:21 UTC (rev 62066)
+++ trunk/embedded/src/main/java/org/jboss/embedded/Bootstrap.java	2007-04-04 01:29:30 UTC (rev 62067)
@@ -38,6 +38,7 @@
 import org.jboss.aop.Dispatcher;
 
 import java.net.URL;
+import java.net.MalformedURLException;
 import java.io.IOException;
 import java.util.List;
 
@@ -232,6 +233,29 @@
       group.process();
    }
 
+   /**
+    * Deploy a URL pointing to the classpath the resource is located in.
+    *
+    * i.e.
+    *
+    * classpath is "/home/wburke/lib/tutorial.jar"
+    * tutorial.jar has "META-INF/persistence.xml" resource within it.
+    *
+    * addResourceBase("META-INF/persistence.xml") will try and deploy tutorial.jar
+    *
+    * classloader.getResource("META-INF/persistence.xml") is used to determine the base location
+    *
+    *
+    * @param baseResource
+    * @throws DeploymentException
+    */
+   public void deployResourceBase(String baseResource) throws DeploymentException
+   {
+      DeploymentGroup group = createDeploymentGroup();
+      group.addResourceBase(baseResource);
+      group.process();
+   }
+
    public void deploy(URL url) throws DeploymentException
    {
       DeploymentGroup group = createDeploymentGroup();
@@ -267,6 +291,27 @@
       group.process();
    }
 
+   public void undeployResourceBase(String baseResource) throws DeploymentException
+   {
+      ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+      if (loader != null) classLoader = loader;
+      URL url = classLoader.getResource(baseResource);
+      if (url == null) throw new RuntimeException("Could not find baseResource: " + baseResource);
+      String urlString = url.toString();
+      int idx = urlString.lastIndexOf(baseResource);
+      urlString = urlString.substring(0, idx);
+      URL deployUrl = null;
+      try
+      {
+         deployUrl = new URL(urlString);
+      }
+      catch (MalformedURLException e)
+      {
+         throw new RuntimeException(e);
+      }
+      undeploy(deployUrl);
+   }
+
    public void undeployResource(String resource) throws DeploymentException
    {
       ClassLoader classLoader = Thread.currentThread().getContextClassLoader();

Modified: trunk/embedded/src/main/java/org/jboss/embedded/DeploymentGroup.java
===================================================================
--- trunk/embedded/src/main/java/org/jboss/embedded/DeploymentGroup.java	2007-04-03 23:19:21 UTC (rev 62066)
+++ trunk/embedded/src/main/java/org/jboss/embedded/DeploymentGroup.java	2007-04-04 01:29:30 UTC (rev 62067)
@@ -330,6 +330,43 @@
    }
 
    /**
+    * Return a URL pointing to the classpath the resource is located in.
+    *
+    * i.e.
+    *
+    * classpath is "/home/wburke/lib/tutorial.jar"
+    * tutorial.jar has "META-INF/persistence.xml" resource within it.
+    *
+    * addResourceBase("META-INF/persistence.xml") will try and deploy tutorial.jar
+    *
+    *
+    * @param baseResource
+    * @throws DeploymentException
+    */
+   public void addResourceBase(String baseResource) throws DeploymentException
+   {
+      ClassLoader loader = Thread.currentThread().getContextClassLoader();
+      if (classLoader != null) loader = classLoader;
+      URL url = loader.getResource(baseResource);
+      if (url == null) throw new RuntimeException("Could not find baseResource: " + baseResource);
+      String urlString = url.toString();
+      int idx = urlString.lastIndexOf(baseResource);
+      urlString = urlString.substring(0, idx);
+      URL deployUrl = null;
+      try
+      {
+         deployUrl = new URL(urlString);
+      }
+      catch (MalformedURLException e)
+      {
+         throw new RuntimeException(e);
+      }
+      add(deployUrl);
+
+
+   }
+
+   /**
     * Search for resources using the group's configured classloader
     * if no classloader, then Thread.currentThread().getContextClassLoader() is used.
     *    classLoader.getResources(String resource)

Added: trunk/embedded/src/main/java/org/jboss/embedded/junit/BaseTestCase.java
===================================================================
--- trunk/embedded/src/main/java/org/jboss/embedded/junit/BaseTestCase.java	                        (rev 0)
+++ trunk/embedded/src/main/java/org/jboss/embedded/junit/BaseTestCase.java	2007-04-04 01:29:30 UTC (rev 62067)
@@ -0,0 +1,153 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.embedded.junit;
+
+import junit.extensions.TestSetup;
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import org.jboss.embedded.Bootstrap;
+
+import java.lang.reflect.Method;
+import java.util.HashSet;
+
+/**
+ * This base TestCase class will automatically
+ * 1. bootstrap Embedded JBoss
+ * 2. Call static methods deploy() and undeploy() of the class at setup() and tearDown()
+ *
+ * If the preProcessedTest() method is used, this creates a TestSetup that will skip step 2 above
+ * and instead call the static deploy() method before any test methods are run in the class.  Undeploy() will
+ * be called when all test methods of the class are finished.
+ *
+ * This class was designed so that all tests within the class can be run at once from your IDE, or just one test method.
+ *
+ * @author <a href="bill at jboss.com">Bill Burke</a>
+ * @version $Revision: 1.1 $
+ */
+public class BaseTestCase extends TestCase
+{
+
+   public BaseTestCase()
+   {
+   }
+
+   public BaseTestCase(String string)
+   {
+      super(string);
+   }
+
+   private static HashSet flagged = new HashSet();
+
+   @Override
+   protected void setUp() throws Exception
+   {
+      super.setUp();
+      if (flagged.contains(this.getClass())) return;
+      bootstrap();
+      try
+      {
+         Method deploy = this.getClass().getMethod("deploy");
+         deploy.invoke(null);
+      }
+      catch (NoSuchMethodException ignored)
+      {
+      }
+   }
+
+   @Override
+   protected void tearDown() throws Exception
+   {
+      super.tearDown();
+      if (flagged.contains(this.getClass())) return;
+      try
+      {
+         Method undeploy = this.getClass().getMethod("undeploy");
+         undeploy.invoke(null);
+      }
+      catch (NoSuchMethodException ignored)
+      {
+      }
+   }
+
+   private static void bootstrap()
+   {
+      if (Bootstrap.getInstance().isStarted()) return;
+
+      try
+      {
+         Bootstrap.getInstance().bootstrap();
+      }
+      catch (Exception error)
+      {
+         throw new RuntimeException("Failed to bootstrap", error);
+      }
+   }
+
+
+   public static Test preProcessedTest(final Class testClass)
+   {
+      TestSuite suite = new TestSuite();
+      suite.addTestSuite(testClass);
+
+      return new TestSetup(suite)
+      {
+         @Override
+         protected void setUp() throws Exception
+         {
+            super.setUp();
+            bootstrap();
+            try
+            {
+               Method deploy = testClass.getMethod("deploy");
+               deploy.invoke(null);
+            }
+            catch (NoSuchMethodException ignored)
+            {
+            }
+            flagged.add(testClass);
+         }
+
+         @Override
+         protected void tearDown() throws Exception
+         {
+            try
+            {
+               Method undeploy = null;
+               try
+               {
+                  undeploy = testClass.getMethod("undeploy");
+                  undeploy.invoke(null);
+               }
+               catch (NoSuchMethodException ignored)
+               {
+               }
+               super.tearDown();
+            }
+            finally
+            {
+               flagged.remove(testClass);
+            }
+         }
+      };
+   }
+}




More information about the jboss-cvs-commits mailing list