[jboss-cvs] JBossAS SVN: r66435 - in projects/metadata/trunk/src: test/java/org/jboss/test/metadata/ejb and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Oct 25 10:26:52 EDT 2007


Author: wolfc
Date: 2007-10-25 10:26:52 -0400 (Thu, 25 Oct 2007)
New Revision: 66435

Added:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/CacheConfigMetaData.java
Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss5xEverything_testEverything.xml
Log:
JBAS-4506: cache config

Copied: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/CacheConfigMetaData.java (from rev 66417, projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/CacheConfig.java)
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/CacheConfigMetaData.java	                        (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/CacheConfigMetaData.java	2007-10-25 14:26:52 UTC (rev 66435)
@@ -0,0 +1,129 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.metadata.ejb.jboss;
+
+import javax.xml.bind.annotation.XmlElement;
+
+
+/**
+ * Represents an <cache-config> element of the jboss.xml deployment descriptor
+ *
+ * @author <a href="mailto:bdecoste at jboss.com">William DeCoste</a>
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version <tt>$Revision$</tt>
+ */
+public class CacheConfigMetaData
+{
+   private String cacheClass = null;
+   private Integer maxSize = null;
+   private Integer idleTimeoutSeconds = null;
+   private Integer removeTimeoutSeconds = null;
+   private String name = null;
+   private String persistenceManager = null;
+   private String replicationIsPassivation = null;
+
+   public String getPersistenceManager()
+   {
+      return persistenceManager;
+   }
+
+   public void setPersistenceManager(String persistenceManager)
+   {
+      this.persistenceManager = persistenceManager;
+   }
+   
+   public String getCacheClass()
+   {
+      return cacheClass;
+   }
+
+   public void setCacheClass(String cacheClass)
+   {
+      this.cacheClass = cacheClass;
+   }
+
+   public Integer getMaxSize()
+   {
+      return maxSize;
+   }
+
+   @XmlElement(name="cache-max-size")
+   public void setMaxSize(Integer maxSize)
+   {
+      this.maxSize = maxSize;
+   }
+   
+   public Integer getIdleTimeoutSeconds()
+   {
+      return idleTimeoutSeconds;
+   }
+
+   public void setIdleTimeoutSeconds(Integer idleTimeoutSeconds)
+   {
+      this.idleTimeoutSeconds = idleTimeoutSeconds;
+   }
+   
+   public Integer getRemoveTimeoutSeconds()
+   {
+      return removeTimeoutSeconds;
+   }
+
+   public void setRemoveTimeoutSeconds(Integer removeTimeoutSeconds)
+   {
+      this.removeTimeoutSeconds = removeTimeoutSeconds;
+   }
+   
+   public String getName()
+   {
+      return name;
+   }
+
+   @XmlElement(name="cache-name")
+   public void setName(String name)
+   {
+      this.name = name;
+   }   
+
+   public String getReplicationIsPassivation()
+   {
+      return replicationIsPassivation;
+   }
+
+   public void setReplicationIsPassivation(String replicationIsPassivation)
+   {
+      this.replicationIsPassivation = replicationIsPassivation;
+   }
+
+   public String toString()
+   {
+      StringBuffer sb = new StringBuffer(100);
+      sb.append("[");
+      sb.append("cacheClass=").append(cacheClass);
+      sb.append(", maxSize=").append(maxSize);
+      sb.append(", idleTimeoutSeconds=").append(idleTimeoutSeconds);
+      sb.append(", name=").append(name);
+      sb.append(", replicationIsPassivation=").append(replicationIsPassivation);
+      sb.append("]");
+      return sb.toString();
+   }
+
+}

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java	2007-10-25 14:26:24 UTC (rev 66434)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java	2007-10-25 14:26:52 UTC (rev 66435)
@@ -120,7 +120,8 @@
    /** The ejb timeout identity */
    private SecurityIdentityMetaData ejbTimeoutIdentity;
 
-   // TODO DOM cache config
+   /** The cache configuration */
+   private CacheConfigMetaData cacheConfig;
    
    /** Whether the bean is concurrent */
    private boolean concurrent = false;
@@ -139,6 +140,16 @@
       return true;
    }
 
