You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@manifoldcf.apache.org by kw...@apache.org on 2011/12/22 13:12:07 UTC
svn commit: r1222195 - in
/incubator/lcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database:
DBInterfaceDerby.java DBInterfaceHSQLDB.java DBInterfaceMySQL.java
Database.java
Author: kwright
Date: Thu Dec 22 12:12:06 2011
New Revision: 1222195
URL: http://svn.apache.org/viewvc?rev=1222195&view=rev
Log:
MySQL looks up columns using the label, not the column, so create an abstraction for that. Part of CONNECTORS-334.
Modified:
incubator/lcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfaceDerby.java
incubator/lcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfaceHSQLDB.java
incubator/lcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfaceMySQL.java
incubator/lcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/Database.java
Modified: incubator/lcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfaceDerby.java
URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfaceDerby.java?rev=1222195&r1=1222194&r2=1222195&view=diff
==============================================================================
--- incubator/lcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfaceDerby.java (original)
+++ incubator/lcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfaceDerby.java Thu Dec 22 12:12:06 2011
@@ -1532,12 +1532,12 @@ public class DBInterfaceDerby extends Da
}
/** Abstract method for mapping a column name from resultset */
- protected String mapColumnName(String rawColumnName)
+ @Override
+ protected String mapLabelName(String rawLabelName)
{
- return rawColumnName.toLowerCase();
+ return rawLabelName.toLowerCase();
}
-
// Functions that correspond to user-defined functions in Derby
/** Method to compare a value using a case-insensitive regular expression.
Modified: incubator/lcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfaceHSQLDB.java
URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfaceHSQLDB.java?rev=1222195&r1=1222194&r2=1222195&view=diff
==============================================================================
--- incubator/lcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfaceHSQLDB.java (original)
+++ incubator/lcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfaceHSQLDB.java Thu Dec 22 12:12:06 2011
@@ -1449,9 +1449,10 @@ public class DBInterfaceHSQLDB extends D
}
/** Abstract method for mapping a column name from resultset */
- protected String mapColumnName(String rawColumnName)
+ @Override
+ protected String mapLabelName(String rawLabelName)
{
- return rawColumnName.toLowerCase();
+ return rawLabelName.toLowerCase();
}
}
Modified: incubator/lcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfaceMySQL.java
URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfaceMySQL.java?rev=1222195&r1=1222194&r2=1222195&view=diff
==============================================================================
--- incubator/lcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfaceMySQL.java (original)
+++ incubator/lcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfaceMySQL.java Thu Dec 22 12:12:06 2011
@@ -99,6 +99,13 @@ public class DBInterfaceMySQL extends Da
return theException;
}
+ /** Abstract method for mapping a column lookup name from resultset */
+ @Override
+ protected String mapLookupName(String rawColumnName, String rawLabelName)
+ {
+ return rawLabelName;
+ }
+
/** Initialize. This method is called once per JVM instance, in order to set up
* database communication.
*/
Modified: incubator/lcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/Database.java
URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/Database.java?rev=1222195&r1=1222194&r2=1222195&view=diff
==============================================================================
--- incubator/lcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/Database.java (original)
+++ incubator/lcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/Database.java Thu Dec 22 12:12:06 2011
@@ -112,13 +112,19 @@ public abstract class Database
throws ManifoldCFException
{
}
-
- /** Abstract method for mapping a column name from resultset */
- protected String mapColumnName(String rawColumnName)
+
+ /** Abstract method for mapping a column lookup name from resultset */
+ protected String mapLookupName(String rawColumnName, String rawLabelName)
{
return rawColumnName;
}
+ /** Abstract method for mapping a label name from resultset */
+ protected String mapLabelName(String rawLabelName)
+ {
+ return rawLabelName;
+ }
+
/** Execute arbitrary database query, and optionally cache the result. Cached results are
* returned for this operation if they are valid and appropriate. Note that any cached results
* returned were only guaranteed to be pertinent at the time the cached result was obtained; the
@@ -887,8 +893,9 @@ public abstract class Database
resultLabels = new String[colcount];
for (int i = 0; i < colcount; i++)
{
- resultCols[i] = rsmd.getColumnName(i+1);
- resultLabels[i] = mapColumnName(rsmd.getColumnLabel(i+1));
+ String labelName = rsmd.getColumnLabel(i+1);
+ resultCols[i] = mapLookupName(rsmd.getColumnName(i+1),labelName);
+ resultLabels[i] = mapLabelName(labelName);
}
}