[jbossws-dev] Re: JBWS-1534
Jason T. Greene
jason.greene at redhat.com
Mon Mar 5 10:52:02 EST 2007
Yes, literals should also be included in the list. Again, it doesn't
matter which implementation is used (feel free to change whatever you
want). I just want to make sure that we have consistent behavior on
reserved word handling (prevent future bugs).
-Jason
On Mon, 2007-03-05 at 16:45 +0100, Darran Lofthouse wrote:
> I didn't realise that existed, I was just re-factoring some code I had
> already implemented on the 1.0 branch.
>
> I can switch to the version you have implemented, can we add the boolean
> literals 'true' and 'false' and the null literal to your list?
>
> Regards,
> Darran Lofthouse.
>
>
> On Mon, 2007-03-05 at 09:36 -0600, Jason T. Greene wrote:
> > Hi Darran,
> >
> > We have a reserved keyword routine in JavaUtils.isReservedKeyword(). I'm
> > fine if you want to use your implementation instead, although the code
> > should be consolidated to only use one, and the other should be removed.
> >
> > Thanks,
> > -Jason
> >
> > On Mon, 2007-03-05 at 07:04 -0500, jbossws-commits at lists.jboss.org
> > wrote:
> > > Author: darran.lofthouse at jboss.com
> > > Date: 2007-03-05 07:04:01 -0500 (Mon, 05 Mar 2007)
> > > New Revision: 2521
> > >
> > > Added:
> > > branches/dlofthouse/JBWS-1534/jbossws-core/src/main/java/org/jboss/ws/tools/JavaKeywords.java
> > > Modified:
> > > branches/dlofthouse/JBWS-1534/jbossws-core/src/main/java/org/jboss/ws/tools/JavaWriter.java
> > > branches/dlofthouse/JBWS-1534/jbossws-core/src/main/java/org/jboss/ws/tools/NamespacePackageMapping.java
> > > branches/dlofthouse/JBWS-1534/jbossws-core/src/main/java/org/jboss/ws/tools/WSDLToJava.java
> > > branches/dlofthouse/JBWS-1534/jbossws-tests/src/main/java/org/jboss/test/ws/tools/jbws1534/JBWS1534TestCase.java
> > > Log:
> > > JBWS-1543 - Prefix Java keywords with an underscore.
> > >
> > > Added: branches/dlofthouse/JBWS-1534/jbossws-core/src/main/java/org/jboss/ws/tools/JavaKeywords.java
> > > ===================================================================
> > > --- branches/dlofthouse/JBWS-1534/jbossws-core/src/main/java/org/jboss/ws/tools/JavaKeywords.java (rev 0)
> > > +++ branches/dlofthouse/JBWS-1534/jbossws-core/src/main/java/org/jboss/ws/tools/JavaKeywords.java 2007-03-05 12:04:01 UTC (rev 2521)
> > > @@ -0,0 +1,90 @@
> > > +/*
> > > + * JBoss, Home of Professional Open Source
> > > + * Copyright 2007, JBoss Inc., and individual contributors as indicated
> > > + * by the @authors tag. See the copyright.txt in the distribution for a
> > > + * full listing of individual contributors.
> > > + *
> > > + * This is free software; you can redistribute it and/or modify it
> > > + * under the terms of the GNU Lesser General Public License as
> > > + * published by the Free Software Foundation; either version 2.1 of
> > > + * the License, or (at your option) any later version.
> > > + *
> > > + * This software is distributed in the hope that it will be useful,
> > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> > > + * Lesser General Public License for more details.
> > > + *
> > > + * You should have received a copy of the GNU Lesser General Public
> > > + * License along with this software; if not, write to the Free
> > > + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> > > + * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> > > + */
> > > +package org.jboss.ws.tools;
> > > +
> > > +import java.util.HashSet;
> > > +import java.util.Set;
> > > +
> > > +/**
> > > + * Singleton to check if a specified work is a restricted keyword.
> > > + *
> > > + * This list also includes the boolean literals and the null literal.
> > > + *
> > > + * @author darran.lofthouse at jboss.com
> > > + * @since 5 Mar 2007
> > > + */
> > > +public class JavaKeywords
> > > +{
> > > +
> > > + private static final JavaKeywords keywords = new JavaKeywords();
> > > +
> > > + private final String[] keywordsArray = { "abstract", "assert", "boolean", "break", "byte", "case", "catch", "char", "class", "const", "continue", "default", "do",
> > > + "double", "else", "enum", "extends", "final", "finally", "float", "for", "if", "goto", "implements", "import", "instanceof", "int", "interface", "long",
> > > + "native", "new", "package", "private", "protected", "public", "return", "short", "static", "strictfp", "super", "switch", "synchronized", "this", "throw",
> > > + "throws", "transient", "try", "void", "volatile", "while" };
> > > +
> > > + private final String[] restrictedLiteralsArray = { "true", "false", "null" };
> > > +
> > > + private final Set<String> restrictedKeywords;
> > > +
> > > + private JavaKeywords()
> > > + {
> > > + int keywordsSize = keywordsArray.length + restrictedLiteralsArray.length;
> > > + keywordsSize = (int)((double)keywordsSize / 0.75) + 1;
> > > +
> > > + restrictedKeywords = new HashSet<String>(keywordsSize);
> > > + addAll(restrictedKeywords, keywordsArray);
> > > + addAll(restrictedKeywords, restrictedLiteralsArray);
> > > + }
> > > +
> > > + private void addAll(final Set<String> set, final String[] data)
> > > + {
> > > + for (String current : data)
> > > + {
> > > + set.add(current);
> > > + }
> > > + }
> > > +
> > > + /**
> > > + * The internal method to check if the keyword is a restricted
> > > + * keyword.
> > > + *
> > > + * @param name
> > > + * @return
> > > + */
> > > + private boolean internalIsRestrictedKeyword(final String name)
> > > + {
> > > + return restrictedKeywords.contains(name);
> > > + }
> > > +
> > > + /**
> > > + * Check is the passed in name is a reserved Java keyword.
> > > + *
> > > + * @param name
> > > + * @return
> > > + */
> > > + public static boolean isJavaKeyword(final String name)
> > > + {
> > > + return keywords.internalIsRestrictedKeyword(name);
> > > + }
> > > +
> > > +}
> > >
> > >
> > > Property changes on: branches/dlofthouse/JBWS-1534/jbossws-core/src/main/java/org/jboss/ws/tools/JavaKeywords.java
> > > ___________________________________________________________________
> > > Name: svn:keywords
> > > + Id Revision
> > > Name: svn:eol-style
> > > + LF
> > >
> > > Modified: branches/dlofthouse/JBWS-1534/jbossws-core/src/main/java/org/jboss/ws/tools/JavaWriter.java
> > > ===================================================================
> > > --- branches/dlofthouse/JBWS-1534/jbossws-core/src/main/java/org/jboss/ws/tools/JavaWriter.java 2007-03-05 11:22:47 UTC (rev 2520)
> > > +++ branches/dlofthouse/JBWS-1534/jbossws-core/src/main/java/org/jboss/ws/tools/JavaWriter.java 2007-03-05 12:04:01 UTC (rev 2521)
> > > @@ -1,24 +1,24 @@
> > > /*
> > > -* JBoss, Home of Professional Open Source
> > > -* Copyright 2005, JBoss Inc., and individual contributors as indicated
> > > -* by the @authors tag. See the copyright.txt in the distribution for a
> > > -* full listing of individual contributors.
> > > -*
> > > -* This is free software; you can redistribute it and/or modify it
> > > -* under the terms of the GNU Lesser General Public License as
> > > -* published by the Free Software Foundation; either version 2.1 of
> > > -* the License, or (at your option) any later version.
> > > -*
> > > -* This software is distributed in the hope that it will be useful,
> > > -* but WITHOUT ANY WARRANTY; without even the implied warranty of
> > > -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> > > -* Lesser General Public License for more details.
> > > -*
> > > -* You should have received a copy of the GNU Lesser General Public
> > > -* License along with this software; if not, write to the Free
> > > -* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> > > -* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> > > -*/
> > > + * JBoss, Home of Professional Open Source
> > > + * Copyright 2005, JBoss Inc., and individual contributors as indicated
> > > + * by the @authors tag. See the copyright.txt in the distribution for a
> > > + * full listing of individual contributors.
> > > + *
> > > + * This is free software; you can redistribute it and/or modify it
> > > + * under the terms of the GNU Lesser General Public License as
> > > + * published by the Free Software Foundation; either version 2.1 of
> > > + * the License, or (at your option) any later version.
> > > + *
> > > + * This software is distributed in the hope that it will be useful,
> > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> > > + * Lesser General Public License for more details.
> > > + *
> > > + * You should have received a copy of the GNU Lesser General Public
> > > + * License along with this software; if not, write to the Free
> > > + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> > > + * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> > > + */
> > > package org.jboss.ws.tools;
> > >
> > > import java.io.File;
> > > @@ -50,7 +50,6 @@
> > > {
> > > }
> > >
> > > -
> > > /**
> > > * Creates a Java Class that represents a Simple Type restricted by enumeration
> > > * @param fname
> > > @@ -60,16 +59,13 @@
> > > * @throws IOException
> > > */
> > >
> > > - public void createJavaFileForEnumeratedValues(String fname, StringList lst,
> > > - File loc, String pkgname,
> > > - XSSimpleTypeDefinition type)
> > > - throws IOException
> > > + public void createJavaFileForEnumeratedValues(String fname, StringList lst, File loc, String pkgname, XSSimpleTypeDefinition type) throws IOException
> > > {
> > > List importList = new ArrayList();
> > > importList.add("java.util.Map");
> > > importList.add("java.util.HashMap");
> > > File sei = utils.createPhysicalFile(loc, fname);
> > > - StringBuilder buf = utils.createClassBasicStructure(pkgname, fname, type, importList,null);
> > > + StringBuilder buf = utils.createClassBasicStructure(pkgname, fname, type, importList, null);
> > >
> > > buf.append("private java.lang.String value;" + newline);
> > > buf.append("private static Map valueMap = new HashMap();" + newline);
> > > @@ -116,7 +112,8 @@
> > > for (int i = 0; i < lenOfArr; i++)
> > > {
> > > String str = lst.item(i);
> > > - if (i > 0) buf.append("else ");
> > > + if (i > 0)
> > > + buf.append("else ");
> > >
> > > buf.append("if (" + str + ".value.equals(value)) {" + newline);
> > >
> > > @@ -141,7 +138,8 @@
> > > for (int i = 0; i < lenOfArr; i++)
> > > {
> > > String str = lst.item(i);
> > > - if (i > 0) buf.append("else ");
> > > + if (i > 0)
> > > + buf.append("else ");
> > > buf.append("if (value.equals(_" + str + "String)) {" + newline);
> > > buf.append("return " + str + ";" + newline + "}");
> > > }
> > > @@ -157,24 +155,20 @@
> > >
> > > //create -readResolve method
> > >
> > > - buf.append(newline + "private Object readResolve()" + newline +
> > > - " throws java.io.ObjectStreamException {" + newline +
> > > - " return fromValue(getValue());" + newline +
> > > - " } " + newline);
> > > + buf.append(newline + "private Object readResolve()" + newline + " throws java.io.ObjectStreamException {" + newline
> > > + + " return fromValue(getValue());" + newline + " } " + newline);
> > > //End - readResolve method
> > >
> > > //create - equals method
> > >
> > > - buf.append(newline + "private boolean equals(Object obj){" + newline +
> > > - " if (!(obj instanceof " + fname + ")) {" + newline +
> > > - " return false;" + newline + " } " + newline);
> > > + buf.append(newline + "private boolean equals(Object obj){" + newline + " if (!(obj instanceof " + fname + ")) {" + newline + " return false;"
> > > + + newline + " } " + newline);
> > > buf.append("return ((" + fname + ")obj).value.equals(value);" + newline + "}" + newline);
> > > //End - equals method
> > >
> > > //create - hashCode method
> > >
> > > - buf.append(newline + " public int hashCode() { " + newline +
> > > - " return value.hashCode(); " + newline + " }" + newline);
> > > + buf.append(newline + " public int hashCode() { " + newline + " return value.hashCode(); " + newline + " }" + newline);
> > > //End - hashCode method
> > > buf.append("}" + newline); //end of class
> > >
> > > @@ -197,17 +191,14 @@
> > > * @param typeNameToBaseVARList Needed if we are dealing with an exception type
> > > * @throws IOException
> > > */
> > > - public void createJavaFile(File location, String filename, String packageName,
> > > - List<VAR> vars, List<String> importList, String baseTypeName,
> > > - boolean isExceptionType, Map<String,List> typeNameToBaseVARList)
> > > - throws IOException
> > > + public void createJavaFile(File location, String filename, String packageName, List<VAR> vars, List<String> importList, String baseTypeName,
> > > + boolean isExceptionType, Map<String, List> typeNameToBaseVARList) throws IOException
> > > {
> > > File newLoc = null;
> > > - if(needToCreatePackageStructure(location, packageName))
> > > - newLoc = utils.createPackage(location.getPath(),packageName);
> > > - else
> > > - newLoc = location;
> > > - String classname = utils.chop(filename,".java");
> > > + if (needToCreatePackageStructure(location, packageName))
> > > + newLoc = utils.createPackage(location.getPath(), packageName);
> > > + else newLoc = location;
> > > + String classname = utils.chop(filename, ".java");
> > > File sei = utils.createPhysicalFile(newLoc, classname);
> > > StringBuilder buffer = new StringBuilder();
> > > utils.writeJbossHeader(buffer);
> > > @@ -215,16 +206,16 @@
> > > //Create the package Name
> > > buffer.append(newline).append("package ").append(packageName).append(";");
> > >
> > > - if(importList != null)
> > > + if (importList != null)
> > > {
> > > - for(String imp:importList)
> > > + for (String imp : importList)
> > > {
> > > buffer.append(newline).append("import ").append(imp).append(";");
> > > }
> > > }
> > > buffer.append(newline).append(newline);
> > > buffer.append(newline).append("public class ").append(classname).append(newline);
> > > - if(baseTypeName != null && baseTypeName.length() > 0)
> > > + if (baseTypeName != null && baseTypeName.length() > 0)
> > > buffer.append(" extends ").append(baseTypeName);
> > > buffer.append("{").append(newline);
> > > createVariables(buffer, vars, isExceptionType);
> > > @@ -239,14 +230,12 @@
> > > writer.close();
> > > }
> > >
> > > -
> > > //PRIVATE METHODS
> > > - private void createCTR(StringBuilder buf, String cname, List vars,
> > > - boolean isExceptionType,Map<String,List> typeNameToBaseVARList)
> > > + private void createCTR(StringBuilder buf, String cname, List vars, boolean isExceptionType, Map<String, List> typeNameToBaseVARList)
> > > {
> > > - if(vars.size() > 0 && isExceptionType == false)
> > > + if (vars.size() > 0 && isExceptionType == false)
> > > {
> > > - buf.append("public " + cname + "(){}"); //Empty CTR
> > > + buf.append("public " + cname + "(){}"); //Empty CTR
> > > buf.append(newline);
> > > buf.append(newline);
> > > }
> > > @@ -255,17 +244,17 @@
> > > StringBuilder ctrintbuf = new StringBuilder();
> > >
> > > boolean calledSuper = false;
> > > - if(isExceptionType)
> > > + if (isExceptionType)
> > > {
> > > List<VAR> baseList = typeNameToBaseVARList.get(cname);
> > > - int baseLen = baseList != null ? baseList.size() :0;
> > > + int baseLen = baseList != null ? baseList.size() : 0;
> > > String arrStr = "[]";
> > >
> > > if (baseLen > 0)
> > > {
> > > calledSuper = true;
> > > ctrintbuf.append("super(");
> > > - for(int i = 0 ; i < baseLen; i++)
> > > + for (int i = 0; i < baseLen; i++)
> > > {
> > >
> > > if (i > 0)
> > > @@ -275,7 +264,7 @@
> > > }
> > > VAR v = baseList.get(i);
> > > ctrvarbuf.append(v.getVartype());
> > > - if(v.isArrayType)
> > > + if (v.isArrayType)
> > > ctrvarbuf.append(arrStr);
> > >
> > > ctrvarbuf.append(" ").append(v.getVarname());
> > > @@ -294,10 +283,16 @@
> > > }
> > > VAR v = (VAR)iter.next();
> > > String name = v.getVarname();
> > > + if (JavaKeywords.isJavaKeyword(name))
> > > + {
> > > + name = "_" + name;
> > > + }
> > > +
> > > String type = v.getVartype();
> > > boolean isArr = v.isArrayType();
> > > ctrvarbuf.append(type);
> > > - if (isArr) ctrvarbuf.append("[]");
> > > + if (isArr)
> > > + ctrvarbuf.append("[]");
> > > ctrvarbuf.append(" " + name);
> > > if (isExceptionType && calledSuper == false && index == 1 && v.getVartype().equals("java.lang.String"))
> > > {
> > > @@ -321,19 +316,27 @@
> > > {
> > > VAR v = (VAR)iter.next();
> > > String name = v.getVarname();
> > > + String internalName = name;
> > > + if (JavaKeywords.isJavaKeyword(internalName))
> > > + {
> > > + internalName = "_" + internalName;
> > > + }
> > > +
> > > String type = v.getVartype();
> > > boolean isArr = v.isArrayType();
> > > //Add getter/setter also
> > > buf.append("public " + type);
> > > - if (isArr) buf.append("[] ");
> > > + if (isArr)
> > > + buf.append("[] ");
> > > String str = " get";
> > > //boolean case
> > > - if (type.equals("boolean")) str = " is";
> > > - buf.append(str + utils.getMixedCase(name) + "() { return " + name + " ;}");
> > > + if (type.equals("boolean"))
> > > + str = " is";
> > > + buf.append(str + utils.getMixedCase(name) + "() { return " + internalName + " ;}");
> > > buf.append(newline);
> > > buf.append(newline);
> > > - if(isExceptionType == false)
> > > - writeSetter( buf, name, type, isArr);
> > > + if (isExceptionType == false)
> > > + writeSetter(buf, name, internalName, type, isArr);
> > > buf.append(newline);
> > > buf.append(newline);
> > > }
> > > @@ -341,23 +344,29 @@
> > >
> > > private List createVariables(StringBuilder buf, List vars, boolean isExceptionType)
> > > {
> > > - if (vars == null) return vars;
> > > + if (vars == null)
> > > + return vars;
> > > Iterator iter = vars.iterator();
> > > while (iter.hasNext())
> > > {
> > > VAR v = (VAR)iter.next();
> > > String name = v.getVarname();
> > > // JBWS-1170 Convert characters which are illegal in Java identifiers
> > > - name=ToolsUtils.convertInvalidCharacters(name);
> > > + name = ToolsUtils.convertInvalidCharacters(name);
> > >
> > > + if (JavaKeywords.isJavaKeyword(name))
> > > + {
> > > + name = "_" + name;
> > > + }
> > > +
> > > String type = v.getVartype();
> > > boolean isArr = v.isArrayType();
> > > buf.append(newline);
> > > - if(isExceptionType)
> > > + if (isExceptionType)
> > > buf.append("private " + type);
> > > - else
> > > - buf.append("protected " + type);
> > > - if (isArr) buf.append("[] ");
> > > + else buf.append("protected " + type);
> > > + if (isArr)
> > > + buf.append("[] ");
> > > buf.append(" " + name).append(";").append(newline);
> > > }
> > > return vars;
> > > @@ -365,7 +374,7 @@
> > >
> > > private boolean needToCreatePackageStructure(File location, String packageName)
> > > {
> > > - packageName = packageName.replace( '.','/');
> > > + packageName = packageName.replace('.', '/');
> > > try
> > > {
> > > String externalForm = location.toURL().toExternalForm();
> > > @@ -378,13 +387,13 @@
> > > }
> > > }
> > >
> > > - private void writeSetter(StringBuilder buf, String name, String type, boolean isArr)
> > > + private void writeSetter(StringBuilder buf, String name, String internalName, String type, boolean isArr)
> > > {
> > > buf.append("public void ");
> > > buf.append("set" + utils.getMixedCase(name) + "(" + type);
> > > if (isArr)
> > > buf.append("[]");
> > >
> > > - buf.append(" " + name + "){ this." + name + "=" + name+"; }");
> > > + buf.append(" " + internalName + "){ this." + internalName + "=" + internalName + "; }");
> > > }
> > > }
> > > \ No newline at end of file
> > >
> > > Modified: branches/dlofthouse/JBWS-1534/jbossws-core/src/main/java/org/jboss/ws/tools/NamespacePackageMapping.java
> > > ===================================================================
> > > --- branches/dlofthouse/JBWS-1534/jbossws-core/src/main/java/org/jboss/ws/tools/NamespacePackageMapping.java 2007-03-05 11:22:47 UTC (rev 2520)
> > > +++ branches/dlofthouse/JBWS-1534/jbossws-core/src/main/java/org/jboss/ws/tools/NamespacePackageMapping.java 2007-03-05 12:04:01 UTC (rev 2521)
> > > @@ -38,13 +38,6 @@
> > >
> > > private static final NamespacePackageMapping npm = new NamespacePackageMapping();
> > >
> > > - private final String[] keywordsArray = { "abstract", "assert", "boolean", "break", "byte", "case", "catch", "char", "class", "const", "continue", "default", "do",
> > > - "double", "else", "enum", "extends", "final", "finally", "float", "for", "if", "goto", "implements", "import", "instanceof", "int", "interface", "long",
> > > - "native", "new", "package", "private", "protected", "public", "return", "short", "static", "strictfp", "super", "switch", "synchronized", "this", "throw",
> > > - "throws", "transient", "try", "void", "volatile", "while" };
> > > -
> > > - private final String[] restrictedLiteralsArray = { "true", "false", "null" };
> > > -
> > > /*
> > > * The JAXB specification says to use the list of country codes as defined in ISO-3166 1981 to identify the top
> > > * level domains.
> > > @@ -73,8 +66,6 @@
> > >
> > > private final String[] topLevelDomainsArray = { "com", "gov", "net", "org", "edu" };
> > >
> > > - private final Set<String> restrictedKeywords;
> > > -
> > > private final Set<String> topLevelDomains;
> > >
> > > /**
> > > @@ -91,16 +82,9 @@
> > >
> > > private NamespacePackageMapping()
> > > {
> > > - int keywordsSize = keywordsArray.length + restrictedLiteralsArray.length;
> > > - keywordsSize = (int)((double)keywordsSize / 0.75) + 1;
> > > -
> > > int topLevelSize = countryCodesArray.length + topLevelDomainsArray.length;
> > > topLevelSize = (int)((double)topLevelSize / 0.75) + 1;
> > >
> > > - restrictedKeywords = new HashSet<String>(keywordsSize);
> > > - addAll(restrictedKeywords, keywordsArray);
> > > - addAll(restrictedKeywords, restrictedLiteralsArray);
> > > -
> > > topLevelDomains = new HashSet<String>(topLevelSize);
> > > addAll(topLevelDomains, countryCodesArray);
> > > addAll(topLevelDomains, topLevelDomainsArray);
> > > @@ -185,7 +169,7 @@
> > > private String convertReserved(final String component)
> > > {
> > > String result = component;
> > > - if (restrictedKeywords.contains(result))
> > > + if (JavaKeywords.isJavaKeyword(result))
> > > {
> > > result = result + "_";
> > > }
> > >
> > > Modified: branches/dlofthouse/JBWS-1534/jbossws-core/src/main/java/org/jboss/ws/tools/WSDLToJava.java
> > > ===================================================================
> > > --- branches/dlofthouse/JBWS-1534/jbossws-core/src/main/java/org/jboss/ws/tools/WSDLToJava.java 2007-03-05 11:22:47 UTC (rev 2520)
> > > +++ branches/dlofthouse/JBWS-1534/jbossws-core/src/main/java/org/jboss/ws/tools/WSDLToJava.java 2007-03-05 12:04:01 UTC (rev 2521)
> > > @@ -737,9 +737,22 @@
> > > return cls;
> > > }
> > >
> > > - private String getMethodParam(String containingElement)
> > > + /**
> > > + * Make sure the first character is lower case and if the
> > > + * parameter is a reserved word prefix it with '_'.
> > > + *
> > > + * @param containingElement
> > > + * @return
> > > + */
> > > + private String getMethodParam(String name)
> > > {
> > > - return ToolsUtils.firstLetterLowerCase(containingElement);
> > > + String paramName = ToolsUtils.firstLetterLowerCase(name);
> > > + if (JavaKeywords.isJavaKeyword(paramName))
> > > + {
> > > + paramName = "_" + paramName;
> > > + }
> > > +
> > > + return paramName;
> > > }
> > >
> > > private File getLocationForJavaGeneration()
> > >
> > > Modified: branches/dlofthouse/JBWS-1534/jbossws-tests/src/main/java/org/jboss/test/ws/tools/jbws1534/JBWS1534TestCase.java
> > > ===================================================================
> > > --- branches/dlofthouse/JBWS-1534/jbossws-tests/src/main/java/org/jboss/test/ws/tools/jbws1534/JBWS1534TestCase.java 2007-03-05 11:22:47 UTC (rev 2520)
> > > +++ branches/dlofthouse/JBWS-1534/jbossws-tests/src/main/java/org/jboss/test/ws/tools/jbws1534/JBWS1534TestCase.java 2007-03-05 12:04:01 UTC (rev 2521)
> > > @@ -103,7 +103,7 @@
> > > }
> > >
> > > JaxrpcMappingValidator mappingValidator = new JaxrpcMappingValidator();
> > > - mappingValidator.validate(resourceDir + "/wrapped-mapping.xml", toolsDir + "/wrapped-mapping.xml");
> > > + mappingValidator.validate(resourceDir + "/jaxrpc-mapping.xml", toolsDir + "/jaxrpc-mapping.xml");
> > > }
> > >
> > > private static void compareSource(final String expectedName, final String generatedName) throws Exception
> > >
> > > _______________________________________________
> > > jbossws-commits mailing list
> > > jbossws-commits at lists.jboss.org
> > > https://lists.jboss.org/mailman/listinfo/jbossws-commits
> >
>
More information about the jbossws-dev
mailing list