[ 
https://issues.apache.org/jira/browse/JDO-597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12608811#action_12608811
 ] 

Craig Russell commented on JDO-597:
-----------------------------------

Need TCK tests for this as well.

Since we don't specify when an exception is thrown, probably need to do 
something like for all cases that should throw:

try {
  pm = pmf.getPM();
  pm.currentTransaction().begin();
  pm.makePersistent(anInstance);
  pm.currentTransaction().commit();
} catch (JDOReadOnlyException ex) {
  // good
}
fail

> PMF : Add "readOnly" setting for better handling of read-only datastores
> ------------------------------------------------------------------------
>
>                 Key: JDO-597
>                 URL: https://issues.apache.org/jira/browse/JDO-597
>             Project: JDO
>          Issue Type: New Feature
>          Components: api2, api2-legacy, specification
>            Reporter: Andy Jefferson
>             Fix For: JDO 2 maintenance release 2
>
>         Attachments: JDOReadOnlyException.patch
>
>
> A user has a datastore that is outside their control and they either don't 
> have permission to write to it, or maybe they have permissions but don't want 
> to write to it. They want a better way of handling this, preventing updates 
> to the datastore.
> Propose :-
> PMF property (with setter/getter)
> javax.jdo.option.ReadOnly - values true | false
> JDOReadOnlyException extends JDOUserException
> Behaviour :-
> When readOnly is set to true :-
> Any operation resulting in a creation/modification of an object to be sent to 
> the datastore should throw a JDOReadOnlyException. This may be at commit(), 
> flush(), or alternatively at makePersistent() when using datastore txns, or 
> query.deletePersistentAll(). That is, no change should be made to the 
> datastore contents at all.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to