gdamour 2005/03/02 08:26:16
Modified: modules/openejb-builder/src/java/org/openejb/deployment
CMPContainerBuilder.java
Log:
finders is a Map<FinderEJBQLQuery>,<QueryCommandView[]> and not a
Map<FinderEJBQLQuery>,<FinderEJBQLQuery>.
Revision Changes Path
1.16 +14 -4
openejb/modules/openejb-builder/src/java/org/openejb/deployment/CMPContainerBuilder.java
Index: CMPContainerBuilder.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/java/org/openejb/deployment/CMPContainerBuilder.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- CMPContainerBuilder.java 2 Mar 2005 11:43:21 -0000 1.15
+++ CMPContainerBuilder.java 2 Mar 2005 13:26:13 -0000 1.16
@@ -257,9 +257,19 @@
remoteProxyLoadView = new QueryCommandView(remoteProxyLoad,
remoteProxyLoadView.getView());
FinderEJBQLQuery pkFinder = new FinderEJBQLQuery("findByPrimaryKey",
new Class[] {ejb.getPrimaryKeyClass()}, "UNDEFINED");
- FinderEJBQLQuery previousPkFinder = (FinderEJBQLQuery)
finders.put(pkFinder, new QueryCommandView[]{localProxyLoadView,
remoteProxyLoadView});
- if (null != previousPkFinder) {
-
pkFinder.setFlushCacheBeforeQuery(previousPkFinder.isFlushCacheBeforeQuery());
+ QueryCommandView views[] = new
QueryCommandView[]{localProxyLoadView, remoteProxyLoadView};
+ boolean found = false;
+ for (Iterator iter = finders.entrySet().iterator(); iter.hasNext();)
{
+ Map.Entry entry = (Map.Entry) iter.next();
+ FinderEJBQLQuery query = (FinderEJBQLQuery) entry.getKey();
+ if (query.equals(pkFinder)) {
+ entry.setValue(views);
+ found = true;
+ break;
+ }
+ }
+ if (false == found) {
+ finders.put(pkFinder, views);
}
// build the instance factory