Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * JBoss, Home of Professional Open Source.
   * Copyright 2010, Red Hat Middleware LLC, and individual contributors
   * as indicated by the @author tags. See the copyright.txt file in the
   * distribution for a full listing of individual contributors.
   *
   * This is free software; you can redistribute it and/or modify it
   * under the terms of the GNU Lesser General Public License as
   * published by the Free Software Foundation; either version 2.1 of
  * the License, or (at your option) any later version.
  *
  * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this software; if not, write to the Free
  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.jboss.wsf.stack.metro;
 
 import java.net.URL;
 import java.util.Map;
 
 
An aspect that generates sun-jaxws.xml

Author(s):
Thomas.Diesler@jboss.org
Since:
10-May-2007
 
 {
    @Override
    @SuppressWarnings("unchecked")
    public void start(Deployment dep)
    {
       DDEndpoints ddEndpoints = dep.getAttachment(DDEndpoints.class);
       if (ddEndpoints == null)
       {
          ddEndpoints = new DDEndpoints();
          for (Endpoint endpoint : dep.getService().getEndpoints())
          {
             String endpointName = endpoint.getShortName();
             String targetBean = endpoint.getTargetBeanName();
             String urlPattern = endpoint.getURLPattern();
 
             DDEndpoint ddEndpoint = new DDEndpoint(endpointNametargetBeanurlPattern);
             Class beanClass = endpoint.getTargetBeanClass();
             BindingType bindingType = (BindingType)beanClass.getAnnotation(BindingType.class);
             
             if (bindingType != null && bindingType.value().length() > 0)
             {
                String binding = bindingType.value();
                ddEndpoint.setBinding(binding);
                ddEndpoint.setEnableMTOM(isMtomEnabled(binding));
             }
 
             .info("Add " + ddEndpoint);
             ddEndpoints.addEndpoint(ddEndpoint);
          }
 
          dep.addAttachment(DDEndpoints.classddEndpoints);
          putSunJaxwsConfigToDeployment(depddEndpoints.createFileURL());
       }
    }
 
    @Override
    public void stop(Deployment dep)
    {
       DDEndpoints dd = dep.getAttachment(DDEndpoints.class);
       if (dd != null)
       {
          dd.destroyFileURL();
       }
    }
   
   
Puts Metro config file reference to the stack specific context properties.

Parameters:
dep webservice deployment
jaxwsConfigURL Metro DD URL
See also:
org.jboss.wsf.common.integration.WSConstants.STACK_CONTEXT_PARAMS
 
    private static void putSunJaxwsConfigToDeployment(Deployment depURL jaxwsConfigURL)
    {
      // get property map
      Map<StringStringcontextParams = (Map<StringString>)dep.getProperty(.);
      if (contextParams == null)
      {
         // if there's no associated map with the property create it now
         contextParams = new HashMap<StringString>();
         dep.setProperty(.contextParams);
      }
      // put sun jaxws config URL to the property map
      contextParams.put(.jaxwsConfigURL.toExternalForm());
   }
   
   private static boolean isMtomEnabled(String binding)
   {
   }
New to GrepCode? Check out our FAQ X