TIA, Maas
jsr88-DeploymentFactoryManagerTest.jar
Description: Zip archive
Index: incubator-geronimo/modules/core/src/java/javax/enterprise/deploy/shared/factories/DeploymentFactoryManager.java
===================================================================
RCS file: /home/cvspublic/incubator-geronimo/modules/core/src/java/javax/enterprise/deploy/shared/factories/DeploymentFactoryManager.java,v
retrieving revision 1.1
diff -u -r1.1 DeploymentFactoryManager.java
--- incubator-geronimo/modules/core/src/java/javax/enterprise/deploy/shared/factories/DeploymentFactoryManager.java 13 Aug 2003 19:42:07 -0000 1.1
+++ incubator-geronimo/modules/core/src/java/javax/enterprise/deploy/shared/factories/DeploymentFactoryManager.java 13 Aug 2003 22:30:49 -0000
@@ -62,29 +62,67 @@
import javax.enterprise.deploy.spi.exceptions.DeploymentManagerCreationException;
import javax.enterprise.deploy.spi.DeploymentManager;
import javax.enterprise.deploy.spi.factories.DeploymentFactory;
+import java.util.Iterator;
+import java.util.ArrayList;
public class DeploymentFactoryManager {
- /[EMAIL PROTECTED] imlement */
+ private static DeploymentFactoryManager instance;
+
+ private ArrayList deploymentFactories = new ArrayList();
+
public static DeploymentFactoryManager getInstance() {
- return null;
+ if (instance == null) {
+ instance = new DeploymentFactoryManager();
+ }
+ return instance;
}
- /[EMAIL PROTECTED] imlement */
+ 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);
+ }
+
public DeploymentFactory[] getDeploymentFactories() {
- return null;
+ return (DeploymentFactory[]) deploymentFactories.toArray(new DeploymentFactory[]{});
}
- /[EMAIL PROTECTED] imlement */
public DeploymentManager getDeploymentManager(String uri, String username, String password) throws DeploymentManagerCreationException {
- return null;
- }
+ // RI doesn't care about uri being null, neither do we
- /[EMAIL PROTECTED] imlement */
- public void registerDeploymentFactory(DeploymentFactory factory) {
+ 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");
}
- /[EMAIL PROTECTED] imlement */
public DeploymentManager getDisconnectedDeploymentManager(String uri) throws DeploymentManagerCreationException {
- return null;
+ // 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");
}
}
