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);
+ }
+
}