Author: djencks
Date: Sun Jun 27 16:46:18 2010
New Revision: 958394

URL: http://svn.apache.org/viewvc?rev=958394&view=rev
Log:
DataSource must be a Keyable, add a useful translation method for IsolationLevel

Modified:
    
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/DataSource.java
    
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/IsolationLevel.java

Modified: 
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/DataSource.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/DataSource.java?rev=958394&r1=958393&r2=958394&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/DataSource.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/DataSource.java
 Sun Jun 27 16:46:18 2010
@@ -91,7 +91,7 @@ import javax.xml.bind.annotation.adapter
     "maxIdleTime",
     "maxStatements"
 })
-public class DataSource {
+public class DataSource implements Keyable<String> {
 
     @XmlTransient
     protected TextMap description = new TextMap();
@@ -287,4 +287,8 @@ public class DataSource {
         this.id = value;
     }
 
+    @Override
+    public String getKey() {
+        return name;
+    }
 }

Modified: 
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/IsolationLevel.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/IsolationLevel.java?rev=958394&r1=958393&r2=958394&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/IsolationLevel.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/IsolationLevel.java
 Sun Jun 27 16:46:18 2010
@@ -18,6 +18,7 @@ package org.apache.openejb.jee;
 
 import javax.xml.bind.annotation.XmlEnum;
 import javax.xml.bind.annotation.XmlType;
+import java.sql.Connection;
 
 /**
  * javaee6.xsd
@@ -56,4 +57,24 @@ public enum IsolationLevel {
         return valueOf(v);
     }
 
+    public static IsolationLevel fromFlag(int flag) {
+        if (flag == Connection.TRANSACTION_READ_UNCOMMITTED) {
+            return TRANSACTION_READ_UNCOMMITTED;
+        }
+        if (flag == Connection.TRANSACTION_READ_COMMITTED) {
+            return TRANSACTION_READ_COMMITTED;
+        }
+        if (flag == Connection.TRANSACTION_REPEATABLE_READ) {
+            return TRANSACTION_REPEATABLE_READ;
+        }
+        if (flag == Connection.TRANSACTION_SERIALIZABLE) {
+            return TRANSACTION_SERIALIZABLE;
+        }
+        //-1 is the annotation default
+        if (flag == Connection.TRANSACTION_NONE || flag == -1) {
+            return null;
+        }
+        throw new IllegalArgumentException("Invalid isolation level flag: " + 
flag);
+    }
+
 }


Reply via email to