User: danch
Date: 01/10/28 16:03:06
Modified: src/main/org/jboss/ejb/plugins/jaws/jdbc Tag: Branch_2_4
JDBCDefinedFinderCommand.java
JDBCFindEntitiesCommand.java
Log:
Fixed bug with empty query strings. This also fixes issues with order being ignored
for findAll. Odd upshot is that you can make 'findAll' not be a true findAll.
Revision Changes Path
No revision
No revision
1.14.2.5 +5 -2
jboss/src/main/org/jboss/ejb/plugins/jaws/jdbc/JDBCDefinedFinderCommand.java
Index: JDBCDefinedFinderCommand.java
===================================================================
RCS file:
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/jaws/jdbc/JDBCDefinedFinderCommand.java,v
retrieving revision 1.14.2.4
retrieving revision 1.14.2.5
diff -u -r1.14.2.4 -r1.14.2.5
--- JDBCDefinedFinderCommand.java 2001/07/14 21:43:24 1.14.2.4
+++ JDBCDefinedFinderCommand.java 2001/10/29 00:03:06 1.14.2.5
@@ -28,7 +28,7 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Michel de Groot</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Vinay Menon</a>
* @author <a href="mailto:[EMAIL PROTECTED]">danch (Dan Christopherson</a>
- * @version $Revision: 1.14.2.4 $
+ * @version $Revision: 1.14.2.5 $
*/
public class JDBCDefinedFinderCommand extends JDBCFinderCommand
{
@@ -110,7 +110,10 @@
if (lcQuery.startsWith("where"))
whereClause = query;
else
- whereClause = "where "+query;
+ if (query.trim().length() != 0)
+ whereClause = "where "+query;
+ else
+ whereClause = "";
}
1.10.2.2 +20 -24
jboss/src/main/org/jboss/ejb/plugins/jaws/jdbc/JDBCFindEntitiesCommand.java
Index: JDBCFindEntitiesCommand.java
===================================================================
RCS file:
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/jaws/jdbc/JDBCFindEntitiesCommand.java,v
retrieving revision 1.10.2.1
retrieving revision 1.10.2.2
diff -u -r1.10.2.1 -r1.10.2.2
--- JDBCFindEntitiesCommand.java 2001/09/10 21:06:01 1.10.2.1
+++ JDBCFindEntitiesCommand.java 2001/10/29 00:03:06 1.10.2.2
@@ -33,7 +33,7 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Marc Fleury</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Joe Shevland</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Justin Forder</a>
- * @version $Revision: 1.10.2.1 $
+ * @version $Revision: 1.10.2.2 $
*
* <p><b>Revisions:</b>
*
@@ -46,27 +46,27 @@
public class JDBCFindEntitiesCommand implements JPMFindEntitiesCommand
{
// Attributes ----------------------------------------------------
-
+
private JDBCCommandFactory factory;
private HashMap knownFinderCommands = new HashMap();
-
+
// Constructors --------------------------------------------------
-
+
public JDBCFindEntitiesCommand(JDBCCommandFactory factory)
{
this.factory = factory;
-
+
// If finder method uses custom implementation, then it is used. This
overrides
// defined and automatic finders.
Class ejbClass = null;
try {
- ejbClass =
+ ejbClass =
factory.getContainer()
.getClassLoader()
.loadClass(factory.getMetaData().getEntity().getEjbClass());
Method[] customMethods = ejbClass.getMethods();
-
+
for (int i = 0; i < customMethods.length; i++)
{
Method m = customMethods[i];
@@ -87,25 +87,21 @@
}
// Make commands for the defined finders
-
+
Iterator definedFinders = factory.getMetaData().getFinders();
while(definedFinders.hasNext())
{
FinderMetaData f = (FinderMetaData)definedFinders.next();
-
+
if ( !knownFinderCommands.containsKey(f.getName()) )
{
JPMFindEntitiesCommand finderCommand = null;
- if (f.getName().equals("findAll")) {
- finderCommand = factory.createFindAllCommand(f);
- } else {
- finderCommand = factory.createDefinedFinderCommand(f);
- }
-
+ finderCommand = factory.createDefinedFinderCommand(f);
+
knownFinderCommands.put(f.getName(), finderCommand);
}
}
-
+
// Make commands for any autogenerated finders required
Method[] homeMethods;
Method[] localHomeMethods;
@@ -163,26 +159,26 @@
}
}
-
+
// JPMFindEntitiesCommand implementation -------------------------
-
+
public FinderResults execute(Method finderMethod,
Object[] args,
EntityEnterpriseContext ctx)
throws RemoteException, FinderException
{
String finderName = finderMethod.getName();
-
+
JPMFindEntitiesCommand finderCommand = null;
-
- finderCommand =
+
+ finderCommand =
(JPMFindEntitiesCommand)knownFinderCommands.get(finderName);
-
+
// If we found a finder command, delegate to it,
// otherwise return an empty collection.
-
+
// JF: Shouldn't tolerate the "not found" case!
-
+
return (finderCommand != null) ?
finderCommand.execute(finderMethod, args, ctx) : new FinderResults(new
ArrayList(),null,null,null);
}
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development