You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by oz...@apache.org on 2004/06/24 15:18:54 UTC
cvs commit: jakarta-slide/src/share/org/apache/slide/security SecurityImpl.java
ozeigermann 2004/06/24 06:18:54
Modified: src/webdav/server/org/apache/slide/webdav/util
VersioningHelper.java AbstractWebdavHelper.java
PropertyHelper.java WebdavUtils.java
src/webdav/server/org/apache/slide/webdav/method
UpdateMethod.java UnbindMethod.java
LabelMethod.java BindMethod.java RebindMethod.java
AbstractWebdavMethod.java MoveMethod.java
PropPatchMethod.java AclMethod.java PutMethod.java
PropFindMethod.java
src/share/org/apache/slide/lock LockImpl.java
src/share/org/apache/slide/structure StructureImpl.java
src/conf/schema SQLServerSchema.sql
webdavclient/clientlib/src/java/org/apache/util
XMLPrinter.java
src/share/org/apache/slide/common SlideTokenWrapper.java
Namespace.java
src/share/org/apache/slide/macro MacroImpl.java
src/webdav/server/org/apache/slide/webdav WebdavServlet.java
src/share/org/apache/slide/security SecurityImpl.java
Log:
Cleaned version that does not allow any reads outside of transactions.
SlideTokenWrapper no longer supports setting enlistment in ctor to avoid
unthoughtful use of it. Additionally, no helper mehotds exist any more that
allow for easy creation of read only tokens.
Tag set before this commit: BEFORE_NO_READ_OUTSIDE_TX
Have a look at
http://nagoya.apache.org/eyebrowse/ReadMsg?listName=slide-dev@jakarta.apache.org&msgNo=11805
for more details for the motivation.
Revision Changes Path
1.103 +8 -10 jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/VersioningHelper.java
Index: VersioningHelper.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/VersioningHelper.java,v
retrieving revision 1.102
retrieving revision 1.103
diff -u -r1.102 -r1.103
--- VersioningHelper.java 18 Jun 2004 16:05:46 -0000 1.102
+++ VersioningHelper.java 24 Jun 2004 13:18:52 -0000 1.103
@@ -201,7 +201,7 @@
else {
SlideToken lightSToken = sToken;
if (sToken.isForceStoreEnlistment() || sToken.isForceLock()) {
- lightSToken = new SlideTokenWrapper(sToken, false);
+ lightSToken = new SlideTokenWrapper(sToken);
lightSToken.setForceLock(false);
}
return getLabeledResourceUri(nsaToken, lightSToken, content, resourcePath, label);
@@ -793,7 +793,7 @@
if (isAutoVersionCheckout &&
!(E_CHECKOUT_IGNORE_UNLOCK.equals(getAutoVersionElementName(rNrd)))) {
- NodeLock writeLock = getWriteLock(readonlySlideToken(), rNrds);
+ NodeLock writeLock = getWriteLock(sToken, rNrds);
if (writeLock != null) {
NodeProperty p =
new NodeProperty(I_CHECKIN_LOCKTOKEN,
@@ -950,8 +950,7 @@
* @return the ViolatedPrecondition (if any).
*/
protected ViolatedPrecondition getCheckoutPreconditionViolation(NodeRevisionDescriptors cinNrds, NodeRevisionDescriptor cinNrd, boolean isForkOk) throws IllegalArgumentException, IOException, JDOMException, SlideException {
- // use a non-blocking slide token.
- SlideToken stok = readonlySlideToken();
+ SlideToken stok = sToken;
ViolatedPrecondition violatedPrecondition = null;
@@ -1339,8 +1338,7 @@
* @return the ViolatedPrecondition (if any).
*/
protected ViolatedPrecondition getCheckinPreconditionViolation(NodeProperty predSetProp, NodeRevisionDescriptors vhrNrds, boolean isForkOk, NodeRevisionDescriptor autoUpdNrd ) throws LinkedObjectNotFoundException, ServiceAccessException, ObjectLockedException, RevisionDescriptorNotFoundException, JDOMException, IllegalArgumentException, ObjectNotFoundException, AccessDeniedException, IOException, VetoException {
- // use a non-blocking slide token.
- SlideToken stok = readonlySlideToken();
+ SlideToken stok = sToken;
ViolatedPrecondition violatedPrecondition = null;
@@ -1773,7 +1771,7 @@
*/
public boolean isWriteLocked(SlideToken slideToken, NodeRevisionDescriptors revisionDescriptors)
throws ServiceAccessException {
- return (getWriteLock(readonlySlideToken(), revisionDescriptors) != null);
+ return (getWriteLock(slideToken, revisionDescriptors) != null);
}
/**
1.11 +3 -10 jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/AbstractWebdavHelper.java
Index: AbstractWebdavHelper.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/AbstractWebdavHelper.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- AbstractWebdavHelper.java 11 Feb 2004 11:30:34 -0000 1.10
+++ AbstractWebdavHelper.java 24 Jun 2004 13:18:52 -0000 1.11
@@ -65,12 +65,5 @@
this.nsaToken = nsaToken;
}
- protected SlideToken readonlySlideToken() {
- SlideToken stok = sToken;
- if (stok.isForceStoreEnlistment()) {
- stok = new SlideTokenWrapper(sToken, false);
- }
- return stok;
- }
}
1.72 +9 -17 jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/PropertyHelper.java
Index: PropertyHelper.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/PropertyHelper.java,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -r1.71 -r1.72
--- PropertyHelper.java 18 Jun 2004 16:05:46 -0000 1.71
+++ PropertyHelper.java 24 Jun 2004 13:18:52 -0000 1.72
@@ -984,13 +984,9 @@
ResourceKind resourceKind = AbstractResourceKind.determineResourceKind(nsaToken, revisionDescriptors, revisionDescriptor);
if (resourceKind instanceof Version) {
- SlideToken sTokenNoEnlist = sToken;
- if (sToken.isForceStoreEnlistment()) {
- sTokenNoEnlist = new SlideTokenWrapper(sToken, false);
- }
String resourcePath = VersioningHelper.getUri(nsaToken,
- sTokenNoEnlist,
+ sToken,
nsaToken.getContentHelper(),
revisionDescriptors,
revisionDescriptor);
@@ -1002,11 +998,11 @@
// @FIXME Why is servletPath not required?
SearchQuery searchQuery = searchHelper.createSearchQuery(grammarNamespace,
basicSearch,
- sTokenNoEnlist,
+ sToken,
Integer.MAX_VALUE,
slideContextPath);
- SearchQueryResult queryResult = searchHelper.search(sTokenNoEnlist, searchQuery);
+ SearchQueryResult queryResult = searchHelper.search(sToken, searchQuery);
Iterator queryResultIterator = queryResult.iterator();
RequestedResource requestedResource = null;
Element href = null;
@@ -1230,20 +1226,16 @@
ResourceKind resourceKind = AbstractResourceKind.determineResourceKind(nsaToken, revisionDescriptors, revisionDescriptor);
if (resourceKind instanceof Workspace) {
- SlideToken sTokenNoEnlist = sToken;
- if (sToken.isForceStoreEnlistment()) {
- sTokenNoEnlist = new SlideTokenWrapper(sToken, false);
- }
Element basicSearch = getWorkspaceCheckoutSetQueryElement(revisionDescriptors.getUri());
String grammarNamespace = basicSearch.getNamespaceURI();
Search searchHelper = nsaToken.getSearchHelper();
SearchQuery searchQuery = searchHelper.createSearchQuery(grammarNamespace,
basicSearch,
- sTokenNoEnlist,
+ sToken,
Integer.MAX_VALUE,
slideContextPath);
- SearchQueryResult queryResult = searchHelper.search(sTokenNoEnlist, searchQuery);
+ SearchQueryResult queryResult = searchHelper.search(sToken, searchQuery);
Iterator queryResultIterator = queryResult.iterator();
RequestedResource requestedResource = null;
Element hrefElement = null;
@@ -1322,7 +1314,7 @@
XMLValue xmlValue = new XMLValue();
Lock lock = nsaToken.getLockHelper();
NodeLock objectLockToken = null;
- Enumeration lockTokens = lock.enumerateLocks(readonlySlideToken(), revisionDescriptors.getUri(), true);
+ Enumeration lockTokens = lock.enumerateLocks(sToken, revisionDescriptors.getUri(), true);
Set addedLockIDs = new HashSet();
while (lockTokens.hasMoreElements()) {
objectLockToken = (NodeLock) lockTokens.nextElement();
1.20 +4 -8 jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/WebdavUtils.java
Index: WebdavUtils.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/WebdavUtils.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- WebdavUtils.java 14 Jun 2004 12:38:36 -0000 1.19
+++ WebdavUtils.java 24 Jun 2004 13:18:52 -0000 1.20
@@ -368,10 +368,6 @@
(NamespaceAccessToken token, SlideToken slideToken,
String path) {
- if (slideToken.isForceStoreEnlistment()) {
- slideToken = new SlideTokenWrapper(slideToken, false); // check only, no enlistment
- }
-
// Added for DeltaV --start--
if( Configuration.useVersionControl() ) {
UriHandler uh = UriHandler.getUriHandler( path );
1.29 +7 -9 jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/UpdateMethod.java
Index: UpdateMethod.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/UpdateMethod.java,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- UpdateMethod.java 14 Jun 2004 12:38:36 -0000 1.28
+++ UpdateMethod.java 24 Jun 2004 13:18:52 -0000 1.29
@@ -484,15 +484,13 @@
* @throws SlideException
*/
protected ViolatedPrecondition getPreconditionViolation(String updateSourcePath, String updateSourceLabel, String resourcePath) throws SlideException {
- // use a non-blocking slide token.
- SlideToken stoken = readonlySlideToken();
ViolatedPrecondition violatedPrecondition = null;
NodeRevisionDescriptors revisionDescriptors =
- content.retrieve(stoken, resourcePath);
+ content.retrieve(slideToken, resourcePath);
NodeRevisionDescriptor revisionDescriptor =
- content.retrieve(stoken, revisionDescriptors);
+ content.retrieve(slideToken, revisionDescriptors);
ResourceKind resourceKind = AbstractResourceKind.determineResourceKind(token,
revisionDescriptors,
revisionDescriptor);
@@ -519,10 +517,10 @@
vcrHistoryUri.equals(vrUriHandler.getAssociatedHistoryUri()) ) {
NodeRevisionDescriptors vrDescriptors =
- content.retrieve(stoken, updateSourcePath);
+ content.retrieve(slideToken, updateSourcePath);
try {
NodeRevisionDescriptor vrDescriptor =
- content.retrieve(stoken, vrDescriptors);
+ content.retrieve(slideToken, vrDescriptors);
isVersionOfVcrHistory = true;
}
catch (RevisionDescriptorNotFoundException e) {
1.12 +4 -6 jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/UnbindMethod.java
Index: UnbindMethod.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/UnbindMethod.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- UnbindMethod.java 24 Feb 2004 17:03:34 -0000 1.11
+++ UnbindMethod.java 24 Jun 2004 13:18:52 -0000 1.12
@@ -103,13 +103,11 @@
}
private void checkPreconditions() throws PreconditionViolationException, ServiceAccessException {
- // use a non-blocking slide token.
- SlideToken stoken = readonlySlideToken();
resp.setStatus( WebdavStatus.SC_OK );
try {
- collectionNode = structure.retrieve( stoken, collectionUri );
+ collectionNode = structure.retrieve( slideToken, collectionUri );
}
catch( ServiceAccessException e ) {
throw e;
1.25 +8 -10 jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/LabelMethod.java
Index: LabelMethod.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/LabelMethod.java,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- LabelMethod.java 24 Feb 2004 17:03:33 -0000 1.24
+++ LabelMethod.java 24 Jun 2004 13:18:52 -0000 1.25
@@ -414,14 +414,12 @@
* @throws SlideException
*/
protected ViolatedPrecondition getPreconditionViolation(String resourcePath) throws SlideException {
- // use a non-blocking slide token.
- SlideToken stoken = readonlySlideToken();
ViolatedPrecondition violatedPrecondition = null;
NodeRevisionDescriptors revisionDescriptors =
- content.retrieve( stoken, resourcePath);
+ content.retrieve( slideToken, resourcePath);
NodeRevisionDescriptor revisionDescriptor =
- content.retrieve( stoken, revisionDescriptors);
+ content.retrieve( slideToken, revisionDescriptors);
ResourceKind resourceKind = AbstractResourceKind.determineResourceKind(token, revisionDescriptors, revisionDescriptor);
// check <DAV:must-be-checked-in>
@@ -446,9 +444,9 @@
try {
String slideResourceUri = getResourceUri(resourcePath, labelHeader);
revisionDescriptors =
- content.retrieve( stoken, slideResourceUri);
+ content.retrieve( slideToken, slideResourceUri);
revisionDescriptor =
- content.retrieve( stoken, revisionDescriptors);
+ content.retrieve( slideToken, revisionDescriptors);
resourceKind = AbstractResourceKind.determineResourceKind(token, revisionDescriptors, revisionDescriptor);
if (resourceKind instanceof Version) {
1.15 +5 -8 jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/BindMethod.java
Index: BindMethod.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/BindMethod.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- BindMethod.java 24 Feb 2004 17:03:33 -0000 1.14
+++ BindMethod.java 24 Jun 2004 13:18:52 -0000 1.15
@@ -111,11 +111,8 @@
private void checkPreconditions() throws PreconditionViolationException, ServiceAccessException {
resp.setStatus( WebdavStatus.SC_CREATED );
- // use a non-blocking slide token.
- SlideToken stoken = readonlySlideToken();
-
try {
- collectionNode = structure.retrieve( stoken, collectionUri );
+ collectionNode = structure.retrieve( slideToken, collectionUri );
}
catch( ServiceAccessException e ) {
throw e;
@@ -123,7 +120,7 @@
catch (SlideException e) {} // ignore silently
try {
- sourceNode = structure.retrieve( stoken, sourceUri );
+ sourceNode = structure.retrieve( slideToken, sourceUri );
}
catch( ServiceAccessException e ) {
throw e;
1.13 +6 -9 jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/RebindMethod.java
Index: RebindMethod.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/RebindMethod.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- RebindMethod.java 24 Feb 2004 17:03:34 -0000 1.12
+++ RebindMethod.java 24 Jun 2004 13:18:52 -0000 1.13
@@ -111,9 +111,6 @@
}
private void checkPreconditions() throws PreconditionViolationException, ServiceAccessException {
- // use a non-blocking slide token.
- SlideToken stoken = readonlySlideToken();
-
resp.setStatus( WebdavStatus.SC_CREATED );
UriHandler sourceUh = UriHandler.getUriHandler(sourceUri);
UriHandler sourceParentUh = sourceUh.getParentUriHandler();
@@ -123,7 +120,7 @@
}
try {
- collectionNode = structure.retrieve( stoken, collectionUri );
+ collectionNode = structure.retrieve( slideToken, collectionUri );
}
catch( ServiceAccessException e ) {
throw e;
@@ -131,7 +128,7 @@
catch (SlideException e) {} // ignore silently
try {
- sourceNode = structure.retrieve( stoken, sourceUri );
+ sourceNode = structure.retrieve( slideToken, sourceUri );
}
catch( ServiceAccessException e ) {
throw e;
@@ -139,7 +136,7 @@
catch (SlideException e) {} // ignore silently
try {
- sourceParentNode = structure.retrieve( stoken, sourceParentUri );
+ sourceParentNode = structure.retrieve( slideToken, sourceParentUri );
}
catch( ServiceAccessException e ) {
throw e;
1.32 +10 -29 jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/AbstractWebdavMethod.java
Index: AbstractWebdavMethod.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/AbstractWebdavMethod.java,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- AbstractWebdavMethod.java 23 Jun 2004 09:57:14 -0000 1.31
+++ AbstractWebdavMethod.java 24 Jun 2004 13:18:52 -0000 1.32
@@ -519,14 +519,11 @@
return true;
}
- // use a non-blocking slide token.
- SlideToken stoken = readonlySlideToken();
-
NodeRevisionDescriptors lowerNrds = null;
NodeRevisionDescriptor lowerNrd = null;
try {
- lowerNrds = content.retrieve(stoken, lowerNode.getUri());
- lowerNrd = content.retrieve(stoken, lowerNrds);
+ lowerNrds = content.retrieve(slideToken, lowerNode.getUri());
+ lowerNrd = content.retrieve(slideToken, lowerNrds);
NodeProperty psProp = lowerNrd.getProperty(P_PARENT_SET);
XMLValue xv = new XMLValue( String.valueOf(psProp.getValue()) );
@@ -535,7 +532,7 @@
// iterate over parent elements
Element pElm = (Element)i.next();
String hrPath = pElm.getChild( E_HREF, DNSP ).getText();
- ObjectNode hrNode = structure.retrieve( stoken, hrPath );
+ ObjectNode hrNode = structure.retrieve( slideToken, hrPath );
return isDescendant( hrNode, upperNode );
}
} catch (ServiceAccessException e) {
@@ -920,13 +917,10 @@
}
protected boolean exists( String uriStr ) throws SlideException {
- // use a non-blocking slide token.
- SlideToken stoken = readonlySlideToken();
-
boolean destinationExists = true;
try {
- content.retrieve(stoken, uriStr);
+ content.retrieve(slideToken, uriStr);
}
catch (ObjectNotFoundException x) {
destinationExists = false;
@@ -936,13 +930,11 @@
protected boolean isLocked( String uriStr ) throws ServiceAccessException {
// use a non-blocking slide token.
- SlideToken stoken = readonlySlideToken();
-
boolean isLocked = false;
try {
- Enumeration locks = lock.enumerateLocks (stoken, uriStr, false);
+ Enumeration locks = lock.enumerateLocks (slideToken, uriStr, false);
while (locks.hasMoreElements()) {
- if (lock.isLocked(stoken,(NodeLock) locks.nextElement(),false)) {
+ if (lock.isLocked(slideToken,(NodeLock) locks.nextElement(),false)) {
isLocked = true;
}
}
@@ -957,13 +949,10 @@
}
protected boolean isLockNull( String uriStr ) throws ServiceAccessException {
- // use a non-blocking slide token.
- SlideToken stoken = readonlySlideToken();
-
boolean isLockNull = false;
try {
NodeRevisionDescriptor nrd =
- content.retrieve(stoken, content.retrieve(stoken, uriStr));
+ content.retrieve(slideToken, content.retrieve(slideToken, uriStr));
isLockNull = isLockNull( nrd );
}
catch (ServiceAccessException x) {
@@ -1011,14 +1000,6 @@
}
}
return false;
- }
-
- protected SlideToken readonlySlideToken() {
- SlideToken stoken = slideToken;
- if (stoken.isForceStoreEnlistment()) {
- stoken = new SlideTokenWrapper(slideToken, false);
- }
- return stoken;
}
/**
1.69 +9 -16 jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/MoveMethod.java
Index: MoveMethod.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/MoveMethod.java,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -r1.68 -r1.69
--- MoveMethod.java 24 Feb 2004 17:03:33 -0000 1.68
+++ MoveMethod.java 24 Jun 2004 13:18:52 -0000 1.69
@@ -297,8 +297,6 @@
* @throws SlideException
*/
private ViolatedPrecondition getPreconditionViolation(String sourceUri, String destinationUri) throws SlideException {
- // use a non-blocking slide token.
- SlideToken stoken = readonlySlideToken();
ViolatedPrecondition violatedPrecondition = null;
if( Configuration.useVersionControl() ) {
@@ -309,8 +307,8 @@
NodeRevisionDescriptors destinationRevisionDescriptors = null;
NodeRevisionDescriptor destinationRevisionDescriptor = null;
try {
- destinationRevisionDescriptors = content.retrieve( stoken, destinationUri);
- destinationRevisionDescriptor = content.retrieve( stoken, destinationRevisionDescriptors);
+ destinationRevisionDescriptors = content.retrieve( slideToken, destinationUri);
+ destinationRevisionDescriptor = content.retrieve( slideToken, destinationRevisionDescriptors);
}
catch( ObjectNotFoundException e ) {}; // can be ignored here!
@@ -330,9 +328,9 @@
if (isCollection(sourceUri)) {
UriHandler destinationUriHandler = UriHandler.getUriHandler(destinationUri);
ObjectNode destinationParentNode =
- structure.retrieve(stoken, destinationUriHandler.getParentUriHandler().toString());
+ structure.retrieve(slideToken, destinationUriHandler.getParentUriHandler().toString());
ObjectNode sourceNode =
- structure.retrieve(stoken, sourceUri);
+ structure.retrieve(slideToken, sourceUri);
if (isDescendant(destinationParentNode, sourceNode)) {
return new ViolatedPrecondition(C_CYCLE_ALLOWED, WebdavStatus.SC_FORBIDDEN);
}
@@ -472,18 +470,13 @@
StringBuffer requestURIWithScope = new StringBuffer(req.getContextPath());
requestURIWithScope.append(sourceUri);
- SlideToken slideTokenNoEnlist = slideToken;
- if (slideToken.isForceStoreEnlistment()) {
- slideTokenNoEnlist = new SlideTokenWrapper(slideToken, false);
- }
-
SearchQuery searchQuery = searchHelper.createSearchQuery(grammarNamespace,
basicSearch,
- slideTokenNoEnlist,
+ slideToken,
Integer.MAX_VALUE,
requestURIWithScope.toString());
- SearchQueryResult queryResult = searchHelper.search(slideTokenNoEnlist, searchQuery);
+ SearchQueryResult queryResult = searchHelper.search(slideToken, searchQuery);
Iterator queryResultIterator = queryResult.iterator();
RequestedResource requestedResource = null;
1.81 +4 -7 jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropPatchMethod.java
Index: PropPatchMethod.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropPatchMethod.java,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -r1.80 -r1.81
--- PropPatchMethod.java 23 Jun 2004 13:17:15 -0000 1.80
+++ PropPatchMethod.java 24 Jun 2004 13:18:52 -0000 1.81
@@ -579,9 +579,6 @@
private ViolatedPrecondition getPreconditionViolation(NodeRevisionDescriptors revisionDescriptors, NodeRevisionDescriptor revisionDescriptor, ResourceKind resourceKind)
throws ServiceAccessException {
- // use a non-blocking slide token.
- SlideToken stoken = readonlySlideToken();
-
if( Configuration.useVersionControl() ) {
if (resourceKind instanceof CheckedInVersionControlled) {
@@ -601,7 +598,7 @@
WebdavStatus.SC_FORBIDDEN);
}
if (E_LOCKED_CHECKOUT.equals(autoVersion)) {
- if ( !versioningHelper.isWriteLocked(stoken, revisionDescriptors) ) {
+ if ( !versioningHelper.isWriteLocked(slideToken, revisionDescriptors) ) {
return new ViolatedPrecondition(C_CANNOT_MODIFY_VERSION_CONTROLLED_PROPERTY,
WebdavStatus.SC_FORBIDDEN);
}
1.40 +3 -6 jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/AclMethod.java
Index: AclMethod.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/AclMethod.java,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- AclMethod.java 24 Feb 2004 17:03:33 -0000 1.39
+++ AclMethod.java 24 Jun 2004 13:18:52 -0000 1.40
@@ -225,9 +225,6 @@
*/
private void checkPreconditions() throws PreconditionViolationException, ServiceAccessException {
resp.setStatus( WebdavStatus.SC_OK );
-
- // use a non-blocking slide token.
- SlideToken stoken = readonlySlideToken();
}
/**
1.77 +4 -7 jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PutMethod.java
Index: PutMethod.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PutMethod.java,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -r1.76 -r1.77
--- PutMethod.java 23 Jun 2004 13:19:59 -0000 1.76
+++ PutMethod.java 24 Jun 2004 13:18:52 -0000 1.77
@@ -436,9 +436,6 @@
private ViolatedPrecondition getPreconditionViolation(NodeRevisionDescriptors revisionDescriptors, NodeRevisionDescriptor revisionDescriptor, ResourceKind resourceKind)
throws ServiceAccessException {
- // use a non-blocking slide token.
- SlideToken stoken = readonlySlideToken();
-
if( Configuration.useVersionControl() ) {
if (resourceKind instanceof CheckedInVersionControlled) {
@@ -457,7 +454,7 @@
WebdavStatus.SC_FORBIDDEN);
}
if ( E_LOCKED_CHECKOUT.equals(autoVersion) &&
- ( !versioningHelper.isWriteLocked(stoken, revisionDescriptors) ) ) {
+ ( !versioningHelper.isWriteLocked(slideToken, revisionDescriptors) ) ) {
return new ViolatedPrecondition(C_CANNOT_MODIFY_VERSION_CONTROLLED_CONTENT,
WebdavStatus.SC_FORBIDDEN);
}
1.102 +4 -4 jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropFindMethod.java
Index: PropFindMethod.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropFindMethod.java,v
retrieving revision 1.101
retrieving revision 1.102
diff -u -r1.101 -r1.102
--- PropFindMethod.java 14 Jun 2004 12:38:35 -0000 1.101
+++ PropFindMethod.java 24 Jun 2004 13:18:52 -0000 1.102
@@ -396,7 +396,7 @@
protected Element getPropertiesOfObject(String resourceUri)
throws WebdavException {
- SlideToken lightSToken = new SlideTokenWrapper(slideToken, false);
+ SlideToken lightSToken = new SlideTokenWrapper(slideToken);
lightSToken.setForceLock(false);
// evaluate "Label" header
1.44 +8 -11 jakarta-slide/src/share/org/apache/slide/lock/LockImpl.java
Index: LockImpl.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/lock/LockImpl.java,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- LockImpl.java 5 Jun 2004 12:20:19 -0000 1.43
+++ LockImpl.java 24 Jun 2004 13:18:53 -0000 1.44
@@ -369,9 +369,6 @@
if (!token.isForceLock()) {
return;
}
- if (!token.isForceStoreEnlistment()) {
- token = new SlideTokenWrapper(token, false);
- }
if (Configuration.useIntegratedLocking()) {
@@ -602,7 +599,7 @@
boolean tryToLock, ObjectIsAlreadyLockedException nestedException)
throws ServiceAccessException, ObjectNotFoundException {
- Uri objectUri = namespace.getUri(slideToken, token.getObjectUri(), false);
+ Uri objectUri = namespace.getUri(slideToken, token.getObjectUri());
ObjectNode initialObject = objectUri.getStore()
.retrieveObject(objectUri);
Enumeration scopes = objectUri.getScopes();
@@ -616,7 +613,7 @@
// First, we parse all the parents of the subject.
while (!isLocked && scopes.hasMoreElements()) {
String currentScope = (String) scopes.nextElement();
- Uri currentScopeUri = namespace.getUri(slideToken, currentScope, false);
+ Uri currentScopeUri = namespace.getUri(slideToken, currentScope);
Enumeration locks = currentScopeUri.getStore()
.enumerateLocks(currentScopeUri);
@@ -643,7 +640,7 @@
while (!isLocked && !childrenStack.empty()) {
ObjectNode currentObject = (ObjectNode) childrenStack.pop();
Uri currentObjectUri =
- namespace.getUri(slideToken, currentObject.getUri(), false);
+ namespace.getUri(slideToken, currentObject.getUri());
// We test the compatibility of the child
Enumeration locks = currentObjectUri.getStore()
.enumerateLocks(currentObjectUri);
@@ -667,7 +664,7 @@
Enumeration childrenUri = currentObject.enumerateChildren();
while (childrenUri.hasMoreElements()) {
String childUri = (String) childrenUri.nextElement();
- Uri tempUri = namespace.getUri(slideToken, childUri, false);
+ Uri tempUri = namespace.getUri(slideToken, childUri);
ObjectNode child = tempUri.getStore()
.retrieveObject(tempUri);
childrenVector.addElement(child);
1.47 +5 -9 jakarta-slide/src/share/org/apache/slide/structure/StructureImpl.java
Index: StructureImpl.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/structure/StructureImpl.java,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -r1.46 -r1.47
--- StructureImpl.java 23 Jun 2004 09:57:15 -0000 1.46
+++ StructureImpl.java 24 Jun 2004 13:18:53 -0000 1.47
@@ -684,11 +684,7 @@
*/
public List getParents(SlideToken token, ObjectNode object, boolean pathOnly, boolean storeOnly, boolean includeSelf) throws ServiceAccessException, ObjectNotFoundException, LinkedObjectNotFoundException, AccessDeniedException, VetoException {
List result = new ArrayList();
- if (token.isForceStoreEnlistment()) {
- // get read-only token
- token = new SlideTokenWrapper(token, false);
- }
-
+
if (pathOnly) {
String[] uriTokens = object.getPath().tokens();
UriPath path = new UriPath("/");
1.4 +292 -292 jakarta-slide/src/conf/schema/SQLServerSchema.sql
Index: SQLServerSchema.sql
===================================================================
RCS file: /home/cvs/jakarta-slide/src/conf/schema/SQLServerSchema.sql,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- SQLServerSchema.sql 27 May 2004 11:57:25 -0000 1.3
+++ SQLServerSchema.sql 24 Jun 2004 13:18:53 -0000 1.4
@@ -1,292 +1,292 @@
- /**********************************************************************/
- /****** DROP SLIDE TABLES ******/
- /**********************************************************************/
-
- IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[OBJECT]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
- DROP TABLE [dbo].[OBJECT]
- GO
-
- IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[BINDING]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
- DROP TABLE [dbo].[BINDING]
- GO
-
- IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[PARENT_BINDING]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
- DROP TABLE [dbo].[PARENT_BINDING]
- GO
-
- IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[CHILDREN]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
- DROP TABLE [dbo].[CHILDREN]
- GO
-
- IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[LINKS]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
- DROP TABLE [dbo].[LINKS]
- GO
-
- IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[LOCKS]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
- DROP TABLE [dbo].[LOCKS]
- GO
-
- IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[VERSION_CONTENT]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
- DROP TABLE [dbo].[VERSION_CONTENT]
- GO
-
- IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[PROPERTIES]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
- DROP TABLE [dbo].[PROPERTIES]
- GO
-
- IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[PERMISSIONS]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
- DROP TABLE [dbo].[PERMISSIONS]
- GO
-
- IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[VERSION_PREDS]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
- DROP TABLE [dbo].[VERSION_PREDS]
- GO
-
- IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[VERSION_LABELS]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
- DROP TABLE [dbo].[VERSION_LABELS]
- GO
-
- IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[VERSION_HISTORY]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
- DROP TABLE [dbo].[VERSION_HISTORY]
- GO
-
- IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[VERSION]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
- DROP TABLE [dbo].[VERSION]
- GO
-
- IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[BRANCH]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
- DROP TABLE [dbo].[BRANCH]
- GO
-
- IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[LABEL]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
- DROP TABLE [dbo].[LABEL]
- GO
-
- IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[URI]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
- DROP TABLE [dbo].[URI]
- GO
-
- /**********************************************************************/
- /****** DROP EXISTING USER DEFINED DATA TYPES ******/
- /**********************************************************************/
-
- sp_droptype id_type
- GO
-
- sp_droptype uri_str_type
- GO
-
- sp_droptype revision_no_type
- GO
-
- sp_droptype hash_type
- GO
-
- sp_droptype literal_str_type
- GO
-
- sp_droptype value_str_type
- GO
-
-
- /**********************************************************************/
- /****** ADD USER DEFINED DATA TYPES ******/
- /**********************************************************************/
-
- sp_addtype id_type, bigint
- GO
-
- sp_addtype uri_str_type, "nvarchar(800)"
- GO
-
- sp_addtype revision_no_type, "nvarchar(20)"
- GO
-
- sp_addtype hash_type, bigint
- GO
-
- sp_addtype literal_str_type, "nvarchar(3000)"
- GO
-
- sp_addtype value_str_type, "nvarchar(255)"
- GO
-
- /**********************************************************************/
- /****** CREATE SLIDE TABLES ******/
- /**********************************************************************/
-
- CREATE TABLE dbo.URI (
- URI_ID id_type IDENTITY UNIQUE NOT NULL,
- URI_STRING uri_str_type UNIQUE NOT NULL,
- -- UNIQUE NONCLUSTERED (URI_ID)
- )
- GO
-
- CREATE INDEX XUID
- ON URI(URI_ID)
- GO
-
- CREATE INDEX XUSTRING
- ON URI(URI_STRING)
- GO
-
- CREATE TABLE dbo.OBJECT (
- URI_ID id_type PRIMARY KEY,
- CLASS_NAME nvarchar(255) NOT NULL,
- CONSTRAINT FK_OBJECT_URI_ID
- FOREIGN KEY (URI_ID)
- REFERENCES URI (URI_ID)
- )
- GO
-
- CREATE TABLE dbo.BINDING (
- URI_ID id_type NOT NULL
- REFERENCES URI (URI_ID),
- NAME uri_str_type NOT NULL,
- CHILD_UURI_ID id_type NOT NULL
- REFERENCES URI (URI_ID),
- UNIQUE CLUSTERED (URI_ID, NAME, CHILD_UURI_ID)
- )
- GO
-
- CREATE TABLE dbo.PARENT_BINDING (
- URI_ID id_type NOT NULL
- REFERENCES URI (URI_ID),
- NAME uri_str_type NOT NULL,
- PARENT_UURI_ID id_type NOT NULL
- REFERENCES URI (URI_ID),
- UNIQUE CLUSTERED (URI_ID, NAME, PARENT_UURI_ID)
- )
- GO
-
- CREATE TABLE dbo.LINKS (
- URI_ID id_type NOT NULL FOREIGN KEY
- REFERENCES URI (URI_ID),
- LINK_TO_ID id_type NOT NULL FOREIGN KEY
- REFERENCES URI (URI_ID),
- --UNIQUE CLUSTERED (URI_ID, LINK_TO_ID)
- )
- GO
-
- CREATE INDEX XURI_ID
- ON LINKS(URI_ID)
- GO
-
-
- CREATE INDEX XLINK_TO_ID
- ON LINKS(LINK_TO_ID)
- GO
-
- CREATE TABLE dbo.LOCKS (
- LOCK_ID id_type PRIMARY KEY,
- OBJECT_ID id_type NOT NULL FOREIGN KEY
- REFERENCES URI (URI_ID),
- SUBJECT_ID id_type NOT NULL FOREIGN KEY
- REFERENCES URI (URI_ID),
- TYPE_ID id_type NOT NULL FOREIGN KEY
- REFERENCES URI (URI_ID),
- EXPIRATION_DATE numeric(14, 0) NOT NULL,
- IS_INHERITABLE bit NOT NULL,
- IS_EXCLUSIVE bit NOT NULL,
- OWNER nvarchar(255),
- CONSTRAINT FK_LOCKS_LOCK_ID
- FOREIGN KEY (LOCK_ID)
- REFERENCES URI (URI_ID)
- )
- GO
-
- CREATE TABLE dbo.BRANCH (
- BRANCH_ID id_type IDENTITY UNIQUE NOT NULL,
- BRANCH_STRING nvarchar(255) UNIQUE NOT NULL,
- UNIQUE NONCLUSTERED (BRANCH_ID)
- )
- GO
-
- CREATE TABLE dbo.LABEL (
- LABEL_ID id_type IDENTITY UNIQUE NOT NULL,
- LABEL_STRING nvarchar(255) NOT NULL,
- UNIQUE NONCLUSTERED (LABEL_ID)
- )
- GO
-
- CREATE TABLE dbo.VERSION (
- URI_ID id_type PRIMARY KEY,
- IS_VERSIONED bit NOT NULL,
- CONSTRAINT FK_VERSION_URI_ID
- FOREIGN KEY (URI_ID)
- REFERENCES URI (URI_ID)
- )
- GO
-
- CREATE TABLE dbo.VERSION_HISTORY (
- VERSION_ID id_type IDENTITY UNIQUE NOT NULL,
- URI_ID id_type NOT NULL FOREIGN KEY
- REFERENCES VERSION (URI_ID),
- BRANCH_ID id_type NOT NULL FOREIGN KEY
- REFERENCES BRANCH (BRANCH_ID),
- REVISION_NO nVARCHAR(20) NOT NULL,
- --UNIQUE CLUSTERED (URI_ID, BRANCH_ID, REVISION_NO)
- )
- GO
- CREATE INDEX XVERSION_HISTORY1
- ON VERSION_HISTORY(URI_ID, BRANCH_ID, REVISION_NO)
- GO
-
- CREATE TABLE dbo.VERSION_PREDS (
- VERSION_ID id_type NOT NULL FOREIGN KEY
- REFERENCES VERSION_HISTORY (VERSION_ID),
- PREDECESSOR_ID id_type NOT NULL FOREIGN KEY
- REFERENCES VERSION_HISTORY (VERSION_ID),
- UNIQUE CLUSTERED (VERSION_ID, PREDECESSOR_ID)
- )
- GO
- CREATE INDEX XVERSION_PREDS1
- ON VERSION_PREDS(VERSION_ID, PREDECESSOR_ID)
- GO
-
- CREATE TABLE dbo.VERSION_LABELS (
- VERSION_ID id_type NOT NULL FOREIGN KEY
- REFERENCES VERSION_HISTORY (VERSION_ID),
- LABEL_ID id_type NOT NULL FOREIGN KEY
- REFERENCES LABEL (LABEL_ID),
- UNIQUE CLUSTERED (VERSION_ID, LABEL_ID)
- )
- GO
-
- CREATE TABLE dbo.VERSION_CONTENT (
- VERSION_ID id_type PRIMARY KEY,
- CONTENT image NOT NULL,
- CONSTRAINT FK_VC_VERSION_ID
- FOREIGN KEY (VERSION_ID)
- REFERENCES VERSION_HISTORY (VERSION_ID),
- )
- GO
-
- CREATE TABLE dbo.PROPERTIES (
- VERSION_ID id_type NOT NULL FOREIGN KEY
- REFERENCES VERSION_HISTORY (VERSION_ID),
- PROPERTY_NAMESPACE nvarchar(50) NOT NULL,
- PROPERTY_NAME nvarchar(50) NOT NULL,
- PROPERTY_VALUE ntext NOT NULL,
- PROPERTY_TYPE nvarchar(50) NOT NULL,
- IS_PROTECTED bit NOT NULL,
- UNIQUE CLUSTERED (VERSION_ID, PROPERTY_NAMESPACE, PROPERTY_NAME)
- )
- GO
-
- CREATE TABLE dbo.PERMISSIONS (
- OBJECT_ID id_type NOT NULL FOREIGN KEY
- REFERENCES URI (URI_ID),
- SUBJECT_ID id_type NOT NULL FOREIGN KEY
- REFERENCES URI (URI_ID),
- ACTION_ID id_type NOT NULL FOREIGN KEY
- REFERENCES URI (URI_ID),
- VERSION_NO nVARCHAR(20) NULL,
- IS_INHERITABLE bit NOT NULL,
- IS_NEGATIVE bit NOT NULL,
- -- Both order and sequence would be more suitable, but can not be used
- SUCCESSION int NOT NULL,
- UNIQUE CLUSTERED (OBJECT_ID, SUBJECT_ID, ACTION_ID),
- UNIQUE (OBJECT_ID, SUCCESSION)
- )
- GO
\ No newline at end of file
+/**********************************************************************/
+/****** DROP SLIDE TABLES ******/
+/**********************************************************************/
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[OBJECT]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
+DROP TABLE [dbo].[OBJECT]
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[BINDING]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
+DROP TABLE [dbo].[BINDING]
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[PARENT_BINDING]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
+DROP TABLE [dbo].[PARENT_BINDING]
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[CHILDREN]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
+DROP TABLE [dbo].[CHILDREN]
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[LINKS]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
+DROP TABLE [dbo].[LINKS]
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[LOCKS]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
+DROP TABLE [dbo].[LOCKS]
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[VERSION_CONTENT]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
+DROP TABLE [dbo].[VERSION_CONTENT]
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[PROPERTIES]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
+DROP TABLE [dbo].[PROPERTIES]
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[PERMISSIONS]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
+DROP TABLE [dbo].[PERMISSIONS]
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[VERSION_PREDS]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
+DROP TABLE [dbo].[VERSION_PREDS]
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[VERSION_LABELS]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
+DROP TABLE [dbo].[VERSION_LABELS]
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[VERSION_HISTORY]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
+DROP TABLE [dbo].[VERSION_HISTORY]
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[VERSION]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
+DROP TABLE [dbo].[VERSION]
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[BRANCH]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
+DROP TABLE [dbo].[BRANCH]
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[LABEL]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
+DROP TABLE [dbo].[LABEL]
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[URI]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
+DROP TABLE [dbo].[URI]
+GO
+
+/**********************************************************************/
+/****** DROP EXISTING USER DEFINED DATA TYPES ******/
+/**********************************************************************/
+
+sp_droptype id_type
+GO
+
+sp_droptype uri_str_type
+GO
+
+sp_droptype revision_no_type
+GO
+
+sp_droptype hash_type
+GO
+
+sp_droptype literal_str_type
+GO
+
+sp_droptype value_str_type
+GO
+
+
+/**********************************************************************/
+/****** ADD USER DEFINED DATA TYPES ******/
+/**********************************************************************/
+
+sp_addtype id_type, bigint
+GO
+
+sp_addtype uri_str_type, "nvarchar(800)"
+GO
+
+sp_addtype revision_no_type, "nvarchar(20)"
+GO
+
+sp_addtype hash_type, bigint
+GO
+
+sp_addtype literal_str_type, "nvarchar(3000)"
+GO
+
+sp_addtype value_str_type, "nvarchar(255)"
+GO
+
+/**********************************************************************/
+/****** CREATE SLIDE TABLES ******/
+/**********************************************************************/
+
+CREATE TABLE dbo.URI (
+ URI_ID id_type IDENTITY UNIQUE NOT NULL,
+ URI_STRING uri_str_type UNIQUE NOT NULL,
+ -- UNIQUE NONCLUSTERED (URI_ID)
+)
+GO
+
+CREATE INDEX XUID
+ ON URI(URI_ID)
+GO
+
+CREATE INDEX XUSTRING
+ ON URI(URI_STRING)
+GO
+
+CREATE TABLE dbo.OBJECT (
+ URI_ID id_type PRIMARY KEY,
+ CLASS_NAME nvarchar(255) NOT NULL,
+ CONSTRAINT FK_OBJECT_URI_ID
+ FOREIGN KEY (URI_ID)
+ REFERENCES URI (URI_ID)
+)
+GO
+
+CREATE TABLE dbo.BINDING (
+ URI_ID id_type NOT NULL
+ REFERENCES URI (URI_ID),
+ NAME uri_str_type NOT NULL,
+ CHILD_UURI_ID id_type NOT NULL
+ REFERENCES URI (URI_ID),
+ UNIQUE CLUSTERED (URI_ID, NAME, CHILD_UURI_ID)
+)
+GO
+
+CREATE TABLE dbo.PARENT_BINDING (
+ URI_ID id_type NOT NULL
+ REFERENCES URI (URI_ID),
+ NAME uri_str_type NOT NULL,
+ PARENT_UURI_ID id_type NOT NULL
+ REFERENCES URI (URI_ID),
+ UNIQUE CLUSTERED (URI_ID, NAME, PARENT_UURI_ID)
+)
+GO
+
+CREATE TABLE dbo.LINKS (
+ URI_ID id_type NOT NULL FOREIGN KEY
+ REFERENCES URI (URI_ID),
+ LINK_TO_ID id_type NOT NULL FOREIGN KEY
+ REFERENCES URI (URI_ID),
+ --UNIQUE CLUSTERED (URI_ID, LINK_TO_ID)
+)
+GO
+
+CREATE INDEX XURI_ID
+ ON LINKS(URI_ID)
+GO
+
+
+CREATE INDEX XLINK_TO_ID
+ ON LINKS(LINK_TO_ID)
+GO
+
+CREATE TABLE dbo.LOCKS (
+ LOCK_ID id_type PRIMARY KEY,
+ OBJECT_ID id_type NOT NULL FOREIGN KEY
+ REFERENCES URI (URI_ID),
+ SUBJECT_ID id_type NOT NULL FOREIGN KEY
+ REFERENCES URI (URI_ID),
+ TYPE_ID id_type NOT NULL FOREIGN KEY
+ REFERENCES URI (URI_ID),
+ EXPIRATION_DATE numeric(14, 0) NOT NULL,
+ IS_INHERITABLE bit NOT NULL,
+ IS_EXCLUSIVE bit NOT NULL,
+ OWNER nvarchar(255),
+ CONSTRAINT FK_LOCKS_LOCK_ID
+ FOREIGN KEY (LOCK_ID)
+ REFERENCES URI (URI_ID)
+)
+GO
+
+CREATE TABLE dbo.BRANCH (
+ BRANCH_ID id_type IDENTITY UNIQUE NOT NULL,
+ BRANCH_STRING nvarchar(255) UNIQUE NOT NULL,
+ UNIQUE NONCLUSTERED (BRANCH_ID)
+)
+GO
+
+CREATE TABLE dbo.LABEL (
+ LABEL_ID id_type IDENTITY UNIQUE NOT NULL,
+ LABEL_STRING nvarchar(255) NOT NULL,
+ UNIQUE NONCLUSTERED (LABEL_ID)
+)
+GO
+
+CREATE TABLE dbo.VERSION (
+ URI_ID id_type PRIMARY KEY,
+ IS_VERSIONED bit NOT NULL,
+ CONSTRAINT FK_VERSION_URI_ID
+ FOREIGN KEY (URI_ID)
+ REFERENCES URI (URI_ID)
+)
+GO
+
+CREATE TABLE dbo.VERSION_HISTORY (
+ VERSION_ID id_type IDENTITY UNIQUE NOT NULL,
+ URI_ID id_type NOT NULL FOREIGN KEY
+ REFERENCES VERSION (URI_ID),
+ BRANCH_ID id_type NOT NULL FOREIGN KEY
+ REFERENCES BRANCH (BRANCH_ID),
+ REVISION_NO nVARCHAR(20) NOT NULL,
+ --UNIQUE CLUSTERED (URI_ID, BRANCH_ID, REVISION_NO)
+)
+GO
+CREATE INDEX XVERSION_HISTORY1
+ ON VERSION_HISTORY(URI_ID, BRANCH_ID, REVISION_NO)
+GO
+
+CREATE TABLE dbo.VERSION_PREDS (
+ VERSION_ID id_type NOT NULL FOREIGN KEY
+ REFERENCES VERSION_HISTORY (VERSION_ID),
+ PREDECESSOR_ID id_type NOT NULL FOREIGN KEY
+ REFERENCES VERSION_HISTORY (VERSION_ID),
+ UNIQUE CLUSTERED (VERSION_ID, PREDECESSOR_ID)
+)
+GO
+CREATE INDEX XVERSION_PREDS1
+ ON VERSION_PREDS(VERSION_ID, PREDECESSOR_ID)
+GO
+
+CREATE TABLE dbo.VERSION_LABELS (
+ VERSION_ID id_type NOT NULL FOREIGN KEY
+ REFERENCES VERSION_HISTORY (VERSION_ID),
+ LABEL_ID id_type NOT NULL FOREIGN KEY
+ REFERENCES LABEL (LABEL_ID),
+ UNIQUE CLUSTERED (VERSION_ID, LABEL_ID)
+)
+GO
+
+CREATE TABLE dbo.VERSION_CONTENT (
+ VERSION_ID id_type PRIMARY KEY,
+ CONTENT image NOT NULL,
+ CONSTRAINT FK_VC_VERSION_ID
+ FOREIGN KEY (VERSION_ID)
+ REFERENCES VERSION_HISTORY (VERSION_ID),
+)
+GO
+
+CREATE TABLE dbo.PROPERTIES (
+ VERSION_ID id_type NOT NULL FOREIGN KEY
+ REFERENCES VERSION_HISTORY (VERSION_ID),
+ PROPERTY_NAMESPACE nvarchar(50) NOT NULL,
+ PROPERTY_NAME nvarchar(50) NOT NULL,
+ PROPERTY_VALUE ntext NOT NULL,
+ PROPERTY_TYPE nvarchar(50) NOT NULL,
+ IS_PROTECTED bit NOT NULL,
+ UNIQUE CLUSTERED (VERSION_ID, PROPERTY_NAMESPACE, PROPERTY_NAME)
+)
+GO
+
+CREATE TABLE dbo.PERMISSIONS (
+ OBJECT_ID id_type NOT NULL FOREIGN KEY
+ REFERENCES URI (URI_ID),
+ SUBJECT_ID id_type NOT NULL FOREIGN KEY
+ REFERENCES URI (URI_ID),
+ ACTION_ID id_type NOT NULL FOREIGN KEY
+ REFERENCES URI (URI_ID),
+ VERSION_NO nVARCHAR(20) NULL,
+ IS_INHERITABLE bit NOT NULL,
+ IS_NEGATIVE bit NOT NULL,
+ -- Both order and sequence would be more suitable, but can not be used
+ SUCCESSION int NOT NULL,
+ UNIQUE CLUSTERED (OBJECT_ID, SUBJECT_ID, ACTION_ID),
+ UNIQUE (OBJECT_ID, SUCCESSION)
+)
+GO
\ No newline at end of file
1.7 +15 -10 jakarta-slide/webdavclient/clientlib/src/java/org/apache/util/XMLPrinter.java
Index: XMLPrinter.java
===================================================================
RCS file: /home/cvs/jakarta-slide/webdavclient/clientlib/src/java/org/apache/util/XMLPrinter.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- XMLPrinter.java 24 Jun 2004 11:23:56 -0000 1.6
+++ XMLPrinter.java 24 Jun 2004 13:18:53 -0000 1.7
@@ -38,6 +38,8 @@
// -------------------------------------------------------------- Constants
+
+
/**
* Opening tag.
*/
@@ -168,8 +170,7 @@
public void writeElement(String namespace, String name, int type) {
writeElement(namespace, null, name, type);
}
-
-
+
/**
* Write an element.
*
@@ -180,6 +181,10 @@
*/
public void writeElement(String namespace, String namespaceInfo,
String name, int type) {
+
+
+
+
if ((namespace != null) && (namespace.length() > 0)) {
switch (type) {
case OPENING:
@@ -192,7 +197,7 @@
}
break;
case CLOSING:
- buffer.append("</" + namespace + ":" + name + ">");
+ buffer.append("</" + namespace + ":" + name + ">");
break;
case NO_CONTENT:
default:
@@ -209,10 +214,10 @@
switch (type) {
case OPENING:
if ((namespaceInfo != null) && (namespaceInfo.length()>0)) {
- buffer.append("<" + name + " xmlns=\"" + namespaceInfo
+ buffer.append("<op3" + name + " xmlns=\"" + namespaceInfo
+ "\">");
} else {
- buffer.append("<" + name + ">");
+ buffer.append("<op4" + name + ">");
}
break;
case CLOSING:
@@ -221,10 +226,10 @@
case NO_CONTENT:
default:
if ((namespaceInfo != null) && (namespaceInfo.length()>0)) {
- buffer.append("<" + name + " xmlns=\"" + namespaceInfo
+ buffer.append("<nc3" + name + " xmlns=\"" + namespaceInfo
+ "\"/>");
} else {
- buffer.append("<" + name + "/>");
+ buffer.append("<nc4" + name + ">");
}
break;
}
1.13 +5 -7 jakarta-slide/src/share/org/apache/slide/common/SlideTokenWrapper.java
Index: SlideTokenWrapper.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/common/SlideTokenWrapper.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- SlideTokenWrapper.java 24 Jun 2004 12:10:00 -0000 1.12
+++ SlideTokenWrapper.java 24 Jun 2004 13:18:53 -0000 1.13
@@ -48,12 +48,10 @@
/**
* Constructor.
* @param token The token to wrap.
- * @param forceStoreEnlistment Is store enlistement required?
*/
- public SlideTokenWrapper(SlideToken token, boolean forceStoreEnlistment) {
+ public SlideTokenWrapper(SlideToken token) {
this.wrappedToken = token;
- // FIXME
- this.forceStoreEnlistment = true;// forceStoreEnlistment;
+ this.forceStoreEnlistment = token.isForceStoreEnlistment();
this.forceSecurity = token.isForceSecurity();
this.forceLock = token.isForceLock();
this.isExternalTransaction = token.isExternalTransaction();
1.63 +7 -5 jakarta-slide/src/share/org/apache/slide/common/Namespace.java
Index: Namespace.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/common/Namespace.java,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -r1.62 -r1.63
--- Namespace.java 4 May 2004 12:06:27 -0000 1.62
+++ Namespace.java 24 Jun 2004 13:18:53 -0000 1.63
@@ -683,7 +683,9 @@
// if a different forceEnlistment value want to be used
// wrap the used token to reflect the different value
if (token != null && token.isForceStoreEnlistment() != forcedEnlistment) {
- result.setToken(new SlideTokenWrapper(token, forcedEnlistment));
+ SlideToken wToken = new SlideTokenWrapper(token);
+ wToken.setForceStoreEnlistment(forcedEnlistment);
+ result.setToken(wToken);
}
return result;
1.40 +6 -5 jakarta-slide/src/share/org/apache/slide/macro/MacroImpl.java
Index: MacroImpl.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/macro/MacroImpl.java,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- MacroImpl.java 24 Feb 2004 16:47:08 -0000 1.39
+++ MacroImpl.java 24 Jun 2004 13:18:53 -0000 1.40
@@ -239,7 +239,8 @@
*/
private void writeLock(SlideToken token, String uri, boolean recursive) throws SlideException {
if (!token.isForceStoreEnlistment()) {
- token = new SlideTokenWrapper(token, true);
+ token = new SlideTokenWrapper(token);
+ token.setForceStoreEnlistment(true);
}
ObjectNode onode = structureHelper.retrieve(token, uri);
if (onode != null && recursive) {
1.59 +6 -6 jakarta-slide/src/webdav/server/org/apache/slide/webdav/WebdavServlet.java
Index: WebdavServlet.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/WebdavServlet.java,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -r1.58 -r1.59
--- WebdavServlet.java 23 Jun 2004 09:57:14 -0000 1.58
+++ WebdavServlet.java 24 Jun 2004 13:18:53 -0000 1.59
@@ -182,8 +182,8 @@
}
private boolean isCollection(HttpServletRequest req) {
- SlideToken slideToken = new SlideTokenWrapper(WebdavUtils.getSlideToken(req), false);
- // FIXME
+ SlideToken slideToken = new SlideTokenWrapper(WebdavUtils.getSlideToken(req));
+ // necessary as no transaction has been started, yet
slideToken.setForceStoreEnlistment(false);
slideToken.setForceSecurity(false);
slideToken.setForceLock(false);
1.49 +5 -12 jakarta-slide/src/share/org/apache/slide/security/SecurityImpl.java
Index: SecurityImpl.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/security/SecurityImpl.java,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -r1.48 -r1.49
--- SecurityImpl.java 5 Jun 2004 12:20:20 -0000 1.48
+++ SecurityImpl.java 24 Jun 2004 13:18:53 -0000 1.49
@@ -392,9 +392,6 @@
if (!token.isForceSecurity()) {
return;
}
- else if (token.isForceStoreEnlistment()) {
- token = new SlideTokenWrapper(token, false); // read only access
- }
try {
if (Configuration.useIntegratedSecurity()) {
@@ -811,10 +808,6 @@
throws ServiceAccessException, ObjectNotFoundException {
List result = new ArrayList();
- if (token.isForceStoreEnlistment()) {
- // get read-only token
- token = new SlideTokenWrapper(token, false);
- }
Uri uri;
switch (aclInheritanceType) {
@@ -832,7 +825,7 @@
uri = namespace.getUri(token, object.getUri());
Enumeration enum = uri.getScopes();
while (enum.hasMoreElements()) {
- Uri element = namespace.getUri(token, (String)enum.nextElement(), false);
+ Uri element = namespace.getUri(token, (String)enum.nextElement());
ObjectNode objectNode = element.getStore().retrieveObject(element);
result.add(objectNode);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org