Bug 780221 (SOA-2608)

Summary: Publishing Using The JsonRestClient Does Not Support Repository Resource Versioning
Product: [JBoss] JBoss Enterprise SOA Platform 5 Reporter: Van Halbert <vhalbert>
Component: EDSAssignee: Van Halbert <vhalbert>
Status: CLOSED NEXTRELEASE QA Contact:
Severity: urgent Docs Contact:
Priority: urgent    
Version: 5.1.0.ER4CC: rhauch
Target Milestone: ---   
Target Release: FUTURE   
Hardware: Unspecified   
OS: Unspecified   
URL: http://jira.jboss.org/jira/browse/SOA-2608
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-01-18 20:57:39 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Van Halbert 2010-11-24 15:23:43 UTC
project_key: SOA

When a file is published/uploaded to a ModeShape repository, the JsonRestClient will delete the associated file node in the repository if it exists (i.e., previously been published). The JsonRestClient should support file versioning if the repository supports it.

Comment 1 Van Halbert 2010-11-24 15:23:44 UTC
Link: Added: This issue Cloned from MODE-1027


Comment 2 Van Halbert 2010-11-24 15:24:18 UTC
Security: Added: Public


Comment 4 Dana Mison 2011-01-05 00:08:20 UTC
Writer: Added: Darrin


Comment 5 Randall Hauch 2011-01-11 18:05:16 UTC
The ModeShape code was recently changed (via MODE-1027) so that the JsonRestClient will no longer first delete an existing file before publishing. Instead, the client checks whether there is an existing published file in the repository (at the desired location), and if so it does an update (via PUT); otherwise, the client adds the file to the repository (via POST).

Then, the RESTful service behavior on PUT is slightly different. If the node that is to be updated is not already 'mix:versionable', then the RESTful service merely updates the node/subgraph. However, if the node being updated already is 'mix:versionable', then the RESTful service first does a JCR checkout of the node before updating, and after updating does a checkin.

Therefore, while we are not changing the default behavior of the JsonRestClient to use JCR versioning, it now properly updates any existing content, and the RESTful service will properly use JCR versioning patterns if required when updating the content. We don't want to enable versioning by default, because the use case doesn't require it. After all, the ModeShape repository is NOT intended to be a Version Control System; it is used for publishing metadata and models for access at runtime via VDBs and JDBC.

In the future releases we can let Eclipse plugin users decide whether they want to enable versioning. Since this change, the Eclipse plugin can be changed and used with SOA-P 5.1, and the repository will behave correctly.


Comment 6 Van Halbert 2011-01-12 15:38:43 UTC
Release Notes Docs Status: Added: Documented as Known Issue
Release Notes Text: Added: ModeShape publishing in JBDS will not support artifact versioning in the first release.    


Comment 8 Van Halbert 2011-01-18 20:57:39 UTC
Document as a KI.

Comment 9 Van Halbert 2011-01-18 21:35:57 UTC
Link: Added: This issue is related to MODE-1080


Comment 10 Van Halbert 2011-01-18 21:35:58 UTC
This is the jira enhancement for enabling versioning from the eclipse plugin.