Package org.jboss.test.metadata.ejb

Source Code of org.jboss.test.metadata.ejb.JBossEntityBeanOverrideUnitTestCase

/*
* 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.test.metadata.ejb;


import org.jboss.metadata.ejb.jboss.CacheInvalidationConfigMetaData;
import org.jboss.metadata.ejb.jboss.ClusterConfigMetaData;
import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
import org.jboss.metadata.ejb.jboss.JBossEntityBeanMetaData;
import org.jboss.metadata.ejb.spec.CMPFieldMetaData;
import org.jboss.metadata.ejb.spec.CMPFieldsMetaData;
import org.jboss.metadata.ejb.spec.PersistenceType;
import org.jboss.metadata.ejb.spec.QueriesMetaData;
import org.jboss.metadata.ejb.spec.QueryMetaData;
import org.jboss.metadata.javaee.spec.SecurityRoleRefMetaData;
import org.jboss.metadata.javaee.spec.SecurityRoleRefsMetaData;


/**
* A JBossEntityBeanOverrideUnitTestCase.
*
* @author <a href="alex@jboss.com">Alexey Loubyansky</a>
* @version $Revision: 1.1 $
*/
public class JBossEntityBeanOverrideUnitTestCase
   extends AbstractJBossEnterpriseBeanOverrideTest
{
   public void testSimpleProperties() throws Exception
   {
      simplePropertiesTest(JBossEntityBeanMetaData.class, JBossEnterpriseBeanMetaData.class, null);
   }
  
   public void testPersistenceType() throws Exception
   {
      JBossEntityBeanMetaData original = new JBossEntityBeanMetaData();
      original.setEjbName("entity");
      original.setPersistenceType(PersistenceType.Container);

      JBossEntityBeanMetaData override = new JBossEntityBeanMetaData();
      override.setEjbName("entity");
      override.setPersistenceType(PersistenceType.Bean);

      JBossEntityBeanMetaData merged = new JBossEntityBeanMetaData();
      merged.merge(override, original);
      assertEquals("entity", merged.getEjbName());
      PersistenceType persistenceType = merged.getPersistenceType();
      assertNotNull(persistenceType);
      assertEquals(PersistenceType.Bean, persistenceType);
   }
  
   public void testCMPFields() throws Exception
   {
      JBossEntityBeanMetaData original = new JBossEntityBeanMetaData();
      original.setEjbName("entity");

      CMPFieldsMetaData cmpFields = new CMPFieldsMetaData();
      CMPFieldMetaData cmpField = new CMPFieldMetaData();
      cmpField.setFieldName("field1");
      cmpFields.add(cmpField);
      original.setCmpFields(cmpFields);
     
      JBossEntityBeanMetaData override = new JBossEntityBeanMetaData();
      override.setEjbName("entity");

      cmpFields = new CMPFieldsMetaData();
      cmpField = new CMPFieldMetaData();
      cmpField.setFieldName("field2");
      cmpFields.add(cmpField);
      override.setCmpFields(cmpFields);
     
      JBossEntityBeanMetaData merged = new JBossEntityBeanMetaData();
      merged.merge(override, original);
      cmpFields = merged.getCmpFields();
      assertNotNull(cmpFields);
     
      // not sure it's right
      assertEquals(2, cmpFields.size());
   }
  
   public void testSecurityRoleRefs() throws Exception
   {
      JBossEntityBeanMetaData original = new JBossEntityBeanMetaData();
      original.setEjbName("entity");

      SecurityRoleRefsMetaData roleRefs = new SecurityRoleRefsMetaData();
      SecurityRoleRefMetaData roleRef = new SecurityRoleRefMetaData();
      roleRef.setRoleName("role1");
      roleRef.setRoleLink(roleRef.getRoleName() + "Original");
      roleRefs.add(roleRef);
      roleRef = new SecurityRoleRefMetaData();
      roleRef.setRoleName("role2");
      roleRef.setRoleLink(roleRef.getRoleName() + "Original");
      roleRefs.add(roleRef);
      original.setSecurityRoleRefs(roleRefs);
     
      JBossEntityBeanMetaData override = new JBossEntityBeanMetaData();
      override.setEjbName("entity");
     
      roleRefs = new SecurityRoleRefsMetaData();
      roleRef = new SecurityRoleRefMetaData();
      roleRef.setRoleName("role2");
      roleRef.setRoleLink(roleRef.getRoleName() + "Override");
      roleRefs.add(roleRef);
      roleRef = new SecurityRoleRefMetaData();
      roleRef.setRoleName("role3");
      roleRef.setRoleLink(roleRef.getRoleName() + "Override");
      roleRefs.add(roleRef);
      override.setSecurityRoleRefs(roleRefs);

      JBossEntityBeanMetaData merged = new JBossEntityBeanMetaData();
      merged.merge(override, original);
      roleRefs = merged.getSecurityRoleRefs();
      assertNotNull(roleRefs);
      assertEquals(3, roleRefs.size());
      roleRef = roleRefs.get("role1");
      assertNotNull(roleRef);
      assertEquals(roleRef.getRoleName() + "Original", roleRef.getRoleLink());
      roleRef = roleRefs.get("role2");
      assertNotNull(roleRef);
      assertEquals(roleRef.getRoleName() + "Override", roleRef.getRoleLink());
      roleRef = roleRefs.get("role3");
      assertNotNull(roleRef);
      assertEquals(roleRef.getRoleName() + "Override", roleRef.getRoleLink());
   }
  
   public void testClusterConfig() throws Exception
   {
      JBossEntityBeanMetaData original = new JBossEntityBeanMetaData();
      original.setEjbName("entity");

      ClusterConfigMetaData clusterConfig = new ClusterConfigMetaData();
      clusterConfig.setBeanLoadBalancePolicy("beanPolicyOriginal");
      clusterConfig.setHomeLoadBalancePolicy("homePolicyOriginal");
      //clusterConfig.setLoadBalancePolicy("policyOriginal");
      clusterConfig.setPartitionName("partitionOriginal");
      clusterConfig.setSessionStateManagerJndiName("stateManagerOriginal");
      original.setClusterConfig(clusterConfig);
     
      JBossEntityBeanMetaData override = new JBossEntityBeanMetaData();
      override.setEjbName("entity");
      clusterConfig = new ClusterConfigMetaData();
      clusterConfig.setBeanLoadBalancePolicy("beanPolicyOverride");
      clusterConfig.setHomeLoadBalancePolicy("homePolicyOverride");
      //clusterConfig.setLoadBalancePolicy("policyOverride");
      clusterConfig.setPartitionName("partitionOverride");
      clusterConfig.setSessionStateManagerJndiName("stateManagerOverride");
      override.setClusterConfig(clusterConfig);
     
      JBossEntityBeanMetaData merged = new JBossEntityBeanMetaData();
      merged.merge(override, original);
      clusterConfig = merged.getClusterConfig();
      assertNotNull(clusterConfig);
      assertEquals("beanPolicyOverride", clusterConfig.getBeanLoadBalancePolicy());
      assertEquals("homePolicyOverride", clusterConfig.getHomeLoadBalancePolicy());
      assertEquals("beanPolicyOverride", clusterConfig.getLoadBalancePolicy());
      assertEquals("partitionOverride", clusterConfig.getPartitionName());
      assertEquals("stateManagerOverride", clusterConfig.getSessionStateManagerJndiName());
   }
  
   public void testCacheInvalidation() throws Exception
   {
      JBossEntityBeanMetaData original = new JBossEntityBeanMetaData();
      original.setEjbName("entity");

      CacheInvalidationConfigMetaData cacheInv = new CacheInvalidationConfigMetaData();
      cacheInv.setInvalidationGroupName("originalGroup");
      cacheInv.setInvalidationManagerName("originalManager");
      original.setCacheInvalidationConfig(cacheInv);
     
      JBossEntityBeanMetaData override = new JBossEntityBeanMetaData();
      override.setEjbName("entity");
     
      cacheInv = new CacheInvalidationConfigMetaData();
      //cacheInv.setInvalidationGroupName("overrideGroup");
      cacheInv.setInvalidationManagerName("overrideManager");
      override.setCacheInvalidationConfig(cacheInv);
     
      JBossEntityBeanMetaData merged = new JBossEntityBeanMetaData();
      merged.merge(override, original);
      cacheInv = merged.getCacheInvalidationConfig();
      assertNotNull(cacheInv);
      assertEquals("originalGroup", cacheInv.getInvalidationGroupName());
      assertEquals("overrideManager", cacheInv.getInvalidationManagerName());
   }

   public void testQueries() throws Exception
   {
      JBossEntityBeanMetaData original = new JBossEntityBeanMetaData();
      original.setEjbName("entity");

      QueriesMetaData queries = new QueriesMetaData();
      original.setQueries(queries);
      QueryMetaData query = new QueryMetaData();
      query.setEjbQL("select from original");
      queries.add(query);
     
      JBossEntityBeanMetaData override = new JBossEntityBeanMetaData();
      override.setEjbName("entity");

      queries = new QueriesMetaData();
      override.setQueries(queries);
      query = new QueryMetaData();
      query.setEjbQL("select from override");
      queries.add(query);
     
      JBossEntityBeanMetaData merged = new JBossEntityBeanMetaData();
      merged.merge(override, original);
      queries = merged.getQueries();
      assertNotNull(queries);
      assertEquals(1, queries.size());
      query = queries.get(0);
      assertNotNull(query);
      assertEquals("select from override", query.getEjbQL());
   }
}
TOP

Related Classes of org.jboss.test.metadata.ejb.JBossEntityBeanOverrideUnitTestCase

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.