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);
}
}