Author: dain
Date: Tue Jun 26 14:31:25 2007
New Revision: 550960
URL: http://svn.apache.org/viewvc?view=rev&rev=550960
Log:
Convert content string into a Properties object using a XmlAdapter
Removed all legacy getFooArray and addFoo methods from JaxB tree
Added:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/PropertiesAdapter.java
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigUtils.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/Deploy.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentsResolver.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/Service.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ServiceUtils.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/AbstractService.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/Openejb.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/ServiceProvider.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/ServicesJar.java
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigUtils.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigUtils.java?view=diff&rev=550960&r1=550959&r2=550960
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigUtils.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigUtils.java
Tue Jun 26 14:31:25 2007
@@ -173,7 +173,7 @@
File jar = new File(jarLocation);
/* Check to see if the entry is already listed */
- for (Deployments d : config.getDeploymentsArray()) {
+ for (Deployments d : config.getDeployments()) {
if (d.getJar() != null) {
try {
@@ -214,7 +214,7 @@
/* Create a new Deployments entry */
Deployments dep = JaxbOpenejb.createDeployments();
dep.setJar(jarLocation);
- config.addDeployments(dep);
+ config.getDeployments().add(dep);
return true;
}
}
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java?view=diff&rev=550960&r1=550959&r2=550960
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
Tue Jun 26 14:31:25 2007
@@ -65,9 +65,7 @@
import org.apache.openejb.util.Messages;
import javax.xml.bind.JAXBException;
-import java.io.ByteArrayInputStream;
import java.io.File;
-import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
@@ -204,8 +202,7 @@
sys.facilities = new FacilitiesInfo();
- for (JndiProvider provider : openejb.getJndiProviderArray()) {
-
+ for (JndiProvider provider : openejb.getJndiProvider()) {
JndiContextInfo info = configureService(provider,
JndiContextInfo.class);
sys.facilities.remoteJndiContexts.add(info);
}
@@ -215,16 +212,19 @@
sys.facilities.transactionService =
configureService(openejb.getTransactionManager(), TransactionServiceInfo.class);
// convert legacy connector declarations to resource declarations
- for (Connector connector : openejb.getConnectorArray()) {
+ for (Connector connector : openejb.getConnector()) {
Resource resource = JaxbOpenejb.createResource();
resource.setJar(connector.getJar());
resource.setId(connector.getId());
resource.setProvider(connector.getProvider());
- resource.setContent(connector.getContent());
- openejb.addResource(resource);
+
+ resource.getProperties().clear();
+ resource.getProperties().putAll(connector.getProperties());
+
+ openejb.getResource().add(resource);
}
- for (Resource resource : openejb.getResourceArray()) {
+ for (Resource resource : openejb.getResource()) {
ResourceInfo resourceInfo = configureService(resource,
ResourceInfo.class);
sys.facilities.resources.add(resourceInfo);
}
@@ -234,8 +234,7 @@
sys.facilities.intraVmServer =
configureService(openejb.getProxyFactory(), ProxyFactoryInfo.class);
- for (Container declaration : openejb.getContainerArray()) {
-
+ for (Container declaration : openejb.getContainer()) {
Class<? extends ContainerInfo> infoClass =
getContainerInfoType(declaration.getCtype());
if (infoClass == null) {
@@ -248,8 +247,7 @@
}
- List<String> jarList =
DeploymentsResolver.resolveAppLocations(openejb.getDeploymentsArray());
-
+ List<String> jarList =
DeploymentsResolver.resolveAppLocations(openejb.getDeployments());
for (String pathname : jarList) {
try {
@@ -271,12 +269,8 @@
AppInfo appInfo = null;
try {
-
AppModule appModule = deploymentLoader.load(jarFile);
-
appInfo = configureApplication(appModule);
-
-
} catch (OpenEJBException e) {
String message = messages.format("conf.0004",
jarFile.getAbsolutePath(), e.getMessage());
// DO NOT REMOVE THE EXCEPTION FROM THIS LOG MESSAGE
@@ -343,7 +337,6 @@
JndiEncInfoBuilder.initJndiReferences(appModule, appInfo);
for (ClientModule clientModule : appModule.getClientModules()) {
-
ApplicationClient applicationClient =
clientModule.getApplicationClient();
ClientInfo clientInfo = new ClientInfo();
clientInfo.description = applicationClient.getDescription();
@@ -467,7 +460,8 @@
return configureService(type);
}
- Properties declaredProperties = getDeclaredProperties(service);
+ Properties declaredProperties = new Properties();
+ declaredProperties.putAll(service.getProperties());
return configureService(type, service.getId(), declaredProperties,
service.getProvider(), service.getClass().getSimpleName());
}
@@ -510,9 +504,8 @@
}
logger.info("Configuring Service(id=" + serviceId + ", type=" +
provider.getProviderType() + ", provider-id=" + provider.getId() + ")");
- Properties props = getDefaultProperties(provider);
-
-
+ Properties props = new Properties();
+ props.putAll(provider.getProperties());
props.putAll(declaredProperties);
Properties serviceProperties = getSystemProperties(serviceId);
@@ -568,56 +561,6 @@
return serviceProperties;
}
- private Properties getDeclaredProperties(Service service) throws
OpenEJBException {
- /* 3. Load properties from the content in the Container
- * element of the configuration file.
- */
- Properties declaredProperties = new Properties();
- try {
- if (service.getContent() != null) {
- String content = service.getContent();
- ByteArrayInputStream in = new
ByteArrayInputStream(content.getBytes());
-
- try {
- declaredProperties.load(in);
- } catch (IOException ex) {
- throw new
OpenEJBException(ServiceUtils.messages.format("conf.0012",
ex.getLocalizedMessage()), ex);
- }
-
- }
- } catch (OpenEJBException ex) {
- throw new
OpenEJBException(ServiceUtils.messages.format("conf.0014",
service.getClass().getSimpleName(), service.getId(), configLocation,
ex.getLocalizedMessage()), ex);
- }
- return declaredProperties;
- }
-
- private Properties getDefaultProperties(ServiceProvider provider) throws
OpenEJBException {
- Properties props = new Properties();
-
- try {
- /*
- * 2. Load properties from the content in the service provider
- * element of the service-jar.xml
- */
-
- if (provider.getContent() != null) {
- String content = provider.getContent();
-
- ByteArrayInputStream in = new
ByteArrayInputStream(content.getBytes());
-
- try {
- props.load(in);
- } catch (IOException ex) {
- throw new
OpenEJBException(ServiceUtils.messages.format("conf.0012",
ex.getLocalizedMessage()), ex);
- }
-
- }
- } catch (OpenEJBException ex) {
- throw new
OpenEJBException(ServiceUtils.messages.format("conf.0013", provider.getId(),
null, ex.getLocalizedMessage()), ex);
- }
- return props;
- }
-
static Map<String, Class<? extends ContainerInfo>> containerTypes = new
HashMap<String, Class<? extends ContainerInfo>>();
static {
@@ -665,8 +608,8 @@
// The only time we'd have one of these is if we were building
// the above sys instance
if (openejb != null) {
- for (Resource resource : openejb.getResourceArray()) {
- if (isResourceType(resource, type)) {
+ for (Resource resource : openejb.getResource()) {
+ if (isResourceType(resource.getProperties(), type)) {
resourceIds.add(resource.getId());
}
}
@@ -687,24 +630,6 @@
return false;
}
- private static boolean isResourceType(Resource resource, String type) {
- if (type == null) return true;
-
- Properties properties = new Properties();
- if (resource.getContent() != null) {
- String content = resource.getContent();
- ByteArrayInputStream in = new
ByteArrayInputStream(content.getBytes());
-
- try {
- properties.load(in);
- } catch (IOException ex) {
- }
-
- }
-
- return isResourceType(properties, type);
- }
-
protected List<String> getContainerIds() {
List<String> containerIds = new ArrayList<String>();
@@ -723,7 +648,7 @@
// The only time we'd have one of these is if we were building
// the above sys instance
if (openejb != null) {
- for (Container container : openejb.getContainerArray()) {
+ for (Container container : openejb.getContainer()) {
containerIds.add(container.getId());
}
}
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/Deploy.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/Deploy.java?view=diff&rev=550960&r1=550959&r2=550960
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/Deploy.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/Deploy.java
Tue Jun 26 14:31:25 2007
@@ -16,37 +16,6 @@
*/
package org.apache.openejb.config;
-import java.io.DataInputStream;
-import java.io.File;
-import java.io.InputStream;
-import java.io.PrintStream;
-import java.lang.reflect.Method;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.ejb.Stateless;
-
-import org.apache.openejb.OpenEJBException;
-import org.apache.openejb.jee.oejb3.EjbDeployment;
-import org.apache.openejb.jee.oejb3.MethodParams;
-import org.apache.openejb.jee.oejb3.OpenejbJar;
-import org.apache.openejb.jee.oejb3.QueryMethod;
-import org.apache.openejb.jee.oejb3.ResourceLink;
-import org.apache.openejb.config.sys.Openejb;
-import org.apache.openejb.config.sys.Connector;
-import org.apache.openejb.config.sys.Container;
-import org.apache.openejb.config.sys.JaxbOpenejb;
-import org.apache.openejb.jee.ResourceRef;
-import org.apache.openejb.loader.SystemInstance;
-import org.apache.openejb.util.JarUtils;
-import org.apache.openejb.util.Logger;
-import org.apache.openejb.util.Messages;
-import org.apache.openejb.util.SafeToolkit;
-import org.apache.openejb.util.OpenEjbVersion;
-
/**
* Deploy EJB beans
*/
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentsResolver.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentsResolver.java?view=diff&rev=550960&r1=550959&r2=550960
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentsResolver.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentsResolver.java
Tue Jun 26 14:31:25 2007
@@ -26,7 +26,6 @@
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
@@ -40,7 +39,7 @@
private static final String CLASSPATH_EXCLUDE =
"openejb.deployments.classpath.exclude";
private static final String CLASSPATH_REQUIRE_DESCRIPTOR =
"openejb.deployments.classpath.require.descriptor";
- private static void loadFrom(Deployments dep, FileUtils path, List
jarList) {
+ private static void loadFrom(Deployments dep, FileUtils path, List<String>
jarList) {
////////////////////////////////
//
@@ -113,8 +112,9 @@
}
}
- public static List<String> resolveAppLocations(Deployments...
deploymentsArray) {
- List<Deployments> deployments = new
ArrayList<Deployments>(Arrays.asList(deploymentsArray));
+ public static List<String> resolveAppLocations(List<Deployments>
deployments) {
+ // make a copy of the list because we update it
+ deployments = new ArrayList<Deployments>(deployments);
//// getOption ///////////////////////////////// BEGIN
////////////////////
String flag =
SystemInstance.get().getProperty("openejb.deployments.classpath",
"true").toLowerCase();
@@ -130,7 +130,7 @@
FileUtils base = SystemInstance.get().getBase();
- List<String> jarList = new ArrayList(deployments.size());
+ List<String> jarList = new ArrayList<String>(deployments.size());
try {
for (Deployments deployment : deployments) {
if (deployment.getClasspath() != null) {
@@ -139,9 +139,9 @@
loadFrom(deployment, base, jarList);
}
}
- } catch (SecurityException se) {
-
+ } catch (SecurityException ignored) {
}
+
return jarList;
}
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/Service.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/Service.java?view=diff&rev=550960&r1=550959&r2=550960
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/Service.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/Service.java
Tue Jun 26 14:31:25 2007
@@ -16,10 +16,28 @@
*/
package org.apache.openejb.config;
-public interface Service {
- public String getContent();
+import java.util.Properties;
- public void setContent(String content);
+public interface Service {
+ /**
+ * Gets the value of the properties property.
+ * <p/>
+ * <p/>
+ * This accessor method returns a reference to the live Properties Object,
+ * not a snapshot. Therefore any modification you make to the
+ * returned Properties will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the properties
property.
+ * <p/>
+ * <p/>
+ * For example, to add a new value, do as follows:
+ * <pre>
+ * getProperties().setProperty(key, value);
+ * </pre>
+ * <p/>
+ * <p/>
+ * <p/>
+ */
+ public Properties getProperties();
public String getId();
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ServiceUtils.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ServiceUtils.java?view=diff&rev=550960&r1=550959&r2=550960
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ServiceUtils.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ServiceUtils.java
Tue Jun 26 14:31:25 2007
@@ -31,6 +31,7 @@
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
+import java.util.List;
public class ServiceUtils {
public static final String defaultProviderURL = "org.apache.openejb";
@@ -88,8 +89,8 @@
ServicesJar servicesJar = JaxbOpenejb.readServicesJar(packageName);
// index services by provider id
- ServiceProvider[] serviceProviders =
servicesJar.getServiceProviderArray();
- services = new HashMap<String,
ServiceProvider>(serviceProviders.length);
+ List<ServiceProvider> serviceProviders =
servicesJar.getServiceProvider();
+ services = new HashMap<String,
ServiceProvider>(serviceProviders.size());
for (ServiceProvider serviceProvider : serviceProviders) {
services.put(serviceProvider.getId(), serviceProvider);
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/AbstractService.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/AbstractService.java?view=diff&rev=550960&r1=550959&r2=550960
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/AbstractService.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/AbstractService.java
Tue Jun 26 14:31:25 2007
@@ -24,6 +24,8 @@
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import java.util.Properties;
/**
* <p>Java class for Service complex type.
@@ -46,7 +48,8 @@
@XmlType(name = "Service")
public abstract class AbstractService implements Service {
@XmlValue
- protected String content;
+ @XmlJavaTypeAdapter(PropertiesAdapter.class)
+ protected Properties properties;
@XmlAttribute(required = true)
protected String id;
@XmlAttribute
@@ -54,24 +57,30 @@
@XmlAttribute
protected String provider;
- /**
- * Gets the value of the value property.
- *
- * @return possible object is
- * [EMAIL PROTECTED] String }
- */
- public String getContent() {
- return content;
- }
/**
- * Sets the value of the value property.
- *
- * @param content allowed object is
- * [EMAIL PROTECTED] String }
+ * Gets the value of the properties property.
+ * <p/>
+ * <p/>
+ * This accessor method returns a reference to the live Properties Object,
+ * not a snapshot. Therefore any modification you make to the
+ * returned Properties will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the properties
property.
+ * <p/>
+ * <p/>
+ * For example, to add a new value, do as follows:
+ * <pre>
+ * getProperties().setProperty(key, value);
+ * </pre>
+ * <p/>
+ * <p/>
+ * <p/>
*/
- public void setContent(String content) {
- this.content = content;
+ public Properties getProperties() {
+ if (properties == null) {
+ properties = new Properties();
+ }
+ return properties;
}
/**
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/Openejb.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/Openejb.java?view=diff&rev=550960&r1=550959&r2=550960
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/Openejb.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/Openejb.java
Tue Jun 26 14:31:25 2007
@@ -289,76 +289,4 @@
}
return this.deployments;
}
-
-
- /**
- * @deprecated use collections version
- */
- public void addConnector(Connector connector) throws
IndexOutOfBoundsException {
- this.connector.add(connector);
- }
-
- /**
- * @deprecated use collections version
- */
- public Connector[] getConnectorArray() {
- return getConnector().toArray(new Connector[connector.size()]);
- }
-
- /**
- * @deprecated use collections version
- */
- public void addContainer(Container container) throws
IndexOutOfBoundsException {
- this.container.add(container);
- }
-
- /**
- * @deprecated use collections version
- */
- public Container[] getContainerArray() {
- return getContainer().toArray(new Container[container.size()]);
- }
-
- /**
- * @deprecated use collections version
- */
- public void addDeployments(Deployments deployments) throws
IndexOutOfBoundsException {
- this.deployments.add(deployments);
- }
-
- /**
- * @deprecated use collections version
- */
- public Deployments[] getDeploymentsArray() {
- return getDeployments().toArray(new Deployments[deployments.size()]);
- }
-
- /**
- * @deprecated use collections version
- */
- public void addJndiProvider(JndiProvider jndiProvider) throws
IndexOutOfBoundsException {
- this.jndiProvider.add(jndiProvider);
- }
-
- /**
- * @deprecated use collections version
- */
- public JndiProvider[] getJndiProviderArray() {
- return getJndiProvider().toArray(new
JndiProvider[jndiProvider.size()]);
- }
-
- /**
- * @deprecated use collections version
- */
- public void addResource(Resource resource) throws
IndexOutOfBoundsException {
- this.resource.add(resource);
- }
-
- /**
- * @deprecated use collections version
- */
- public Resource[] getResourceArray() {
- return getResource().toArray(new Resource[resource.size()]);
- }
-
}
Added:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/PropertiesAdapter.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/PropertiesAdapter.java?view=auto&rev=550960
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/PropertiesAdapter.java
(added)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/PropertiesAdapter.java
Tue Jun 26 14:31:25 2007
@@ -0,0 +1,42 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.openejb.config.sys;
+
+import org.apache.activemq.util.ByteArrayOutputStream;
+
+import javax.xml.bind.annotation.adapters.XmlAdapter;
+import java.io.ByteArrayInputStream;
+import java.util.Properties;
+
+/**
+ * Converts a java.util.Properties object to a String in the XML file.
+ */
+public class PropertiesAdapter extends XmlAdapter<String, Properties> {
+ public Properties unmarshal(String s) throws Exception {
+ Properties properties = new Properties();
+ ByteArrayInputStream in = new ByteArrayInputStream(s.getBytes());
+ properties.load(in);
+ return properties;
+ }
+
+ public String marshal(Properties properties) throws Exception {
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ properties.store(out, null);
+ return new String(out.toByteArray());
+ }
+}
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/ServiceProvider.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/ServiceProvider.java?view=diff&rev=550960&r1=550959&r2=550960
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/ServiceProvider.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/ServiceProvider.java
Tue Jun 26 14:31:25 2007
@@ -23,6 +23,8 @@
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import java.util.Properties;
/**
@@ -52,7 +54,8 @@
public class ServiceProvider {
@XmlValue
- protected String content;
+ @XmlJavaTypeAdapter(PropertiesAdapter.class)
+ protected Properties properties;
@XmlAttribute(name = "class-name")
protected String className;
@XmlAttribute(name = "constructor")
@@ -69,23 +72,28 @@
protected String providerType;
/**
- * Gets the value of the value property.
- *
- * @return possible object is
- * [EMAIL PROTECTED] String }
+ * Gets the value of the properties property.
+ * <p/>
+ * <p/>
+ * This accessor method returns a reference to the live Properties Object,
+ * not a snapshot. Therefore any modification you make to the
+ * returned Properties will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the properties
property.
+ * <p/>
+ * <p/>
+ * For example, to add a new value, do as follows:
+ * <pre>
+ * getProperties().setProperty(key, value);
+ * </pre>
+ * <p/>
+ * <p/>
+ * <p/>
*/
- public String getContent() {
- return content;
- }
-
- /**
- * Sets the value of the value property.
- *
- * @param content allowed object is
- * [EMAIL PROTECTED] String }
- */
- public void setContent(String content) {
- this.content = content;
+ public Properties getProperties() {
+ if (properties == null) {
+ properties = new Properties();
+ }
+ return properties;
}
/**
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/ServicesJar.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/ServicesJar.java?view=diff&rev=550960&r1=550959&r2=550960
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/ServicesJar.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/ServicesJar.java
Tue Jun 26 14:31:25 2007
@@ -77,15 +77,4 @@
}
return this.serviceProvider;
}
-
- public void addServiceProvider(ServiceProvider serviceProvider) throws
IndexOutOfBoundsException {
- this.serviceProvider.add(serviceProvider);
- }
-
- /**
- * @deprecated use collections version
- */
- public ServiceProvider[] getServiceProviderArray() {
- return getServiceProvider().toArray(new
ServiceProvider[serviceProvider.size()]);
- }
}