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
  
  
  

Reply via email to