| /* |
| * Copyright 2004,2005 The Apache Software Foundation. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package org.apache.axis2.context; |
| |
| import junit.framework.TestCase; |
| import org.apache.axis2.AxisFault; |
| import org.apache.axis2.description.AxisOperation; |
| import org.apache.axis2.description.AxisService; |
| import org.apache.axis2.description.AxisServiceGroup; |
| import org.apache.axis2.description.InOutAxisOperation; |
| import org.apache.axis2.description.Parameter; |
| import org.apache.axis2.engine.AxisConfiguration; |
| |
| import javax.xml.namespace.QName; |
| |
| public class ContextHierarchyTest extends TestCase { |
| private AxisOperation axisOperation; |
| |
| private AxisService axisService; |
| |
| private AxisConfiguration axisConfiguration; |
| |
| public ContextHierarchyTest(String arg0) { |
| super(arg0); |
| } |
| |
| protected void setUp() throws Exception { |
| axisOperation = new InOutAxisOperation(new QName("Temp")); |
| axisService = new AxisService("Temp"); |
| axisConfiguration = new AxisConfiguration(); |
| axisService.addOperation(axisOperation); |
| axisConfiguration.addService(axisService); |
| } |
| |
| public void testCompleteHiracy() throws AxisFault { |
| ConfigurationContext configurationContext = new ConfigurationContext( |
| axisConfiguration); |
| ServiceGroupContext serviceGroupContext = new ServiceGroupContext( |
| configurationContext, (AxisServiceGroup) axisService.getParent()); |
| ServiceContext serviceContext = serviceGroupContext |
| .getServiceContext(axisService); |
| MessageContext msgctx = new MessageContext(); |
| msgctx.setConfigurationContext(configurationContext); |
| OperationContext opContext = axisOperation.findOperationContext(msgctx, |
| serviceContext); |
| axisOperation.registerOperationContext(msgctx,opContext); |
| msgctx.setServiceContext(serviceContext); |
| |
| // test the complte Hierarchy built |
| assertEquals(msgctx.getParent(), opContext); |
| assertEquals(opContext.getParent(), serviceContext); |
| assertEquals(serviceContext.getParent(), serviceGroupContext); |
| |
| String key1 = "key1"; |
| String value1 = "Val1"; |
| String value2 = "value2"; |
| String key2 = "key2"; |
| String value3 = "value"; |
| |
| configurationContext.setProperty(key1, value1); |
| assertEquals(value1, msgctx.getProperty(key1)); |
| |
| axisConfiguration.addParameter(new Parameter(key2, value2)); |
| assertEquals(value2, msgctx.getParameter(key2).getValue()); |
| |
| opContext.setProperty(key1, value3); |
| assertEquals(value3, msgctx.getProperty(key1)); |
| opContext.getConfigurationContext(); |
| |
| } |
| |
| public void testDisconntectedHiracy() throws AxisFault { |
| ConfigurationContext configurationContext = new ConfigurationContext( |
| axisConfiguration); |
| |
| MessageContext msgctx = new MessageContext(); |
| msgctx.setConfigurationContext(configurationContext); |
| |
| // test the complete Hierarchy built |
| assertEquals(msgctx.getParent(), null); |
| |
| String key1 = "key1"; |
| String value1 = "Val1"; |
| String value2 = "value2"; |
| String key2 = "key2"; |
| |
| configurationContext.setProperty(key1, value1); |
| assertEquals(value1, msgctx.getProperty(key1)); |
| |
| axisConfiguration.addParameter(new Parameter(key2, value2)); |
| assertEquals(value2, msgctx.getParameter(key2).getValue()); |
| } |
| |
| protected void tearDown() throws Exception { |
| } |
| |
| } |