Update of /cvsroot/commonjava/commonjava-projects/commonjava-opl/projects/opl-xdoclet/src/java/org/commonjava/opl/xdoclet
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2341/projects/opl-xdoclet/src/java/org/commonjava/opl/xdoclet
Modified Files:
OplNodeParserPlugin.java OplNodeParserPlugin.vm
Log Message:
working toward a maven plugin using opldoclet, and also fixed a minor irritation with xml attributes containing dashes.
Index: OplNodeParserPlugin.vm
===================================================================
RCS file: /cvsroot/commonjava/commonjava-projects/commonjava-opl/projects/opl-xdoclet/src/java/org/commonjava/opl/xdoclet/OplNodeParserPlugin.vm,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- OplNodeParserPlugin.vm 23 Mar 2004 01:49:00 -0000 1.6
+++ OplNodeParserPlugin.vm 25 Mar 2004 02:14:12 -0000 1.7
@@ -58,7 +58,7 @@
#if(!$method.getNamedParameter("opl.attribute", "use-body"))
#if($method.getNamedParameter("opl.attribute", "before-children"))
try{
- #set($attrName = $method.getNamedParameter("opl.attribute", "name"))
+ #set($attrName = $plugin.getAttributeVar($method))
#set($resolve = true)
#set($resolve = ${method.getNamedParameter("opl.attribute", "resolve-value")})
@@ -132,7 +132,7 @@
#foreach($method in $class.methods)
#if($method.getNamedParameter("opl.attribute", "before-children") == "false" || $method.getNamedParameter("opl.attribute", "use-body"))
try{
- #set($attrName = $method.getNamedParameter("opl.attribute", "name"))
+ #set($attrName = $plugin.getAttributeVar($method))
#if($method.getNamedParameter("opl.attribute", "use-body"))
String ${attrName} = bodyText;
Index: OplNodeParserPlugin.java
===================================================================
RCS file: /cvsroot/commonjava/commonjava-projects/commonjava-opl/projects/opl-xdoclet/src/java/org/commonjava/opl/xdoclet/OplNodeParserPlugin.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- OplNodeParserPlugin.java 12 Mar 2004 19:46:56 -0000 1.4
+++ OplNodeParserPlugin.java 25 Mar 2004 02:14:12 -0000 1.5
@@ -122,7 +122,33 @@
public String getAttributeConstant(Object metadata){
JavaMethod jm = (JavaMethod)metadata;
String name = jm.getNamedParameter("opl.attribute", "name");
- return Strings.toConstantCase(name);
+ return Strings.toConstantCase(name).replace('-', '_');
+ }
+
+ public String getAttributeVar(Object metadata){
+ JavaMethod jm = (JavaMethod)metadata;
+ String name = jm.getNamedParameter("opl.attribute", "name");
+
+ char[] pcs = name.toCharArray();
+ boolean lastWasDash = false;
+ StringBuffer newName = new StringBuffer();
+ for (int i = 0; i < pcs.length; i++) {
+ char c = pcs[i];
+ if(c == '-'){
+ lastWasDash = true;
+ }
+ else{
+ if(lastWasDash){
+ newName.append(Character.toUpperCase(c));
+ lastWasDash = false;
+ }
+ else{
+ newName.append(c);
+ }
+ }
+ }
+
+ return newName.toString();
}
public String buildImplementsClause(Object metadata){
|