/* * Copyright 2001-2004 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.axis.deployment.wsdd; import org.apache.axis.ConfigurationException; import org.apache.axis.EngineConfiguration; import org.apache.axis.Handler; import org.apache.axis.encoding.SerializationContext; import org.apache.axis.utils.Messages; import org.apache.axis.utils.XMLUtils; import org.w3c.dom.Element; import javax.xml.namespace.QName; import java.io.IOException; import java.util.List; import java.util.ArrayList; /** * Represents the global configuration of the Axis engine. * * @author James Snell */ public class WSDDGlobalConfiguration extends WSDDDeployableItem { private WSDDRequestFlow requestFlow; private WSDDResponseFlow responseFlow; private ArrayList roles = new ArrayList(); /** * Default constructor */ public WSDDGlobalConfiguration() { } /** * * @param e (Element) XXX * @throws WSDDException XXX */ public WSDDGlobalConfiguration(Element e) throws WSDDException { super(e); Element reqEl = getChildElement(e, ELEM_WSDD_REQFLOW); if (reqEl != null && reqEl.getElementsByTagName("*").getLength()>0) { requestFlow = new WSDDRequestFlow(reqEl); } Element respEl = getChildElement(e, ELEM_WSDD_RESPFLOW); if (respEl != null && respEl.getElementsByTagName("*").getLength()>0) { responseFlow = new WSDDResponseFlow(respEl); } Element [] roleElements = getChildElements(e, ELEM_WSDD_ROLE); for (int i = 0; i < roleElements.length; i++) { String role = XMLUtils.getChildCharacterData(roleElements[i]); roles.add(role); } } protected QName getElementName() { return WSDDConstants.QNAME_GLOBAL; } /** * Get our request flow */ public WSDDRequestFlow getRequestFlow() { return requestFlow; } /** * Set our request flow */ public void setRequestFlow(WSDDRequestFlow reqFlow) { requestFlow = reqFlow; } /** * Get our response flow */ public WSDDResponseFlow getResponseFlow() { return responseFlow; } /** * Set the response flow */ public void setResponseFlow(WSDDResponseFlow responseFlow) { this.responseFlow = responseFlow; } /** * * @return XXX */ public WSDDFaultFlow[] getFaultFlows() { return null; } /** * * @param name XXX * @return XXX */ public WSDDFaultFlow getFaultFlow(QName name) { WSDDFaultFlow[] t = getFaultFlows(); for (int n = 0; n < t.length; n++) { if (t[n].getQName().equals(name)) { return t[n]; } } return null; } /** * * @return XXX */ public QName getType() { return null; } /** * * @param type XXX */ public void setType(String type) throws WSDDException { throw new WSDDException(Messages.getMessage("noTypeOnGlobalConfig00")); } /** * * @param registry XXX * @return XXX */ public Handler makeNewInstance(EngineConfiguration registry) { return null; } /** * Write this element out to a SerializationContext */ public void writeToContext(SerializationContext context) throws IOException { context.startElement(QNAME_GLOBAL, null); writeParamsToContext(context); if (requestFlow != null) requestFlow.writeToContext(context); if (responseFlow != null) responseFlow.writeToContext(context); context.endElement(); } public void deployToRegistry(WSDDDeployment registry) throws ConfigurationException { if (requestFlow != null) requestFlow.deployToRegistry(registry); if (responseFlow != null) responseFlow.deployToRegistry(registry); } public List getRoles() { return (List)roles.clone(); } }