Author: dblevins
Date: Wed Jun  2 06:25:42 2010
New Revision: 950383

URL: http://svn.apache.org/viewvc?rev=950383&view=rev
Log:
Consolidate StatefulTimeout and AccessTimeout to one Timeout class.
Replace Duration usage in the Info tree to a new TimeoutInfo class.
Relates to OPENEJB-1144 and OPENEJB-1146

Added:
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/TimeoutInfo.java
   (with props)
    
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Timeout.java
   (contents, props changed)
      - copied, changed from r950373, 
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/AccessTimeout.java
Removed:
    
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/AccessTimeout.java
    
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/StatefulTimeout.java
Modified:
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanBuilder.java
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanInfo.java
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java
    
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/SessionBean.java

Modified: 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanBuilder.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanBuilder.java?rev=950383&r1=950382&r2=950383&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanBuilder.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanBuilder.java
 Wed Jun  2 06:25:42 2010
@@ -29,6 +29,7 @@ import org.apache.openejb.util.Index;
 import org.apache.openejb.util.Messages;
 import org.apache.openejb.util.SafeToolkit;
 import org.apache.openejb.util.Classes;
+import org.apache.openejb.util.Duration;
 
 import javax.naming.Context;
 import javax.naming.NamingException;
@@ -41,6 +42,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Arrays;
+import java.util.concurrent.TimeUnit;
 
 class EnterpriseBeanBuilder {
     protected static final Messages messages = new 
Messages("org.apache.openejb.util.resources");
@@ -162,9 +164,14 @@ class EnterpriseBeanBuilder {
 
         // ejbTimeout
         deployment.setEjbTimeout(getTimeout(ejbClass, bean.timeoutMethod));
-        
-        deployment.setStatefulTimeout(bean.statefulTimeout);
-        deployment.setAccessTimeout(bean.accessTimeout);
+
+        if (bean.statefulTimeout != null) {
+            deployment.setStatefulTimeout(new 
Duration(bean.statefulTimeout.time, 
TimeUnit.valueOf(bean.statefulTimeout.unit)));
+        }
+
+        if (bean.accessTimeout != null) {
+            deployment.setAccessTimeout(new Duration(bean.accessTimeout.time, 
TimeUnit.valueOf(bean.accessTimeout.unit)));
+        }
 
         if (bean instanceof StatefulBeanInfo) {
             StatefulBeanInfo statefulBeanInfo = (StatefulBeanInfo) bean;

Modified: 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanInfo.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanInfo.java?rev=950383&r1=950382&r2=950383&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanInfo.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanInfo.java
 Wed Jun  2 06:25:42 2010
@@ -20,8 +20,6 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Properties;
 
-import org.apache.openejb.util.Duration;
-
 public abstract class EnterpriseBeanInfo extends InfoObject {
 
     public static final int ENTITY = 0;
@@ -78,6 +76,6 @@ public abstract class EnterpriseBeanInfo
     public boolean loadOnStartup;
     public final List<String> dependsOn = new ArrayList<String>() ;
     
-    public Duration statefulTimeout;
-    public Duration accessTimeout;
+    public TimeoutInfo statefulTimeout;
+    public TimeoutInfo accessTimeout;
 }

Added: 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/TimeoutInfo.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/TimeoutInfo.java?rev=950383&view=auto
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/TimeoutInfo.java
 (added)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/TimeoutInfo.java
 Wed Jun  2 06:25:42 2010
@@ -0,0 +1,25 @@
+/**
+ * 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.assembler.classic;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class TimeoutInfo extends InfoObject {
+    public long time;
+    public String unit;
+}

Propchange: 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/TimeoutInfo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java?rev=950383&r1=950382&r2=950383&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java
 Wed Jun  2 06:25:42 2010
@@ -25,7 +25,6 @@ import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
-import java.util.concurrent.TimeUnit;
 
 import org.apache.openejb.OpenEJBException;
 import org.apache.openejb.assembler.classic.ApplicationExceptionInfo;
@@ -54,7 +53,8 @@ import org.apache.openejb.assembler.clas
 import org.apache.openejb.assembler.classic.SingletonBeanInfo;
 import org.apache.openejb.assembler.classic.StatefulBeanInfo;
 import org.apache.openejb.assembler.classic.StatelessBeanInfo;
-import org.apache.openejb.jee.AccessTimeout;
+import org.apache.openejb.assembler.classic.TimeoutInfo;
+import org.apache.openejb.jee.Timeout;
 import org.apache.openejb.jee.ActivationConfig;
 import org.apache.openejb.jee.ActivationConfigProperty;
 import org.apache.openejb.jee.ApplicationException;
@@ -92,12 +92,10 @@ import org.apache.openejb.jee.SecurityRo
 import org.apache.openejb.jee.SecurityRoleRef;
 import org.apache.openejb.jee.SessionBean;
 import org.apache.openejb.jee.SessionType;
-import org.apache.openejb.jee.StatefulTimeout;
 import org.apache.openejb.jee.TransactionType;
 import org.apache.openejb.jee.oejb3.EjbDeployment;
 import org.apache.openejb.jee.oejb3.Jndi;
 import org.apache.openejb.jee.oejb3.ResourceLink;
-import org.apache.openejb.util.Duration;
 import org.apache.openejb.util.LogCategory;
 import org.apache.openejb.util.Logger;
 import org.apache.openejb.util.Messages;
@@ -566,16 +564,18 @@ public class EjbJarInfoBuilder {
         bean.serviceEndpoint = s.getServiceEndpoint();
         bean.properties.putAll(d.getProperties());
 
-        final StatefulTimeout statefulTimeout = s.getStatefulTimeout();
+        final Timeout statefulTimeout = s.getStatefulTimeout();
         if(statefulTimeout != null) {
-               bean.statefulTimeout = new 
Duration(statefulTimeout.getTimeout(), 
-                               TimeUnit.valueOf(statefulTimeout.getUnit()));
+               bean.statefulTimeout = new TimeoutInfo();
+            bean.statefulTimeout.time = statefulTimeout.getTimeout();
+            bean.statefulTimeout.unit = statefulTimeout.getUnit();
         }
 
-        final AccessTimeout accessTimeout = s.getAccessTimeout();
+        final Timeout accessTimeout = s.getAccessTimeout();
         if(accessTimeout != null) {
-               bean.accessTimeout = new Duration(accessTimeout.getTimeout(), 
-                               TimeUnit.valueOf(accessTimeout.getUnit()));
+            bean.accessTimeout = new TimeoutInfo();
+            bean.accessTimeout.time = accessTimeout.getTimeout();
+            bean.accessTimeout.unit = accessTimeout.getUnit();
         }
 
         return bean;

Modified: 
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/SessionBean.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/SessionBean.java?rev=950383&r1=950382&r2=950383&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/SessionBean.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/SessionBean.java
 Wed Jun  2 06:25:42 2010
@@ -219,10 +219,10 @@ public class SessionBean implements Remo
     protected List<String> dependsOn;
     
     @XmlElement(name = "stateful-timeout", required = true)
-    protected StatefulTimeout statefulTimeout;
+    protected Timeout statefulTimeout;
     
     @XmlElement(name = "access-timeout", required = true)
-    protected AccessTimeout accessTimeout;
+    protected Timeout accessTimeout;
 
     @XmlAttribute
     @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@@ -713,19 +713,19 @@ public class SessionBean implements Remo
         this.id = value;
     }
 
-       public StatefulTimeout getStatefulTimeout() {
+       public Timeout getStatefulTimeout() {
                return statefulTimeout;
        }
 
-       public void setStatefulTimeout(StatefulTimeout statefulTimeout) {
+       public void setStatefulTimeout(Timeout statefulTimeout) {
                this.statefulTimeout = statefulTimeout;
        }
 
-       public AccessTimeout getAccessTimeout() {
+       public Timeout getAccessTimeout() {
                return accessTimeout;
        }
 
-       public void setAccessTimeout(AccessTimeout accessTimeout) {
+       public void setAccessTimeout(Timeout accessTimeout) {
                this.accessTimeout = accessTimeout;
        }
 

Copied: 
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Timeout.java
 (from r950373, 
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/AccessTimeout.java)
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Timeout.java?p2=openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Timeout.java&p1=openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/AccessTimeout.java&r1=950373&r2=950383&rev=950383&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/AccessTimeout.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Timeout.java
 Wed Jun  2 06:25:42 2010
@@ -24,7 +24,7 @@ import javax.xml.bind.annotation.XmlType
 
 @XmlAccessorType(XmlAccessType.FIELD)
 @XmlType(name = "access-timeoutType", propOrder = { "timeout", "unit" })
-public class AccessTimeout {
+public class Timeout {
 
        @XmlElement(name = "timeout", required = true)
        private Integer timeout;

Propchange: 
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Timeout.java
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to