luetzkendorf 2004/09/22 08:20:23
Modified: src/share/org/apache/slide/store BindingStore.java
ResourceId.java
src/share/org/apache/slide/common SlideTokenImpl.java
Uri.java
src/share/org/apache/slide/structure StructureImpl.java
Log:
merge with release branch
Revision Changes Path
1.4 +5 -4 jakarta-slide/src/share/org/apache/slide/store/BindingStore.java
Index: BindingStore.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/share/org/apache/slide/store/BindingStore.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- BindingStore.java 28 Jul 2004 09:34:42 -0000 1.3
+++ BindingStore.java 22 Sep 2004 15:20:22 -0000 1.4
@@ -112,6 +112,7 @@
ResourceId resourceId = obtainResourceId(uri);
ObjectNode objectClone = object.cloneObject();
objectClone.setUri(resourceId.getUuri()); // switch to uuri
+ cacheResolve(uri, null);
resourceId.getStore().removeObject(resourceId, objectClone);
}
}
1.5 +5 -5 jakarta-slide/src/share/org/apache/slide/store/ResourceId.java
Index: ResourceId.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/store/ResourceId.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ResourceId.java 28 Jul 2004 09:34:41 -0000 1.4
+++ ResourceId.java 22 Sep 2004 15:20:23 -0000 1.5
@@ -153,7 +153,7 @@
* @return int hash code
*/
public int hashCode() {
- return super.hashCode();
+ return this.uuri.hashCode();
}
public Scope getScope() {
1.15 +8 -4
jakarta-slide/src/share/org/apache/slide/common/SlideTokenImpl.java
Index: SlideTokenImpl.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/share/org/apache/slide/common/SlideTokenImpl.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- SlideTokenImpl.java 2 Sep 2004 12:41:11 -0000 1.14
+++ SlideTokenImpl.java 22 Sep 2004 15:20:23 -0000 1.15
@@ -364,7 +364,11 @@
* Allows to cache the result of a resolve operation
*/
public void cacheResolve(Uri uri, ResourceId resourceId) {
- resolveCache.put(uri, resourceId);
+ if (resourceId != null) {
+ resolveCache.put(uri, resourceId);
+ } else {
+ resolveCache.remove(uri);
+ }
}
/**
1.20 +5 -17 jakarta-slide/src/share/org/apache/slide/common/Uri.java
Index: Uri.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/common/Uri.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- Uri.java 28 Jul 2004 09:38:08 -0000 1.19
+++ Uri.java 22 Sep 2004 15:20:23 -0000 1.20
@@ -93,12 +93,6 @@
/**
- * FIXME : Probably useless.
- */
- protected transient int pk;
-
-
- /**
* Associated Store instance.
*/
protected transient Store store;
@@ -220,7 +214,6 @@
*/
public void invalidateServices() {
store = null;
- pk = 0;
parseUri(this.uri);
}
@@ -279,7 +272,7 @@
* @return int hash code
*/
public int hashCode() {
- return pk;
+ return this.uri.hashCode();
}
@@ -354,11 +347,6 @@
if (store != null) {
scope = courScope;
- // The PK in the current descriptorsStore is the
- // portion of the URI relative
- // to the Data Source.
- this.pk = this.uri.substring(scope.toString().length())
- .hashCode();
}
}
} catch (ServiceConnectionFailedException e) {
1.51 +14 -12
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.50
retrieving revision 1.51
diff -u -r1.50 -r1.51
--- StructureImpl.java 18 Aug 2004 11:46:19 -0000 1.50
+++ StructureImpl.java 22 Sep 2004 15:20:23 -0000 1.51
@@ -459,7 +459,7 @@
}
- public void store(SlideToken token, ObjectNode object, boolean
setModificationDate)
+ protected void store(SlideToken token, ObjectNode object, boolean
setModificationDate)
throws ServiceAccessException, ObjectNotFoundException,
AccessDeniedException, LinkedObjectNotFoundException, VetoException {
@@ -482,21 +482,23 @@
}
}
- ObjectNode realObject = retrieve(token, object.getUri(), false);
+ // working on realObject, we will lose changes immediatly done before call
of store
+ // i observerd this with some BIND testcases
+ //ObjectNode realObject = retrieve(token, object.getUri(), false);
securityHelper
- .checkCredentials(token, realObject,
+ .checkCredentials(token, object,
namespaceConfig.getCreateObjectAction());
- Uri realObjectUri = namespace.getUri(token, realObject.getUri());
- Store store = realObjectUri.getStore();
- store.storeObject(realObjectUri, object);
+ Uri uri = namespace.getUri(token, object.getUri());
+ Store store = uri.getStore();
+ store.storeObject(uri, object);
if (setModificationDate) {
try {
- NodeRevisionDescriptor revisionDescriptor =
store.retrieveRevisionDescriptor(realObjectUri, new NodeRevisionNumber());
+ NodeRevisionDescriptor revisionDescriptor =
store.retrieveRevisionDescriptor(uri, new NodeRevisionNumber());
revisionDescriptor.setModificationDate(new Date());
revisionDescriptor.setModificationUser(
securityHelper.getPrincipal(token).getPath().lastSegment());
- store.storeRevisionDescriptor(realObjectUri, revisionDescriptor );
+ store.storeRevisionDescriptor(uri, revisionDescriptor );
}
catch (RevisionDescriptorNotFoundException e) {
// ignore silently
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]