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]>