| java.lang.Object csdl.jblanket.modifier.MethodCollector
MethodCollector | public class MethodCollector (Code) | | Collects the type signatures of methods invoked during JUnit testing.
This class is used during the second step in JBlanket -- recording the method invocations per
JUnit test class with storeMethodTypeSignature . This method is inserted into the
byte code of every non-abstract or non-native method in .class files that should be included in
coverage. After every test class is executed, the results are stored in a "COVER-*.xml" file,
where * is the fully qualified name of the test class. Methods invoked on the server during
testing are recorded in "COVER-<class>.xml" where <class> is the fully qualified
name of the first class invoked on the server.
To use this class, the "jblanket.dir" system property should be set to a directory in which
all JBlanket results will be stored. If none is set, the default value is:
System.getProperty("user.home")\jblanket.
All public static methods of this class are invoked by other methods at run time from
storeMethodTypeSignature and are coded in this manner to simplify instrumentation.
author: Joy M. Agustin version: $Id: MethodCollector.java,v 1.2 2005/03/08 08:02:01 timshadel Exp $id |
Method Summary | |
public static DateFormat | getDateFormat() Gets the Date format used by JBlanket. | public static String | getJBlanketDir() Gets the output directory for intermediate and final JBlanket results. | public static boolean | isTestClass(String className, String testGrammar) Verifies if className is a part of grammar defined by testGrammar .
The only grammars acceptable are class names that either begins or ends with 'Test' and end
with either '.java' or '.class' file types.
Parameters: className - name of class to verify. Parameters: testGrammar - the grammar defining test class names. | public static String | reconstructType(String type) Reconstructs the type signature of type from the way it is stored in the
Constant Pool to the way it is found in the source code. | public static String | removePackagePrefix(String className) Removes the package prefix from className .
Parameters: className - the fully qualified name of the class. | public static synchronized void | storeMethodData(MethodSet methodSet, String outFileName, String className, Date timeStamp) Stores all the method information gathered in jblanketSet for
className into outFileName . | public static synchronized void | storeMethodTypeSignature(String className, String methodName, ArrayList paramList, String testGrammar) Stores the type signature of methodName whenever the modified method
methodName is invoked. |
getDateFormat | public static DateFormat getDateFormat()(Code) | | Gets the Date format used by JBlanket.
the DateFormat used by JBlanket. |
getJBlanketDir | public static String getJBlanketDir()(Code) | | Gets the output directory for intermediate and final JBlanket results. If the 'jblanket.dir'
system property is not found, the default value is:
System.getProperty("user.home")\jblanket
the JBlanket output directory. |
isTestClass | public static boolean isTestClass(String className, String testGrammar)(Code) | | Verifies if className is a part of grammar defined by testGrammar .
The only grammars acceptable are class names that either begins or ends with 'Test' and end
with either '.java' or '.class' file types.
Parameters: className - name of class to verify. Parameters: testGrammar - the grammar defining test class names. true if a part of testGrammar , false otherwise. |
reconstructType | public static String reconstructType(String type)(Code) | | Reconstructs the type signature of type from the way it is stored in the
Constant Pool to the way it is found in the source code. This method is required because
type signatures in the Constant Pool are different from the way it is coded.
For example:
[Ljava/lang/String; ==> java.lang.String[]
Parameters: type - the raw parameter type. the reconstructed parameter type. |
removePackagePrefix | public static String removePackagePrefix(String className)(Code) | | Removes the package prefix from className .
Parameters: className - the fully qualified name of the class. the name of the class in className . |
storeMethodData | public static synchronized void storeMethodData(MethodSet methodSet, String outFileName, String className, Date timeStamp) throws JBlanketException(Code) | | Stores all the method information gathered in jblanketSet for
className into outFileName .
Parameters: methodSet - the collection of method information to output. Parameters: outFileName - the fully qualified path of the output file. Parameters: className - the name of the class. Parameters: timeStamp - the time stamp in milliseconds to include in file className. throws: JBlanketException - if cannot find outFileName orif cannot write to outFileName . |
storeMethodTypeSignature | public static synchronized void storeMethodTypeSignature(String className, String methodName, ArrayList paramList, String testGrammar) throws JBlanketException(Code) | | Stores the type signature of methodName whenever the modified method
methodName is invoked. The name of the current test class is stored so that
methods invoked in different test classes can be stored in different files.
ASSUMPTION: no test class calls the methods in another test class. Therefore, results from
running test cases will be stored in separate files and not overwrite other results.
Parameters: className - the fully qualified name of class containing methodName . Parameters: methodName - the name of the method invoked. Parameters: paramList - the list of parameter types of methodName . Parameters: testGrammar - the grammar describing names of test classes. The only acceptable grammarsare 'Test*.class' and '*Test.class'. throws: JBlanketException - if cannot find 'jblanket.dir' system property. |
|
|