This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
public String unquote(String identifier) {
Parameters.notNull("identifier", identifier);
boolean startQuoted = false;
String result = identifier;
if (result.startsWith(quoteString)) {
result = result.substring(quoteString.length());
startQuoted = true;
}
if (result.endsWith(quoteString)) {
result = result.substring(0, result.lastIndexOf(quoteString));
if(startQuoted) {
result = result.replace(quoteString + quoteString, quoteString);
return result;
String doQuote(String identifier) {
return quoteString + identifier + quoteString;
return quoteString +
identifier.replace(quoteString, quoteString+quoteString) +
quoteString;
assertEquals("id", quoter.unquote("id" + quoteString));
assertEquals("id", quoter.unquote(quoteString + "id" + quoteString));
// Check SQL99-Quoting
public void testQuoteIdentifierContainingQuotingChar() {
String quoteString = quoter.getQuoteString();
String unquoted = "test" + quoteString + "xx";
String quoted = quoteString + "test" + quoteString + quoteString + "xx"
+ quoteString;
assertEquals(quoted, quoter.quoteAlways(unquoted));
assertEquals(unquoted, quoter.unquote(quoted));
String unquoted2 = "test" + quoteString + "xx" + quoteString + quoteString;
String quoted2 = quoteString + "test" + quoteString + quoteString + "xx"
+ quoteString + quoteString + quoteString + quoteString + quoteString;
assertEquals(quoted2, quoter.quoteAlways(unquoted2));
assertEquals(unquoted2, quoter.unquote(quoted2));