Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
   *
   * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
   *
   * Use is subject to license terms.
   *
   * JBoss, Home of Professional Open Source
   * Copyright 2008, Red Hat Middleware LLC, and individual contributors
  * by the @authors tag. See the copyright.txt in the distribution for a
  * full listing of individual contributors.
  *
  * 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.jboss.as.weld.webtier.jsp;
 
 
The Web Beans JSP initialization listener

Author(s):
Pete Muir
Stuart Douglas
 
 
     private volatile boolean installed = false;
 
     private static class WeldJspApplicationContextImpl extends ForwardingJspApplicationContextImpl {
         private final JspApplicationContextImpl delegate;
         private final ExpressionFactory expressionFactory;
 
         public WeldJspApplicationContextImpl(JspApplicationContextImpl delegateExpressionFactory expressionFactory) {
             this. = delegate;
             this. = expressionFactory;
         }
 
         @Override
         protected JspApplicationContextImpl delegate() {
             return ;
         }
 
         @Override
         public ExpressionFactory getExpressionFactory() {
             return ;
         }
 
     }
 
     @Inject
     private BeanManager beanManager;
 
     @Override
     public void requestInitialized(ServletRequestEvent sre) {
         if (! && != null && JspFactory.getDefaultFactory() != null) {
             synchronized (this) {
                 if (!) {
                      = true;
                     // get JspApplicationContext.
                     JspApplicationContext jspAppContext = JspFactory.getDefaultFactory().getJspApplicationContext(
                             sre.getServletContext());
 
                     // register compositeELResolver with JSP
                     jspAppContext.addELResolver(.getELResolver());
 
                     jspAppContext.addELContextListener(Reflections.<ELContextListenernewInstance(
                             "org.jboss.weld.el.WeldELContextListener"getClass().getClassLoader()));
 
                     // Hack into JBoss Web/Catalina to replace the ExpressionFactory
                     JspApplicationContextImpl wrappedJspApplicationContextImpl = new WeldJspApplicationContextImpl(
                             JspApplicationContextImpl.getInstance(sre.getServletContext()), 
                                     .wrapExpressionFactory(jspAppContext.getExpressionFactory()));
                     sre.getServletContext().setAttribute(JspApplicationContextImpl.class.getName(),
                             wrappedJspApplicationContextImpl);
                 }
             }
         }
         // otherwise something went wrong starting Weld, so don't register with JSP
     }
New to GrepCode? Check out our FAQ X