Package org.jboss.ejb3.interceptors.aop.annotation

Examples of org.jboss.ejb3.interceptors.aop.annotation.InterceptorOrder


    * @throws InstantiationException
    */
   public Object createInterceptor(Class<?> interceptorClass) throws InstantiationException, IllegalAccessException
   {
      Object instance = interceptorClass.newInstance();
      InterceptorInjector interceptorInjector = interceptorInjectors.get(interceptorClass);
      assert interceptorInjector != null : "interceptorInjector not found for " + interceptorClass;
      interceptorInjector.inject(null, instance);
      return instance;
   }
View Full Code Here


            }
         }
         for (Class<?> interceptorClass : beanContainer.getInterceptorClasses())
         {
            Map<AccessibleObject, Injector> injections = InjectionUtil.processAnnotations(this, handlers, interceptorClass);
            InterceptorInjector injector = new InterceptorInjector(injections);
            interceptorInjectors.put(interceptorClass, injector);
         }

         // When @WebServiceRef is not used service-ref won't be processed
         // In this case we process them late
View Full Code Here

      }
      log.debug("Found class interceptors " + classInterceptorClasses);

      {
         // Ordering of lifecycle interceptors
         InterceptorOrder order = (InterceptorOrder) advisor.resolveAnnotation(InterceptorOrder.class);
         if(order != null)
         {
            List<Class<?>> orderedInterceptorClasses = Arrays.asList(order.value());
            if(!orderedInterceptorClasses.containsAll(lifecycleInterceptorClasses))
               throw new IllegalStateException("EJB3 12.8.2 footnote 59: all applicable lifecycle interceptors must be listed in the interceptor order");
            lifecycleInterceptorClasses = orderedInterceptorClasses;
         }
      }
      this.lifecycleInterceptorClasses.addAll(lifecycleInterceptorClasses);
      for(Class<?> interceptorClass : lifecycleInterceptorClasses)
      {
         if(!interceptorClasses.contains(interceptorClass))
            interceptorClasses.add(interceptorClass);
      }

      Class<?> beanClass = advisor.getClazz();
      // EJB3 spec says in section 12.7
      // "A business method interceptor method may be defined to apply to a specific *business method*
      // invocation, rather than to all of the business methods of the bean class."
      // So all we need are "public" methods.
      for(Method beanMethod : beanClass.getMethods())
      {
         interceptorsAnnotation = (Interceptors) advisor.resolveAnnotation(beanMethod, Interceptors.class);
         List<Class<?>> methodInterceptorClasses = new ArrayList<Class<?>>();
         if(interceptorsAnnotation != null)
         {
            for(Class<?> interceptorClass : interceptorsAnnotation.value())
               methodInterceptorClasses.add(interceptorClass);
         }

         // Interceptors applicable for this bean method
         List<Class<?>> methodApplicableInterceptorClasses = new ArrayList<Class<?>>();
         if(!isExcludeDefaultInterceptors(advisor, beanMethod))
            methodApplicableInterceptorClasses.addAll(defaultInterceptorClasses);
         if(!isExcludeClassInterceptors(advisor, beanMethod))
            methodApplicableInterceptorClasses.addAll(classInterceptorClasses);
         methodApplicableInterceptorClasses.addAll(methodInterceptorClasses);

         // TODO: remove duplicates?

         // Total ordering (EJB 3 12.8.2.1)
         // TODO: @Interceptors with all?

         InterceptorOrder order = (InterceptorOrder) advisor.resolveAnnotation(beanMethod, InterceptorOrder.class);
         if(order == null)
            order = (InterceptorOrder) advisor.resolveAnnotation(InterceptorOrder.class);
         // TODO: validate the order to see if all interceptors are listed
         if(order != null)
         {
            List<Class<?>> orderedInterceptorClasses = Arrays.asList(order.value());
            if(!orderedInterceptorClasses.containsAll(methodApplicableInterceptorClasses))
            {
               log.debug("applicable interceptors: " + methodApplicableInterceptorClasses);
               log.debug("interceptor order: " + orderedInterceptorClasses);
               List<Class<?>> subset = new ArrayList<Class<?>>(methodApplicableInterceptorClasses);
View Full Code Here

      }
      log.debug("Found class interceptors " + classInterceptorClasses);

      {
         // Ordering of lifecycle interceptors
         InterceptorOrder order = (InterceptorOrder) advisor.resolveAnnotation(InterceptorOrder.class);
         if(order != null)
         {
            List<Class<?>> orderedInterceptorClasses = Arrays.asList(order.value());
            if(!orderedInterceptorClasses.containsAll(lifecycleInterceptorClasses))
               throw new IllegalStateException("EJB3 12.8.2 footnote 59: all applicable lifecycle interceptors must be listed in the interceptor order");
            lifecycleInterceptorClasses = orderedInterceptorClasses;
         }
      }
      this.lifecycleInterceptorClasses.addAll(lifecycleInterceptorClasses);
      for(Class<?> interceptorClass : lifecycleInterceptorClasses)
      {
         if(!interceptorClasses.contains(interceptorClass))
            interceptorClasses.add(interceptorClass);
      }

      Class<?> beanClass = advisor.getClazz();
      for(Method beanMethod : ClassHelper.getAllMethods(beanClass))
      {
         interceptorsAnnotation = (Interceptors) advisor.resolveAnnotation(beanMethod, Interceptors.class);
         List<Class<?>> methodInterceptorClasses = new ArrayList<Class<?>>();
         if(interceptorsAnnotation != null)
         {
            for(Class<?> interceptorClass : interceptorsAnnotation.value())
               methodInterceptorClasses.add(interceptorClass);
         }

         // Interceptors applicable for this bean method
         List<Class<?>> methodApplicableInterceptorClasses = new ArrayList<Class<?>>();
         if(!isExcludeDefaultInterceptors(advisor, beanMethod))
            methodApplicableInterceptorClasses.addAll(defaultInterceptorClasses);
         if(!isExcludeClassInterceptors(advisor, beanMethod))
            methodApplicableInterceptorClasses.addAll(classInterceptorClasses);
         methodApplicableInterceptorClasses.addAll(methodInterceptorClasses);

         // TODO: remove duplicates?

         // Total ordering (EJB 3 12.8.2.1)
         // TODO: @Interceptors with all?
         InterceptorOrder order = (InterceptorOrder) advisor.resolveAnnotation(beanMethod, InterceptorOrder.class);
         if(order == null)
            order = (InterceptorOrder) advisor.resolveAnnotation(InterceptorOrder.class);
         // TODO: validate the order to see if all interceptors are listed
         if(order != null)
         {
            List<Class<?>> orderedInterceptorClasses = Arrays.asList(order.value());
            if(!orderedInterceptorClasses.containsAll(methodApplicableInterceptorClasses))
            {
               log.debug("applicable interceptors: " + methodApplicableInterceptorClasses);
               log.debug("interceptor order: " + orderedInterceptorClasses);
               List<Class<?>> subset = new ArrayList<Class<?>>(methodApplicableInterceptorClasses);
View Full Code Here

      }
      log.debug("Found class interceptors " + classInterceptorClasses);
     
      {
         // Ordering of lifecycle interceptors
         InterceptorOrder order = (InterceptorOrder) advisor.resolveAnnotation(InterceptorOrder.class);
         if(order != null)
         {
            List<Class<?>> orderedInterceptorClasses = Arrays.asList(order.value());
            if(!orderedInterceptorClasses.containsAll(lifecycleInterceptorClasses))
               throw new IllegalStateException("EJB3 12.8.2 footnote 59: all applicable lifecycle interceptors must be listed in the interceptor order");
            lifecycleInterceptorClasses = orderedInterceptorClasses;
         }
      }
      this.lifecycleInterceptorClasses.addAll(lifecycleInterceptorClasses);
      for(Class<?> interceptorClass : lifecycleInterceptorClasses)
      {
         if(!interceptorClasses.contains(interceptorClass))
            interceptorClasses.add(interceptorClass);
      }
     
      Class<?> beanClass = advisor.getClazz();
      for(Method beanMethod : ClassHelper.getAllMethods(beanClass))
      {
         interceptorsAnnotation = (Interceptors) advisor.resolveAnnotation(beanMethod, Interceptors.class);
         List<Class<?>> methodInterceptorClasses = new ArrayList<Class<?>>();
         if(interceptorsAnnotation != null)
         {
            for(Class<?> interceptorClass : interceptorsAnnotation.value())
               methodInterceptorClasses.add(interceptorClass);
         }
        
         // Interceptors applicable for this bean method
         List<Class<?>> methodApplicableInterceptorClasses = new ArrayList<Class<?>>();
         if(!isExcludeDefaultInterceptors(advisor, beanMethod))
            methodApplicableInterceptorClasses.addAll(defaultInterceptorClasses);
         if(!isExcludeClassInterceptors(advisor, beanMethod))
            methodApplicableInterceptorClasses.addAll(classInterceptorClasses);
         methodApplicableInterceptorClasses.addAll(methodInterceptorClasses);
        
         // TODO: remove duplicates?
        
         // Total ordering (EJB 3 12.8.2.1)
         // TODO: @Interceptors with all?
         InterceptorOrder order = (InterceptorOrder) advisor.resolveAnnotation(beanMethod, InterceptorOrder.class);
         if(order == null)
            order = (InterceptorOrder) advisor.resolveAnnotation(InterceptorOrder.class);
         // TODO: validate the order to see if all interceptors are listed
         if(order != null)
         {
            List<Class<?>> orderedInterceptorClasses = Arrays.asList(order.value());
            if(!orderedInterceptorClasses.containsAll(methodApplicableInterceptorClasses))
               throw new IllegalStateException("EJB3 12.8.2 footnote 59: all applicable method interceptors must be listed in the interceptor order");
            methodApplicableInterceptorClasses = orderedInterceptorClasses;
         }
         applicableInterceptorClasses.put(beanMethod, methodApplicableInterceptorClasses);
View Full Code Here

      }
      log.debug("Found class interceptors " + classInterceptorClasses);
     
      {
         // Ordering of lifecycle interceptors
         InterceptorOrder order = (InterceptorOrder) advisor.resolveAnnotation(InterceptorOrder.class);
         if(order != null)
         {
            List<Class<?>> orderedInterceptorClasses = Arrays.asList(order.value());
            if(!orderedInterceptorClasses.containsAll(lifecycleInterceptorClasses))
               throw new IllegalStateException("EJB3 12.8.2 footnote 59: all applicable lifecycle interceptors must be listed in the interceptor order");
            lifecycleInterceptorClasses = orderedInterceptorClasses;
         }
      }
      this.lifecycleInterceptorClasses.addAll(lifecycleInterceptorClasses);
      for(Class<?> interceptorClass : lifecycleInterceptorClasses)
      {
         if(!interceptorClasses.contains(interceptorClass))
            interceptorClasses.add(interceptorClass);
      }
     
      Class<?> beanClass = advisor.getClazz();
      for(Method beanMethod : ClassHelper.getAllMethods(beanClass))
      {
         interceptorsAnnotation = (Interceptors) advisor.resolveAnnotation(beanMethod, Interceptors.class);
         List<Class<?>> methodInterceptorClasses = new ArrayList<Class<?>>();
         if(interceptorsAnnotation != null)
         {
            for(Class<?> interceptorClass : interceptorsAnnotation.value())
               methodInterceptorClasses.add(interceptorClass);
         }
        
         // Interceptors applicable for this bean method
         List<Class<?>> methodApplicableInterceptorClasses = new ArrayList<Class<?>>();
         if(!isExcludeDefaultInterceptors(advisor, beanMethod))
            methodApplicableInterceptorClasses.addAll(defaultInterceptorClasses);
         if(!isExcludeClassInterceptors(advisor, beanMethod))
            methodApplicableInterceptorClasses.addAll(classInterceptorClasses);
         methodApplicableInterceptorClasses.addAll(methodInterceptorClasses);
        
         // TODO: remove duplicates?
        
         // Total ordering (EJB 3 12.8.2.1)
         // TODO: @Interceptors with all?
         InterceptorOrder order = (InterceptorOrder) advisor.resolveAnnotation(beanMethod, InterceptorOrder.class);
         if(order == null)
            order = (InterceptorOrder) advisor.resolveAnnotation(InterceptorOrder.class);
         // TODO: validate the order to see if all interceptors are listed
         if(order != null)
         {
            List<Class<?>> orderedInterceptorClasses = Arrays.asList(order.value());
            if(!orderedInterceptorClasses.containsAll(methodApplicableInterceptorClasses))
               throw new IllegalStateException("EJB3 12.8.2 footnote 59: all applicable method interceptors must be listed in the interceptor order");
            methodApplicableInterceptorClasses = orderedInterceptorClasses;
         }
         applicableInterceptorClasses.put(beanMethod, methodApplicableInterceptorClasses);
View Full Code Here

      }
      log.debug("Found class interceptors " + classInterceptorClasses);
     
      {
         // Ordering of lifecycle interceptors
         InterceptorOrder order = (InterceptorOrder) advisor.resolveAnnotation(InterceptorOrder.class);
         if(order != null)
         {
            List<Class<?>> orderedInterceptorClasses = Arrays.asList(order.value());
            if(!orderedInterceptorClasses.containsAll(lifecycleInterceptorClasses))
               throw new IllegalStateException("EJB3 12.8.2 footnote 59: all applicable lifecycle interceptors must be listed in the interceptor order");
            lifecycleInterceptorClasses = orderedInterceptorClasses;
         }
      }
      this.lifecycleInterceptorClasses.addAll(lifecycleInterceptorClasses);
      for(Class<?> interceptorClass : lifecycleInterceptorClasses)
      {
         if(!interceptorClasses.contains(interceptorClass))
            interceptorClasses.add(interceptorClass);
      }
     
      Class<?> beanClass = advisor.getClazz();
      for(Method beanMethod : ClassHelper.getAllMethods(beanClass))
      {
         interceptorsAnnotation = (Interceptors) advisor.resolveAnnotation(beanMethod, Interceptors.class);
         List<Class<?>> methodInterceptorClasses = new ArrayList<Class<?>>();
         if(interceptorsAnnotation != null)
         {
            for(Class<?> interceptorClass : interceptorsAnnotation.value())
               methodInterceptorClasses.add(interceptorClass);
         }
        
         // Interceptors applicable for this bean method
         List<Class<?>> methodApplicableInterceptorClasses = new ArrayList<Class<?>>();
         if(!isExcludeDefaultInterceptors(advisor, beanMethod))
            methodApplicableInterceptorClasses.addAll(defaultInterceptorClasses);
         if(!isExcludeClassInterceptors(advisor, beanMethod))
            methodApplicableInterceptorClasses.addAll(classInterceptorClasses);
         methodApplicableInterceptorClasses.addAll(methodInterceptorClasses);
        
         // TODO: remove duplicates?
        
         // Total ordering (EJB 3 12.8.2.1)
         // TODO: @Interceptors with all?
         InterceptorOrder order = (InterceptorOrder) advisor.resolveAnnotation(beanMethod, InterceptorOrder.class);
         if(order == null)
            order = (InterceptorOrder) advisor.resolveAnnotation(InterceptorOrder.class);
         // TODO: validate the order to see if all interceptors are listed
         if(order != null)
         {
            List<Class<?>> orderedInterceptorClasses = Arrays.asList(order.value());
            if(!orderedInterceptorClasses.containsAll(methodApplicableInterceptorClasses))
            {
               log.debug("applicable interceptors: " + methodApplicableInterceptorClasses);
               log.debug("interceptor order: " + orderedInterceptorClasses);
               List<Class<?>> subset = new ArrayList<Class<?>>(methodApplicableInterceptorClasses);
View Full Code Here

      }
      log.debug("Found class interceptors " + classInterceptorClasses);
     
      {
         // Ordering of lifecycle interceptors
         InterceptorOrder order = (InterceptorOrder) advisor.resolveAnnotation(InterceptorOrder.class);
         if(order != null)
         {
            List<Class<?>> orderedInterceptorClasses = Arrays.asList(order.value());
            if(!orderedInterceptorClasses.containsAll(lifecycleInterceptorClasses))
               throw new IllegalStateException("EJB3 12.8.2 footnote 59: all applicable lifecycle interceptors must be listed in the interceptor order");
            lifecycleInterceptorClasses = orderedInterceptorClasses;
         }
      }
      this.lifecycleInterceptorClasses.addAll(lifecycleInterceptorClasses);
      for(Class<?> interceptorClass : lifecycleInterceptorClasses)
      {
         if(!interceptorClasses.contains(interceptorClass))
            interceptorClasses.add(interceptorClass);
      }
     
      Class<?> beanClass = advisor.getClazz();
      for(Method beanMethod : ClassHelper.getAllMethods(beanClass))
      {
         interceptorsAnnotation = (Interceptors) advisor.resolveAnnotation(beanMethod, Interceptors.class);
         List<Class<?>> methodInterceptorClasses = new ArrayList<Class<?>>();
         if(interceptorsAnnotation != null)
         {
            for(Class<?> interceptorClass : interceptorsAnnotation.value())
               methodInterceptorClasses.add(interceptorClass);
         }
        
         // Interceptors applicable for this bean method
         List<Class<?>> methodApplicableInterceptorClasses = new ArrayList<Class<?>>();
         if(!isExcludeDefaultInterceptors(advisor, beanMethod))
            methodApplicableInterceptorClasses.addAll(defaultInterceptorClasses);
         if(!isExcludeClassInterceptors(advisor, beanMethod))
            methodApplicableInterceptorClasses.addAll(classInterceptorClasses);
         methodApplicableInterceptorClasses.addAll(methodInterceptorClasses);
        
         // TODO: remove duplicates?
        
         // Total ordering (EJB 3 12.8.2.1)
         // TODO: @Interceptors with all?
         InterceptorOrder order = (InterceptorOrder) advisor.resolveAnnotation(beanMethod, InterceptorOrder.class);
         if(order == null)
            order = (InterceptorOrder) advisor.resolveAnnotation(InterceptorOrder.class);
         // TODO: validate the order to see if all interceptors are listed
         if(order != null)
         {
            List<Class<?>> orderedInterceptorClasses = Arrays.asList(order.value());
            if(!orderedInterceptorClasses.containsAll(methodApplicableInterceptorClasses))
               throw new IllegalStateException("EJB3 12.8.2 footnote 59: all applicable method interceptors must be listed in the interceptor order");
            methodApplicableInterceptorClasses = orderedInterceptorClasses;
         }
         applicableInterceptorClasses.put(beanMethod, methodApplicableInterceptorClasses);
View Full Code Here

      }
      log.debug("Found class interceptors " + classInterceptorClasses);

      {
         // Ordering of lifecycle interceptors
         InterceptorOrder order = (InterceptorOrder) advisor.resolveAnnotation(InterceptorOrder.class);
         if(order != null)
         {
            List<Class<?>> orderedInterceptorClasses = Arrays.asList(order.value());
            if(!orderedInterceptorClasses.containsAll(lifecycleInterceptorClasses))
               throw new IllegalStateException("EJB3 12.8.2 footnote 59: all applicable lifecycle interceptors must be listed in the interceptor order");
            lifecycleInterceptorClasses = orderedInterceptorClasses;
         }
      }
      this.lifecycleInterceptorClasses.addAll(lifecycleInterceptorClasses);
      for(Class<?> interceptorClass : lifecycleInterceptorClasses)
      {
         if(!interceptorClasses.contains(interceptorClass))
            interceptorClasses.add(interceptorClass);
      }

      Class<?> beanClass = advisor.getClazz();
      // EJB3 spec says in section 12.7
      // "A business method interceptor method may be defined to apply to a specific *business method*
      // invocation, rather than to all of the business methods of the bean class."
      // So all we need are "public" methods.
      for(Method beanMethod : beanClass.getMethods())
      {
         interceptorsAnnotation = (Interceptors) advisor.resolveAnnotation(beanMethod, Interceptors.class);
         List<Class<?>> methodInterceptorClasses = new ArrayList<Class<?>>();
         if(interceptorsAnnotation != null)
         {
            for(Class<?> interceptorClass : interceptorsAnnotation.value())
               methodInterceptorClasses.add(interceptorClass);
         }

         // Interceptors applicable for this bean method
         List<Class<?>> methodApplicableInterceptorClasses = new ArrayList<Class<?>>();
         if(!isExcludeDefaultInterceptors(advisor, beanMethod))
            methodApplicableInterceptorClasses.addAll(defaultInterceptorClasses);
         if(!isExcludeClassInterceptors(advisor, beanMethod))
            methodApplicableInterceptorClasses.addAll(classInterceptorClasses);
         methodApplicableInterceptorClasses.addAll(methodInterceptorClasses);

         // TODO: remove duplicates?

         // Total ordering (EJB 3 12.8.2.1)
         // TODO: @Interceptors with all?

         InterceptorOrder order = (InterceptorOrder) advisor.resolveAnnotation(beanMethod, InterceptorOrder.class);
         if(order == null)
            order = (InterceptorOrder) advisor.resolveAnnotation(InterceptorOrder.class);
         // TODO: validate the order to see if all interceptors are listed
         if(order != null)
         {
            List<Class<?>> orderedInterceptorClasses = Arrays.asList(order.value());
            if(!orderedInterceptorClasses.containsAll(methodApplicableInterceptorClasses))
            {
               log.debug("applicable interceptors: " + methodApplicableInterceptorClasses);
               log.debug("interceptor order: " + orderedInterceptorClasses);
               List<Class<?>> subset = new ArrayList<Class<?>>(methodApplicableInterceptorClasses);
View Full Code Here

   {
      this.metadataBasedAnnotationRepo = new AnnotationRepositoryToMetaData(this.beanClass, this.xml, name, this.classloader);
      List<MetaDataBridge<InterceptorMetaData>> interceptorBridges = new ArrayList<MetaDataBridge<InterceptorMetaData>>();
      interceptorBridges.add(new InterceptorMetaDataBridge());
      this.metadataBasedAnnotationRepo.addComponentMetaDataLoaderFactory(new InterceptorComponentMetaDataLoaderFactory(interceptorBridges));
      this.metadataBasedAnnotationRepo.addMetaDataBridge(new AdditiveBeanInterceptorMetaDataBridge(this.beanClass, this.classloader, this.xml));
     
      List<MetaDataBridge<ApplicationExceptionMetaData>> appExceptionBridges = new ArrayList<MetaDataBridge<ApplicationExceptionMetaData>>();
      appExceptionBridges.add(new ApplicationExceptionMetaDataBridge());
      this.metadataBasedAnnotationRepo.addComponentMetaDataLoaderFactory(new ApplicationExceptionComponentMetaDataLoaderFactory(appExceptionBridges));
     
View Full Code Here

TOP

Related Classes of org.jboss.ejb3.interceptors.aop.annotation.InterceptorOrder

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.