1   /********************************************************************************************
2    * Copyright (c) Jonas Bonér, Alexandre Vasseur. All rights reserved.                      *
3    * http://backport175.codehaus.org                                                         *
4    * --------------------------------------------------------------------------------------- *
5    * The software in this package is published under the terms of Apache License Version 2.0 *
6    * a copy of which has been included with this distribution in the license.txt file.       *
7    *******************************************************************************************/
8   package test.customproceed.aw438;
9   
10  import junit.framework.TestCase;
11  import org.codehaus.aspectwerkz.joinpoint.JoinPoint;
12  
13  /***
14   * @author <a href="mailto:alex AT gnilux DOT com">Alexandre Vasseur</a>
15   */
16  public class ArrayInCustomProceedTest extends TestCase {
17      private static String LOG = "";
18  
19      public static void log(String msg) {
20          LOG += msg;
21      }
22  
23      public void target(Integer i, String[] ss) {
24          log("target");
25      }
26  
27      public void testTarget() {
28          LOG = "";
29          target(new Integer(1), new String[]{"a", "b"});
30          assertEquals("AOP target", LOG);
31      }
32  
33      public static void main(String[] args) {
34          junit.textui.TestRunner.run(suite());
35      }
36  
37      public static junit.framework.Test suite() {
38          return new junit.framework.TestSuite(ArrayInCustomProceedTest.class);
39      }
40  
41      public static class Aspect {
42  
43          public static interface MyJoinPoint extends JoinPoint {
44              Object proceed(Integer i, String[] objs);
45          }
46  
47          public Object addRequestTag(MyJoinPoint jp, Integer i, String[] objs) throws Throwable {
48              log("AOP ");
49              return jp.proceed(i, objs);
50          }
51  
52      }
53  
54  }