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]

Reply via email to