You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2007/02/19 04:09:22 UTC
svn commit: r509073 - in
/tapestry/tapestry5/tapestry-component-report/trunk/src/main/java/org/apache/tapestry/mojo:
ComponentReport.java ParametersDoclet.java
Author: hlship
Date: Sun Feb 18 19:09:21 2007
New Revision: 509073
URL: http://svn.apache.org/viewvc?view=rev&rev=509073
Log:
Remove some debugging output, improve the efficiency of generating the XML.
Modified:
tapestry/tapestry5/tapestry-component-report/trunk/src/main/java/org/apache/tapestry/mojo/ComponentReport.java
tapestry/tapestry5/tapestry-component-report/trunk/src/main/java/org/apache/tapestry/mojo/ParametersDoclet.java
Modified: tapestry/tapestry5/tapestry-component-report/trunk/src/main/java/org/apache/tapestry/mojo/ComponentReport.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-component-report/trunk/src/main/java/org/apache/tapestry/mojo/ComponentReport.java?view=diff&rev=509073&r1=509072&r2=509073
==============================================================================
--- tapestry/tapestry5/tapestry-component-report/trunk/src/main/java/org/apache/tapestry/mojo/ComponentReport.java (original)
+++ tapestry/tapestry5/tapestry-component-report/trunk/src/main/java/org/apache/tapestry/mojo/ComponentReport.java Sun Feb 18 19:09:21 2007
@@ -423,7 +423,7 @@
private void executeCommand(Commandline command) throws MavenReportException
{
- getLog().info(command.toString());
+ getLog().debug(command.toString());
CommandLineUtils.StringStreamConsumer err = new CommandLineUtils.StringStreamConsumer();
Modified: tapestry/tapestry5/tapestry-component-report/trunk/src/main/java/org/apache/tapestry/mojo/ParametersDoclet.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-component-report/trunk/src/main/java/org/apache/tapestry/mojo/ParametersDoclet.java?view=diff&rev=509073&r1=509072&r2=509073
==============================================================================
--- tapestry/tapestry5/tapestry-component-report/trunk/src/main/java/org/apache/tapestry/mojo/ParametersDoclet.java (original)
+++ tapestry/tapestry5/tapestry-component-report/trunk/src/main/java/org/apache/tapestry/mojo/ParametersDoclet.java Sun Feb 18 19:09:21 2007
@@ -60,11 +60,7 @@
private RootDoc _root;
- private final Set<String> _processedClassNames = new HashSet<String>();
-
- /** Queue of class names to be processed. */
-
- private final LinkedList<ClassDoc> _queue = new LinkedList<ClassDoc>();
+ private final Set<ClassDoc> _processed = new HashSet<ClassDoc>();
private final Pattern _stripper = java.util.regex.Pattern.compile(
"(<.*?>|&.*?;)",
@@ -82,18 +78,19 @@
for (ClassDoc cd : root.classes())
{
- emitClass(cd, true, false);
+ emitClass(cd, false);
}
- while (!_queue.isEmpty())
+ for (ClassDoc potential : _root.classes())
{
- ClassDoc cd = _queue.removeFirst();
-
- // Its in the queue because it has a parent class that has parameters
- // but (if it wasn't already processed) it doesn't define parameters of its own,
- // so we force it into the output regardless.
-
- emitClass(cd, false, true);
+ for (ClassDoc potentialParent : _processed)
+ {
+ if (potential.subclassOf(potentialParent))
+ {
+ emitClass(potential, true);
+ break;
+ }
+ }
}
println("</component-parameters>");
@@ -101,11 +98,9 @@
_out.close();
}
- private void emitClass(ClassDoc classDoc, boolean queueSubclasses, boolean forceClassOutput)
+ private void emitClass(ClassDoc classDoc, boolean forceClassOutput)
{
- String className = classDoc.name();
-
- if (_processedClassNames.contains(className)) return;
+ if (_processed.contains(classDoc)) return;
if (!classDoc.isPublic()) return;
@@ -145,14 +140,11 @@
String name = annotationValues.get("name");
if (name == null) name = fd.name().replaceAll("^[$_]*", "");
- String defaultValue = fd.constantValueExpression();
- if (defaultValue == null) defaultValue = "";
-
print(
"<parameter name=\"%s\" type=\"%s\" default=\"%s\" required=\"%s\" cache=\"%s\" default-prefix=\"%s\">",
name,
fd.type().qualifiedTypeName(),
- get(annotationValues, "value", defaultValue),
+ get(annotationValues, "value", ""),
get(annotationValues, "required", "false"),
get(annotationValues, "cache", "true"),
get(annotationValues, "defaultPrefix", "prop"));
@@ -172,20 +164,8 @@
println("</class>");
}
- if (wroteClass || forceClassOutput) _processedClassNames.add(className);
-
- if (wroteClass && queueSubclasses)
- {
- for (ClassDoc potential : _root.classes())
- {
- // I believe subclassOf() will work even if there are intervening levels of
- // heirarchy. This should mean that we don't have to queue up subclasses
- // of classes that were added via the queue (rather than by the presence of
- // parameter fields).
+ if (wroteClass || forceClassOutput) _processed.add(classDoc);
- if (potential.subclassOf(classDoc)) _queue.addLast(potential);
- }
- }
}
private void printClassDescriptionStart(ClassDoc classDoc)