hammant 02/03/15 20:54:34 Modified: altrmi/src/java/org/apache/commons/altrmi/common ProxyGenerator.java altrmi/src/java/org/apache/commons/altrmi/generator ProxyGeneratorImpl.java altrmi/src/java/org/apache/commons/altrmi/generator/ant AltrmiInterfaceTask.java Log: verbose output for proxy generator Revision Changes Path 1.3 +19 -10 jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/common/ProxyGenerator.java Index: ProxyGenerator.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/common/ProxyGenerator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- ProxyGenerator.java 24 Feb 2002 11:04:32 -0000 1.2 +++ ProxyGenerator.java 16 Mar 2002 04:54:34 -0000 1.3 @@ -15,7 +15,7 @@ * * * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a> - * @version $Revision: 1.2 $ + * @version $Revision: 1.3 $ */ public interface ProxyGenerator { @@ -26,7 +26,7 @@ * @param classesOrInterfacesToExpose * */ - public void setClassOrInterfacesToExpose(Class[] classesOrInterfacesToExpose); + void setClassOrInterfacesToExpose(Class[] classesOrInterfacesToExpose); /** * Method setAdditionalfacades @@ -35,7 +35,7 @@ * @param additionalFacades * */ - public void setAdditionalfacades(Class[] additionalFacades); + void setAdditionalfacades(Class[] additionalFacades); /** * Method setSrcGenDir @@ -44,7 +44,7 @@ * @param srcGenDir * */ - public void setSrcGenDir(String srcGenDir); + void setSrcGenDir(String srcGenDir); /** * Method setClasspath @@ -53,7 +53,7 @@ * @param classpath * */ - public void setClasspath(String classpath); + void setClasspath(String classpath); /** * Method setClassGenDir @@ -62,7 +62,7 @@ * @param classGenDir * */ - public void setClassGenDir(String classGenDir); + void setClassGenDir(String classGenDir); /** * Method setGenName @@ -71,7 +71,7 @@ * @param genName * */ - public void setGenName(String genName); + void setGenName(String genName); /** * Method generateSrc @@ -82,7 +82,7 @@ * @throws ProxyGenerationException * */ - public void generateSrc(ClassLoader cL) throws ProxyGenerationException; + void generateSrc(ClassLoader cL) throws ProxyGenerationException; /** * Method generateClass @@ -91,12 +91,21 @@ * @param cL * */ - public void generateClass(ClassLoader cL); + void generateClass(ClassLoader cL); /** * Method generateDeferredClasses * * */ - public void generateDeferredClasses(); + void generateDeferredClasses(); + + /** + * Method verbose + * + * + * @param trueFalse + * + */ + void verbose(boolean trueFalse); } 1.7 +15 -1 jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/generator/ProxyGeneratorImpl.java Index: ProxyGeneratorImpl.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/generator/ProxyGeneratorImpl.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- ProxyGeneratorImpl.java 15 Mar 2002 14:34:09 -0000 1.6 +++ ProxyGeneratorImpl.java 16 Mar 2002 04:54:34 -0000 1.7 @@ -33,7 +33,7 @@ * * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a> * @author Mike Miller of www.gac.com - * @version $Revision: 1.6 $ + * @version $Revision: 1.7 $ */ public class ProxyGeneratorImpl extends AbstractMethodHandler implements ProxyGenerator { @@ -43,6 +43,7 @@ protected String mClassGenDir; protected String mClasspath; private String mGenName; + private boolean mVerbose; private PrintWriter mClassSource; /** @@ -112,6 +113,10 @@ this.mGenName = genName; } + public void verbose(boolean trueFalse) { + mVerbose = trueFalse; + } + /** * Method generate * @@ -225,11 +230,20 @@ for (int x = 0; x < classOrInterfacesToExpose.length; x++) { Class clazz = classOrInterfacesToExpose[x]; + + if (mVerbose) { + System.out.println("ProxyGen: Processing interface: " + clazz.getName()); + } + + Method[] methods = clazz.getMethods(); for (int y = 0; y < methods.length; y++) { Method method = methods[y]; String methodSignature = getMethodSignature(method); + if (mVerbose) { + System.out.println("ProxyGen: Processing method: " + methodSignature); + } if (!methodsDone.contains(methodSignature)) { methodsDone.add(methodSignature); 1.9 +139 -19 jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/generator/ant/AltrmiInterfaceTask.java Index: AltrmiInterfaceTask.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/generator/ant/AltrmiInterfaceTask.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- AltrmiInterfaceTask.java 30 Jan 2002 23:54:02 -0000 1.8 +++ AltrmiInterfaceTask.java 16 Mar 2002 04:54:34 -0000 1.9 @@ -1,3 +1,4 @@ + /* * Copyright (C) The Apache Software Foundation. All rights reserved. * @@ -7,6 +8,8 @@ */ package org.apache.commons.altrmi.generator.ant; + + import org.apache.tools.ant.Task; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.AntClassLoader; @@ -18,8 +21,17 @@ import java.util.StringTokenizer; import java.util.Vector; + import java.io.File; + +/** + * Class AltrmiInterfaceTask + * + * + * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a> + * @version $Revision: 1.9 $ + */ public class AltrmiInterfaceTask extends Task { protected String[] mClassOrInterfacesToExpose; @@ -27,108 +39,216 @@ protected String mSrcGenDir; protected String mClassGenDir; protected String mGenName; - protected Path classpath; - - public AltrmiInterfaceTask() { - } + protected Path mClasspath; + protected String mVerbose = "false"; + /** + * Constructor AltrmiInterfaceTask + * + * + */ + public AltrmiInterfaceTask() {} + + /** + * Method setClassesorinterfaces + * + * + * @param classOrInterfacesToExpose + * + */ public void setClassesorinterfaces(String classOrInterfacesToExpose) { + StringTokenizer st = new StringTokenizer(classOrInterfacesToExpose, ","); Vector strings = new Vector(); + while (st.hasMoreTokens()) { strings.add(st.nextToken().trim()); } + mClassOrInterfacesToExpose = new String[strings.size()]; + strings.copyInto(mClassOrInterfacesToExpose); } + /** + * Method setAdditionalfacades + * + * + * @param additionalfacades + * + */ public void setAdditionalfacades(String additionalfacades) { + StringTokenizer st = new StringTokenizer(additionalfacades, ","); Vector strings = new Vector(); + while (st.hasMoreTokens()) { strings.add(st.nextToken().trim()); } + mAdditionalFacades = new String[strings.size()]; + strings.copyInto(mAdditionalFacades); } + /** + * Method setSrcgendir + * + * + * @param srcGenDir + * + */ public void setSrcgendir(String srcGenDir) { - mSrcGenDir = srcGenDir.replace('/',File.separatorChar); - mSrcGenDir = mSrcGenDir.replace('\\',File.separatorChar); - + mSrcGenDir = srcGenDir.replace('/', File.separatorChar); + mSrcGenDir = mSrcGenDir.replace('\\', File.separatorChar); } + /** + * Method setClassgendir + * + * + * @param classGenDir + * + */ public void setClassgendir(String classGenDir) { - mClassGenDir = classGenDir.replace('/',File.separatorChar); - mClassGenDir = mClassGenDir.replace('\\',File.separatorChar); + mClassGenDir = classGenDir.replace('/', File.separatorChar); + mClassGenDir = mClassGenDir.replace('\\', File.separatorChar); } + /** + * Method setGenname + * + * + * @param genName + * + */ public void setGenname(String genName) { this.mGenName = genName; } + /** + * Method setClasspath + * + * + * @param classpath + * + */ public void setClasspath(Path classpath) { - if (this.classpath == null) { - this.classpath = classpath; + + if (mClasspath == null) { + mClasspath = classpath; } else { - this.classpath.append(classpath); + mClasspath.append(classpath); } } + /** + * Method createClasspath + * + * + * @return + * + */ public Path createClasspath() { - if (this.classpath == null) { - this.classpath = new Path(project); + + if (mClasspath == null) { + mClasspath = new Path(project); } - return this.classpath.createPath(); + + return mClasspath.createPath(); } + /** + * Method setClasspathRef + * + * + * @param r + * + */ public void setClasspathRef(Reference r) { createClasspath().setRefid(r); } + /** + * Method setVerbose + * + * + * @param verbose + * + */ + public void setVerbose(String verbose) { + mVerbose = verbose; + } + + /** + * Method execute + * + * + * @throws BuildException + * + */ public void execute() throws BuildException { + if (mClassOrInterfacesToExpose == null) { throw new BuildException("Specify at least one interface to expose"); } + if (mSrcGenDir == null) { throw new BuildException("Specify the directory to generate Java source in"); } + if (mClassGenDir == null) { throw new BuildException("Specify the directory to generate Java classes in"); } + if (mGenName == null) { throw new BuildException("Specify the name to use for lookup"); } + ProxyGenerator sg; + try { - sg = (ProxyGenerator) Class.forName("org.apache.commons.altrmi.generator.ProxyGeneratorImpl").newInstance(); + sg = (ProxyGenerator) Class + .forName("org.apache.commons.altrmi.generator.ProxyGeneratorImpl").newInstance(); } catch (Exception e) { e.printStackTrace(); + throw new RuntimeException("PrimaryGenerator Impl jar not in classpath"); } + try { sg.setSrcGenDir(new File(mSrcGenDir).getAbsolutePath()); sg.setClassGenDir(new File(mClassGenDir).getAbsolutePath()); sg.setGenName(mGenName); - sg.setClasspath(classpath.concatSystemClasspath("ignore").toString()); + sg.verbose(Boolean.valueOf(mVerbose).booleanValue()); + sg.setClasspath(mClasspath.concatSystemClasspath("ignore").toString()); + Class[] classesOrInterfaces = new Class[mClassOrInterfacesToExpose.length]; + for (int i = 0; i < mClassOrInterfacesToExpose.length; i++) { String cn = mClassOrInterfacesToExpose[i]; + classesOrInterfaces[i] = Class.forName(cn); } + sg.setClassOrInterfacesToExpose(classesOrInterfaces); if (mAdditionalFacades != null) { Class[] additionalFacades = new Class[mAdditionalFacades.length]; + for (int i = 0; i < mAdditionalFacades.length; i++) { String cn = mAdditionalFacades[i]; + additionalFacades[i] = Class.forName(cn); } + sg.setAdditionalfacades(additionalFacades); } + ClassLoader cL = null; - if (classpath != null) { - cL = new AntClassLoader(project, classpath); + + if (mClasspath != null) { + cL = new AntClassLoader(project, mClasspath); } else { cL = this.getClass().getClassLoader(); }
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>