Author: dblevins
Date: Fri Sep 7 16:11:44 2007
New Revision: 573751
URL: http://svn.apache.org/viewvc?rev=573751&view=rev
Log:
The required JAXB plumbing to add a type attribute to
Container,Connector,Resource, and all items in openejb.xml.
A new service-types list attribute in the ServiceProvider element of the
service-jar.xml file.
Niether really wired in yet.
Added:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/ListAdapter.java
Modified:
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/Service.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/Container.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/PropertiesAdapter.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/ServiceProvider.java
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?rev=573751&r1=573750&r2=573751&view=diff
==============================================================================
---
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
Fri Sep 7 16:11:44 2007
@@ -239,10 +239,10 @@
sys.facilities.intraVmServer =
configureService(openejb.getProxyFactory(), ProxyFactoryInfo.class);
for (Container declaration : openejb.getContainer()) {
- Class<? extends ContainerInfo> infoClass =
getContainerInfoType(declaration.getCtype());
+ Class<? extends ContainerInfo> infoClass =
getContainerInfoType(declaration.getType());
if (infoClass == null) {
- throw new OpenEJBException("Unrecognized contianer type " +
declaration.getCtype());
+ throw new OpenEJBException("Unrecognized contianer type " +
declaration.getType());
}
ContainerInfo info = configureService(declaration, infoClass);
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?rev=573751&r1=573750&r2=573751&view=diff
==============================================================================
---
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
Fri Sep 7 16:11:44 2007
@@ -50,4 +50,8 @@
public String getProvider();
public void setProvider(String provider);
+
+ public String getType();
+
+ public void setType(String type);
}
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?rev=573751&r1=573750&r2=573751&view=diff
==============================================================================
---
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
Fri Sep 7 16:11:44 2007
@@ -56,6 +56,8 @@
protected String jar;
@XmlAttribute
protected String provider;
+ @XmlAttribute
+ protected String type;
/**
@@ -141,5 +143,13 @@
*/
public void setProvider(String value) {
this.provider = value;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
}
}
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/Container.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/Container.java?rev=573751&r1=573750&r2=573751&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/Container.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/Container.java
Fri Sep 7 16:11:44 2007
@@ -42,21 +42,20 @@
* </complexType>
* </pre>
*/
[EMAIL PROTECTED](XmlAccessType.FIELD)
[EMAIL PROTECTED](XmlAccessType.PROPERTY)
@XmlType(name = "")
@XmlRootElement(name = "Container")
public class Container extends AbstractService {
- @XmlAttribute(required = true)
- protected String ctype;
/**
* Gets the value of the ctype property.
*
* @return possible object is
* [EMAIL PROTECTED] String }
+ * @deprecated use getType instead
*/
public String getCtype() {
- return ctype;
+ return null;
}
/**
@@ -65,7 +64,8 @@
* @param value allowed object is
* [EMAIL PROTECTED] String }
*/
+ @XmlAttribute
public void setCtype(String value) {
- this.ctype = value;
+ setType(value);
}
}
Added:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/ListAdapter.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/ListAdapter.java?rev=573751&view=auto
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/ListAdapter.java
(added)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/ListAdapter.java
Fri Sep 7 16:11:44 2007
@@ -0,0 +1,38 @@
+/**
+ * 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.openejb.util.Join;
+
+import javax.xml.bind.annotation.adapters.XmlAdapter;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class ListAdapter extends XmlAdapter<String, List> {
+ public List unmarshal(String s) throws Exception {
+ String[] strings = s.split(", *");
+ return new ArrayList(Arrays.asList(strings));
+ }
+
+ public String marshal(List list) throws Exception {
+ return Join.join(", ", list);
+ }
+}
Modified:
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?rev=573751&r1=573750&r2=573751&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/PropertiesAdapter.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/sys/PropertiesAdapter.java
Fri Sep 7 16:11:44 2007
@@ -17,11 +17,17 @@
*/
package org.apache.openejb.config.sys;
+import static org.apache.openejb.util.Join.join;
import org.apache.activemq.util.ByteArrayOutputStream;
+import org.apache.openejb.util.Join;
import javax.xml.bind.annotation.adapters.XmlAdapter;
import java.io.ByteArrayInputStream;
import java.util.Properties;
+import java.util.List;
+import java.util.Collections;
+import java.util.Arrays;
+import java.util.ArrayList;
/**
* Converts a java.util.Properties object to a String in the XML file.
@@ -39,4 +45,5 @@
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?rev=573751&r1=573750&r2=573751&view=diff
==============================================================================
---
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
Fri Sep 7 16:11:44 2007
@@ -25,6 +25,8 @@
import javax.xml.bind.annotation.XmlValue;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.util.Properties;
+import java.util.List;
+import java.util.ArrayList;
/**
@@ -70,6 +72,9 @@
protected String id;
@XmlAttribute(name = "provider-type", required = true)
protected String providerType;
+ @XmlAttribute(name = "service-types", required = false)
+ @XmlJavaTypeAdapter(PropertiesAdapter.class)
+ protected List<String> serviceTypes;
/**
* Gets the value of the properties property.
@@ -236,4 +241,10 @@
this.providerType = value;
}
+ public List<String> getServiceTypes() {
+ if (serviceTypes == null){
+ serviceTypes = new ArrayList<String>();
+ }
+ return serviceTypes;
+ }
}