brj 2005/11/14 09:42:07
Modified: src/java/org/apache/ojb/broker/accesslayer/sql Tag:
OJB_1_0_RELEASE SqlQueryStatement.java
Log:
prevent NPE in getTableAlias()
Revision Changes Path
No revision
No revision
1.75.2.16 +24 -20
db-ojb/src/java/org/apache/ojb/broker/accesslayer/sql/SqlQueryStatement.java
Index: SqlQueryStatement.java
===================================================================
RCS file:
/home/cvs/db-ojb/src/java/org/apache/ojb/broker/accesslayer/sql/SqlQueryStatement.java,v
retrieving revision 1.75.2.15
retrieving revision 1.75.2.16
diff -u -r1.75.2.15 -r1.75.2.16
--- SqlQueryStatement.java 12 Nov 2005 17:23:33 -0000 1.75.2.15
+++ SqlQueryStatement.java 14 Nov 2005 17:42:06 -0000 1.75.2.16
@@ -1008,25 +1008,29 @@
*/
private TableAlias getTableAlias(String aPath, boolean useOuterJoins,
UserAlias aUserAlias, String[] fieldRef, Map pathClasses)
{
- TableAlias curr, prev, indirect;
- String attr, attrPath = null;
- ObjectReferenceDescriptor ord;
- CollectionDescriptor cod;
- ClassDescriptor cld;
- Object[] prevKeys;
- Object[] keys;
- ArrayList descriptors;
- boolean outer = useOuterJoins;
- int pathLength;
-
- List hintClasses = (List) pathClasses.get(aPath);
- String pathAlias = aUserAlias == null ? null :
aUserAlias.getAlias(aPath);
- curr = getTableAliasForPath(aPath, pathAlias, hintClasses);
-
- if (curr != null)
- {
- return curr;
- }
+ TableAlias curr, prev, indirect;
+ String attr, attrPath = null;
+ ObjectReferenceDescriptor ord;
+ CollectionDescriptor cod;
+ ClassDescriptor cld;
+ Object[] prevKeys;
+ Object[] keys;
+ ArrayList descriptors;
+ boolean outer = useOuterJoins;
+ int pathLength;
+ List hintClasses = null;
+ String pathAlias = aUserAlias == null ? null :
aUserAlias.getAlias(aPath);
+
+ if (pathClasses != null)
+ {
+ hintClasses = (List) pathClasses.get(aPath);
+ }
+
+ curr = getTableAliasForPath(aPath, pathAlias, hintClasses);
+ if (curr != null)
+ {
+ return curr;
+ }
descriptors =
getRoot().cld.getAttributeDescriptorsForPath(aPath, pathClasses);
prev = getRoot();
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]