dug         01/07/25 11:00:22

  Modified:    java/src/org/apache/soap/server DeploymentDescriptor.java
  Log:
  Add support for opts on java and script services in the dd.xml file.
  (noticed and fixed by Uzay Takaoglu ([EMAIL PROTECTED])
  
  Revision  Changes    Path
  1.30      +27 -20    
xml-soap/java/src/org/apache/soap/server/DeploymentDescriptor.java
  
  Index: DeploymentDescriptor.java
  ===================================================================
  RCS file: 
/home/cvs/xml-soap/java/src/org/apache/soap/server/DeploymentDescriptor.java,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- DeploymentDescriptor.java 2001/06/28 21:04:03     1.29
  +++ DeploymentDescriptor.java 2001/07/25 18:00:22     1.30
  @@ -516,6 +516,25 @@
       int scope = -1;
       String[] methods;
   
  +    Element saved_E = e ;
  +    nl = e.getElementsByTagNameNS(Constants.NS_URI_XML_SOAP_DEPLOYMENT,
  +                                  "option" );
  +    for ( int i = 0 ; nl != null && i < nl.getLength() ; i++ ) {
  +      String  key, value ;
  +
  +      e = (Element) nl.item(i);
  +      key   = DOMUtils.getAttribute( e, "key" );
  +      value = DOMUtils.getAttribute( e, "value" );
  +
  +      if ( key == null || key.equals("") )
  +        throw new IllegalArgumentException("Missing 'key' attribute on " +
  +                                           "'option' element in deployment " +
  +                                           "desriptor" );
  +      if ( dd.props == null ) dd.props = new Hashtable();
  +      dd.props.put( key, value );
  +    }
  +    e = saved_E ;
  +
       if (typeStr.equals ("java")) {
         dd.setProviderType (DeploymentDescriptor.PROVIDER_JAVA);
         nl = e.getElementsByTagNameNS (Constants.NS_URI_XML_SOAP_DEPLOYMENT,
  @@ -571,26 +590,7 @@
         dd.setProviderType (DeploymentDescriptor.PROVIDER_USER_DEFINED);
         dd.setServiceClass (typeStr);
   
  -      Element saved_E = e ;
  -      nl = e.getElementsByTagNameNS(Constants.NS_URI_XML_SOAP_DEPLOYMENT,
  -                                    "option" );
  -      for ( int i = 0 ; nl != null && i < nl.getLength() ; i++ ) {
  -        String  key, value ;
  -
  -        e = (Element) nl.item(i);
  -        key   = DOMUtils.getAttribute( e, "key" );
  -        value = DOMUtils.getAttribute( e, "value" );
  -
  -        if ( key == null || key.equals("") )
  -          throw new IllegalArgumentException("Missing 'key' attribute on " +
  -                                             "'option' element in deployment " +
  -                                             "desriptor" );
  -        if ( dd.props == null ) dd.props = new Hashtable();
  -        dd.props.put( key, value );
  -      }
  -
         // Support old 'java' tag
  -      e = saved_E ;
         nl = e.getElementsByTagNameNS (Constants.NS_URI_XML_SOAP_DEPLOYMENT,
                                        "java");
         if ( nl != null ) {
  @@ -698,6 +698,7 @@
         }
       }
   
  +System.err.println("DD:" + dd.toString() );
       return dd;
     }
   
  @@ -732,8 +733,14 @@
         for (int i = 0; i < faultListener.length;
           lis.append(faultListener[i]), lis.append(" "), i++);
       lis.append("]");
  +
  +    StringBuffer opts = new StringBuffer();
  +    if (props != null) 
  +      opts.append( props.toString() );
  +
       return header + body + "methods='" + methodsStrbuf + "', " +
  -      "faultListener='" + lis + "', " + "mappings='" + mappings + "']";
  +      "faultListener='" + lis + "', " + "mappings='" + mappings + "'], " +
  +      "opts='" + opts ;
     }
   
     /**
  
  
  

Reply via email to