+   public CacheConfigMetaData getCacheConfig()
+   {
+      return this.cacheConfig;
+   }
+   
+   public void setCacheConfig(CacheConfigMetaData cacheConfig)
+   {
+      this.cacheConfig = cacheConfig;
+   }
+   
    /**
     * Get the home.
     * 

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java	2007-10-25 14:26:24 UTC (rev 66434)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java	2007-10-25 14:26:52 UTC (rev 66435)
@@ -31,6 +31,7 @@
 import org.jboss.metadata.common.jboss.LoaderRepositoryMetaData;
 import org.jboss.metadata.common.jboss.WebserviceDescriptionMetaData;
 import org.jboss.metadata.common.jboss.WebserviceDescriptionsMetaData;
+import org.jboss.metadata.ejb.jboss.CacheConfigMetaData;
 import org.jboss.metadata.ejb.jboss.ClusterConfigMetaData;
 import org.jboss.metadata.ejb.jboss.CommitOption;
 import org.jboss.metadata.ejb.jboss.ContainerConfigurationMetaData;
@@ -226,6 +227,17 @@
       assertEquals(expectedInvokerNames, invokerNames);
    }
 
+   public void assertCacheConfig(String prefix, int num, CacheConfigMetaData cacheConfig)
+   {
+      assertNotNull(prefix, cacheConfig);
+      assertEquals(prefix + "CacheClass", cacheConfig.getCacheClass());
+      assertEquals(10 * num, (int) cacheConfig.getMaxSize());
+      assertEquals(11 * num, (int) cacheConfig.getIdleTimeoutSeconds());
+      assertEquals(12 * num, (int) cacheConfig.getRemoveTimeoutSeconds());
+      assertEquals(prefix + "CacheName", cacheConfig.getName());
+      assertEquals(prefix + "PersistenceManager", cacheConfig.getPersistenceManager());
+   }
+   
    public void assertEverything(JBossMetaData jbossMetaData, Mode mode)
    {
       assertVersion(jbossMetaData);
@@ -328,8 +340,8 @@
       assertEquals(9, enterpriseBeansMetaData.size());
 
       assertNullSessionBean("session0", jbossMetaData);
-      assertFullSessionBean("session1", jbossMetaData, true, mode);
-      assertFullSessionBean("session2", jbossMetaData, false, mode);
+      assertFullSessionBean("session1", jbossMetaData, true, mode, 1);
+      assertFullSessionBean("session2", jbossMetaData, false, mode, 2);
 
       assertNullEntityBean("entity0", jbossMetaData);
       assertFullEntityBean("entity1", jbossMetaData, true, mode);
@@ -376,7 +388,7 @@
       return ejb;
    }
 */   
-   private void assertFullSessionBean(String prefix, JBossMetaData jbossMetaData, boolean first, Mode mode)
+   private void assertFullSessionBean(String prefix, JBossMetaData jbossMetaData, boolean first, Mode mode, int num)
    {
       JBossSessionBeanMetaData session = assertJBossSessionBean(prefix, jbossMetaData);
       assertId(prefix, session);
@@ -429,6 +441,8 @@
 
       assertEquals(prefix + "AOPDomain", session.getAopDomainName());
       
+      assertCacheConfig(prefix, num, session.getCacheConfig());
+      
       if (this.hasStandardJBoss)
       {
          ContainerConfigurationMetaData ccmd = session.determineContainerConfiguration();

Modified: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss5xEverything_testEverything.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss5xEverything_testEverything.xml	2007-10-25 14:26:24 UTC (rev 66434)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss5xEverything_testEverything.xml	2007-10-25 14:26:52 UTC (rev 66435)
@@ -461,7 +461,14 @@
 
          <aop-domain-name>session1AOPDomain</aop-domain-name>         
          
-         <!-- TODO cache config -->
+         <cache-config>
+            <cache-class>session1CacheClass</cache-class>
+            <cache-max-size>10</cache-max-size>
+            <idle-timeout-seconds>11</idle-timeout-seconds>
+            <remove-timeout-seconds>12</remove-timeout-seconds>
+            <cache-name>session1CacheName</cache-name>
+            <persistence-manager>session1PersistenceManager</persistence-manager>
+         </cache-config>
          
          <!-- TODO pool config -->
 
@@ -897,7 +904,14 @@
 
          <aop-domain-name>session2AOPDomain</aop-domain-name>         
          
-         <!-- TODO cache config -->
+         <cache-config>
+            <cache-class>session2CacheClass</cache-class>
+            <cache-max-size>20</cache-max-size>
+            <idle-timeout-seconds>22</idle-timeout-seconds>
+            <remove-timeout-seconds>24</remove-timeout-seconds>
+            <cache-name>session2CacheName</cache-name>
+            <persistence-manager>session2PersistenceManager</persistence-manager>
+         </cache-config>
          
          <!-- TODO pool config -->
 




More information about the jboss-cvs-commits mailing list