The algoritm you've given should be fine as long as you are reading the
files (step 2) in the same transaction as you created the files (step
1). The reason it isn't working is probably because the transaction
methods you are calling are not the right ones. Understanding how Slide
uses transactions internally may point you to the right Slide API calls
to use.

The other option is that it's a bug in the Slide API. Historically the
Slide APIs are not used as much as the WebDAV API and, because of this,
they have not progresses as much and are almost unsupported. The problem
may just be that nobody has gotten transaction integration working from
the Slide API.

Warwick



> -----Original Message-----
> From: Rakesh Saha [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, January 04, 2006 12:46 AM
> To: Slide Users Mailing List
> Cc: [EMAIL PROTECTED]
> Subject: Re: Slide Transaction
> 
> 
> Thanks for your help. I will take a look but most likely 
> there are some 
> issues with my code itself which is similar to Webdav but may be I 
> missed something.
> 
> My usecase is the following :
> 
> 1. Create files in slide. [ not committed ]
> 2. Read the files from slide for creating some record in DB.
> 3. If creation of DB is successful then commit the txn of slide.
> 
> Hope this will help.
> 
> Thanks,
> Rakesh
> 
> Warwick Burrows wrote:
> 
> >Yes but there are cases where you need to run a command and then get 
> >information on the object created to store yourself or return to a 
> >caller. For example a lock gets created on an object and in another 
> >method call within the same transaction we check that the object is 
> >locked before it can allow changes to the object. The latter can't 
> >assume that the object is locked and must test it. So the 
> transaction 
> >must keep a record that this object was previously locked in this 
> >transaction. Also the WebDAV external transaction 
> implementation in the 
> >WebDAV client relies on it. When a transaction is started you can 
> >create a parent collection (mkcol) and put files in it (put) 
> and then 
> >potentially commit or roll it all back. The calls to put the 
> files must 
> >be able to see the parent collection in you just created in the same 
> >transaction. The same mechanism used to do transactions 
> internally in 
> >the slide server is also used to do external transactions.
> >
> >There is probably something wrong with the enlistment of the 
> services 
> >between the calls within the transaction. Ie. one of the 
> calls, either 
> >the create or the list, is not enlisting resources to the current 
> >transaction. Maybe that is something that the caller is 
> supposed to do 
> >expicitly when using the Slide API?? Maybe the calls you are 
> making are 
> >not high enough up in the call hieararchy to be calling the 
> right chain 
> >of calls to enlist the resources to the transaction? I don't know as 
> >I've only used the transaction implementation from the WebDAV client 
> >interface.
> >
> >I can only suggest that you try comparing your Slide API transaction 
> >calls with the sequence of events that happen when a transaction is 
> >started by the WebDAV client entry point which is in 
> >AbstractWebdavMethod.run(). Look for "token.begin()" and try 
> comparing 
> >what this method does to what you are doing.
> >
> >Warwick
> >
> >
> >  
> >
> >>-----Original Message-----
> >>From: Michael Oliver [mailto:[EMAIL PROTECTED]
> >>Sent: Tuesday, January 03, 2006 9:16 AM
> >>To: 'Slide Users Mailing List'
> >>Subject: RE: Slide Transaction
> >>
> >>
> >>Can I ask why you want to access files or collections before
> >>they are committed?  The whole point of a transaction is to 
> >>package things so they either all happen or all do not.  If 
> >>you are using the API then you already have the files you put 
> >>into the transaction.  If you are doing it to test that they 
> >>got created, in a read after write fashion, the transaction 
> >>process already does that internally so you can be assured 
> >>the transaction won't complete unless all the items were successful.
> >>
> >>Michael Oliver
> >>CTO
> >>Alarius Systems LLC
> >>6800 E. Lake Mead Blvd, #1096
> >>Las Vegas, NV 89156
> >>Phone:(702)953-8949
> >>Fax:(702)974-0341
> >> 
> >>-----Original Message-----
> >>From: Ray Sprinkle [mailto:[EMAIL PROTECTED]
> >>Sent: Tuesday, January 03, 2006 6:57 AM
> >>To: Slide Users Mailing List
> >>Subject: RE: Slide Transaction
> >>
> >>Sorry, my experience is with the Webdav interface, I do know
> >>you have to go through back flips with the Webdav interface 
> >>to insure that everything is part of the same transaction. 
> >>
> >>-----Original Message-----
> >>From: Rakesh Saha [mailto:[EMAIL PROTECTED]
> >>Sent: Monday, January 02, 2006 8:59 AM
> >>To: Slide Users Mailing List
> >>Subject: Re: Slide Transaction
> >>
> >>I am using native slide API.
> >>
> >>Ray Sprinkle wrote:
> >>
> >>    
> >>
> >>>Are you using the Webdav interface or native slide?
> >>>
> >>>-----Original Message-----
> >>>From: Rakesh Saha [mailto:[EMAIL PROTECTED]
> >>>Sent: Tuesday, December 20, 2005 5:30 AM
> >>>To: Slide Users Mailing List
> >>>Subject: Slide Transaction
> >>>
> >>>Hi All ,
> >>>
> >>>I am trying out Slide Transactions in my project.
> >>>
> >>>I am not able to retrieve the files or folders created in the same 
> >>>transaction before the txn is committed.
> >>>
> >>>I am using following code :
> >>>
> >>>     <slideTransaction>.begin();
> >>>     createFolder();      
> >>>     List fl = <list directoires in the folder>
> >>>     <slideTransaction>.commit();
> >>>
> >>>Slide Transaction -> NamespaceAccessToken
> >>>
> >>>
> >>>I am getting following error :
> >>>
> >>>/org.apache.slide.structure.ObjectNotFoundException: No
> >>>      
> >>>
> >>object found at
> >>
> >>    
> >>
> >>>/files/protocolTestCases/
> >>>
> >>>
> >>>Anyone used Slide Transaction ? Could you please provide any
> >>>      
> >>>
> >>pointer ?
> >>    
> >>
> >>>Thanks,
> >>>Rakesh
> >>>
> >>>
> >>>
> >>>
> >>>-----------------------------------------------------------
> ----------
> >>>To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>>For additional commands, e-mail: [EMAIL PROTECTED]
> >>>
> >>>
> >>> 
> >>>
> >>>      
> >>>
> >>------------------------------------------------------------
> ---------
> >>To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >>
> >>------------------------------------------------------------
> ---------
> >>To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >>
> >>------------------------------------------------------------
> ---------
> >>To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >>    
> >>
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: [EMAIL PROTECTED]
> >For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> >  
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to