Author: genspring
Date: Sat Sep 10 01:33:09 2011
New Revision: 1167431
URL: http://svn.apache.org/viewvc?rev=1167431&view=rev
Log:
OPENEJB-1258 Boolean conversion problem in ejb-jar.xml
Added:
openejb/branches/openejb-3.0.x/container/openejb-jee/src/main/java/org/apache/openejb/jee/BooleanAdapter.java
Modified:
openejb/branches/openejb-3.0.x/container/openejb-jee/src/main/java/org/apache/openejb/jee/EntityBean.java
Added:
openejb/branches/openejb-3.0.x/container/openejb-jee/src/main/java/org/apache/openejb/jee/BooleanAdapter.java
URL:
http://svn.apache.org/viewvc/openejb/branches/openejb-3.0.x/container/openejb-jee/src/main/java/org/apache/openejb/jee/BooleanAdapter.java?rev=1167431&view=auto
==============================================================================
---
openejb/branches/openejb-3.0.x/container/openejb-jee/src/main/java/org/apache/openejb/jee/BooleanAdapter.java
(added)
+++
openejb/branches/openejb-3.0.x/container/openejb-jee/src/main/java/org/apache/openejb/jee/BooleanAdapter.java
Sat Sep 10 01:33:09 2011
@@ -0,0 +1,43 @@
+/**
+ * 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.jee;
+
+import javax.xml.bind.annotation.adapters.XmlAdapter;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class BooleanAdapter extends XmlAdapter<String, Boolean> {
+
+ public Boolean unmarshal(String value) throws Exception {
+ value = value.trim();
+ if (value.equals("1") || value.equalsIgnoreCase("true")) {
+ return Boolean.TRUE;
+ } else if (value.equals("0") || value.equalsIgnoreCase("false")) {
+ return Boolean.FALSE;
+ } else {
+ throw new IllegalArgumentException("String \"" + value + "\" is
not a valid boolean value");
+ }
+ }
+
+ public String marshal(Boolean value) throws Exception {
+ if (value == null) {
+ return null;
+ }
+ return (value.booleanValue()) ? "true" : "false";
+ }
+}
Modified:
openejb/branches/openejb-3.0.x/container/openejb-jee/src/main/java/org/apache/openejb/jee/EntityBean.java
URL:
http://svn.apache.org/viewvc/openejb/branches/openejb-3.0.x/container/openejb-jee/src/main/java/org/apache/openejb/jee/EntityBean.java?rev=1167431&r1=1167430&r2=1167431&view=diff
==============================================================================
---
openejb/branches/openejb-3.0.x/container/openejb-jee/src/main/java/org/apache/openejb/jee/EntityBean.java
(original)
+++
openejb/branches/openejb-3.0.x/container/openejb-jee/src/main/java/org/apache/openejb/jee/EntityBean.java
Sat Sep 10 01:33:09 2011
@@ -184,6 +184,7 @@ public class EntityBean implements Enter
protected PersistenceType persistenceType;
@XmlElement(name = "prim-key-class", required = true)
protected String primKeyClass;
+ @XmlJavaTypeAdapter(type = boolean.class, value = BooleanAdapter.class)
@XmlElement(required = true)
protected boolean reentrant;
@XmlElement(name = "cmp-version", defaultValue = "2.x")