dev@glassfish.java.net

Re: request for approval (issue 10776 redux)

From: Bobby Bissett <Robert.Bissett_at_Sun.COM>
Date: Wed, 18 Nov 2009 22:11:30 -0500

On Nov 18, 2009, at 9:46 PM, Bobby Bissett wrote:
> Jerome,
>
> This is basically the same diff as before, but I removed the web
> services class from the EJBInvocation interface that was causing
> trouble with the web profile and replaced it with Object. The
> related cts test passes and am running QL now.
>
> if (QLWebPass && QLGlassfishPass && youApproveAgain) {
> commit();
> }
>

Both sets of QL tests passed.


> https://glassfish.dev.java.net/issues/show_bug.cgi?id=10776
>
> Thanks,
> Bobby
>
>
> ----------------------------------------
>
> Index: webservices/jsr109-impl/src/main/java/org/glassfish/
> webservices/EjbRuntimeEndpointInfo.java
> ===================================================================
> --- webservices/jsr109-impl/src/main/java/org/glassfish/webservices/
> EjbRuntimeEndpointInfo.java (revision 34517)
> +++ webservices/jsr109-impl/src/main/java/org/glassfish/webservices/
> EjbRuntimeEndpointInfo.java (working copy)
> @@ -1,7 +1,7 @@
> /*
> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
> *
> - * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
> + * Copyright 1997-2009 Sun Microsystems, Inc. All rights reserved.
> *
> * The contents of this file are subject to the terms of either the GNU
> * General Public License Version 2 only ("GPL") or the Common
> Development
> @@ -62,6 +62,7 @@
> import org.glassfish.api.invocation.ComponentInvocation;
> import org.glassfish.api.invocation.InvocationManager;
> import org.glassfish.api.admin.ServerEnvironment;
> +import org.glassfish.ejb.api.EJBInvocation;
>
>
> /**
> @@ -120,7 +121,7 @@
>
> public Object prepareInvocation(boolean doPreInvoke)
> throws Exception {
> - ComponentInvocation inv;
> + ComponentInvocation inv = null;
> AdapterInvocationInfo adapterInvInfo = new
> AdapterInvocationInfo();
> // For proper injection of handlers, we have to configure
> handler
> // after invManager.preInvoke but the Invocation.contextData
> has to be set
> @@ -176,7 +177,6 @@
> if(doPreInvoke) {
> inv = container.startInvocation();
> adapterInvInfo.setInv(inv);
> -
> }
>
> // Now process handlers and init jaxws RI
> @@ -310,7 +310,10 @@
> //does not have the jaxwsContextDelegate set
> //set it using this method
> addWSContextInfo(wsCtxt);
> -
> + if (inv != null) {
> + EJBInvocation ejbInv = (EJBInvocation) inv;
> + ejbInv.setWebServiceContext(wsCtxt);
> + }
> adapterInvInfo.setAdapter(adapter);
> return adapterInvInfo;
> }
>
> Index: ejb/ejb-container/src/main/java/com/sun/ejb/EjbInvocation.java
> ===================================================================
> --- ejb/ejb-container/src/main/java/com/sun/ejb/EjbInvocation.java
> (revision 34517)
> +++ ejb/ejb-container/src/main/java/com/sun/ejb/EjbInvocation.java
> (working copy)
> @@ -2,7 +2,7 @@
> /*
> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
> *
> - * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
> + * Copyright 1997-2009 Sun Microsystems, Inc. All rights reserved.
> *
> * The contents of this file are subject to the terms of either the GNU
> * General Public License Version 2 only ("GPL") or the Common
> Development
> @@ -497,11 +497,16 @@
> InterceptorUtil.checkSetParameters(params, getMethod());
> this.methodParams = params;
> }
> -
> - //The following method is not part of InvocationContext interface
> - // but needed for JAXWS message context propagation
> - public void setContextData(WebServiceContext context) {
> - this.webServiceContext = context;
> +
> + /*
> + * Method takes Object to decouple EJBInvocation interface
> + * from jaxws (which isn't available in all profiles).
> + */
> + public void setWebServiceContext(Object webServiceContext) {
> + // shouldn't be necessary, but to be safe
> + if (webServiceContext instanceof WebServiceContext) {
> + this.webServiceContext = (WebServiceContext)
> webServiceContext;
> + }
> }
>
> /**
> Index: ejb/ejb-internal-api/src/main/java/org/glassfish/ejb/api/
> EJBInvocation.java
> ===================================================================
> --- ejb/ejb-internal-api/src/main/java/org/glassfish/ejb/api/
> EJBInvocation.java (revision 34517)
> +++ ejb/ejb-internal-api/src/main/java/org/glassfish/ejb/api/
> EJBInvocation.java (working copy)
> @@ -1,7 +1,7 @@
> /*
> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
> *
> - * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
> + * Copyright 1997-2009 Sun Microsystems, Inc. All rights reserved.
> *
> * The contents of this file are subject to the terms of either the GNU
> * General Public License Version 2 only ("GPL") or the Common
> Development
> @@ -121,4 +121,5 @@
>
> public void setWebServiceMethod(Method method);
> public Method getWebServiceMethod();
> + public void setWebServiceContext(Object webServiceContext);
> }
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>