You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2007/01/16 16:11:15 UTC
svn commit: r496723 - in
/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config:
AutoConfigAndDeploy.java ConfigurationFactory.java
Author: dblevins
Date: Tue Jan 16 07:11:14 2007
New Revision: 496723
URL: http://svn.apache.org/viewvc?view=rev&rev=496723
Log:
Magic public methods to call for configuring ServiceInfos
Modified:
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/AutoConfigAndDeploy.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/ConfigurationFactory.java
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/AutoConfigAndDeploy.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/AutoConfigAndDeploy.java?view=diff&rev=496723&r1=496722&r2=496723
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/AutoConfigAndDeploy.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/AutoConfigAndDeploy.java Tue Jan 16 07:11:14 2007
@@ -92,7 +92,7 @@
String containerId = getUsableContainer(containerInfoType);
if (containerId == null){
- ContainerInfo containerInfo = configFactory.configureDefaultService(containerInfoType);
+ ContainerInfo containerInfo = configFactory.configureService(containerInfoType);
logger.warning("Auto-creating a container for bean " + ejbDeployment.getDeploymentId() + ": Container(type=" + bean.getType() + ", id=" + containerInfo.id + ")");
configFactory.install(containerInfo);
containerId = containerInfo.id;
@@ -107,7 +107,7 @@
// create the container if it doesn't exist
if (!configFactory.getContainerIds().contains(ejbDeployment.getContainerId())) {
- ContainerInfo containerInfo = configFactory.configureDefaultService(ConfigurationFactory.getContainerInfoType(bean.getType()));
+ ContainerInfo containerInfo = configFactory.configureService(ConfigurationFactory.getContainerInfoType(bean.getType()));
logger.warning("Auto-creating a container for bean " + ejbDeployment.getDeploymentId() + ": Container(type=" + bean.getType() + ", id=" + containerInfo.id + ")");
configFactory.install(containerInfo);
@@ -127,7 +127,7 @@
if (!connectorMap.contains(resRefName)) {
String name = resRefName.replaceFirst(".*/", "");
if (!connectorMap.contains(name)) {
- ConnectorInfo connectorInfo = configFactory.configureDefaultService(ConnectorInfo.class);
+ ConnectorInfo connectorInfo = configFactory.configureService(ConnectorInfo.class);
id = connectorInfo.id = name;
logger.warning("Auto-creating a connector for res-ref-name '" + resRefName + "' in bean '" + ejbDeployment.getDeploymentId() + "': Connector(id=" + id + "). THERE IS LITTLE CHANCE THIS WILL WORK!");
configFactory.install(connectorInfo);
@@ -147,7 +147,7 @@
if (connectorMap.size() > 0) {
id = connectorMap.get(0);
} else {
- ConnectorInfo connectorInfo = configFactory.configureDefaultService(ConnectorInfo.class);
+ ConnectorInfo connectorInfo = configFactory.configureService(ConnectorInfo.class);
id = connectorInfo.id;
logger.warning("Auto-creating a connector with res-id " + link.getResId() + " for bean '"+ejbDeployment.getDeploymentId()+"'. THERE IS LITTLE CHANCE THIS WILL WORK!");
configFactory.install(connectorInfo);
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/ConfigurationFactory.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/ConfigurationFactory.java?view=diff&rev=496723&r1=496722&r2=496723
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/ConfigurationFactory.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/ConfigurationFactory.java Tue Jan 16 07:11:14 2007
@@ -327,7 +327,7 @@
defaultProviders.put(ConnectorInfo.class, new DefaultService("Default JDBC Database", Connector.class));
}
- protected <T extends ServiceInfo> T configureDefaultService(Class<? extends T> type) throws OpenEJBException {
+ public <T extends ServiceInfo> T configureService(Class<? extends T> type) throws OpenEJBException {
DefaultService defaultService = defaultProviders.get(type);
Service service = null;
@@ -345,27 +345,47 @@
private <T extends ServiceInfo>T configureService(Service service, Class<? extends T> type) throws OpenEJBException {
if (service == null) {
- return configureDefaultService(type);
+ return configureService(type);
}
- String providerId = (service.getProvider() != null) ? service.getProvider() : service.getId();
+ Properties declaredProperties = getDeclaredProperties(service);
+
+ return configureService(type, service.getId(), declaredProperties, service.getProvider(), service.getClass().getSimpleName());
+ }
+
+ /**
+ *
+ * @param type required
+ * @param serviceId required
+ * @param declaredProperties optional
+ * @param providerId optional
+ * @param serviceType optional
+ * @return
+ * @throws OpenEJBException
+ */
+ public <T extends ServiceInfo>T configureService(Class<? extends T> type, String serviceId, Properties declaredProperties, String providerId, String serviceType) throws OpenEJBException {
+ if (type == null) throw new NullPointerException("type");
+ if (serviceId == null) throw new NullPointerException("serviceId");
+ if (providerId == null){
+ providerId = serviceId;
+ }
+ if (declaredProperties == null){
+ declaredProperties = new Properties();
+ }
ServiceProvider provider = ServiceUtils.getServiceProvider(providerId);
Properties props = getDefaultProperties(provider);
- Properties declaredProperties = getDeclaredProperties(service);
props.putAll(declaredProperties);
- String serviceId = service.getId();
Properties serviceProperties = getSystemProperties(serviceId);
props.putAll(serviceProperties);
- Properties properties = props;
- if (!provider.getProviderType().equals(service.getClass().getSimpleName())) {
- throw new OpenEJBException(messages.format("conf.4902", service, service.getClass().getSimpleName()));
+ if (serviceType != null && !provider.getProviderType().equals(serviceType)) {
+ throw new OpenEJBException(messages.format("conf.4902", serviceId, serviceType));
}
T info = null;
@@ -377,12 +397,11 @@
}
info.serviceType = provider.getProviderType();
- info.codebase = service.getJar();
info.description = provider.getDescription();
info.displayName = provider.getDisplayName();
info.className = provider.getClassName();
- info.id = service.getId();
- info.properties = properties;
+ info.id = serviceId;
+ info.properties = props;
info.constructorArgs.addAll(parseConstructorArgs(provider));
// String serviceId = serviceType + ":" + info.id;