User: vharcq
Date: 01/09/10 14:06:01
Modified: src/main/org/jboss/ejb/plugins/jaws/jdbc Tag: Branch_2_4
JDBCFindEntitiesCommand.java
Log:
Merge a patch from 3.0 that avoids error during deployment of ejb with only local
home interfaces.
Revision Changes Path
No revision
No revision
1.10.2.1 +40 -6
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
retrieving revision 1.10.2.1
diff -u -r1.10 -r1.10.2.1
--- JDBCFindEntitiesCommand.java 2001/06/18 14:34:27 1.10
+++ JDBCFindEntitiesCommand.java 2001/09/10 21:06:01 1.10.2.1
@@ -33,7 +33,15 @@
* @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 $
+ * @version $Revision: 1.10.2.1 $
+ *
+ * <p><b>Revisions:</b>
+ *
+ * <p><b>20010812 [EMAIL PROTECTED]:</b>
+ * <ul>
+ * <li> Make load of automated finder method work with local home interfaces
+ * </ul>
+ *
*/
public class JDBCFindEntitiesCommand implements JPMFindEntitiesCommand
{
@@ -99,24 +107,50 @@
}
// Make commands for any autogenerated finders required
-
- Method[] homeMethods = factory.getContainer().getHomeClass().getMethods();
-
+ Method[] homeMethods;
+ Method[] localHomeMethods;
+ factory.getLog().debug("AutoGenerated finders - Home="
+ + factory.getContainer().getHomeClass()
+ + " -- LocalHome=" + factory.getContainer().getLocalHomeClass());
+ if (factory.getContainer().getHomeClass() != null)
+ {
+ homeMethods = factory.getContainer().getHomeClass().getMethods();
+ }
+ else homeMethods = new Method[0] ;
+ if (factory.getContainer().getLocalHomeClass() != null)
+ {
+ localHomeMethods =
factory.getContainer().getLocalHomeClass().getMethods();
+ }
+ else localHomeMethods = new Method[0] ;
+ Method[] allHomeMethods = new Method[homeMethods.length +
localHomeMethods.length];
+
for (int i = 0; i < homeMethods.length; i++)
{
- Method m = homeMethods[i];
+ allHomeMethods[i] = homeMethods[i];
+ }
+ for (int i = 0; i < localHomeMethods.length; i++)
+ {
+ allHomeMethods[homeMethods.length + i] = localHomeMethods[i];
+ }
+
+ for (int i = 0; i < allHomeMethods.length; i++)
+ {
+
+ Method m = allHomeMethods[i];
String name = m.getName();
-
+
if (!knownFinderCommands.containsKey(name))
{
if (name.equals("findAll"))
{
+ factory.getLog().debug("Save AutoGenerated "+name+" "+m);
FinderMetaData f = new FinderMetaData("findAll");
knownFinderCommands.put(name, factory.createFindAllCommand(f));
} else if (name.startsWith("findBy") &&
!name.equals("findByPrimaryKey"))
{
try
{
+ factory.getLog().debug("Save AutoGenerated "+name+" "+m);
FinderMetaData f = new FinderMetaData(name);
knownFinderCommands.put(name, factory.createFindByCommand(m, f));
} catch (IllegalArgumentException e)
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development