Return-Path: Delivered-To: apmail-ws-axis-dev-archive@www.apache.org Received: (qmail 89445 invoked from network); 10 Dec 2004 04:28:01 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 10 Dec 2004 04:28:01 -0000 Received: (qmail 51164 invoked by uid 500); 10 Dec 2004 04:27:59 -0000 Delivered-To: apmail-ws-axis-dev-archive@ws.apache.org Received: (qmail 51126 invoked by uid 500); 10 Dec 2004 04:27:59 -0000 Mailing-List: contact axis-cvs-help@ws.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Delivered-To: mailing list axis-cvs@ws.apache.org Received: (qmail 51104 invoked by uid 99); 10 Dec 2004 04:27:59 -0000 X-ASF-Spam-Status: No, hits=-10.0 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from minotaur.apache.org (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Thu, 09 Dec 2004 20:27:55 -0800 Received: (qmail 89251 invoked by uid 65534); 10 Dec 2004 04:27:51 -0000 Date: 10 Dec 2004 04:27:51 -0000 Message-ID: <20041210042751.89249.qmail@minotaur.apache.org> From: hemapani@apache.org To: axis-cvs@ws.apache.org Subject: svn commit: r111465 - in webservices/axis/trunk/java/dev/scratch/prototype2: . src/java/org/apache/axis/deployment src/java/org/apache/axis/description src/java/org/apache/axis/engine src/java/org/apache/axis/impl/description src/java/org/apache/axis/impl/handlers src/java/org/apache/axis/impl/registry src/samples/deployment/module1 src/samples/deployment/module2 src/samples/deployment/service1 src/samples/deployment/service2 src/test/org/apache/axis/engine src/test/org/apache/axis/registry MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Author: hemapani Date: Thu Dec 9 20:27:49 2004 New Revision: 111465 URL: http://svn.apache.org/viewcvs?view=rev&rev=111465 Log: add a handler Desc make way to deployemnt to merge in Added: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/description/HandlerMetaData.java webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/description/PhaseRule.java Removed: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/registry/ Modified: webservices/axis/trunk/java/dev/scratch/prototype2/project.xml webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/deployment/DeploymentEngine.java webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/description/Flow.java webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/engine/Handler.java webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/description/FlowImpl.java webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/handlers/AbstractHandler.java webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/module1/Handler3.java webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/module2/Handler4.java webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/service1/Handler1.java webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/service2/Handler2.java webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/engine/EngineUtils.java webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/engine/HandlerFaliureTest.java webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/registry/MockFlow.java webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/registry/SpeakingHandler.java webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/registry/SpeakingHandler1.java Modified: webservices/axis/trunk/java/dev/scratch/prototype2/project.xml Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/project.xml?view=diff&rev=111465&p1=webservices/axis/trunk/java/dev/scratch/prototype2/project.xml&r1=111464&p2=webservices/axis/trunk/java/dev/scratch/prototype2/project.xml&r2=111465 ============================================================================== --- webservices/axis/trunk/java/dev/scratch/prototype2/project.xml (original) +++ webservices/axis/trunk/java/dev/scratch/prototype2/project.xml Thu Dec 9 20:27:49 2004 @@ -94,7 +94,7 @@ **/*Abstract*.java **/*Util*.java **/*BadInputTest.java - + **/*ServiceTest.java **/*Test.java Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/deployment/DeploymentEngine.java Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/deployment/DeploymentEngine.java?view=diff&rev=111465&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/deployment/DeploymentEngine.java&r1=111464&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/deployment/DeploymentEngine.java&r2=111465 ============================================================================== --- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/deployment/DeploymentEngine.java (original) +++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/deployment/DeploymentEngine.java Thu Dec 9 20:27:49 2004 @@ -1,7 +1,25 @@ package org.apache.axis.deployment; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.InputStream; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLClassLoader; +import java.util.Vector; + +import javax.xml.namespace.QName; +import javax.xml.stream.XMLStreamException; + import org.apache.axis.context.MessageContext; -import org.apache.axis.deployment.metadata.*; +import org.apache.axis.deployment.metadata.FlowMetaData; +import org.apache.axis.deployment.metadata.HandlerMetaData; +import org.apache.axis.deployment.metadata.ModuleMetaData; +import org.apache.axis.deployment.metadata.OperationMetaData; +import org.apache.axis.deployment.metadata.ParameterMetaData; +import org.apache.axis.deployment.metadata.ServerMetaData; +import org.apache.axis.deployment.metadata.ServiceMetaData; import org.apache.axis.deployment.metadata.phaserule.PhaseException; import org.apache.axis.deployment.repository.utill.HDFileItem; import org.apache.axis.deployment.repository.utill.UnZipJAR; @@ -9,25 +27,27 @@ import org.apache.axis.deployment.scheduler.DeploymentIterator; import org.apache.axis.deployment.scheduler.Scheduler; import org.apache.axis.deployment.scheduler.SchedulerTask; -import org.apache.axis.engine.*; -import org.apache.axis.description.*; -import org.apache.axis.impl.description.*; -import org.apache.axis.impl.engine.*; +import org.apache.axis.description.AxisGlobal; +import org.apache.axis.description.AxisModule; +import org.apache.axis.description.AxisOperation; +import org.apache.axis.description.AxisService; +import org.apache.axis.description.Flow; +import org.apache.axis.description.Parameter; +import org.apache.axis.engine.AxisFault; +import org.apache.axis.engine.Constants; +import org.apache.axis.engine.EngineRegistry; +import org.apache.axis.engine.ExecutionChain; +import org.apache.axis.engine.Handler; +import org.apache.axis.engine.Phase; +import org.apache.axis.impl.description.FlowImpl; +import org.apache.axis.impl.description.ParameterImpl; +import org.apache.axis.impl.description.SimpleAxisOperationImpl; +import org.apache.axis.impl.description.SimpleAxisServiceImpl; +import org.apache.axis.impl.engine.EngineRegistryImpl; import org.apache.axis.impl.providers.SimpleJavaProvider; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamException; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLClassLoader; -import java.util.Vector; - /** * Copyright 2001-2004 The Apache Software Foundation. @@ -192,154 +212,155 @@ private void addnewService(ServiceMetaData serviceMetaData) throws AxisFault, PhaseException { - QName serviceName = new QName(serviceMetaData.getName()); - int count = 0; - - FlowImpl serviceinflow = new FlowImpl(); - FlowImpl serviceoutflow = new FlowImpl(); - FlowImpl servicefaultflow = new FlowImpl(); - - AxisService service = new SimpleAxisServiceImpl(serviceName); - service.setInFlow(serviceinflow); - service.setOutFlow(serviceoutflow); - service.setFaultFlow(servicefaultflow); - service.setClassLoader(Thread.currentThread().getContextClassLoader()); - - - ClassLoader serviceClassLoader = Thread.currentThread().getContextClassLoader(); - /** - * **************************************************************************** - * **************************************************************************** - * Adding service inflow detail - */ - count = serviceMetaData.getInFlow().getHandlercount(); - addFlowHandlers(serviceinflow, count, serviceMetaData.getInFlow(), serviceClassLoader); - - /** - * **************************************************************************** - * **************************************************************************** - * Adding service outflow detail - */ - count = serviceMetaData.getOutFlow().getHandlercount(); - addFlowHandlers(serviceoutflow, count, serviceMetaData.getOutFlow(), serviceClassLoader); - - /** - * **************************************************************************** - * **************************************************************************** - * Adding service fault detail - */ - count = serviceMetaData.getFaultFlow().getHandlercount(); - addFlowHandlers(servicefaultflow, count, serviceMetaData.getFaultFlow(), serviceClassLoader); - - /** - * **************************************************************************** - * **************************************************************************** - * Adding service parameters - */ - count = serviceMetaData.getParametercount(); - for (int j = 0; j < count; j++) { - ParameterMetaData paraMD = serviceMetaData.getParameter(j); - Parameter parameter = new ParameterImpl(paraMD.getName(), paraMD.getElement()); - service.addParameter(parameter); - } - - /** - * **************************************************************************** - * **************************************************************************** - * setting service provider - */ - service.setProvider(new SimpleJavaProvider()); - - OperationMetaData oprationmd = serviceMetaData.getOperation(); - ModuleMetaData modulemd = oprationmd.getModule(); - - /** - * adding parametrs to module - */ - AxisModule module = new AxisModule(new QName(modulemd.getRef())); - service.addModule(module.getName()); - count = modulemd.getParameterCount(); - - for (int j = 0; j < count; j++) { - ParameterMetaData paraMD = modulemd.getParameter(j); - Parameter parameter = new ParameterImpl(paraMD.getName(), paraMD.getElement()); - module.addParameter(parameter); - } - - FlowImpl operationinflow = new FlowImpl(); - count = oprationmd.getInFlow().getHandlercount(); - addFlowHandlers(operationinflow, count, oprationmd.getInFlow(), serviceClassLoader); - - FlowImpl operationutflow = new FlowImpl(); - count = oprationmd.getOutFlow().getHandlercount(); - addFlowHandlers(operationutflow, count, oprationmd.getOutFlow(), serviceClassLoader); - - FlowImpl operationfaultflow = new FlowImpl(); - count = oprationmd.getFaultFlow().getHandlercount(); - addFlowHandlers(operationfaultflow, count, oprationmd.getFaultFlow(), serviceClassLoader); - - - QName opname = new QName(oprationmd.getName()); - AxisOperation operation = new SimpleAxisOperationImpl(opname); - - service.addOperation(operation); - - - ExecutionChain inchain = new ExecutionChain(); - inchain.addPhase(new Phase(Constants.PHASE_TRANSPORT)); - inchain.addPhase(new Phase(Constants.PHASE_GLOBAL)); - - /** - * todo in this implematation all the handers in the servcie - * i have asume as one phase bt that is not the case - * I have to modify that getting all the pahse and - * accooding tp that i have to create phases - */ - Phase inservicephase = new Phase(Constants.PHASE_SERVICE); - HandlerMetaData[] handlerMetaDatas = serviceMetaData.getFlowHandlers(INFLOWST); - for (int i = 0; i < handlerMetaDatas.length; i++) { - HandlerMetaData handlerMetaData = handlerMetaDatas[i]; - Handler handler = castHandlerMetaData(handlerMetaData, serviceClassLoader); - handler.setName(new QName(handlerMetaData.getName())); - inservicephase.addHandler(handler); - } - inchain.addPhase(inservicephase); - - - ExecutionChain outchain = new ExecutionChain(); - outchain.addPhase(new Phase(Constants.PHASE_TRANSPORT)); - outchain.addPhase(new Phase(Constants.PHASE_GLOBAL)); - - Phase outservicephase = new Phase(Constants.PHASE_SERVICE); - handlerMetaDatas = serviceMetaData.getFlowHandlers(OUTFLOWST); - for (int i = 0; i < handlerMetaDatas.length; i++) { - HandlerMetaData handlerMetaData = handlerMetaDatas[i]; - Handler handler = castHandlerMetaData(handlerMetaData, serviceClassLoader); - handler.setName(new QName(handlerMetaData.getName())); - outservicephase.addHandler(handler); - } - outchain.addPhase(outservicephase); - - - ExecutionChain faultchain = new ExecutionChain(); - faultchain.addPhase(new Phase(Constants.PHASE_TRANSPORT)); - faultchain.addPhase(new Phase(Constants.PHASE_GLOBAL)); - - Phase faultservicephase = new Phase(Constants.PHASE_SERVICE); - handlerMetaDatas = serviceMetaData.getFlowHandlers(FAILTFLOWST); - for (int i = 0; i < handlerMetaDatas.length; i++) { - HandlerMetaData handlerMetaData = handlerMetaDatas[i]; - Handler handler = castHandlerMetaData(handlerMetaData, serviceClassLoader); - handler.setName(new QName(handlerMetaData.getName())); - faultservicephase.addHandler(handler); - } - outchain.addPhase(faultservicephase); - - service.setExecutableInChain(inchain); - service.setExecutableOutChain(outchain); - service.setExecutableFaultChain(faultchain); - - engineRegistry.addService(service); +// QName serviceName = new QName(serviceMetaData.getName()); +// int count = 0; +// +// FlowImpl serviceinflow = new FlowImpl(); +// FlowImpl serviceoutflow = new FlowImpl(); +// FlowImpl servicefaultflow = new FlowImpl(); +// +// AxisService service = new SimpleAxisServiceImpl(serviceName); +// service.setInFlow(serviceinflow); +// service.setOutFlow(serviceoutflow); +// service.setFaultFlow(servicefaultflow); +// service.setClassLoader(Thread.currentThread().getContextClassLoader()); +// +// +// ClassLoader serviceClassLoader = Thread.currentThread().getContextClassLoader(); +// /** +// * **************************************************************************** +// * **************************************************************************** +// * Adding service inflow detail +// */ +// count = serviceMetaData.getInFlow().getHandlercount(); +// addFlowHandlers(serviceinflow, count, serviceMetaData.getInFlow(), serviceClassLoader); +// +// /** +// * **************************************************************************** +// * **************************************************************************** +// * Adding service outflow detail +// */ +// count = serviceMetaData.getOutFlow().getHandlercount(); +// addFlowHandlers(serviceoutflow, count, serviceMetaData.getOutFlow(), serviceClassLoader); +// +// /** +// * **************************************************************************** +// * **************************************************************************** +// * Adding service fault detail +// */ +// count = serviceMetaData.getFaultFlow().getHandlercount(); +// addFlowHandlers(servicefaultflow, count, serviceMetaData.getFaultFlow(), serviceClassLoader); +// +// /** +// * **************************************************************************** +// * **************************************************************************** +// * Adding service parameters +// */ +// count = serviceMetaData.getParametercount(); +// for (int j = 0; j < count; j++) { +// ParameterMetaData paraMD = serviceMetaData.getParameter(j); +// Parameter parameter = new ParameterImpl(paraMD.getName(), paraMD.getElement()); +// service.addParameter(parameter); +// } +// +// /** +// * **************************************************************************** +// * **************************************************************************** +// * setting service provider +// */ +// service.setProvider(new SimpleJavaProvider()); +// +// OperationMetaData oprationmd = serviceMetaData.getOperation(); +// ModuleMetaData modulemd = oprationmd.getModule(); +// +// /** +// * adding parametrs to module +// */ +// AxisModule module = new AxisModule(new QName(modulemd.getRef())); +// service.addModule(module.getName()); +// count = modulemd.getParameterCount(); +// +// for (int j = 0; j < count; j++) { +// ParameterMetaData paraMD = modulemd.getParameter(j); +// Parameter parameter = new ParameterImpl(paraMD.getName(), paraMD.getElement()); +// module.addParameter(parameter); +// } +// +// FlowImpl operationinflow = new FlowImpl(); +// count = oprationmd.getInFlow().getHandlercount(); +// addFlowHandlers(operationinflow, count, oprationmd.getInFlow(), serviceClassLoader); +// +// FlowImpl operationutflow = new FlowImpl(); +// count = oprationmd.getOutFlow().getHandlercount(); +// addFlowHandlers(operationutflow, count, oprationmd.getOutFlow(), serviceClassLoader); +// +// FlowImpl operationfaultflow = new FlowImpl(); +// count = oprationmd.getFaultFlow().getHandlercount(); +// addFlowHandlers(operationfaultflow, count, oprationmd.getFaultFlow(), serviceClassLoader); +// +// +// QName opname = new QName(oprationmd.getName()); +// AxisOperation operation = new SimpleAxisOperationImpl(opname); +// +// service.addOperation(operation); +// +// +// ExecutionChain inchain = new ExecutionChain(); +// inchain.addPhase(new Phase(Constants.PHASE_TRANSPORT)); +// inchain.addPhase(new Phase(Constants.PHASE_GLOBAL)); +// +// /** +// * todo in this implematation all the handers in the servcie +// * i have asume as one phase bt that is not the case +// * I have to modify that getting all the pahse and +// * accooding tp that i have to create phases +// */ +// Phase inservicephase = new Phase(Constants.PHASE_SERVICE); +// HandlerMetaData[] handlerMetaDatas = serviceMetaData.getFlowHandlers(INFLOWST); +// for (int i = 0; i < handlerMetaDatas.length; i++) { +// HandlerMetaData handlerMetaData = handlerMetaDatas[i]; +// Handler handler = castHandlerMetaData(handlerMetaData, serviceClassLoader); +// //TODO +// //handler.setName(new QName(handlerMetaData.getName())); +// inservicephase.addHandler(handler); +// } +// inchain.addPhase(inservicephase); +// +// +// ExecutionChain outchain = new ExecutionChain(); +// outchain.addPhase(new Phase(Constants.PHASE_TRANSPORT)); +// outchain.addPhase(new Phase(Constants.PHASE_GLOBAL)); +// +// Phase outservicephase = new Phase(Constants.PHASE_SERVICE); +// handlerMetaDatas = serviceMetaData.getFlowHandlers(OUTFLOWST); +// for (int i = 0; i < handlerMetaDatas.length; i++) { +// HandlerMetaData handlerMetaData = handlerMetaDatas[i]; +// Handler handler = castHandlerMetaData(handlerMetaData, serviceClassLoader); +// handler.setName(new QName(handlerMetaData.getName())); +// outservicephase.addHandler(handler); +// } +// outchain.addPhase(outservicephase); +// +// +// ExecutionChain faultchain = new ExecutionChain(); +// faultchain.addPhase(new Phase(Constants.PHASE_TRANSPORT)); +// faultchain.addPhase(new Phase(Constants.PHASE_GLOBAL)); +// +// Phase faultservicephase = new Phase(Constants.PHASE_SERVICE); +// handlerMetaDatas = serviceMetaData.getFlowHandlers(FAILTFLOWST); +// for (int i = 0; i < handlerMetaDatas.length; i++) { +// HandlerMetaData handlerMetaData = handlerMetaDatas[i]; +// Handler handler = castHandlerMetaData(handlerMetaData, serviceClassLoader); +// handler.setName(new QName(handlerMetaData.getName())); +// faultservicephase.addHandler(handler); +// } +// outchain.addPhase(faultservicephase); +// +// service.setExecutableInChain(inchain); +// service.setExecutableOutChain(outchain); +// service.setExecutableFaultChain(faultchain); +// +// engineRegistry.addService(service); } @@ -350,30 +371,30 @@ * @param count */ private void addFlowHandlers(Flow flow, int count, FlowMetaData flowmetadata, ClassLoader parent) throws AxisFault { - for (int j = 0; j < count; j++) { - //todo handle exception in properway - HandlerMetaData handlermd = flowmetadata.getHandler(j); - Class handlerClass = null; - Handler handler; - handlerClass = getHandlerClass(handlermd.getClassName(), currentFileItem.getFile(), parent); - try { - handler = (Handler) handlerClass.newInstance(); - } catch (InstantiationException e) { - throw new AxisFault(e.getMessage()); - } catch (IllegalAccessException e) { - throw new AxisFault(e.getMessage()); - } - handler.setName(new QName(handlermd.getName())); - int paracount = handlermd.getParacount(); - for (int k = 0; k < paracount; k++) { - ParameterMetaData paraMD = handlermd.getParameter(k); - //todo check with srinath whether this is correct -//FIXME -// Parameter parameter = new ParameterImpl(paraMD.getName(), paraMD.getElement()); -// handler.addParameter(parameter); - } - flow.addHandler(handler); - } +// for (int j = 0; j < count; j++) { +// //todo handle exception in properway +// HandlerMetaData handlermd = flowmetadata.getHandler(j); +// Class handlerClass = null; +// Handler handler; +// handlerClass = getHandlerClass(handlermd.getClassName(), currentFileItem.getFile(), parent); +// try { +// handler = (Handler) handlerClass.newInstance(); +// } catch (InstantiationException e) { +// throw new AxisFault(e.getMessage()); +// } catch (IllegalAccessException e) { +// throw new AxisFault(e.getMessage()); +// } +// handler.setName(new QName(handlermd.getName())); +// int paracount = handlermd.getParacount(); +// for (int k = 0; k < paracount; k++) { +// ParameterMetaData paraMD = handlermd.getParameter(k); +// //todo check with srinath whether this is correct +////FIXME +//// Parameter parameter = new ParameterImpl(paraMD.getName(), paraMD.getElement()); +//// handler.addParameter(parameter); +// } +// flow.addHandler(handler); +// } } Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/description/Flow.java Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/description/Flow.java?view=diff&rev=111465&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/description/Flow.java&r1=111464&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/description/Flow.java&r2=111465 ============================================================================== --- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/description/Flow.java (original) +++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/description/Flow.java Thu Dec 9 20:27:49 2004 @@ -23,6 +23,6 @@ */ public interface Flow{ public int getHandlerCount(); - public Handler getHandler(int index); - public void addHandler(Handler handler); + public HandlerMetaData getHandler(int index); + public void addHandler(HandlerMetaData handler); } Added: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/description/HandlerMetaData.java Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/description/HandlerMetaData.java?view=auto&rev=111465 ============================================================================== --- (empty file) +++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/description/HandlerMetaData.java Thu Dec 9 20:27:49 2004 @@ -0,0 +1,87 @@ +/* + * Copyright 2003,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.description; + +import javax.xml.namespace.QName; + +import org.apache.axis.engine.Handler; + +/** + * @author Srinath Perera(hemapani@opensource.lk) + */ +public class HandlerMetaData implements ParameterInclude{ + private ParameterInclude parameterInclude; + private QName name; + private PhaseRule rules; + private Handler handler; + + /** + * @return + */ + public QName getName() { + return name; + } + + /** + * @return + */ + public PhaseRule getRules() { + return rules; + } + + /** + * @param name + */ + public void setName(QName name) { + this.name = name; + } + + /** + * @param rule + */ + public void setRules(PhaseRule rule) { + rules = rule; + } + + /** + * @param param + */ + public void addParameter(Parameter param) { + parameterInclude.addParameter(param); + } + + /** + * @param name + * @return + */ + public Parameter getParameter(String name) { + return parameterInclude.getParameter(name); + } + + /** + * @return + */ + public Handler getHandler() { + return handler; + } + + /** + * @param handler + */ + public void setHandler(Handler handler) { + this.handler = handler; + } +} Added: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/description/PhaseRule.java Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/description/PhaseRule.java?view=auto&rev=111465 ============================================================================== --- (empty file) +++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/description/PhaseRule.java Thu Dec 9 20:27:49 2004 @@ -0,0 +1,23 @@ +/* + * Copyright 2003,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.description; + +/** + * @author Srinath Perera(hemapani@opensource.lk) + */ +public class PhaseRule { + +} Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/engine/Handler.java Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/engine/Handler.java?view=diff&rev=111465&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/engine/Handler.java&r1=111464&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/engine/Handler.java&r2=111465 ============================================================================== --- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/engine/Handler.java (original) +++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/engine/Handler.java Thu Dec 9 20:27:49 2004 @@ -16,13 +16,16 @@ package org.apache.axis.engine; -import org.apache.axis.context.MessageContext; - +import java.io.Serializable; import javax.xml.namespace.QName; -import java.io.Serializable; -public interface Handler extends Serializable { +import org.apache.axis.context.MessageContext; +import org.apache.axis.description.HandlerMetaData; +import org.apache.axis.description.Parameter; + +public interface Handler extends Serializable{ + public void init(HandlerMetaData handlerdesc); /** * Invoke is called to do the actual work of the Handler object. * If there is a fault during the processing of this method it is @@ -46,7 +49,7 @@ */ public void revoke(MessageContext msgContext); - public void setName(QName name); - public QName getName(); + public Parameter getParameter(String name); + public void cleanup() throws AxisFault; } Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/description/FlowImpl.java Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/description/FlowImpl.java?view=diff&rev=111465&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/description/FlowImpl.java&r1=111464&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/description/FlowImpl.java&r2=111465 ============================================================================== --- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/description/FlowImpl.java (original) +++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/description/FlowImpl.java Thu Dec 9 20:27:49 2004 @@ -16,12 +16,11 @@ package org.apache.axis.impl.description; -import org.apache.axis.description.Flow; -import org.apache.axis.engine.Handler; - - import java.util.Vector; +import org.apache.axis.description.Flow; +import org.apache.axis.description.HandlerMetaData; + /** * @author hemapani@opensource.lk */ @@ -30,11 +29,11 @@ public FlowImpl(){ list = new Vector(); } - public void addHandler(Handler handler) { + public void addHandler(HandlerMetaData handler) { list.add(handler); } - public Handler getHandler(int index) { - return (Handler)list.get(index); + public HandlerMetaData getHandler(int index) { + return (HandlerMetaData)list.get(index); } public int getHandlerCount() { return list.size(); Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/handlers/AbstractHandler.java Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/handlers/AbstractHandler.java?view=diff&rev=111465&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/handlers/AbstractHandler.java&r1=111464&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/handlers/AbstractHandler.java&r2=111465 ============================================================================== --- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/handlers/AbstractHandler.java (original) +++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/handlers/AbstractHandler.java Thu Dec 9 20:27:49 2004 @@ -15,45 +15,43 @@ */ package org.apache.axis.impl.handlers; +import javax.xml.namespace.QName; + import org.apache.axis.context.MessageContext; +import org.apache.axis.description.HandlerMetaData; import org.apache.axis.description.Parameter; import org.apache.axis.engine.AxisFault; import org.apache.axis.engine.Handler; -import javax.xml.namespace.QName; - /** * @author Srinath Perera (hemapani@opensource.lk) */ public abstract class AbstractHandler implements Handler { - private QName name; + protected HandlerMetaData handlerDesc; + + public AbstractHandler(){ + } public QName getName() { - return name; + return handlerDesc.getName(); } - public void invoke(MessageContext msgContext) throws AxisFault { - } + public abstract void invoke(MessageContext msgContext) throws AxisFault; public void revoke(MessageContext msgContext) { } - public void setName(QName name) { - this.name = name; - } - - public void addParameter(Parameter param) { - //TODO - } + public void cleanup() throws AxisFault { } - public Parameter getParameter(String key) { - //TODO - return null; + + public Parameter getParameter(String name) { + return handlerDesc.getParameter(name); } - public void init() throws AxisFault { + public void init(HandlerMetaData handlerdesc) { + this.handlerDesc = handlerdesc; } } Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/module1/Handler3.java Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/module1/Handler3.java?view=diff&rev=111465&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/module1/Handler3.java&r1=111464&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/module1/Handler3.java&r2=111465 ============================================================================== --- webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/module1/Handler3.java (original) +++ webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/module1/Handler3.java Thu Dec 9 20:27:49 2004 @@ -23,8 +23,9 @@ import org.apache.axis.engine.Handler; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.axis.impl.handlers.AbstractHandler; -public class Handler3 implements Handler { +public class Handler3 extends AbstractHandler implements Handler { private Log log = LogFactory.getLog(getClass()); private String message; private QName name; Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/module2/Handler4.java Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/module2/Handler4.java?view=diff&rev=111465&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/module2/Handler4.java&r1=111464&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/module2/Handler4.java&r2=111465 ============================================================================== --- webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/module2/Handler4.java (original) +++ webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/module2/Handler4.java Thu Dec 9 20:27:49 2004 @@ -23,9 +23,10 @@ import org.apache.axis.engine.Handler; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.axis.impl.handlers.AbstractHandler; -public class Handler4 implements Handler { +public class Handler4 extends AbstractHandler implements Handler { private Log log = LogFactory.getLog(getClass());private String message; private QName name; public Handler4() { Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/service1/Handler1.java Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/service1/Handler1.java?view=diff&rev=111465&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/service1/Handler1.java&r1=111464&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/service1/Handler1.java&r2=111465 ============================================================================== --- webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/service1/Handler1.java (original) +++ webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/service1/Handler1.java Thu Dec 9 20:27:49 2004 @@ -23,8 +23,9 @@ import org.apache.axis.engine.Handler; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.axis.impl.handlers.AbstractHandler; -public class Handler1 implements Handler { +public class Handler1 extends AbstractHandler implements Handler { private Log log = LogFactory.getLog(getClass()); private String message; private QName name; Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/service2/Handler2.java Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/service2/Handler2.java?view=diff&rev=111465&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/service2/Handler2.java&r1=111464&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/service2/Handler2.java&r2=111465 ============================================================================== --- webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/service2/Handler2.java (original) +++ webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/service2/Handler2.java Thu Dec 9 20:27:49 2004 @@ -23,8 +23,9 @@ import org.apache.axis.engine.Handler; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.axis.impl.handlers.AbstractHandler; -public class Handler2 implements Handler { +public class Handler2 extends AbstractHandler implements Handler { private Log log = LogFactory.getLog(getClass()); private String message; private QName name; Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/engine/EngineUtils.java Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/engine/EngineUtils.java?view=diff&rev=111465&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/engine/EngineUtils.java&r1=111464&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/engine/EngineUtils.java&r2=111465 ============================================================================== --- webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/engine/EngineUtils.java (original) +++ webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/engine/EngineUtils.java Thu Dec 9 20:27:49 2004 @@ -18,7 +18,10 @@ import java.io.IOException; import java.net.ServerSocket; +import javax.xml.namespace.QName; + import org.apache.axis.description.Flow; +import org.apache.axis.description.HandlerMetaData; import org.apache.axis.impl.transport.http.SimpleHTTPReceiver; /** @@ -27,12 +30,13 @@ public class EngineUtils { public static final int TESTING_PORT = 7777; public static final String FAILURE_MESSAGE = "Intentional Faliure"; + private static int index = 0; public static void addHandlers(Flow flow,ExecutionChain exeChain,String phaseName) throws AxisFault{ if(flow != null){ int handlerCount = flow.getHandlerCount(); for(int i = 0;i