Hi Justin, thanks for the changes as we have discussed them roughly. I'm now more happy with the way of handling this :)
It seems that these changes broke the tests for the jcr resource bundle - at least on my machine it is failing as the used second workspace is not available. I've just committed a change in revision 933928. While I tested your changes I noticed a drop in performance of nearly 100% with every request (in our environment which does literally a lot during a request). Now, it seems that the check for the new path syntax [workspace:path] causes trouble in our environment as we have paths with a colon somewhere in the middle. So I went ahead and changed the check from ":" to ":/" and changed also the regex based split to a string substring operation. This brought us nearly back to the performace we had before - I currently note a drop of roughly 10% though I'm not 100% sure that these are caused by these changes. I'll further investigate. Anyway, to cut a long story short :) it seems that my initial idea of just using the ":" as a separator might cause trouble. One solution is to go like I did with the quick changes and require a path to be absolute if the workspace prefixed notation is used. Or we are searching for a different character to separate the two parts? In addition, I'm wondering if we could make this feature completly optional (maybe by a resource resolver wrapper etc.)? (But I think this is something we can look into later on) Regards Carsten justin wrote > Author: justin > Date: Tue Apr 13 19:13:31 2010 > New Revision: 933747 > > URL: http://svn.apache.org/viewvc?rev=933747&view=rev > Log: > SLING-1447 - committing first pass at workspace names in resource paths > > Added: > > sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/WorkspaceDecoratedResource.java > > sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceListenerTest.java > > sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/SynchronousJcrResourceListener.java > Modified: > sling/trunk/bundles/jcr/resource/pom.xml > > sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/JcrResourceConstants.java > > sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceListener.java > > sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceResolver.java > > sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceResolverFactoryImpl.java > > sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/ResourceDecoratorTracker.java > > sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/ResourceIteratorDecorator.java > > sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/ResourceProviderEntry.java > > sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceResolverTest.java -- Carsten Ziegeler [email protected]
