Re: {Spam?} CVS Update - 050627

"Sasa Bojanic" <[email protected]>
Newsgroups gmane.comp.java.enhydra.shark
Message-ID <003001c57c80$879145b0$1200a8c0@bobrock>
Hi Geeta,

I repeated the tests (my own and the ones you've provided) with non-modified CVS code, and everything works fine.
You said that you've "downloaded everything from CVS". If you used link http://forge.objectweb.org/cvssnapshots/shark-cvs-latest.tar.gz to download tar.gz, it might be that you do not have the most recent CVS code (this tar.gz is not automatically updated when we put some changes into CVS).
The best is to use some CVS client to get the real CVS version, and than when we update something, you just get the changes via client.

There were two fixes regarding WfProcess.get_activities_in_state() method two days ago:

WfActivityIteratorWrapper.fillObjectList():

            ....
            l.addAll(ipm.getActivitiesForProcess(procId, actState, t));
            eval=false;
        }

        ......

        if block:  if (qemod.equals(queryExpression))  was removed



DODSPersistentManager.getActivitiesForProcess():
        
         .......

         DOs = new ActivityDO[list.size()];
         list.toArray(DOs);
         .....



Regards,
Sasa.


----- Original Message ----- 
  From: [email protected] 
  To: [email protected] 
  Sent: Tuesday, June 28, 2005 8:44 PM
  Subject: Re: {Spam?} [shark] CVS Update - 050627



  Hi Sasa/all, 

  I downloaded everything from cvs yesterday and found that WfProcess.get_activities_in_state()was still not working. Here's what I have had to do to fix the problem: 

  1. Change DODSPersistenceManager.getActivitiesForProcess(String procId,String actState,SharkTransaction ti) as follows: 

  After this call: DOs = query.getDOArray(); 
  add: for (int i=0; i<DOs.length; i++) { 
                  ((SharkDODSTransaction)ti)._read(DOs[i]); 
          } 
  (otherwise iterator4type("class org.enhydra.shark.instancepersistence.data.ActivityDO") is always empty). 

  2. Change WfActivityIteratorWrapper.fillObjectList(SharkTransaction t) sort of like you said but slightly differently (to avoid ArrayStoreException): 

  Just before call to setObjectList(activities); add an extra else as follows: 
  else { // case:  !(qemod.equals(queryExpression)) 
          for (int i = 0; i < l.size(); i++) { 
                            ActivityPersistenceInterface po = (ActivityPersistenceInterface) l.get(i); 
                     activities.add(SharkEngineManager.getInstance() 
                                       .getObjectFactory() 
                                       .createActivityWrapper(userAuth, 
                                              po.getProcessMgrName(), 
                                              po.getProcessId(), 
                                              po.getId())); 
                  } 
  } 

  I tested the above changes with the following code: 

  1. Get assignments as usual: WfAssignment[] assignments = sConn.getResourceObject().get_sequence_work_item(0); 
  2. Now test for wfProcess.get_activities_in_state: 
  for (int ii=0; ii<assignments.length; ii++) { 
          String processKey = assignments[ii].activity().container().key(); 
          WfProcess sharkProcess = execAdmin.getProcess( processKey ); 
          log.debug("assignment " + ii + ": " + assignments[ii].activity().key() + ", " + assignments[ii].activity().state()); 

          //i have a notstarted-not-running assignment n my wf, so test WfActivityIterator.get_next_n_sequence( 0 ): 

          WfActivityIterator activityIterator =         
                  sharkProcess.get_activities_in_state(SharkConstants.STATE_OPEN_NOT_RUNNING_NOT_STARTED); 
          WfActivity[] sharkActivities = activityIterator.get_next_n_sequence( 0 ); 
          for (int i = 0; i < sharkActivities.length; i++) { 
                  result.add(sharkActivities[i]); 
                  log.debug("adding: " + sharkActivities[i].key() + ", " + sharkActivities[i].state()); 
                 } 
                 log.debug("sharkActivities length is: " + sharkActivities.length); 

  } 

  Seemed to work ok with these changes.. Please let me know if the above changes seem to make sense to you. 
  Thanks! 
  Geeta 



        "Sasa Bojanic" <[email protected]> 
        06/27/2005 12:15 PM Please respond to
              [email protected] 


       To "Shark" <[email protected]>  
              cc  
              Subject {Spam?} [shark] CVS Update - 050627 

              

       



  Hi,

  the CVS is updated with some bug fixes:

  - DODS stdcaches.jar fixed - it caused concurent exception errors (thanks to Roland Schimmack)
  - SecurityManager now reads proper entry from Shark.conf (thanks to Geeta and Sebastian)
  - DODS EventAudit and InstancePersistence managers fixed to support persisting of null variables on Oracle (thanks to Roland
  Schimmack)
  - WfActivityIterator and DODSPersistence manager fixed to properly retrieve activities in a certain state when using
  WfProcess.get_activities_in_state() method (thanks to Geeta)
  - BaseIteratorWrapper fixed not to throw null pointer exceptions when there is no expression set (thanks to Neville van Deventer)


  probably this week, we'll have a bug fix release (mainly because the crucial bug in DODS jar file), so we will appreciate if you can
  test this version, and give us a feedback if there are some more problems.

  Regards,
  Sasa.



  -- 
  This message has been scanned for viruses and
  dangerous content by MailScanner, and is
  believed to be clean.


  --
  You receive this message as a subscriber of the [email protected] mailing list.
  To unsubscribe: mailto:[email protected]
  For general help: mailto:[email protected]?subject=help
  ObjectWeb mailing lists service home page: http://www.objectweb.org/wws


  CONFIDENTIALITY NOTICE:This email is intended solely for the person or entity to which it is addressed and may contain confidential and/or protected health information.  Any duplication, dissemination, action taken in reliance upon, or other use of this information by persons or entities other than the intended recipient is prohibited and may violate applicable laws.  If this email has been received in error, please notify the sender and delete the information from your system.  The views expressed in this email are those of the sender and may not necessarily represent the views of IntelliCare.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.