You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wsif-dev@ws.apache.org by hc...@apache.org on 2005/03/15 01:04:32 UTC

cvs commit: ws-wsif/swingWsInvoker/src/org/apache/wsif/wsinvoker/grammar/java JavaParseTree.java

hchan       2005/03/14 16:04:32

  Modified:    swingWsInvoker/src/org/apache/commons/logging Log.java
                        LogConfigurationException.java LogFactory.java
                        LogSource.java
               swingWsInvoker/src/org/apache/commons/logging/impl
                        Jdk13LumberjackLogger.java Jdk14Logger.java
                        Log4JCategoryLog.java Log4JLogger.java
                        LogFactoryImpl.java NoOpLog.java SimpleLog.java
               swingWsInvoker/src/org/apache/wsif/wsinvoker
                        ComplexTypeTextArea.java InvokeActionListener.java
                        InvokePanel.java SimpleTypeTextField.java
                        WSInvoker.java
               swingWsInvoker/src/org/apache/wsif/wsinvoker/grammar/java
                        JavaParseTree.java
  Log:
  fixed array bug
  
  Revision  Changes    Path
  1.2       +0 -0      ws-wsif/swingWsInvoker/src/org/apache/commons/logging/Log.java
  
  
  
  
  1.2       +0 -0      ws-wsif/swingWsInvoker/src/org/apache/commons/logging/LogConfigurationException.java
  
  
  
  
  1.2       +0 -0      ws-wsif/swingWsInvoker/src/org/apache/commons/logging/LogFactory.java
  
  
  
  
  1.2       +0 -0      ws-wsif/swingWsInvoker/src/org/apache/commons/logging/LogSource.java
  
  
  
  
  1.2       +0 -0      ws-wsif/swingWsInvoker/src/org/apache/commons/logging/impl/Jdk13LumberjackLogger.java
  
  
  
  
  1.2       +0 -0      ws-wsif/swingWsInvoker/src/org/apache/commons/logging/impl/Jdk14Logger.java
  
  
  
  
  1.2       +0 -0      ws-wsif/swingWsInvoker/src/org/apache/commons/logging/impl/Log4JCategoryLog.java
  
  
  
  
  1.2       +0 -0      ws-wsif/swingWsInvoker/src/org/apache/commons/logging/impl/Log4JLogger.java
  
  
  
  
  1.2       +0 -0      ws-wsif/swingWsInvoker/src/org/apache/commons/logging/impl/LogFactoryImpl.java
  
  
  
  
  1.2       +0 -0      ws-wsif/swingWsInvoker/src/org/apache/commons/logging/impl/NoOpLog.java
  
  
  
  
  1.2       +0 -0      ws-wsif/swingWsInvoker/src/org/apache/commons/logging/impl/SimpleLog.java
  
  
  
  
  1.2       +49 -27    ws-wsif/swingWsInvoker/src/org/apache/wsif/wsinvoker/ComplexTypeTextArea.java
  
  Index: ComplexTypeTextArea.java
  ===================================================================
  RCS file: /home/cvs/ws-wsif/swingWsInvoker/src/org/apache/wsif/wsinvoker/ComplexTypeTextArea.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ComplexTypeTextArea.java	20 Feb 2005 00:54:30 -0000	1.1
  +++ ComplexTypeTextArea.java	15 Mar 2005 00:04:32 -0000	1.2
  @@ -93,45 +93,67 @@
       private ClassLoader classLoader = null;
       
       public ComplexTypeTextArea(Class clazz, WSInvoker wsinvoker) {
  -        super();
  +        super();       
           this.clazz = clazz;
           this.wsinvoker = wsinvoker;
           scrollPane = new JScrollPane();
  -        textArea = new JTextArea(0, 0);
  -        setDefaultText();
  +        textArea = new JTextArea(0, 0);      
  +        setDefaultText();    
           saveJavaFile();
           scrollPane.setViewportView(textArea);
           this.add(scrollPane);
  +        
       }
       
       /**
        * 
        */
       private void setDefaultText() {
  -        String classShortName = clazz.getName();
  -        
  -        String generatedClassName = getNextGeneratedClassName();        
  -        
  -        int indexOfLastDot = classShortName.lastIndexOf('.');
  -        if (indexOfLastDot != -1) {
  -            classShortName = classShortName.substring(indexOfLastDot + 1);
  -        }
  -        String packageName = clazz.getName().substring(0, clazz.getName().lastIndexOf('.'));
  -        String classShortNameMixedUCase = classShortName;       
  -        String firstChar = classShortNameMixedUCase.substring(0,1);
  -        classShortNameMixedUCase = classShortNameMixedUCase.replaceFirst(firstChar, firstChar.toUpperCase());
  -        methodName = "get" + classShortNameMixedUCase;
  -        textArea.setText("package " + GENERATED_PACKAGENAME + ";\n");
  -        textArea.append("import " + packageName + ".*;\n\n");
  -        textArea.append("public class " + generatedClassName + " {\n");
  -        textArea.append("\t// this method is used to create the SOAP request parameter used in this operation\n");        
  -        textArea.append("\tpublic static " + classShortName + " " + methodName + " () {\n");
  -        textArea.append("\t\t" + classShortName + " retval = null;\n");
  -        textArea.append("\t\treturn retval;\n");
  -        textArea.append("\t}\n");
  -        createJavaGetters();        
  -        textArea.append("}\n");
  -        textArea.setCaretPosition(0);
  +    	String classShortName = null;
  +    	String generatedClassName = getNextGeneratedClassName();   
  +    	String packageName = null;
  +    	
  +    	if (!clazz.isArray()) { 
  +    		packageName = clazz.getName().substring(0, clazz.getName().lastIndexOf('.'));
  +    		classShortName = clazz.getName();
  +    	} else {
  +    		String componentTypeName = clazz.getComponentType().getName();    		
  +    		try {
  +    			packageName = componentTypeName.substring(0, componentTypeName.lastIndexOf('.'));
  +    		} catch (StringIndexOutOfBoundsException e) {
  +    			// ignore
  +    		}
  +    		classShortName = componentTypeName + "[]";    		
  +    	}
  +    	int indexOfLastDot = classShortName.lastIndexOf('.');
  +    	if (indexOfLastDot != -1) {
  +    		classShortName = classShortName.substring(indexOfLastDot + 1);
  +    	}   
  +    	
  +    	String classShortNameMixedUCase = null;
  +    	if (!clazz.isArray()) {
  +    		classShortNameMixedUCase = classShortName;
  +    	} else {
  +    		classShortNameMixedUCase = classShortName.substring(0, classShortName.length() - 2);
  +    	}
  +    	String firstChar = classShortNameMixedUCase.substring(0,1);
  +    	
  +    	classShortNameMixedUCase = classShortNameMixedUCase.replaceFirst(firstChar, firstChar.toUpperCase());    
  +    	methodName = "get" + classShortNameMixedUCase;
  +    	textArea.setText("package " + GENERATED_PACKAGENAME + ";\n");
  +    	if (packageName != null) {
  +    		textArea.append("import " + packageName + ".*;\n\n");
  +    	}
  +    	
  +    	textArea.append("public class " + generatedClassName + " {\n");
  +    	textArea.append("\t// this method is used to create the SOAP request parameter used in this operation\n");        
  +    	textArea.append("\tpublic static " + classShortName + " " + methodName + " () {\n");
  +    	textArea.append("\t\t" + classShortName + " retval = null;\n");
  +    	textArea.append("\t\treturn retval;\n");
  +    	textArea.append("\t}\n");
  +    	createJavaGetters();        
  +    	textArea.append("}\n");
  +    	textArea.setCaretPosition(0);
       }
   
       /**
  
  
  
  1.2       +1 -1      ws-wsif/swingWsInvoker/src/org/apache/wsif/wsinvoker/InvokeActionListener.java
  
  Index: InvokeActionListener.java
  ===================================================================
  RCS file: /home/cvs/ws-wsif/swingWsInvoker/src/org/apache/wsif/wsinvoker/InvokeActionListener.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- InvokeActionListener.java	20 Feb 2005 00:54:30 -0000	1.1
  +++ InvokeActionListener.java	15 Mar 2005 00:04:32 -0000	1.2
  @@ -248,7 +248,7 @@
       private Object[] getInvokeArgs(Method method, Object[] args) throws ParseException, IllegalArgumentException, CompileException, ClassNotFoundException, InstantiationException, IllegalAccessException, InvocationTargetException {
           Class[] paramTypes = method.getParameterTypes();
           Object[] retval = new Object[paramTypes.length];       
  -        for (int i = 0; i < paramTypes.length; i++) {
  +        for (int i = 0; i < paramTypes.length; i++) {       
               if (args[i] instanceof SimpleTypeTextField) {
                   SimpleTypeTextField sttf = (SimpleTypeTextField)args[i];
                   retval[i] = sttf.getSimpleObject();               
  
  
  
  1.2       +8 -3      ws-wsif/swingWsInvoker/src/org/apache/wsif/wsinvoker/InvokePanel.java
  
  Index: InvokePanel.java
  ===================================================================
  RCS file: /home/cvs/ws-wsif/swingWsInvoker/src/org/apache/wsif/wsinvoker/InvokePanel.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- InvokePanel.java	20 Feb 2005 00:54:30 -0000	1.1
  +++ InvokePanel.java	15 Mar 2005 00:04:32 -0000	1.2
  @@ -118,7 +118,12 @@
               Class clazz = params[i];
               int gap = 5;
               String inputParamName = "";
  -            String inputParamType = clazz.getName();
  +            String inputParamType = "";
  +            if (clazz.isArray()) {
  +            	inputParamType = clazz.getComponentType() + "[]";
  +            } else {
  +            	inputParamType = clazz.getName();
  +            }                       
               String labelStr = "  " + inputParamType + " " + inputParamName;
               	
               if (labelStr.length() > retColSize) {
  @@ -127,13 +132,13 @@
               JLabel inputParamLabel = getInputParamLabel(labelStr, method, i);
               
               JComponent inputParamField = null;
  -            if (SimpleTypeTextField.isSimpleType(clazz)) {
  +            if (SimpleTypeTextField.isSimpleType(clazz)) {            	
                   SimpleTypeTextField sttf = new SimpleTypeTextField(clazz);
                   if (canPopWithDefault) {                    
                       sttf.populateWithDefault();
                   }
                   inputParamField = sttf;
  -            } else {
  +            } else {            	
                   ComplexTypeTextArea ctta = new ComplexTypeTextArea(clazz, wsinvoker);               
                   inputParamField = ctta;                
               }            
  
  
  
  1.2       +6 -4      ws-wsif/swingWsInvoker/src/org/apache/wsif/wsinvoker/SimpleTypeTextField.java
  
  Index: SimpleTypeTextField.java
  ===================================================================
  RCS file: /home/cvs/ws-wsif/swingWsInvoker/src/org/apache/wsif/wsinvoker/SimpleTypeTextField.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SimpleTypeTextField.java	20 Feb 2005 00:54:30 -0000	1.1
  +++ SimpleTypeTextField.java	15 Mar 2005 00:04:32 -0000	1.2
  @@ -80,13 +80,13 @@
          this.clazz = clazz;
       }
       
  -    public static boolean isSimpleType (Class clazz){
  +    public static boolean isSimpleType (Class clazz){    	
           boolean retval = false;
           if (
                   (clazz == String.class) ||
                   (clazz.isPrimitive()) ||
                   (clazz == Calendar.class) ||
  -                (clazz == BigDecimal.class)
  +                (clazz == BigDecimal.class) 
           ) {
               retval = true;
           }
  @@ -116,7 +116,7 @@
           }
           return retval;
       }
  -    
  +
       private Object getPrimitiveValue(Class primitiveClass, String str) {
           Object retval = null;
           //Boolean.TYPE, Character.TYPE, Byte.TYPE, Short.TYPE, Integer.TYPE,
  @@ -144,7 +144,9 @@
           } else if (primitiveClass == double.class) {
               retval = new Double(str);
           } else if (primitiveClass == void.class) {
  -            retval = null;
  +            retval = null;            
  +        } else {
  +        	System.err.println("Unknown primitive class: " + primitiveClass.getName());
           }
           return retval;
       }
  
  
  
  1.2       +1 -0      ws-wsif/swingWsInvoker/src/org/apache/wsif/wsinvoker/WSInvoker.java
  
  Index: WSInvoker.java
  ===================================================================
  RCS file: /home/cvs/ws-wsif/swingWsInvoker/src/org/apache/wsif/wsinvoker/WSInvoker.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- WSInvoker.java	20 Feb 2005 00:54:30 -0000	1.1
  +++ WSInvoker.java	15 Mar 2005 00:04:32 -0000	1.2
  @@ -302,6 +302,7 @@
       }
   
       private static void displayFrame(JFrame frame) {
  +    	// TODO may want to redo without SpringLayout
       	 frame.pack();
           frame.setSize(800, 300);
     
  
  
  
  1.2       +35 -27    ws-wsif/swingWsInvoker/src/org/apache/wsif/wsinvoker/grammar/java/JavaParseTree.java
  
  Index: JavaParseTree.java
  ===================================================================
  RCS file: /home/cvs/ws-wsif/swingWsInvoker/src/org/apache/wsif/wsinvoker/grammar/java/JavaParseTree.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- JavaParseTree.java	20 Feb 2005 00:54:30 -0000	1.1
  +++ JavaParseTree.java	15 Mar 2005 00:04:32 -0000	1.2
  @@ -30,7 +30,9 @@
       
       
       public static void main(String args[]) throws Exception {
  -        JavaParseTree jpt = new JavaParseTree("C:\\temp\\FileClassLoader.java");       
  +    	JavaParseTree jpt = new JavaParseTree("/home/hchan/.wsinvoker/tmp/classes/mancom/Webservices.java");
  +    	
  +    	//C:\\temp\\FileClassLoader.java");      
       }
       
       public String toString() {
  @@ -66,32 +68,38 @@
           this.methodNodes = methodNodes;
       }
   
  -   
  +    
       public MethodNode getMethodNode(Method method) {      
  -       MethodNode retval = null;
  -       boolean foundMatch = false;
  -       for (int i = 0; i < methodNodes.size(); i++) {
  -           MethodNode methodNode = (MethodNode)methodNodes.elementAt(i);
  -           //System.out.println(methodNode.toString());
  -           if (method.getName().equals(methodNode.getMethodDeclarator())) {
  -               foundMatch = true;
  -               Class[] paramTypes = method.getParameterTypes();
  -               Vector types = methodNode.getTypes();
  -               for (int j = 0; j < paramTypes.length; j++) {
  -                   Class clazz = paramTypes[j];
  -                   String type = (String)types.elementAt(j);
  -                   //System.out.println(clazz.getName() + ":" + type);
  -                   if (!clazz.getName().equals(type)) {
  -                       foundMatch = false;
  -                       break;
  -                   }                  
  -               }
  -               if (foundMatch) {
  -                   retval = methodNode;      
  -                   break;                   
  -               }             
  -           }
  -       }
  -       return retval;
  +    	MethodNode retval = null;
  +    	boolean foundMatch = false;
  +    	for (int i = 0; i < methodNodes.size(); i++) {
  +    		MethodNode methodNode = (MethodNode)methodNodes.elementAt(i);
  +    		//System.out.println(methodNode.toString());
  +    		if (method.getName().equals(methodNode.getMethodDeclarator())) {
  +    			foundMatch = true;
  +    			Class[] paramTypes = method.getParameterTypes();
  +    			Vector types = methodNode.getTypes();
  +    			for (int j = 0; j < paramTypes.length; j++) {
  +    				Class clazz = paramTypes[j];
  +    				String type = (String)types.elementAt(j);
  +    				
  +    				if (clazz.isArray()) {
  +    					Class compType = clazz.getComponentType();
  +    					if (!compType.getName().equals(type)) {
  +    						foundMatch = false;
  +    						break;
  +    					}
  +    				} else if (!clazz.getName().equals(type)) {
  +    					foundMatch = false;
  +    					break;
  +    				}                  
  +    			}
  +    			if (foundMatch) {
  +    				retval = methodNode;      
  +    				break;                   
  +    			}             
  +    		}
  +    	}
  +    	return retval;
       }
   }