Is there a reason why the 7:15 PM patch was applied before the 3
PM patch?  Anyway, here's another copy of the earlier one, against the
current source.  Again, the MockDeployment* classes should be removed when
applying these two changes.

Aaron
Index: 
specs/jsr88/src/java/javax/enterprise/deploy/shared/factories/DeploymentFactoryManager.java
===================================================================
RCS file: 
/home/cvspublic/incubator-geronimo/specs/jsr88/src/java/javax/enterprise/deploy/shared/factories/DeploymentFactoryManager.java,v
retrieving revision 1.2
diff -c -r1.2 DeploymentFactoryManager.java
*** 
specs/jsr88/src/java/javax/enterprise/deploy/shared/factories/DeploymentFactoryManager.java
 16 Aug 2003 01:32:54 -0000      1.2
--- 
specs/jsr88/src/java/javax/enterprise/deploy/shared/factories/DeploymentFactoryManager.java
 16 Aug 2003 02:08:26 -0000
***************
*** 78,135 ****
      }
  
      public static DeploymentFactoryManager getInstance() {
!         if (instance == null) {
              instance = new DeploymentFactoryManager();
          }
          return instance;
      }
  
      public DeploymentFactory[] getDeploymentFactories() {
!         return (DeploymentFactory[]) deploymentFactories.toArray(new 
DeploymentFactory[]{});
      }
  
      public DeploymentManager getDeploymentManager(String uri, String 
username, String password) throws DeploymentManagerCreationException {
!         // RI doesn't care about uri being null, neither do we
! 
!         for (Iterator i = deploymentFactories.iterator(); i.hasNext();) {
!             DeploymentFactory factory = (DeploymentFactory) i.next();
!             if (factory != null) {
!                 if (factory.handlesURI(uri)) {
!                     try {
!                         return factory.getDeploymentManager(uri, username, 
password);
!                     } catch (DeploymentManagerCreationException e) {
!                         // Just like the RI we throw a new exception with a 
generic message
!                         throw new DeploymentManagerCreationException("Could 
not get DeploymentManager");
                      }
                  }
              }
          }
!         throw new DeploymentManagerCreationException("Could not get 
DeploymentManager");
      }
  
      public DeploymentManager getDisconnectedDeploymentManager(String uri) 
throws DeploymentManagerCreationException {
!         // RI doesn't care about uri being null, neither do we
! 
!         for (Iterator i = deploymentFactories.iterator(); i.hasNext();) {
!             DeploymentFactory factory = (DeploymentFactory) i.next();
!             if (factory != null) {
!                 if (factory.handlesURI(uri)) {
!                     try {
!                         return factory.getDisconnectedDeploymentManager(uri);
!                     } catch (DeploymentManagerCreationException e) {
!                         // Just like the RI we throw a new exception with a 
generic message
!                         throw new DeploymentManagerCreationException("Could 
not get DeploymentManager");
                      }
                  }
              }
          }
!         throw new DeploymentManagerCreationException("Could not get 
DeploymentManager");
      }
! 
      public void registerDeploymentFactory(DeploymentFactory factory) {
!         // apparently we dont care about null values, the Sun RI even adds 
the null
!         // to the list. So after registerDeploymentFactory(null) 
getDeploymentFactories()
!         // return an array with length 1.
!         deploymentFactories.add(factory);
      }
  }
--- 78,141 ----
      }
  
      public static DeploymentFactoryManager getInstance() {
!         if(instance == null) {
              instance = new DeploymentFactoryManager();
          }
          return instance;
      }
  
      public DeploymentFactory[] getDeploymentFactories() {
!         return (DeploymentFactory[])deploymentFactories.toArray(new 
DeploymentFactory[deploymentFactories.size()]);
      }
  
      public DeploymentManager getDeploymentManager(String uri, String 
username, String password) throws DeploymentManagerCreationException {
!         if(uri == null) {
!             throw new IllegalArgumentException("URI for DeploymentManager 
should not be null");
!         }
!         DeploymentManager manager = null;
!         for(Iterator i = deploymentFactories.iterator(); i.hasNext();) {
!             DeploymentFactory factory = (DeploymentFactory)i.next();
!             if(factory.handlesURI(uri)) {
!                 try {
!                     manager = factory.getDeploymentManager(uri, username, 
password);
!                     if(manager != null) {
!                         return manager;
                      }
+                 } catch(DeploymentManagerCreationException e) {
+                     throw new DeploymentManagerCreationException("Could not 
get DeploymentManager: "+e.getMessage());
                  }
              }
          }
!         throw new DeploymentManagerCreationException("Could not get 
DeploymentManager; No registered DeploymentFactory handles this URI");
      }
  
      public DeploymentManager getDisconnectedDeploymentManager(String uri) 
throws DeploymentManagerCreationException {
!         if(uri == null) {
!             throw new IllegalArgumentException("URI for DeploymentManager 
should not be null");
!         }
!         DeploymentManager manager = null;
!         for(Iterator i = deploymentFactories.iterator(); i.hasNext();) {
!             DeploymentFactory factory = (DeploymentFactory)i.next();
!             if(factory.handlesURI(uri)) {
!                 try {
!                     manager = factory.getDisconnectedDeploymentManager(uri);
!                     if(manager != null) {
!                         return manager;
                      }
+                 } catch(DeploymentManagerCreationException e) {
+                     throw new DeploymentManagerCreationException("Could not 
get DeploymentManager: "+e.getMessage());
                  }
              }
          }
!         throw new DeploymentManagerCreationException("Could not get 
DeploymentManager; No registered DeploymentFactory handles this URI");
      }
!     
      public void registerDeploymentFactory(DeploymentFactory factory) {
!         if(factory == null) {
!             throw new IllegalArgumentException("DeploymentFactory to register 
should not be null");
!         }
!         if(!deploymentFactories.contains(factory)) {
!             deploymentFactories.add(factory);
!         }
      }
  }
Index: 
modules/core/src/test/javax/enterprise/deploy/shared/factories/DeploymentFactoryManagerTest.java
===================================================================
RCS file: 
/home/cvspublic/incubator-geronimo/modules/core/src/test/javax/enterprise/deploy/shared/factories/DeploymentFactoryManagerTest.java,v
retrieving revision 1.1
diff -c -r1.1 DeploymentFactoryManagerTest.java
*** 
modules/core/src/test/javax/enterprise/deploy/shared/factories/DeploymentFactoryManagerTest.java
    14 Aug 2003 09:14:05 -0000      1.1
--- 
modules/core/src/test/javax/enterprise/deploy/shared/factories/DeploymentFactoryManagerTest.java
    15 Aug 2003 17:13:45 -0000
***************
*** 58,66 ****
  import junit.framework.TestCase;
  
  import javax.enterprise.deploy.spi.factories.DeploymentFactory;
- import javax.enterprise.deploy.spi.factories.MockDeploymentFactory;
  import 
javax.enterprise.deploy.spi.exceptions.DeploymentManagerCreationException;
  import javax.enterprise.deploy.spi.DeploymentManager;
  
  /**
   * Low level tests on the DeploymentFactoryManager.
--- 58,66 ----
  import junit.framework.TestCase;
  
  import javax.enterprise.deploy.spi.factories.DeploymentFactory;
  import 
javax.enterprise.deploy.spi.exceptions.DeploymentManagerCreationException;
  import javax.enterprise.deploy.spi.DeploymentManager;
+ import 
org.apache.geronimo.enterprise.deploy.provider.GeronimoDeploymentFactory;
  
  /**
   * Low level tests on the DeploymentFactoryManager.
***************
*** 80,107 ****
  
      public void testGetDeploymentManagerWithoutAnyRegisteredFactories() {
          try {
!             factoryManager.getDeploymentManager(null, null, null);
          } catch (DeploymentManagerCreationException e) {
!             assertEquals("Could not get DeploymentManager", e.getMessage());
!             return;
          }
-         fail("Expected a DeploymentManagerCreationException");
      }
  
      public void 
testDisconnectedGetDeploymentManagerWithoutAnyRegisteredFactories() {
          try {
!             factoryManager.getDisconnectedDeploymentManager(null);
          } catch (DeploymentManagerCreationException e) {
!             assertEquals("Could not get DeploymentManager", e.getMessage());
!             return;
          }
-         fail("Expected a DeploymentManagerCreationException");
      }
  
      public void testRegisterDeploymentFactory() {
          int initialNumberOfFactories = 
factoryManager.getDeploymentFactories().length;
  
!         DeploymentFactory factory = new MockDeploymentFactory();
          factoryManager.registerDeploymentFactory(factory);
  
          int expectedNumberOfFactories = initialNumberOfFactories + 1;
--- 80,133 ----
  
      public void testGetDeploymentManagerWithoutAnyRegisteredFactories() {
          try {
!             factoryManager.getDeploymentManager("invalid-uri", null, null);
!             fail("Expected a DeploymentManagerCreationException");
          } catch (DeploymentManagerCreationException e) {
!             assertTrue(e.getMessage().startsWith("Could not get 
DeploymentManager"));
          }
      }
  
      public void 
testDisconnectedGetDeploymentManagerWithoutAnyRegisteredFactories() {
          try {
!             factoryManager.getDisconnectedDeploymentManager("invalid-uri");
!             fail("Expected a DeploymentManagerCreationException");
          } catch (DeploymentManagerCreationException e) {
!             assertTrue(e.getMessage().startsWith("Could not get 
DeploymentManager"));
!         }
!     }
! 
!     public void testGetDeploymentManagerWithNullURI() {
!         try {
!             factoryManager.getDeploymentManager(null, null, null);
!             fail("Expected an IllegalArgumentException");
!         } catch (IllegalArgumentException e) {
!         } catch(DeploymentManagerCreationException e) {
!             fail("Unexpected Exception: "+e.getMessage());
!         }
!     }
! 
!     public void testDisconnectedGetDeploymentManagerWithNullURI() {
!         try {
!             factoryManager.getDisconnectedDeploymentManager(null);
!             fail("Expected an IllegalArgumentException");
!         } catch (IllegalArgumentException e) {
!         } catch(DeploymentManagerCreationException e) {
!             fail("Unexpected Exception: "+e.getMessage());
!         }
!     }
! 
!     public void testRegisterNull() {
!         try {
!             factoryManager.registerDeploymentFactory(null);
!             fail("Should have gotten an IllegalArgumentException");
!         } catch(IllegalArgumentException e) {
          }
      }
  
      public void testRegisterDeploymentFactory() {
          int initialNumberOfFactories = 
factoryManager.getDeploymentFactories().length;
  
!         DeploymentFactory factory = new GeronimoDeploymentFactory();
          factoryManager.registerDeploymentFactory(factory);
  
          int expectedNumberOfFactories = initialNumberOfFactories + 1;
***************
*** 110,151 ****
          assertEquals(expectedNumberOfFactories, currentNumberOfFactories);
      }
  
-     /**
-      * Relies on succesful completion of @link 
#testRegisterDeploymentFactory()
-      * bacause we need a registered DeploymentManager for this test.
-      */
      public void testGetDeploymentManager() {
!         int numberOfFactories = 
factoryManager.getDeploymentFactories().length;
!         assertTrue("We should have a registered MockDeploymentFactory", 
numberOfFactories > 0);
  
          DeploymentManager deploymentManager = null;
          try {
!             deploymentManager = factoryManager.getDeploymentManager(null, 
null, null);
          } catch (DeploymentManagerCreationException e) {
              fail("Didn't expect a DeploymentManagerException here.");
          }
!         assertNotNull("Expected an instance of the MockDeploymentManager", 
deploymentManager);
      }
  
      public void testDeploymentManagerCreationException() {
          try {
              
factoryManager.getDisconnectedDeploymentManager("throw-exception");
          } catch (DeploymentManagerCreationException e) {
!             assertEquals("Could not get DeploymentManager", e.getMessage());
!             return;
          }
-         fail("Expected a DeploymentManagerCreationException");
      }
  
!     public void testGetNullDeploymentManagerCreationException() {
!         DeploymentManager disconnectedDeploymentManager = null;
!         try {
!             disconnectedDeploymentManager = 
factoryManager.getDisconnectedDeploymentManager("return-null");
!         } catch (DeploymentManagerCreationException e) {
!             fail("Didn't expect a DeploymentManagerException here.");
          }
!         // Apperently the DeploymentFactoryManager doesn't care about the 
DeploymentFactory
!         // returning null
!         assertNull(disconnectedDeploymentManager);
      }
  }
--- 136,178 ----
          assertEquals(expectedNumberOfFactories, currentNumberOfFactories);
      }
  
      public void testGetDeploymentManager() {
!         ensureFactoryRegistered();
!         DeploymentManager deploymentManager = null;
!         try {
!             deploymentManager = 
factoryManager.getDeploymentManager("deployer:geronimo://server:port/application",
 "username", "password");
!         } catch (DeploymentManagerCreationException e) {
!             fail("Didn't expect a DeploymentManagerException here.");
!         }
!         assertNotNull("Expected an instance of the DeploymentManager", 
deploymentManager);
!     }
  
+     public void testGetDisconnectedDeploymentManager() {
+         ensureFactoryRegistered();
          DeploymentManager deploymentManager = null;
          try {
!             deploymentManager = 
factoryManager.getDeploymentManager("deployer:geronimo:", null, null);
          } catch (DeploymentManagerCreationException e) {
              fail("Didn't expect a DeploymentManagerException here.");
          }
!         assertNotNull("Expected an instance of the DeploymentManager", 
deploymentManager);
      }
  
      public void testDeploymentManagerCreationException() {
+         ensureFactoryRegistered();
          try {
              
factoryManager.getDisconnectedDeploymentManager("throw-exception");
+             fail("Expected a DeploymentManagerCreationException");
          } catch (DeploymentManagerCreationException e) {
!             assertTrue(e.getMessage().startsWith("Could not get 
DeploymentManager"));
          }
      }
  
!     private void ensureFactoryRegistered() {
!         int numberOfFactories = 
factoryManager.getDeploymentFactories().length;
!         if(numberOfFactories == 0) {
!             factoryManager.registerDeploymentFactory(new 
GeronimoDeploymentFactory());
          }
!         assertTrue("We should have a registered DeploymentFactory", 
numberOfFactories > 0);
      }
  }

Reply via email to