View | Details | Raw Unified | Return to bug 113368
Collapse All | Expand All

(-)Pr113368.aj (-20 / +23 lines)
Lines 1-6 Link Here
1
1
public aspect Pr113368 {
2
public aspect Pr113368 {
2
	
3
    
3
	private pointcut managedBeanConstruction(ManagedBean bean) : 
4
    public static void main(String[] args) {
5
        aspectOf().hook();
6
    }
7
    
8
    void hook() {}
9
10
    private pointcut managedBeanConstruction(ManagedBean bean) : 
4
        execution(ManagedBean+.new(..)) && this(bean); 
11
        execution(ManagedBean+.new(..)) && this(bean); 
5
12
6
    //NPE's on the if pointcut below    
13
    //NPE's on the if pointcut below    
Lines 9-36 Link Here
9
        if(thisJoinPointStaticPart.getSignature().getDeclaringType() == bean.getClass()); 
16
        if(thisJoinPointStaticPart.getSignature().getDeclaringType() == bean.getClass()); 
10
17
11
    after(ManagedBean bean) returning: topLevelManagedBeanConstruction(bean) {
18
    after(ManagedBean bean) returning: topLevelManagedBeanConstruction(bean) {
12
    		System.out.println("I just constructed " + bean);
19
            System.out.println("I just constructed " + bean);
13
    }
14
    
15
    public static void main(String[] args) {
16
    		new ManagedBean("super-bean");
17
    		new ManagedSubBean();
18
    }
20
    }
19
    
21
    
20
}
22
}
21
23
22
class ManagedBean {
24
abstract aspect ManagedBean {
23
	
24
	public ManagedBean(String s) {
25
		System.out.println(s);
26
	}
27
}
25
}
28
26
29
27
30
class ManagedSubBean extends ManagedBean {
28
aspect ManagedSubBean extends ManagedBean {
31
	
29
32
	public ManagedSubBean() {
30
    before() : execution(* hook()) {        
33
		super("sub-bean");
31
    }
34
	}
32
    
35
	
33
}
36
}
34
35
aspect AutoStart {
36
    before() : staticinitialization(ManagedBean) {
37
        ManagedSubBean.aspectOf();
38
    }
39
}

Return to bug 113368