Return-Path: Delivered-To: apmail-ws-axis-dev-archive@www.apache.org Received: (qmail 81174 invoked from network); 6 May 2005 05:17:00 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 6 May 2005 05:17:00 -0000 Received: (qmail 12048 invoked by uid 500); 6 May 2005 05:19:29 -0000 Delivered-To: apmail-ws-axis-dev-archive@ws.apache.org Received: (qmail 12018 invoked by uid 500); 6 May 2005 05:19:27 -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 12005 invoked by uid 99); 6 May 2005 05:19:27 -0000 X-ASF-Spam-Status: No, hits=0.2 required=10.0 tests=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, 05 May 2005 22:19:27 -0700 Received: (qmail 81126 invoked by uid 65534); 6 May 2005 05:16:54 -0000 Message-ID: <20050506051654.81125.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Subject: svn commit: r168522 - /webservices/axis/trunk/java/modules/core/src/org/apache/axis/context/ContextBuilder.java Date: Fri, 06 May 2005 05:16:54 -0000 To: axis-cvs@ws.apache.org From: deepal@apache.org X-Mailer: svnmailer-1.0.0-dev X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: deepal Date: Thu May 5 22:16:53 2005 New Revision: 168522 URL: http://svn.apache.org/viewcvs?rev=3D168522&view=3Drev Log: modified to engage modules for services Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/context/Co= ntextBuilder.java Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/cont= ext/ContextBuilder.java URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core= /src/org/apache/axis/context/ContextBuilder.java?rev=3D168522&r1=3D168521&r= 2=3D168522&view=3Ddiff =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- webservices/axis/trunk/java/modules/core/src/org/apache/axis/context/Co= ntextBuilder.java (original) +++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/context/Co= ntextBuilder.java Thu May 5 22:16:53 2005 @@ -1,14 +1,21 @@ package org.apache.axis.context; =20 import java.util.ArrayList; +import java.util.HashMap; +import java.util.Collection; +import java.util.Iterator; =20 import javax.xml.namespace.QName; =20 import org.apache.axis.deployment.DeploymentEngine; import org.apache.axis.deployment.DeploymentException; import org.apache.axis.description.AxisService; +import org.apache.axis.description.AxisModule; +import org.apache.axis.description.AxisOperation; import org.apache.axis.engine.AxisFault; import org.apache.axis.engine.EngineConfiguration; +import org.apache.axis.engine.EngineConfigurationImpl; +import org.apache.axis.engine.ExecutionChain; import org.apache.axis.modules.Module; import org.apache.axis.phaseresolver.PhaseException; import org.apache.axis.phaseresolver.PhaseResolver; @@ -55,15 +62,21 @@ return engineContext; } =20 - + /** + * Is used to initilize the modules , if the module needs to so some re= covery process + * it can do inside init and this is differnt form module.engage() + * @param context + * @throws DeploymentException + */ =20 =20 private void initModules(EngineContext context) throws DeploymentExcep= tion { try{ - ArrayList modules =3D (ArrayList)context.getEngineConfig().get= Global().getModules(); - for (int i =3D 0; i < modules.size(); i++) { - QName name =3D (QName) modules.get(i); - Module module =3D context.getEngineConfig().getModule(name= )=2EgetModule(); + HashMap modules =3D ((EngineConfigurationImpl)context.getEngin= eConfig()).getModules(); + Collection col =3D modules.values(); + for (Iterator iterator =3D col.iterator(); iterator.hasNext();= ) { + AxisModule axismodule =3D (AxisModule)iterator.next(); + Module module =3D axismodule.getModule(); if(module !=3D null ){ module.init(context); } @@ -78,11 +91,37 @@ ServiceContext serviceContext =3D new ServiceContext(service,c= ontext); PhaseResolver reolve =3D new PhaseResolver(context.getEngineCo= nfig(),serviceContext); context.addService(serviceContext); - return serviceContext =3D reolve.buildchains(); + serviceContext =3D reolve.buildchains(); + engageModules(service,context); + return serviceContext; } catch (PhaseException e) { throw new PhaseException(e.getMessage()) ; } catch (AxisFault axisFault) { throw new PhaseException(axisFault.getMessage()) ; } + } + + private void engageModules(AxisService service,EngineContext context) = throws AxisFault { + ArrayList servicemodules =3D (ArrayList)service.getModules(); + ArrayList opModules ; + Module module ; + Collection operations =3D service.getOperations().values(); + for (Iterator iterator =3D operations.iterator(); iterator.hasNext(= );) { + AxisOperation operation =3D (AxisOperation) iterator.next(); + opModules =3D (ArrayList)operation.getModules(); + for (int i =3D 0; i < servicemodules.size(); i++) { + QName moduleName =3D (QName) servicemodules.get(i); + module =3D context.getEngineConfig().getModule(moduleName).= getModule(); + //todo AxisOperation shoud have a method to get chains + /*ExecutionChain inchain =3D new ExecutionChain(); + inchain.addPhases(operation.getPhases(EngineConfiguration.I= NFLOW)); + module.engage(inchain);*/ + } + for (int i =3D 0; i < opModules.size(); i++) { + QName moduleName =3D (QName) opModules.get(i); + module =3D context.getEngineConfig().getModule(moduleName).= getModule(); + } + + } } }