You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ha...@apache.org on 2005/02/08 16:25:04 UTC

cvs commit: ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws WSDL2Ws.java

hawkeye     2005/02/08 07:25:04

  Modified:    c/src/wsdl/org/apache/axis/wsdl/wsdl2ws WSDL2Ws.java
  Log:
  Updated for AXISCPP-362 so that WSDL2Ws now checks more thoroughly the options being passed in to it
  
  Revision  Changes    Path
  1.53      +68 -4     ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/WSDL2Ws.java
  
  Index: WSDL2Ws.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/WSDL2Ws.java,v
  retrieving revision 1.52
  retrieving revision 1.53
  diff -u -r1.52 -r1.53
  --- WSDL2Ws.java	21 Jan 2005 17:27:58 -0000	1.52
  +++ WSDL2Ws.java	8 Feb 2005 15:25:04 -0000	1.53
  @@ -1091,11 +1091,13 @@
        * Options and Values 
        * ======= === ======
        * -o target output folder
  -     * -l target language(c|java|c++) default is java
  -     * --help (later ???? not emplemented)
  +     * -l target language(c|c++) default is c++
  +     * -help (later ???? not emplemented)
  +     * -h print usage()
        * -i implementation style (struct|order|simple) default is struct--- (usergetvalue() with PP or use getTag() ect ....)
        * -s (client|server|both)  
        * -w wrapping style of the WSDL (wrapped|nonwrapped) - default is wrapped
  +     * -m create GNU make files
        * 
        * Note:  PP - pull parser
        * @param args
  @@ -1105,13 +1107,13 @@
       public static void main(String[] args) throws Exception
       {
           CLArgParser data = new CLArgParser(args);
  -
  -        if (data.getArgumentCount() != 1)
  +        if (data.getArgumentCount() != 1 || !checkArguments(data))
           {
               usage();
           }
           else
           {
  +            
   
               if (data.isSet("v"))
                   WSDL2Ws.verbose = true;
  @@ -1145,4 +1147,66 @@
               }
           }
       }
  +
  +    /**
  +     * This method checks that we do not have extraneous inputs to the tool that we do not support
  +     * @param data the args coming in
  +     * @return tre if the args are all supported false otherwise.
  +     */
  +    private static boolean checkArguments(CLArgParser data)
  +    {
  +        for(int i=0; i<data.getArgumentCount(); i++)
  +        {
  +            // Check that those supported args have only the acceptable options.
  +            // target language
  +            String language = data.getOptionBykey("l");
  +            if(language!=null)
  +            {
  +                if(!language.equals("c++") && !language.equals("c"))
  +                {
  +                    return false;
  +                }
  +            }
  +            
  +            // target side
  +            String targetSide = data.getOptionBykey("s");
  +            if(targetSide!=null)
  +            {
  +                if(!targetSide.equals("server") && !targetSide.equals("client") && !targetSide.equals("both"))
  +                {
  +                    return false;
  +                }
  +            }
  +            
  +            //wrapped
  +            String wrapped=data.getOptionBykey("w");
  +            if(wrapped!=null)
  +            {
  +                if(!wrapped.equals("wrapped") && !wrapped.equals("nonwrapped"))
  +                {
  +                    return false;
  +                }
  +            }
  +            // make file generation
  +            String makeFiles = data.getOptionBykey("m");
  +            if(makeFiles!=null)
  +            {
  +                if(!makeFiles.equals("none") && !makeFiles.equals("gnu"))
  +                {
  +                    return false;
  +                }
  +            }
  +            
  +            // implementation style
  +            String implementationStyle=data.getOptionBykey("i");
  +            if(implementationStyle!=null)
  +            {
  +                if(!implementationStyle.equals("struct") && !implementationStyle.equals("order")&& !implementationStyle.equals("simple"))
  +                {
  +                    return false;
  +                }
  +            }
  +        }
  +        return true;
  +    }
   }