Package org.jboss.metadata.ejb.jboss

Examples of org.jboss.metadata.ejb.jboss.JBossAssemblyDescriptorMetaData


   }
  
   public void testPrincipalVersusRolesMap() throws Exception
   {
      JBossMetaData jbossXmlMetaData = unmarshal();
      JBossAssemblyDescriptorMetaData assemblyDescriptor = jbossXmlMetaData.getAssemblyDescriptor();
      assertNotNull(assemblyDescriptor);
      Map<String,Set<String>> principalVersusRolesMap = assemblyDescriptor.getPrincipalVersusRolesMap();
      assertNotNull(principalVersusRolesMap);
      Map<String,Set<String>> expected = new HashMap<String, Set<String>>();
      expected.put("principal1", toSet("test1", "test2", "test3"));
      expected.put("principal2", toSet("test2", "test3"));
      expected.put("principal3", toSet("test3"));
View Full Code Here


{
   public void testAssemblyAppExceptionsOverride()
   {
      // original
      JBoss50MetaData original = new JBoss50MetaData();
      JBossAssemblyDescriptorMetaData assembly = new JBossAssemblyDescriptorMetaData();
      original.setAssemblyDescriptor(assembly);
      ApplicationExceptionsMetaData exceptions = new ApplicationExceptionsMetaData();
      assembly.setApplicationExceptions(exceptions);
     
      ApplicationExceptionMetaData exc = new ApplicationExceptionMetaData();
      exc.setExceptionClass("original.only.Exception");
      exc.setRollback(true);
      exceptions.add(exc);
      exc = new ApplicationExceptionMetaData();
      exc.setExceptionClass("overriden.Exception");
      exc.setRollback(false);
      exceptions.add(exc);

      // override
      JBoss50MetaData override = new JBoss50MetaData();
      assembly = new JBossAssemblyDescriptorMetaData();
      override.setAssemblyDescriptor(assembly);
      exceptions = new ApplicationExceptionsMetaData();
      assembly.setApplicationExceptions(exceptions);
     
      exc = new ApplicationExceptionMetaData();
      exc.setExceptionClass("override.only.Exception");
      exc.setRollback(false);
      exceptions.add(exc);
      exc = new ApplicationExceptionMetaData();
      exc.setExceptionClass("overriden.Exception");
      exc.setRollback(true);
      exceptions.add(exc);
     
      // merge
      JBoss50MetaData merged = new JBoss50MetaData();
      merged.merge(override, original);     
      assembly = merged.getAssemblyDescriptor();
      assertNotNull(assembly);
      exceptions = assembly.getApplicationExceptions();
      assertNotNull(exceptions);
      assertEquals(3, exceptions.size());
     
      exc = exceptions.get("original.only.Exception");
      assertNotNull(exc);
View Full Code Here

   public void testAssemblySecurityRolesOverride()
   {
      // original
      JBoss50MetaData original = new JBoss50MetaData();
      JBossAssemblyDescriptorMetaData assembly = new JBossAssemblyDescriptorMetaData();
      original.setAssemblyDescriptor(assembly);
      SecurityRolesMetaData roles = new SecurityRolesMetaData();
      assembly.setSecurityRoles(roles);
     
      SecurityRoleMetaData role = new SecurityRoleMetaData();
      role.setRoleName("original.only.Role");
      role.setPrincipals(java.util.Collections.singleton("original"));
      roles.add(role);
      role = new SecurityRoleMetaData();
      role.setRoleName("overriden.Role");
      HashSet<String> principals = new HashSet<String>();
      principals.add("original1");
      principals.add("original2");
      role.setPrincipals(principals);
      roles.add(role);
     
      // override
      JBoss50MetaData override = new JBoss50MetaData();
      assembly = new JBossAssemblyDescriptorMetaData();
      override.setAssemblyDescriptor(assembly);
      roles = new SecurityRolesMetaData();
      assembly.setSecurityRoles(roles);
     
      role = new SecurityRoleMetaData();
      role.setRoleName("override.only.Role");
      role.setPrincipals(java.util.Collections.singleton("override"));
      roles.add(role);
      role = new SecurityRoleMetaData();
      role.setRoleName("overriden.Role");
      principals = new HashSet<String>();
      principals.add("original1");
      principals.add("override1");
      principals.add("override2");
      role.setPrincipals(principals);
      roles.add(role);
     
      // merge
      JBoss50MetaData merged = new JBoss50MetaData();
      merged.merge(override, original);     
      assembly = merged.getAssemblyDescriptor();
      assertNotNull(assembly);
      roles = assembly.getSecurityRoles();
      assertNotNull(roles);
      assertEquals(3, roles.size());
     
      role = roles.get("original.only.Role");
      assertNotNull(role);
View Full Code Here

  
   public void testAssemblyMethodPermissionsOverride()
   {
      // original
      JBoss50MetaData original = new JBoss50MetaData();
      JBossAssemblyDescriptorMetaData assembly = new JBossAssemblyDescriptorMetaData();
      original.setAssemblyDescriptor(assembly);
      MethodPermissionsMetaData permissions = new MethodPermissionsMetaData();
      assembly.setMethodPermissions(permissions);

      // original only
      MethodsMetaData methods = new MethodsMetaData();
      MethodMetaData method = new MethodMetaData();
      method.setEjbName("Original");
      method.setMethodName("execute");
      methods.add(method);

      MethodPermissionMetaData permission = new MethodPermissionMetaData();
      permission.setMethods(methods);
      permission.setRoles(java.util.Collections.singleton("original"));
      permissions.add(permission);
     
      // mixed original part
      methods = new MethodsMetaData();
      method = new MethodMetaData();
      method.setEjbName("Overriden");
      method.setMethodName("execute");
      method.setMethodIntf(MethodInterfaceType.Local);
      methods.add(method);

      permission = new MethodPermissionMetaData();
      permission.setMethods(methods);
      permission.setRoles(java.util.Collections.singleton("original"));
      permissions.add(permission);

      methods = new MethodsMetaData();
      method = new MethodMetaData();
      method.setEjbName("Overriden");
      method.setMethodName("execute");
      method.setMethodIntf(MethodInterfaceType.Remote);
      methods.add(method);

      permission = new MethodPermissionMetaData();
      permission.setMethods(methods);
      Set<String> roles = new HashSet<String>();
      roles.add("original1");
      roles.add("original2");
      permission.setRoles(roles);
      permissions.add(permission);

      // override
      JBoss50MetaData override = new JBoss50MetaData();
      assembly = new JBossAssemblyDescriptorMetaData();
      override.setAssemblyDescriptor(assembly);
      permissions = new MethodPermissionsMetaData();
      assembly.setMethodPermissions(permissions);
     
      // override only
      methods = new MethodsMetaData();
      method = new MethodMetaData();
      method.setEjbName("Override");
      method.setMethodName("execute");
      methods.add(method);

      permission = new MethodPermissionMetaData();
      permission.setMethods(methods);
      permission.setRoles(java.util.Collections.singleton("override"));
      permissions.add(permission);

      // mixed override part
      methods = new MethodsMetaData();
      method = new MethodMetaData();
      method.setEjbName("Overriden");
      method.setMethodName("execute");
      method.setMethodIntf(MethodInterfaceType.LocalHome);
      methods.add(method);

      permission = new MethodPermissionMetaData();
      permission.setMethods(methods);
      permission.setRoles(java.util.Collections.singleton("override"));
      permissions.add(permission);

      methods = new MethodsMetaData();
      method = new MethodMetaData();
      method.setEjbName("Overriden");
      method.setMethodName("execute");
      method.setMethodIntf(MethodInterfaceType.Remote);
      methods.add(method);

      permission = new MethodPermissionMetaData();
      permission.setMethods(methods);
      roles = new HashSet<String>();
      roles.add("override1");
      roles.add("override2");
      permission.setRoles(roles);
      permissions.add(permission);

      // merge
      JBoss50MetaData merged = new JBoss50MetaData();
      merged.merge(override, original);     
      assembly = merged.getAssemblyDescriptor();
      assertNotNull(assembly);
      permissions = assembly.getMethodPermissions();
      assertNotNull(permissions);
      assertEquals(6, permissions.size());

      for(MethodPermissionMetaData perm : permissions)
      {
View Full Code Here

      assertMyStatefulBean(metaData.getEnterpriseBean("AnotherName")); // MyStatefulBean
      assertMyStateless21Bean(metaData.getEnterpriseBean("MyStateless21Bean"));
      assertMyStatelessBean(metaData.getEnterpriseBean("MyStatelessBean"));
      assertMyMDB(metaData.getEnterpriseBean("MailMDB"));

      JBossAssemblyDescriptorMetaData assembly = metaData.getAssemblyDescriptor();
      assertNotNull("no application exceptions defined", assembly.getApplicationExceptions());
      assertEquals(1, assembly.getApplicationExceptions().size());
      System.out.println(assembly.getContainerTransactionsByEjbName("MyStatelessBean"));

      // @DeclareRoles
      SecurityRolesMetaData securityRoles = assembly.getSecurityRoles();
      assertNotNull(securityRoles);
      assertEquals(2, securityRoles.size());
      SecurityRoleMetaData role1 = securityRoles.get("Role1");
      assertNotNull(role1);
      assertEquals("Role1", role1.getRoleName());
      SecurityRoleMetaData role2 = securityRoles.get("Role2");
      assertNotNull(role2);
      assertEquals("Role2", role2.getRoleName());

      // @DenyAll
      // cls.getDeclaredMethods is un-ordered, so we must use bestMatch
      ExcludeListMetaData excludes = assembly.getExcludeList();
      assertNotNull(excludes);
      MethodsMetaData excludedMethods = excludes.getMethods();
      assertEquals(2, excludedMethods.size());
      MethodMetaData m0 = excludedMethods.bestMatch("denyAll", (Class[]) null, null, null);
      assertEquals("MyStatelessBean", m0.getEjbName());
      assertEquals("denyAll", m0.getMethodName());
      MethodParametersMetaData noargs = new MethodParametersMetaData();
      assertEquals(noargs, m0.getMethodParams());
      MethodMetaData m1 = excludedMethods.bestMatch("excluded", (Class[]) null, null, null);;
      assertEquals("MyStatelessBean", m1.getEjbName());
      assertEquals("excluded", m1.getMethodName());
      assertEquals(noargs, m1.getMethodParams());

      // @PermitAll, @RolesAllowed({"AccessRole1", "AccessRole2"})
      MethodPermissionsMetaData allPerms = assembly.getMethodPermissions();
      assertEquals(8, allPerms.size());
      MethodPermissionsMetaData perms = assembly.getMethodPermissionsByEjbName("MyStatelessBean");
      assertEquals(2, perms.size());
      MethodPermissionMetaData permitAll = null;
      MethodPermissionMetaData rolesAllowed = null;
      for(MethodPermissionMetaData mp : perms)
      {
         if(mp.matches("permitAll", null, null))
            permitAll = mp;
         if(mp.matches("rolesAllowed", null, null))
            rolesAllowed = mp;
      }
      assertNotNull(permitAll);
      assertTrue(permitAll.isNotChecked());
      assertTrue(permitAll.isNotChecked("permitAll", null, null));
      assertNotNull(rolesAllowed);
      HashSet<String> roles = new HashSet<String>();
      roles.add("AccessRole1");
      roles.add("AccessRole2");
      assertEquals(roles, rolesAllowed.getRoles());

      // Validate the MyStateless @Interceptors
      InterceptorBindingsMetaData interceptorBindings = assembly.getInterceptorBindings();
      assertEquals(2, interceptorBindings.size());
      InterceptorBindingMetaData ib0 = interceptorBindings.get(0);
      InterceptorBindingMetaData ib1 = interceptorBindings.get(1);
      assertEquals("MyStatelessBean", ib0.getEjbName());
      NamedMethodMetaData ib0Method = ib0.getMethod();
View Full Code Here

      assertMyStatefulBean(metaData.getEnterpriseBean("AnotherName")); // MyStatefulBean
      assertMyStateless21Bean(metaData.getEnterpriseBean("MyStateless21Bean"));
      assertMyStatelessBean(metaData.getEnterpriseBean("MyStatelessBean"));
      assertMyMDB(metaData.getEnterpriseBean("MailMDB"));

      JBossAssemblyDescriptorMetaData assembly = metaData.getAssemblyDescriptor();

      // @DeclareRoles
      SecurityRolesMetaData securityRoles = assembly.getSecurityRoles();
      assertNotNull(securityRoles);
      assertEquals(2, securityRoles.size());
      SecurityRoleMetaData role1 = securityRoles.get("Role1");
      assertNotNull(role1);
      assertEquals("Role1", role1.getRoleName());
      SecurityRoleMetaData role2 = securityRoles.get("Role2");
      assertNotNull(role2);
      assertEquals("Role2", role2.getRoleName());

      // @DenyAll
      // cls.getDeclaredMethods is un-ordered, so we must use bestMatch
      ExcludeListMetaData excludes = assembly.getExcludeList();
      assertNotNull(excludes);
      MethodsMetaData excludedMethods = excludes.getMethods();
      assertEquals(2, excludedMethods.size());
      MethodMetaData m0 = excludedMethods.bestMatch("denyAll", (Class[]) null, null, null);
      assertEquals("MyStatelessBean", m0.getEjbName());
      assertEquals("denyAll", m0.getMethodName());
      MethodParametersMetaData noargs = new MethodParametersMetaData();
      assertEquals(noargs, m0.getMethodParams());
      MethodMetaData m1 = excludedMethods.bestMatch("excluded", (Class[]) null, null, null);;
      assertEquals("MyStatelessBean", m1.getEjbName());
      assertEquals("excluded", m1.getMethodName());
      assertEquals(noargs, m1.getMethodParams());

      // @PermitAll, @RolesAllowed({"AccessRole1", "AccessRole2"})
      MethodPermissionsMetaData allPerms = assembly.getMethodPermissions();
      assertEquals(8, allPerms.size());
      MethodPermissionsMetaData perms = assembly.getMethodPermissionsByEjbName("MyStatelessBean");
      assertEquals(2, perms.size());
      MethodPermissionMetaData permitAll = null;
      MethodPermissionMetaData rolesAllowed = null;
      for(MethodPermissionMetaData mp : perms)
      {
         if(mp.matches("permitAll", null, null))
            permitAll = mp;
         if(mp.matches("rolesAllowed", null, null))
            rolesAllowed = mp;
      }
      assertNotNull(permitAll);
      assertTrue(permitAll.isNotChecked());
      assertTrue(permitAll.isNotChecked("permitAll", null, null));
      assertNotNull(rolesAllowed);
      HashSet<String> roles = new HashSet<String>();
      roles.add("AccessRole1");
      roles.add("AccessRole2");
      assertEquals(roles, rolesAllowed.getRoles());

      // Validate the MyStateless @Interceptors
      InterceptorBindingsMetaData interceptorBindings = assembly.getInterceptorBindings();
      assertEquals(2, interceptorBindings.size());
      InterceptorBindingMetaData ib0 = interceptorBindings.get(0);
      InterceptorBindingMetaData ib1 = interceptorBindings.get(1);
      assertEquals("MyStatelessBean", ib0.getEjbName());
      NamedMethodMetaData ib0Method = ib0.getMethod();
View Full Code Here

      }
   }
  
   protected void assertAssemblyDescriptor(JBossMetaData jbossMetaData, Mode mode)
   {
      JBossAssemblyDescriptorMetaData assemblyDescriptorMetaData = (JBossAssemblyDescriptorMetaData) jbossMetaData.getAssemblyDescriptor();
      assertNotNull(assemblyDescriptorMetaData);
      if(mode != Mode.JBOSS_DTD)
         assertId("assembly-descriptor", assemblyDescriptorMetaData);
      assertSecurityRoles(2, assemblyDescriptorMetaData.getSecurityRoles(), mode);
      assertMessageDestinations(2, assemblyDescriptorMetaData.getMessageDestinations(), mode);
      Map<String,Set<String>> prmap = assemblyDescriptorMetaData.getPrincipalVersusRolesMap();
      assertNotNull(prmap);
      //Check the keys
      assertTrue(prmap.containsKey("securityRole1Principal1"));
      assertTrue(prmap.containsKey("securityRole1Principal2"));
      assertTrue(prmap.containsKey("securityRole2Principal1"));
View Full Code Here

      }
   }
  
   protected void assertAssemblyDescriptor(JBossMetaData jbossMetaData, Mode mode)
   {
      JBossAssemblyDescriptorMetaData assemblyDescriptorMetaData = (JBossAssemblyDescriptorMetaData) jbossMetaData.getAssemblyDescriptor();
      assertNotNull(assemblyDescriptorMetaData);
      assertId("assembly-descriptor", assemblyDescriptorMetaData);
      assertSecurityRoles(2, assemblyDescriptorMetaData.getSecurityRoles(), mode);
      assertMessageDestinations(2, assemblyDescriptorMetaData.getMessageDestinations(), mode);
      Map<String,Set<String>> prmap = assemblyDescriptorMetaData.getPrincipalVersusRolesMap();
      assertNotNull(prmap);
      //Check the keys
      assertTrue(prmap.containsKey("securityRole1Principal1"));
      assertTrue(prmap.containsKey("securityRole1Principal2"));
      assertTrue(prmap.containsKey("securityRole2Principal1"));
View Full Code Here

      // TODO: Wolf: refactor onto a unified metadata view
     
      if (exceptionClass.isAnnotationPresent(ApplicationException.class))
         return (ApplicationException)exceptionClass.getAnnotation(ApplicationException.class);

      JBossAssemblyDescriptorMetaData assembly = container.getAssemblyDescriptor();

      if (assembly != null)
      {
         ApplicationExceptionsMetaData exceptions = assembly.getApplicationExceptions();
         if (exceptions != null)
         {
            for(ApplicationExceptionMetaData exception : exceptions)
            {
               if (exception.getExceptionClass().equals(exceptionClass.getName()))
View Full Code Here

   }

   private void addAssemblyAnnotations(EJBContainer container,
         JBossEnterpriseBeanMetaData enterpriseBean, String ejbName) throws Exception
   {
      JBossAssemblyDescriptorMetaData assembly = dd.getAssemblyDescriptor();
      if (assembly != null)
      {
         addExcludeAnnotations(container, assembly.getExcludeList(), ejbName);

         addInterceptorBindingAnnotations(container, enterpriseBean, ejbName);
      }

      if (enterpriseBean instanceof JBossSessionBeanMetaData)
View Full Code Here

TOP

Related Classes of org.jboss.metadata.ejb.jboss.JBossAssemblyDescriptorMetaData

Copyright © 2018 www.massapicom. 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.