KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > axis2 > phaserule > PhaseLastTest


1 package org.apache.axis2.phaserule;
2
3 import junit.framework.TestCase;
4 import org.apache.axis2.context.ConfigurationContext;
5 import org.apache.axis2.context.MessageContext;
6 import org.apache.axis2.description.HandlerDescription;
7 import org.apache.axis2.description.PhaseRule;
8 import org.apache.axis2.engine.AxisConfigurationImpl;
9 import org.apache.axis2.engine.AxisFault;
10 import org.apache.axis2.engine.Handler;
11 import org.apache.axis2.engine.Phase;
12 import org.apache.axis2.phaseresolver.PhaseHolder;
13
14 import javax.xml.namespace.QName JavaDoc;
15 import java.util.ArrayList JavaDoc;
16
17 /*
18  * Copyright 2004,2005 The Apache Software Foundation.
19  *
20  * Licensed under the Apache License, Version 2.0 (the "License");
21  * you may not use this file except in compliance with the License.
22  * You may obtain a copy of the License at
23  *
24  * http://www.apache.org/licenses/LICENSE-2.0
25  *
26  * Unless required by applicable law or agreed to in writing, software
27  * distributed under the License is distributed on an "AS IS" BASIS,
28  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
29  * See the License for the specific language governing permissions and
30  * limitations under the License.
31  *
32  *
33  */

34
35 /**
36  * Author : Deepal Jayasinghe
37  * Date: May 20, 2005
38  * Time: 2:50:44 PM
39  */

40 public class PhaseLastTest extends TestCase{
41
42      public void testPhaseLast() throws AxisFault {
43         ArrayList JavaDoc phases = new ArrayList JavaDoc();
44         Phase p1 = new Phase("PhaseA");
45         phases.add(p1);
46         Phase p2 = new Phase("PhaseB");
47         phases.add(p2);
48
49         MessageContext msg = new MessageContext(new ConfigurationContext(new AxisConfigurationImpl()));
50
51         PhaseHolder ph = new PhaseHolder(phases);
52         HandlerDescription hm = new HandlerDescription();
53         hm.setClassName("org.apache.axis2.phaserule.PhaseRuleHandlers");
54         Handler h1 = new PhaseRuleHandlers();
55         h1.init(hm);
56         ((PhaseRuleHandlers) h1).setName(new QName JavaDoc("PhaseLast"));
57         hm.setHandler(h1);
58         hm.setName(new QName JavaDoc("H1"));
59         PhaseRule rule = new PhaseRule();
60         rule.setPhaseName("PhaseA");
61         rule.setPhaseLast(true);
62         hm.setRules(rule);
63         ph.addHandler(hm);
64
65         HandlerDescription hm1 = new HandlerDescription();
66         hm1.setClassName("org.apache.axis2.phaserule.PhaseRuleHandlers");
67         Handler h2 = new PhaseRuleHandlers();
68         ((PhaseRuleHandlers) h2).setName(new QName JavaDoc("Second Handler"));
69         h2.init(hm1);
70         hm1.setHandler(h2);
71         hm1.setName(new QName JavaDoc("H2"));
72         PhaseRule rule1 = new PhaseRule();
73         rule1.setPhaseName("PhaseA");
74         rule1.setAfter("H1");
75         hm1.setRules(rule1);
76         ph.addHandler(hm1);
77
78         ArrayList JavaDoc handlers = p1.getHandlers();
79         Handler handler = (Handler) handlers.get(0);
80         if(!handler.getName().equals(new QName JavaDoc("Second Handler"))){
81             fail("Computed Hnadler order is wrong ");
82         }
83         handler = (Handler) handlers.get(1);
84         if(!handler.getName().equals(new QName JavaDoc("PhaseLast"))){
85             fail("Computed Hnadler order is wrong ");
86         }
87
88         p1.invoke(msg);
89     }
90 }
91
Popular Tags