leosutic 2003/08/10 14:47:44
Modified: attributes/compiler/src/java/org/apache/avalon/attributes/compiler
AttributeCompiler.java
Log:
1. Moved all build stuff into Maven.
2. Wrote a proper test case.
3. Included support for attributes attached to fields and constructors.
4. Slight code cleanups.
Revision Changes Path
1.2 +40 -31
avalon-sandbox/attributes/compiler/src/java/org/apache/avalon/attributes/compiler/AttributeCompiler.java
Index: AttributeCompiler.java
===================================================================
RCS file:
/home/cvs/avalon-sandbox/attributes/compiler/src/java/org/apache/avalon/attributes/compiler/AttributeCompiler.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AttributeCompiler.java 10 Aug 2003 13:46:08 -0000 1.1
+++ AttributeCompiler.java 10 Aug 2003 21:47:44 -0000 1.2
@@ -49,6 +49,9 @@
XTag tag = (XTag) iter.next ();
String expression = tag.getName () + " " + tag.getValue ();
+ if (!expression.endsWith (")")) {
+ expression = expression + "()";
+ }
if (Character.isUpperCase (expression.charAt (0))) {
pw.println (" " + collectionName + ".add (\n" +
@@ -90,7 +93,7 @@
String name = xClass.getQualifiedName ();
File sourceFile = getSourceFile (name);
- File destFile = new File (destDir, name.replace ('.', '/') +
"$Attributes.java");
+ File destFile = new File (destDir, name.replace ('.', '/') +
"$__org_apache_avalon_Attributes.java");
if (destFile.exists () && destFile.lastModified () >=
sourceFile.lastModified ()) {
return;
@@ -108,7 +111,7 @@
copyImports (sourceFile, pw);
- pw.println ("public class " + className + "$Attributes implements
org.apache.avalon.attributes.AttributeRepositoryClass {");
+ pw.println ("public class " + className + "$__org_apache_avalon_Attributes
implements org.apache.avalon.attributes.AttributeRepositoryClass {");
{
pw.println (" private static final java.util.Set classAttributes =
new java.util.HashSet ();");
pw.println (" private static final java.util.Map fieldAttributes =
new java.util.HashMap ();");
@@ -141,13 +144,15 @@
pw.println (" java.util.Set attrs = null;");
for (Iterator iter = xClass.getFields ().iterator (); iter.hasNext ();)
{
XField member = (XField) iter.next ();
- String key = member.getName ();
-
- pw.println (" attrs = new java.util.HashSet ();");
- addExpressions (member.getDoc ().getTags (), pw, "attrs",
sourceFile.getPath ());
- pw.println (" fieldAttributes.put (\"" + key + "\",
attrs);");
- pw.println (" attrs = null;");
- pw.println ();
+ if (member.getDoc ().getTags ().size () > 0) {
+ String key = member.getName ();
+
+ pw.println (" attrs = new java.util.HashSet ();");
+ addExpressions (member.getDoc ().getTags (), pw, "attrs",
sourceFile.getPath ());
+ pw.println (" fieldAttributes.put (\"" + key + "\",
attrs);");
+ pw.println (" attrs = null;");
+ pw.println ();
+ }
}
pw.println (" }");
@@ -157,17 +162,19 @@
pw.println (" java.util.Set attrs = null;");
for (Iterator iter = xClass.getMethods ().iterator (); iter.hasNext
();) {
XMethod member = (XMethod) iter.next ();
- StringBuffer sb = new StringBuffer ();
- sb.append (member.getName ()).append ("(");
- sb.append (getParameterTypes (member.getParameters ()));
- sb.append (")");
- String key = sb.toString ();
-
- pw.println (" attrs = new java.util.HashSet ();");
- addExpressions (member.getDoc ().getTags (), pw, "attrs",
sourceFile.getPath ());
- pw.println (" methodAttributes.put (\"" + key + "\",
attrs);");
- pw.println (" attrs = null;");
- pw.println ();
+ if (member.getDoc ().getTags ().size () > 0) {
+ StringBuffer sb = new StringBuffer ();
+ sb.append (member.getName ()).append ("(");
+ sb.append (getParameterTypes (member.getParameters ()));
+ sb.append (")");
+ String key = sb.toString ();
+
+ pw.println (" attrs = new java.util.HashSet ();");
+ addExpressions (member.getDoc ().getTags (), pw, "attrs",
sourceFile.getPath ());
+ pw.println (" methodAttributes.put (\"" + key + "\",
attrs);");
+ pw.println (" attrs = null;");
+ pw.println ();
+ }
}
pw.println (" }");
@@ -178,17 +185,19 @@
pw.println (" java.util.Set attrs = null;");
for (Iterator iter = xClass.getConstructors ().iterator ();
iter.hasNext ();) {
XConstructor member = (XConstructor) iter.next ();
- StringBuffer sb = new StringBuffer ();
- sb.append ("(");
- sb.append (getParameterTypes (member.getParameters ()));
- sb.append (")");
- String key = sb.toString ();
-
- pw.println (" attrs = new java.util.HashSet ();");
- addExpressions (member.getDoc ().getTags (), pw, "attrs",
sourceFile.getPath ());
- pw.println (" constructorAttributes.put (\"" + key + "\",
attrs);");
- pw.println (" attrs = null;");
- pw.println ();
+ if (member.getDoc ().getTags ().size () > 0) {
+ StringBuffer sb = new StringBuffer ();
+ sb.append ("(");
+ sb.append (getParameterTypes (member.getParameters ()));
+ sb.append (")");
+ String key = sb.toString ();
+
+ pw.println (" attrs = new java.util.HashSet ();");
+ addExpressions (member.getDoc ().getTags (), pw, "attrs",
sourceFile.getPath ());
+ pw.println (" constructorAttributes.put (\"" + key +
"\", attrs);");
+ pw.println (" attrs = null;");
+ pw.println ();
+ }
}
pw.println (" }");
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]