Package org.jboss.aop.advice

Examples of org.jboss.aop.advice.AdviceBinding


      }
      catch (ParseException ex)
      {
         throw new RuntimeException("<bind> pointcut expression failed: " + pointcut, ex);
      }
      AdviceBinding binding = new AdviceBinding(name, p, cflowExpression, cflow, inters);
      manager.addBinding(binding);
   }
View Full Code Here


   @Override
   public synchronized void removeAdviceBindings(ArrayList<AdviceBinding> bindings)
   {
      for (int i = 0; i < bindings.size(); i++)
      {
         AdviceBinding binding = bindings.get(i);
         removeCallerPointcut(binding);
      }
      adviceBindings.removeAll(bindings);
      rebuildInterceptors();
      doesHaveAspects = adviceBindings.size() > 0;
View Full Code Here

   public void removeBinding(String name)
   {
      lock.lockWrite();
      try
      {
         AdviceBinding binding = internalRemoveBinding(name);
         if (binding != null)
         {
            binding.clearAdvisors();
            dynamicStrategy.interceptorChainsUpdated();
         }
      }
      finally
      {
View Full Code Here

    * Add an interceptor pointcut with a given name
    */
   public void addBinding(AdviceBinding binding)
   {
      Set<Advisor> affectedAdvisors = null;
      AdviceBinding removedBinding = null;
      lock.lockWrite();
      try
      {
         removedBinding = internalRemoveBinding(binding.getName());
         affectedAdvisors = removedBinding == null ? null : new HashSet<Advisor>(removedBinding.getAdvisors());        
         bindingCollection.add(binding, this);
         synchronized (advisors)
         {
            Set<Advisor> handledAdvisors = new HashSet<Advisor>();
            updateAdvisorsForAddedBinding(binding, handledAdvisors);
View Full Code Here

    *
    * @param name the binding to be removed.
    */
   private AdviceBinding internalRemoveBinding(String name)
   {
      AdviceBinding binding = bindingCollection.removeBinding(name);
      if (binding == null)
      {
         return null;
      }
      Pointcut pointcut = binding.getPointcut();
      this.removePointcut(pointcut.getName());
      return binding;
   }
View Full Code Here

   {
      AspectManager manager = AspectManager.instance();
      PointcutExpression pointcut = new PointcutExpression("TEST", expression);
      manager.addPointcut(pointcut);
      PointcutStats stats = pointcut.getStats();
      AdviceBinding binding = new AdviceBinding(expression, null);
      manager.addBinding(binding);
     
      assertEquals(methodExecution, stats.isMethodExecution());
      assertEquals(methodExecution, BindingClassifier.isMethodExecution(binding));
      assertEquals(methodExecution, BindingClassifier.isMethodExecution(pointcut));
View Full Code Here

   @Override
   public synchronized void removeAdviceBindings(ArrayList<AdviceBinding> bindings)
   {
      for (int i = 0; i < bindings.size(); i++)
      {
         AdviceBinding binding = bindings.get(i);
         removeCallerPointcut(binding);
      }
      adviceBindings.removeAll(bindings);
      rebuildInterceptors();
      doesHaveAspects = adviceBindings.size() > 0;
View Full Code Here

  
   public void testConstructor() throws Exception
   {
      System.out.println("TEST CONSTRUCTOR");
      Interceptions.clear();
      AdviceBinding binding = new AdviceBinding("execution(org.jboss.test.aop.dynamicgenadvisor.POJO->new())", null);
      String name = binding.getName();
      binding.addInterceptor(MyInterceptor.class);
      AspectManager.instance().addBinding(binding);
     
      POJO pojo = new POJO();
      assertEquals(1, Interceptions.size());
      assertEquals(Interceptions.getConstructorName("MyInterceptor", "POJO"), Interceptions.get(0));
     
      AdviceBinding binding2 = new AdviceBinding("execution(org.jboss.test.aop.dynamicgenadvisor.POJO->new())", null);
      String name2 = binding2.getName();
      AspectDefinition myAspect = AspectManager.instance().getAspectDefinition("org.jboss.test.aop.dynamicgenadvisor.MyAspect");
      binding2.addInterceptorFactory(new AdviceFactory(myAspect, "intercept"));
      binding2.addInterceptor(MyInterceptor.class);
      AspectManager.instance().addBinding(binding2);
     
      Interceptions.clear();
      pojo = new POJO();
      assertEquals(Interceptions.getToString(), 3, Interceptions.size());
View Full Code Here

  
   public void testConstruction() throws Exception
   {
      System.out.println("TEST CONSTRUCTION");
      Interceptions.clear();
      AdviceBinding binding = new AdviceBinding("construction(org.jboss.test.aop.dynamicgenadvisor.POJO->new())", null);
      String name = binding.getName();
      binding.addInterceptor(MyInterceptor.class);
      AspectManager.instance().addBinding(binding);
     
      POJO pojo = new POJO();
      assertEquals(1, Interceptions.size());
      assertEquals(Interceptions.getConstructionName("MyInterceptor", "POJO"), Interceptions.get(0));
     
      AdviceBinding binding2 = new AdviceBinding("construction(org.jboss.test.aop.dynamicgenadvisor.POJO->new())", null);
      String name2 = binding2.getName();
      AspectDefinition myAspect = AspectManager.instance().getAspectDefinition("org.jboss.test.aop.dynamicgenadvisor.MyAspect");
      binding2.addInterceptorFactory(new AdviceFactory(myAspect, "intercept"));
      binding2.addInterceptor(MyInterceptor.class);
      AspectManager.instance().addBinding(binding2);
     
      Interceptions.clear();
      pojo = new POJO();
      assertEquals(3, Interceptions.size());
View Full Code Here

   public void testMethodExecution() throws Exception
   {
      System.out.println("TEST METHOD");
      Interceptions.clear();
      AdviceBinding binding = new AdviceBinding("execution(* org.jboss.test.aop.dynamicgenadvisor.POJO->someMethod(..))", null);
      String name = binding.getName();
      binding.addInterceptor(MyInterceptor.class);
      AspectManager.instance().addBinding(binding);
     
      POJO pojo = new POJO();
      pojo.someMethod(123);
      assertEquals(1, Interceptions.size());
      assertEquals(Interceptions.getMethodName("MyInterceptor", "POJO", "someMethod"), Interceptions.get(0));
     
      AdviceBinding binding2 = new AdviceBinding("execution(* org.jboss.test.aop.dynamicgenadvisor.POJO->someMethod(..))", null);
      String name2 = binding2.getName();
      AspectDefinition myAspect = AspectManager.instance().getAspectDefinition("org.jboss.test.aop.dynamicgenadvisor.MyAspect");
      binding2.addInterceptorFactory(new AdviceFactory(myAspect, "intercept"));
      binding2.addInterceptor(MyInterceptor.class);
      AspectManager.instance().addBinding(binding2);
     
      Interceptions.clear();
      pojo.someMethod(123);
      assertEquals(Interceptions.getToString(), 3, Interceptions.size());
View Full Code Here

TOP

Related Classes of org.jboss.aop.advice.AdviceBinding

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.