[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