You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by fi...@apache.org on 2006/03/24 09:21:01 UTC

svn commit: r388450 [1/4] - in /jackrabbit/trunk: contrib/bdb-persistence/ contrib/classloader/ contrib/jcr-ext/src/java/org/apache/jackrabbit/session/ contrib/jcr-ext/src/java/org/apache/jackrabbit/session/nodetype/ contrib/jcr-ext/src/java/org/apache...

Author: fielding
Date: Fri Mar 24 00:20:59 2006
New Revision: 388450

URL: http://svn.apache.org/viewcvs?rev=388450&view=rev
Log:
fix eol characters so that block text matches work


Modified:
    jackrabbit/trunk/contrib/bdb-persistence/project.xml   (contents, props changed)
    jackrabbit/trunk/contrib/classloader/project.xml   (contents, props changed)
    jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/SessionHelper.java   (contents, props changed)
    jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/SessionNamespaceRegistry.java   (contents, props changed)
    jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/nodetype/SessionItemDefinition.java   (contents, props changed)
    jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/nodetype/SessionNodeDefinition.java   (contents, props changed)
    jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/nodetype/SessionNodeType.java   (contents, props changed)
    jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/nodetype/SessionNodeTypeManager.java   (contents, props changed)
    jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/nodetype/SessionPropertyDefinition.java   (contents, props changed)
    jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/state/nodetype/ItemDefinitionState.java   (contents, props changed)
    jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/state/nodetype/NodeDefinitionState.java   (contents, props changed)
    jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/state/nodetype/NodeTypeManagerState.java   (contents, props changed)
    jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/state/nodetype/NodeTypeState.java   (contents, props changed)
    jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/state/nodetype/PropertyDefinitionState.java   (contents, props changed)
    jackrabbit/trunk/contrib/orm-persistence/project.properties   (contents, props changed)
    jackrabbit/trunk/jackrabbit/src/main/java/META-INF/services/org.apache.jackrabbit.core.query.QueryTreeBuilder   (contents, props changed)
    jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/api/JackrabbitRepository.java   (contents, props changed)
    jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/api/JackrabbitWorkspace.java   (contents, props changed)
    jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/nodetype/xml/Constants.java   (contents, props changed)
    jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/nodetype/xml/NodeTypeReader.java   (contents, props changed)
    jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/nodetype/xml/NodeTypeWriter.java   (contents, props changed)
    jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/util/DOMBuilder.java   (contents, props changed)
    jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/util/DOMWalker.java   (contents, props changed)
    jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/name/NameException.java   (contents, props changed)
    jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/test/api/NodeDiscoveringNodeTypesTest.java   (contents, props changed)

Modified: jackrabbit/trunk/contrib/bdb-persistence/project.xml
URL: http://svn.apache.org/viewcvs/jackrabbit/trunk/contrib/bdb-persistence/project.xml?rev=388450&r1=388449&r2=388450&view=diff
==============================================================================
--- jackrabbit/trunk/contrib/bdb-persistence/project.xml (original)
+++ jackrabbit/trunk/contrib/bdb-persistence/project.xml Fri Mar 24 00:20:59 2006
@@ -1,187 +1,187 @@
-<?xml version="1.0"?>
-<!--
-	Copyright 2004-2005 The Apache Software Foundation or its licensors,
-	as applicable.
-	
-	Licensed under the Apache License, Version 2.0 (the "License");
-	you may not use this file except in compliance with the License.
-	You may obtain a copy of the License at
-	
-	http://www.apache.org/licenses/LICENSE-2.0
-	
-	Unless required by applicable law or agreed to in writing, software
-	distributed under the License is distributed on an "AS IS" BASIS,
-	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-	See the License for the specific language governing permissions and
-	limitations under the License.
--->
-<project>
-	<pomVersion>3</pomVersion>
-	<artifactId>jackrabbit-bdb</artifactId>
-	<groupId>org.apache.jackrabbit</groupId>
-	<name>Jackrabbit BerkeleyDB Persistence Manager</name>
-	<currentVersion>1.0-SNAPSHOT</currentVersion>
-	<organization>
-		<name>The Apache Software Foundation</name>
-		<url>http://incubator.apache.org/projects/jackrabbit.html</url>
-		<logo>
-			http://incubator.apache.org/images/apache-incubator-logo.png
-		</logo>
-	</organization>
-	<inceptionYear>2005</inceptionYear>
-	<package>org.apache.jackrabbit.*</package>
-	<logo>/images/jackrabbitlogo.gif</logo>
-	<description>
-		A BerkeleyDB persistence manager for jackrabbit. It uses the
-		BerkeleyDB Java Edition
-		(http://www.sleepycat.com/products/je.shtml)
-	</description>
-	<shortDescription>
-		A BerkeleyDB persistence manager for jackrabbit
-	</shortDescription>
-
-	<repository>
-		<connection>scm:svn:http://svn.apache.org/repos/asf/incubator/jackrabbit/trunk/contrib/bdb-persistence</connection>
-		<developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/jackrabbit/trunk/contrib/bdb-persistence</developerConnection>
-		<url>http://svn.apache.org/viewcvs</url>
-	</repository>
-	<developers>
-		<developer>
-			<name>Guillaume Bort</name>
-			<email>guillaume.bort@zenexity.fr</email>
-			<organization>zenexity.fr</organization>
-			<timezone>+1</timezone>
-		</developer>
-	</developers>
-
-	<dependencies>
-		<!--
-			compile-time dependencies of the BerkeleyDB persistence manager
-		-->
-		<dependency>
-			<groupId>berkeleydb</groupId>
-			<artifactId>je</artifactId>
-			<version>1.7.1</version>
-			<type>jar</type>
-		</dependency>
-		<dependency>
-			<groupId>commons-logging</groupId>
-			<artifactId>commons-logging</artifactId>
-			<version>1.0</version>
-			<type>jar</type>
-		</dependency>
-		<dependency>
-			<groupId>jsr170</groupId>
-			<artifactId>jcr</artifactId>
-			<version>1.0</version>
-			<type>jar</type>
-			<url>http://www.day.com/maven/jsr170/jars/jcr-1.0.jar</url>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.jackrabbit</groupId>
-			<artifactId>jackrabbit</artifactId>
-			<version>${pom.currentVersion}</version>
-			<type>jar</type>
-		</dependency>
-
-		<!--
-			compile-time dependencies of the jUnit test-cases 
-			in the core project	
-		-->
-		<dependency>
-			<groupId>concurrent</groupId>
-			<artifactId>concurrent</artifactId>
-			<version>1.3.4</version>
-		</dependency>
-		<dependency>
-			<groupId>geronimo-spec</groupId>
-			<artifactId>geronimo-spec-jta</artifactId>
-			<version>1.0-M1</version>
-		</dependency>
-		<dependency>
-			<groupId>log4j</groupId>
-			<artifactId>log4j</artifactId>
-			<version>1.2.8</version>
-		</dependency>
-
-		<!--
-			runtime dependencies of jackrabbit/jUnit test-cases 
-		-->
-	    <dependency>
-            <groupId>commons-collections</groupId>
-            <artifactId>commons-collections</artifactId>
-			<version>3.1</version>
-	    </dependency>
-		<dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-			<version>1.2.8</version>
-		</dependency>
-		<dependency>
-			<groupId>lucene</groupId>
-			<artifactId>lucene</artifactId>
-			<version>1.4.3</version>
-		</dependency>
-	        <dependency>
-			<groupId>xerces</groupId>
-			<artifactId>xercesImpl</artifactId>
-			<version>2.6.2</version>
-	        </dependency>
-		<dependency>
-			<groupId>xerces</groupId>
-			<artifactId>xmlParserAPIs</artifactId>
-			<version>2.0.2</version>
-		</dependency>
-	</dependencies>
-
-	<build>
-		<sourceDirectory>src/java</sourceDirectory>
-		<unitTestSourceDirectory>../../src/test</unitTestSourceDirectory>
-		<unitTest>
-			<includes>
-				<include>**/*TestAll.java</include>
-			</includes>
-			<excludes>
-				<exclude>**/init/*</exclude>
-			</excludes>
-			<resources>
-				<resource>
-					<directory>applications/test</directory>
-					<includes>
-						<include>*.properties</include>
-						<include>*.xml</include>
-					</includes>
-				</resource>
-				<resource>
-					<directory>../../src/test</directory>
-					<includes>
-						<include>**/*.xml</include>
-						<include>**/*.txt</include>
-					</includes>
-				</resource>
-			</resources>
-		</unitTest>
-		<resources>
-			<resource>
-				<directory>src/java</directory>
-				<includes>
-					<include>**/*.xml</include>
-					<include>**/*.properties</include>
-					<include>**/*.TextFilterService</include>
-				</includes>
-			</resource>
-		</resources>
-	</build>
-
-	<reports>
-		<report>maven-changelog-plugin</report>
-		<report>maven-changes-plugin</report>
-		<report>maven-checkstyle-plugin</report>
-		<report>maven-javadoc-plugin</report>
-		<report>maven-junit-report-plugin</report>
-		<report>maven-jxr-plugin</report>
-		<report>maven-license-plugin</report>
-		<report>maven-tasklist-plugin</report>
-	</reports>
-
-</project>
+<?xml version="1.0"?>
+<!--
+	Copyright 2004-2005 The Apache Software Foundation or its licensors,
+	as applicable.
+	
+	Licensed under the Apache License, Version 2.0 (the "License");
+	you may not use this file except in compliance with the License.
+	You may obtain a copy of the License at
+	
+	http://www.apache.org/licenses/LICENSE-2.0
+	
+	Unless required by applicable law or agreed to in writing, software
+	distributed under the License is distributed on an "AS IS" BASIS,
+	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+	See the License for the specific language governing permissions and
+	limitations under the License.
+-->
+<project>
+	<pomVersion>3</pomVersion>
+	<artifactId>jackrabbit-bdb</artifactId>
+	<groupId>org.apache.jackrabbit</groupId>
+	<name>Jackrabbit BerkeleyDB Persistence Manager</name>
+	<currentVersion>1.0-SNAPSHOT</currentVersion>
+	<organization>
+		<name>The Apache Software Foundation</name>
+		<url>http://incubator.apache.org/projects/jackrabbit.html</url>
+		<logo>
+			http://incubator.apache.org/images/apache-incubator-logo.png
+		</logo>
+	</organization>
+	<inceptionYear>2005</inceptionYear>
+	<package>org.apache.jackrabbit.*</package>
+	<logo>/images/jackrabbitlogo.gif</logo>
+	<description>
+		A BerkeleyDB persistence manager for jackrabbit. It uses the
+		BerkeleyDB Java Edition
+		(http://www.sleepycat.com/products/je.shtml)
+	</description>
+	<shortDescription>
+		A BerkeleyDB persistence manager for jackrabbit
+	</shortDescription>
+
+	<repository>
+		<connection>scm:svn:http://svn.apache.org/repos/asf/incubator/jackrabbit/trunk/contrib/bdb-persistence</connection>
+		<developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/jackrabbit/trunk/contrib/bdb-persistence</developerConnection>
+		<url>http://svn.apache.org/viewcvs</url>
+	</repository>
+	<developers>
+		<developer>
+			<name>Guillaume Bort</name>
+			<email>guillaume.bort@zenexity.fr</email>
+			<organization>zenexity.fr</organization>
+			<timezone>+1</timezone>
+		</developer>
+	</developers>
+
+	<dependencies>
+		<!--
+			compile-time dependencies of the BerkeleyDB persistence manager
+		-->
+		<dependency>
+			<groupId>berkeleydb</groupId>
+			<artifactId>je</artifactId>
+			<version>1.7.1</version>
+			<type>jar</type>
+		</dependency>
+		<dependency>
+			<groupId>commons-logging</groupId>
+			<artifactId>commons-logging</artifactId>
+			<version>1.0</version>
+			<type>jar</type>
+		</dependency>
+		<dependency>
+			<groupId>jsr170</groupId>
+			<artifactId>jcr</artifactId>
+			<version>1.0</version>
+			<type>jar</type>
+			<url>http://www.day.com/maven/jsr170/jars/jcr-1.0.jar</url>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.jackrabbit</groupId>
+			<artifactId>jackrabbit</artifactId>
+			<version>${pom.currentVersion}</version>
+			<type>jar</type>
+		</dependency>
+
+		<!--
+			compile-time dependencies of the jUnit test-cases 
+			in the core project	
+		-->
+		<dependency>
+			<groupId>concurrent</groupId>
+			<artifactId>concurrent</artifactId>
+			<version>1.3.4</version>
+		</dependency>
+		<dependency>
+			<groupId>geronimo-spec</groupId>
+			<artifactId>geronimo-spec-jta</artifactId>
+			<version>1.0-M1</version>
+		</dependency>
+		<dependency>
+			<groupId>log4j</groupId>
+			<artifactId>log4j</artifactId>
+			<version>1.2.8</version>
+		</dependency>
+
+		<!--
+			runtime dependencies of jackrabbit/jUnit test-cases 
+		-->
+	    <dependency>
+            <groupId>commons-collections</groupId>
+            <artifactId>commons-collections</artifactId>
+			<version>3.1</version>
+	    </dependency>
+		<dependency>
+            <groupId>log4j</groupId>
+            <artifactId>log4j</artifactId>
+			<version>1.2.8</version>
+		</dependency>
+		<dependency>
+			<groupId>lucene</groupId>
+			<artifactId>lucene</artifactId>
+			<version>1.4.3</version>
+		</dependency>
+	        <dependency>
+			<groupId>xerces</groupId>
+			<artifactId>xercesImpl</artifactId>
+			<version>2.6.2</version>
+	        </dependency>
+		<dependency>
+			<groupId>xerces</groupId>
+			<artifactId>xmlParserAPIs</artifactId>
+			<version>2.0.2</version>
+		</dependency>
+	</dependencies>
+
+	<build>
+		<sourceDirectory>src/java</sourceDirectory>
+		<unitTestSourceDirectory>../../src/test</unitTestSourceDirectory>
+		<unitTest>
+			<includes>
+				<include>**/*TestAll.java</include>
+			</includes>
+			<excludes>
+				<exclude>**/init/*</exclude>
+			</excludes>
+			<resources>
+				<resource>
+					<directory>applications/test</directory>
+					<includes>
+						<include>*.properties</include>
+						<include>*.xml</include>
+					</includes>
+				</resource>
+				<resource>
+					<directory>../../src/test</directory>
+					<includes>
+						<include>**/*.xml</include>
+						<include>**/*.txt</include>
+					</includes>
+				</resource>
+			</resources>
+		</unitTest>
+		<resources>
+			<resource>
+				<directory>src/java</directory>
+				<includes>
+					<include>**/*.xml</include>
+					<include>**/*.properties</include>
+					<include>**/*.TextFilterService</include>
+				</includes>
+			</resource>
+		</resources>
+	</build>
+
+	<reports>
+		<report>maven-changelog-plugin</report>
+		<report>maven-changes-plugin</report>
+		<report>maven-checkstyle-plugin</report>
+		<report>maven-javadoc-plugin</report>
+		<report>maven-junit-report-plugin</report>
+		<report>maven-jxr-plugin</report>
+		<report>maven-license-plugin</report>
+		<report>maven-tasklist-plugin</report>
+	</reports>
+
+</project>

Propchange: jackrabbit/trunk/contrib/bdb-persistence/project.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: jackrabbit/trunk/contrib/classloader/project.xml
URL: http://svn.apache.org/viewcvs/jackrabbit/trunk/contrib/classloader/project.xml?rev=388450&r1=388449&r2=388450&view=diff
==============================================================================
--- jackrabbit/trunk/contrib/classloader/project.xml (original)
+++ jackrabbit/trunk/contrib/classloader/project.xml Fri Mar 24 00:20:59 2006
@@ -1,129 +1,129 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-   Copyright 2004-2005 The Apache Software Foundation or its licensors,
-                       as applicable.
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-  -->
-
-<project>
-    <pomVersion>1</pomVersion>
-    <groupId>org.apache.jackrabbit</groupId>
-    <currentVersion>1.0-SNAPSHOT</currentVersion>
-    <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://incubator.apache.org/projects/jackrabbit.html</url>
-        <logo>http://incubator.apache.org/images/apache-incubator-logo.png</logo>
-    </organization>
-    <inceptionYear>2005</inceptionYear>
-    <package>org.apache.jackrabbit.classloader</package>
-    <description>Classloader is an independent subproject of the Jackrabbit project. It provides support for loading classes from from Java Content Repository for Java Technology API (JCR) implementations. Although implemented as a contribution to the Jackrabbit project, the Jackrabbit Repository Classloader layer is independent of the underlying JCR repository implementation, with a small exception regarding node type creation.</description>
-    <shortDescription>Java Classloader for JCR Repositories</shortDescription>
-    <repository />
-    <developers>
-        <developer>
-            <name>Felix Meschberger</name>
-            <id>1</id>
-            <email>fmeschbe@apache.org</email>
-            <organization>Day Software</organization>
-            <timezone>+1</timezone>
-        </developer>
-    </developers>
-    <licenses>
-        <license>
-            <name>The Apache Software License, Version 2.0</name>
-            <url>/LICENSE.txt</url>
-            <distribution>repo</distribution>
-        </license>
-    </licenses>
-    <reports>
-        <report>maven-javadoc-plugin</report>
-        <report>maven-jdepend-plugin</report>
-        <report>maven-license-plugin</report>
-    </reports>
-    <artifactId>classloader</artifactId>
-    <name>Jackrabbit Repository Classloader</name>
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.jackrabbit</groupId>
-            <artifactId>jackrabbit</artifactId>
-            <version>1.0-SNAPSHOT</version>
-            <type>jar</type>
-        </dependency>
-        <dependency>
-            <groupId>jsr170</groupId>
-            <artifactId>jcr</artifactId>
-            <version>1.0</version>
-            <type>jar</type>
-        </dependency>
-        <dependency>
-            <groupId>commons-logging</groupId>
-            <artifactId>commons-logging</artifactId>
-            <version>1.0</version>
-            <type>jar</type>
-        </dependency>
-
-        <!-- Unit Testing -->
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-log4j12</artifactId>
-            <version>1.0</version>
-            <type>jar</type>
-        </dependency>
-        <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-            <version>1.2.8</version>
-            <type>jar</type>
-        </dependency>
-        <dependency>
-            <groupId>commons-collections</groupId>
-            <artifactId>commons-collections</artifactId>
-            <version>3.1</version>
-            <type>jar</type>
-        </dependency>
-        <dependency>
-            <groupId>concurrent</groupId>
-            <artifactId>concurrent</artifactId>
-            <version>1.3.4</version>
-            <type>jar</type>
-        </dependency>
-        <dependency>
-            <groupId>lucene</groupId>
-            <artifactId>lucene</artifactId>
-            <version>1.4.3</version>
-            <type>jar</type>
-        </dependency>
-    </dependencies>
-    <build>
-        <sourceDirectory>src/main/java</sourceDirectory>
-	    <resources>
-	        <resource>
-	            <directory>src/main/resources</directory>
-	        </resource>
-	    </resources>
-        <unitTestSourceDirectory>src/test/java</unitTestSourceDirectory>
-        <unitTest>
-            <includes>
-                <include>**/*TestAll.java</include>
-            </includes>
-            <resources>
-                <resource>
-                    <directory>src/test/resources</directory>
-                </resource>
-            </resources>
-        </unitTest>
-    </build>
-</project>
-
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+   Copyright 2004-2005 The Apache Software Foundation or its licensors,
+                       as applicable.
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+  -->
+
+<project>
+    <pomVersion>1</pomVersion>
+    <groupId>org.apache.jackrabbit</groupId>
+    <currentVersion>1.0-SNAPSHOT</currentVersion>
+    <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://incubator.apache.org/projects/jackrabbit.html</url>
+        <logo>http://incubator.apache.org/images/apache-incubator-logo.png</logo>
+    </organization>
+    <inceptionYear>2005</inceptionYear>
+    <package>org.apache.jackrabbit.classloader</package>
+    <description>Classloader is an independent subproject of the Jackrabbit project. It provides support for loading classes from from Java Content Repository for Java Technology API (JCR) implementations. Although implemented as a contribution to the Jackrabbit project, the Jackrabbit Repository Classloader layer is independent of the underlying JCR repository implementation, with a small exception regarding node type creation.</description>
+    <shortDescription>Java Classloader for JCR Repositories</shortDescription>
+    <repository />
+    <developers>
+        <developer>
+            <name>Felix Meschberger</name>
+            <id>1</id>
+            <email>fmeschbe@apache.org</email>
+            <organization>Day Software</organization>
+            <timezone>+1</timezone>
+        </developer>
+    </developers>
+    <licenses>
+        <license>
+            <name>The Apache Software License, Version 2.0</name>
+            <url>/LICENSE.txt</url>
+            <distribution>repo</distribution>
+        </license>
+    </licenses>
+    <reports>
+        <report>maven-javadoc-plugin</report>
+        <report>maven-jdepend-plugin</report>
+        <report>maven-license-plugin</report>
+    </reports>
+    <artifactId>classloader</artifactId>
+    <name>Jackrabbit Repository Classloader</name>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.jackrabbit</groupId>
+            <artifactId>jackrabbit</artifactId>
+            <version>1.0-SNAPSHOT</version>
+            <type>jar</type>
+        </dependency>
+        <dependency>
+            <groupId>jsr170</groupId>
+            <artifactId>jcr</artifactId>
+            <version>1.0</version>
+            <type>jar</type>
+        </dependency>
+        <dependency>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+            <version>1.0</version>
+            <type>jar</type>
+        </dependency>
+
+        <!-- Unit Testing -->
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+            <version>1.0</version>
+            <type>jar</type>
+        </dependency>
+        <dependency>
+            <groupId>log4j</groupId>
+            <artifactId>log4j</artifactId>
+            <version>1.2.8</version>
+            <type>jar</type>
+        </dependency>
+        <dependency>
+            <groupId>commons-collections</groupId>
+            <artifactId>commons-collections</artifactId>
+            <version>3.1</version>
+            <type>jar</type>
+        </dependency>
+        <dependency>
+            <groupId>concurrent</groupId>
+            <artifactId>concurrent</artifactId>
+            <version>1.3.4</version>
+            <type>jar</type>
+        </dependency>
+        <dependency>
+            <groupId>lucene</groupId>
+            <artifactId>lucene</artifactId>
+            <version>1.4.3</version>
+            <type>jar</type>
+        </dependency>
+    </dependencies>
+    <build>
+        <sourceDirectory>src/main/java</sourceDirectory>
+	    <resources>
+	        <resource>
+	            <directory>src/main/resources</directory>
+	        </resource>
+	    </resources>
+        <unitTestSourceDirectory>src/test/java</unitTestSourceDirectory>
+        <unitTest>
+            <includes>
+                <include>**/*TestAll.java</include>
+            </includes>
+            <resources>
+                <resource>
+                    <directory>src/test/resources</directory>
+                </resource>
+            </resources>
+        </unitTest>
+    </build>
+</project>
+

Propchange: jackrabbit/trunk/contrib/classloader/project.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/SessionHelper.java
URL: http://svn.apache.org/viewcvs/jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/SessionHelper.java?rev=388450&r1=388449&r2=388450&view=diff
==============================================================================
--- jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/SessionHelper.java (original)
+++ jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/SessionHelper.java Fri Mar 24 00:20:59 2006
@@ -1,141 +1,141 @@
-/*
- * Copyright 2004-2005 The Apache Software Foundation or its licensors,
- *                     as applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.jackrabbit.session;
-
-import javax.jcr.NamespaceException;
-import javax.jcr.RepositoryException;
-import javax.jcr.Session;
-import javax.jcr.nodetype.NoSuchNodeTypeException;
-import javax.jcr.nodetype.NodeType;
-
-import org.apache.jackrabbit.name.QName;
-
-/**
- * Helper class for accessing the namespaces and node types associated
- * with a JCR Session.
- */
-public final class SessionHelper {
-
-    /** The session to which this frontend instance is bound. */
-    private final Session session;
-
-    /**
-     * Creates a helper for accessing the given session.
-     *
-     * @param session current session
-     */
-    public SessionHelper(Session session) {
-        this.session = session;
-    }
-
-    /**
-     * Returns the prefixed JCR name that represents the given
-     * qualified name.
-     *
-     * @param name qualified name
-     * @return prefixed JCR name
-     * @throws IllegalStateException if the namespace does not exist
-     * @throws RuntimeException if a repository error occurs
-     */
-    public String getName(QName name)
-            throws IllegalStateException, RuntimeException {
-        try {
-            String prefix = session.getNamespacePrefix(name.getNamespaceURI());
-            if (prefix.length() > 0) {
-                return prefix + ":" + name.getLocalName();
-            } else {
-                return name.getLocalName();
-            }
-        } catch (NamespaceException e) {
-            throw new IllegalStateException("Expected namespace not found. " + e.getMessage());
-        } catch (RepositoryException e) {
-            throw new RuntimeException("Unexpected repository error", e);
-        }
-    }
-
-    /**
-     * Returns the named node type. This method is used to convert
-     * qualified node type names to actual NodeType objects of the current
-     * node type manager. The returned node type is acquired using the standard
-     * JCR API starting with <code>getWorkspace().getNodeTypeManager()</code>
-     * from the current session.
-     *
-     * @param name qualified node type name
-     * @return named node type
-     * @throws IllegalStateException if the named node type does not exist
-     * @throws RuntimeException      if a repository error occurs
-     */
-    public NodeType getNodeType(QName name)
-            throws IllegalStateException, RuntimeException {
-        return getNodeType(getName(name));
-    }
-
-    /**
-     * Returns the named node type. This method is used to convert
-     * node type names to actual NodeType objects of the current node
-     * type manager. The returned node type is acquired using the standard
-     * JCR API starting with <code>getWorkspace().getNodeTypeManager()</code>
-     * from the current session.
-     *
-     * @param name node type name
-     * @return named node type
-     * @throws IllegalStateException if the named node type does not exist
-     * @throws RuntimeException      if a repository error occurs
-     */
-    public NodeType getNodeType(String name)
-            throws IllegalStateException, RuntimeException {
-        try {
-            return
-                session.getWorkspace().getNodeTypeManager().getNodeType(name);
-        } catch (NoSuchNodeTypeException e) {
-            throw new IllegalStateException("Expected node type not found" + e.getMessage());
-        } catch (RepositoryException e) {
-            throw new RuntimeException("Unexpected repository error", e);
-        }
-    }
-
-    /**
-     * Compares session helpers for equality. Two session helpers are equal
-     * if they refer to the same session.
-     *
-     * @param that the object to compare this one to
-     * @return <code>true</code> if the objects are equal,
-     *         <code>false</code> otherwise
-     * @see Object#equals(Object)
-     */
-    public boolean equals(Object that) {
-        if (this == that) {
-            return true;
-        } else if (that instanceof SessionHelper) {
-            return session.equals(((SessionHelper) that).session);
-        } else {
-            return false;
-        }
-    }
-
-    /**
-     * Calculates the session helper hash code. This method simply returns
-     * the hash code of the underlying session.
-     *
-     * @return session hash code
-     * @see Object#hashCode()
-     */
-    public int hashCode() {
-        return session.hashCode();
-    }
-
-}
+/*
+ * Copyright 2004-2005 The Apache Software Foundation or its licensors,
+ *                     as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.session;
+
+import javax.jcr.NamespaceException;
+import javax.jcr.RepositoryException;
+import javax.jcr.Session;
+import javax.jcr.nodetype.NoSuchNodeTypeException;
+import javax.jcr.nodetype.NodeType;
+
+import org.apache.jackrabbit.name.QName;
+
+/**
+ * Helper class for accessing the namespaces and node types associated
+ * with a JCR Session.
+ */
+public final class SessionHelper {
+
+    /** The session to which this frontend instance is bound. */
+    private final Session session;
+
+    /**
+     * Creates a helper for accessing the given session.
+     *
+     * @param session current session
+     */
+    public SessionHelper(Session session) {
+        this.session = session;
+    }
+
+    /**
+     * Returns the prefixed JCR name that represents the given
+     * qualified name.
+     *
+     * @param name qualified name
+     * @return prefixed JCR name
+     * @throws IllegalStateException if the namespace does not exist
+     * @throws RuntimeException if a repository error occurs
+     */
+    public String getName(QName name)
+            throws IllegalStateException, RuntimeException {
+        try {
+            String prefix = session.getNamespacePrefix(name.getNamespaceURI());
+            if (prefix.length() > 0) {
+                return prefix + ":" + name.getLocalName();
+            } else {
+                return name.getLocalName();
+            }
+        } catch (NamespaceException e) {
+            throw new IllegalStateException("Expected namespace not found. " + e.getMessage());
+        } catch (RepositoryException e) {
+            throw new RuntimeException("Unexpected repository error", e);
+        }
+    }
+
+    /**
+     * Returns the named node type. This method is used to convert
+     * qualified node type names to actual NodeType objects of the current
+     * node type manager. The returned node type is acquired using the standard
+     * JCR API starting with <code>getWorkspace().getNodeTypeManager()</code>
+     * from the current session.
+     *
+     * @param name qualified node type name
+     * @return named node type
+     * @throws IllegalStateException if the named node type does not exist
+     * @throws RuntimeException      if a repository error occurs
+     */
+    public NodeType getNodeType(QName name)
+            throws IllegalStateException, RuntimeException {
+        return getNodeType(getName(name));
+    }
+
+    /**
+     * Returns the named node type. This method is used to convert
+     * node type names to actual NodeType objects of the current node
+     * type manager. The returned node type is acquired using the standard
+     * JCR API starting with <code>getWorkspace().getNodeTypeManager()</code>
+     * from the current session.
+     *
+     * @param name node type name
+     * @return named node type
+     * @throws IllegalStateException if the named node type does not exist
+     * @throws RuntimeException      if a repository error occurs
+     */
+    public NodeType getNodeType(String name)
+            throws IllegalStateException, RuntimeException {
+        try {
+            return
+                session.getWorkspace().getNodeTypeManager().getNodeType(name);
+        } catch (NoSuchNodeTypeException e) {
+            throw new IllegalStateException("Expected node type not found" + e.getMessage());
+        } catch (RepositoryException e) {
+            throw new RuntimeException("Unexpected repository error", e);
+        }
+    }
+
+    /**
+     * Compares session helpers for equality. Two session helpers are equal
+     * if they refer to the same session.
+     *
+     * @param that the object to compare this one to
+     * @return <code>true</code> if the objects are equal,
+     *         <code>false</code> otherwise
+     * @see Object#equals(Object)
+     */
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        } else if (that instanceof SessionHelper) {
+            return session.equals(((SessionHelper) that).session);
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Calculates the session helper hash code. This method simply returns
+     * the hash code of the underlying session.
+     *
+     * @return session hash code
+     * @see Object#hashCode()
+     */
+    public int hashCode() {
+        return session.hashCode();
+    }
+
+}

Propchange: jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/SessionHelper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/SessionNamespaceRegistry.java
URL: http://svn.apache.org/viewcvs/jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/SessionNamespaceRegistry.java?rev=388450&r1=388449&r2=388450&view=diff
==============================================================================
--- jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/SessionNamespaceRegistry.java (original)
+++ jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/SessionNamespaceRegistry.java Fri Mar 24 00:20:59 2006
@@ -1,245 +1,245 @@
-/*
- * Copyright 2004-2005 The Apache Software Foundation or its licensors,
- *                     as applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.jackrabbit.session;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Properties;
-import java.util.Set;
-
-import javax.jcr.NamespaceException;
-import javax.jcr.NamespaceRegistry;
-import javax.jcr.RepositoryException;
-import javax.jcr.UnsupportedRepositoryOperationException;
-
-import org.apache.xerces.util.XMLChar;
-
-public final class SessionNamespaceRegistry implements NamespaceRegistry {
-
-    /** The underlying global namespace registry. */
-    private final NamespaceRegistry registry;
-
-    /** Local prefix to namespace URI mappings. */
-    private final Properties prefixToURI;
-
-    /** Local namespace URI to prefix mappings. */
-    private final Properties uriToPrefix;
-
-    /** The global prefixes hidden by local mappings. */
-    private final Set hiddenPrefixes;
-
-    /**
-     * Creates a local namespace registry based on the given global
-     * namespace registry. The local namespace mappings are initially empty.
-     *
-     * @param registry global namespace registry
-     */
-    public SessionNamespaceRegistry(NamespaceRegistry registry) {
-        this.registry = registry;
-        this.prefixToURI = new Properties();
-        this.uriToPrefix = new Properties();
-        this.hiddenPrefixes = new HashSet();
-    }
-
-    /**
-     * Creates a local namespace mapping. See the JCR specification
-     * for the details of this rather complex operation.
-     * <p>
-     * This method implements the specified semantics of the
-     * Session.setNamespacePrefix method. Session implementations can use
-     * this method as follows:
-     * <pre>
-     *     NamespaceRegistry registry = new SessionNamespaceRegistry(
-     *             getWorkspace().getNamespaceRegistry());
-     *
-     *     public void setNamespacePrefix(String prefix, String uri)
-     *             throws NamespaceException, RepositoryException {
-     *         return registry.registerNamespace(prefix, uri);
-     *     }
-     * </pre>
-     *
-     * @param prefix namespace prefix
-     * @param uri    namespace URI
-     * @throws NamespaceException  if the given namespace mapping is invalid
-     * @throws RepositoryException on repository errors
-     * @see NamespaceRegistry#registerNamespace(String, String)
-     * @see javax.jcr.Session#setNamespacePrefix(String, String)
-     */
-    public void registerNamespace(String prefix, String uri)
-            throws NamespaceException, RepositoryException {
-        if (prefix.length() == 0) {
-            throw new NamespaceException("The empty prefix is reserved");
-        } else if (uri.length() == 0) {
-            throw new NamespaceException("The empty namespace URI is reserved");
-        } else if (prefix.toLowerCase().startsWith("xml")) {
-            throw new NamespaceException("The xml* prefixes are reserved");
-        } else if (!XMLChar.isValidNCName(prefix)) {
-            throw new NamespaceException("Invalid prefix format");
-        }
-
-        // Note: throws a NamespaceException if the URI is not registered
-        String oldPrefix = getPrefix(uri);
-
-        String oldURI;
-        try {
-            oldURI = getURI(prefix);
-        } catch (NamespaceException e) {
-            oldURI = null;
-        }
-        if (oldURI == null) {
-            hiddenPrefixes.add(oldPrefix);
-            prefixToURI.remove(oldPrefix);
-            prefixToURI.setProperty(prefix, uri);
-            uriToPrefix.setProperty(uri, prefix);
-        } else if (!uri.equals(oldURI)) {
-            throw new NamespaceException(
-                    "Cannot hide an existing namespace mapping");
-        }
-    }
-
-    /**
-     * Not implemented. It is not possible to unregister namespaces from
-     * a session, you need to access the global namespace registry directly.
-     *
-     * @param prefix namespace prefix
-     * @throws UnsupportedRepositoryOperationException always thrown
-     */
-    public void unregisterNamespace(String prefix)
-            throws UnsupportedRepositoryOperationException {
-        throw new UnsupportedRepositoryOperationException();
-    }
-
-    /**
-     * Returns the currently mapped namespace prefixes. The returned set
-     * contains all locally mapped prefixes and those global prefixes that
-     * have not been hidden by local mappings.
-     * <p>
-     * This method implements the specified semantics of the
-     * Session.getNamespacePrefixes method. Session implementations can use
-     * this method as follows:
-     * <pre>
-     *     NamespaceRegistry registry = new SessionNamespaceRegistry(
-     *             getWorkspace().getNamespaceRegistry());
-     *
-     *     public String getNamespacePrefixes() throws RepositoryException {
-     *         return registry.getPrefixes();
-     *     }
-     * </pre>
-     *
-     * @return namespace prefixes
-     * @throws RepositoryException on repository errors
-     * @see NamespaceRegistry#getPrefixes()
-     * @see javax.jcr.Session#getNamespacePrefixes()
-     */
-    public String[] getPrefixes() throws RepositoryException {
-        HashSet prefixes = new HashSet();
-        prefixes.addAll(Arrays.asList(registry.getPrefixes()));
-        prefixes.removeAll(hiddenPrefixes);
-        prefixes.addAll(prefixToURI.keySet());
-        return (String[]) prefixes.toArray(new String[prefixes.size()]);
-    }
-
-    /**
-     * Returns the registered namespace URIs. This method call is simply
-     * forwarded to the underlying global namespace registry as it is not
-     * possible to locally add new namespace URIs.
-     *
-     * @return namespace URIs
-     * @throws RepositoryException on repository errors
-     * @see NamespaceRegistry#getURIs()
-     */
-    public String[] getURIs() throws RepositoryException {
-        return registry.getURIs();
-    }
-
-    /**
-     * Returns the namespace URI that is mapped to the given prefix.
-     * Returns the local namespace mapping if the prefix is locally
-     * mapped, otherwise falls back to the underlying global namespace
-     * registry unless the prefix has been hidden by local namespace
-     * mappings.
-     * <p>
-     * This method implements the specified semantics of the
-     * Session.getNamespaceURI method. Session implementations can use
-     * this method as follows:
-     * <pre>
-     *     NamespaceRegistry registry = new SessionNamespaceRegistry(
-     *             getWorkspace().getNamespaceRegistry());
-     *
-     *     public String getNamespaceURI(String prefix)
-     *             throws NamespaceException, RepositoryException {
-     *         return registry.getURI(prefix);
-     *     }
-     * </pre>
-     *
-     * @param prefix namespace prefix
-     * @return namespace URI
-     * @throws NamespaceException  if the prefix is not registered or
-     *                             currently visible
-     * @throws RepositoryException on repository errors
-     * @see NamespaceRegistry#getURI(String)
-     * @see javax.jcr.Session#getNamespaceURI(String)
-     */
-    public String getURI(String prefix)
-            throws NamespaceException, RepositoryException {
-        String uri = prefixToURI.getProperty(prefix);
-        if (uri != null) {
-            return uri;
-        } else if (!hiddenPrefixes.contains(prefix)) {
-            return registry.getURI(prefix);
-        } else {
-            throw new NamespaceException(
-                    "Namespace mapping not found for prefix " + prefix);
-        }
-    }
-
-    /**
-     * Returns the prefix that is mapped to the given namespace URI.
-     * Returns the local prefix if the namespace URI is locally mapped,
-     * otherwise falls back to the underlying global namespace registry.
-     * <p>
-     * This method implements the specified semantics of the
-     * Session.getNamespacePrefix method. Session implementations can use
-     * this method as follows:
-     * <pre>
-     *     NamespaceRegistry registry = new SessionNamespaceRegistry(
-     *             getWorkspace().getNamespaceRegistry());
-     *
-     *     public String getNamespacePrefix(String uri)
-     *             throws NamespaceException, RepositoryException {
-     *         return registry.getPrefix(uri);
-     *     }
-     * </pre>
-     *
-     * @param uri namespace URI
-     * @return namespace prefix
-     * @throws NamespaceException  if the namespace URI is not registered
-     * @throws RepositoryException on repository errors
-     * @see NamespaceRegistry#getPrefix(String)
-     * @see javax.jcr.Session#getNamespacePrefix(String)
-     */
-    public String getPrefix(String uri)
-            throws NamespaceException, RepositoryException {
-        String prefix = uriToPrefix.getProperty(uri);
-        if (prefix != null) {
-            return prefix;
-        } else {
-            return registry.getPrefix(uri);
-        }
-    }
-
-}
+/*
+ * Copyright 2004-2005 The Apache Software Foundation or its licensors,
+ *                     as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.session;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Properties;
+import java.util.Set;
+
+import javax.jcr.NamespaceException;
+import javax.jcr.NamespaceRegistry;
+import javax.jcr.RepositoryException;
+import javax.jcr.UnsupportedRepositoryOperationException;
+
+import org.apache.xerces.util.XMLChar;
+
+public final class SessionNamespaceRegistry implements NamespaceRegistry {
+
+    /** The underlying global namespace registry. */
+    private final NamespaceRegistry registry;
+
+    /** Local prefix to namespace URI mappings. */
+    private final Properties prefixToURI;
+
+    /** Local namespace URI to prefix mappings. */
+    private final Properties uriToPrefix;
+
+    /** The global prefixes hidden by local mappings. */
+    private final Set hiddenPrefixes;
+
+    /**
+     * Creates a local namespace registry based on the given global
+     * namespace registry. The local namespace mappings are initially empty.
+     *
+     * @param registry global namespace registry
+     */
+    public SessionNamespaceRegistry(NamespaceRegistry registry) {
+        this.registry = registry;
+        this.prefixToURI = new Properties();
+        this.uriToPrefix = new Properties();
+        this.hiddenPrefixes = new HashSet();
+    }
+
+    /**
+     * Creates a local namespace mapping. See the JCR specification
+     * for the details of this rather complex operation.
+     * <p>
+     * This method implements the specified semantics of the
+     * Session.setNamespacePrefix method. Session implementations can use
+     * this method as follows:
+     * <pre>
+     *     NamespaceRegistry registry = new SessionNamespaceRegistry(
+     *             getWorkspace().getNamespaceRegistry());
+     *
+     *     public void setNamespacePrefix(String prefix, String uri)
+     *             throws NamespaceException, RepositoryException {
+     *         return registry.registerNamespace(prefix, uri);
+     *     }
+     * </pre>
+     *
+     * @param prefix namespace prefix
+     * @param uri    namespace URI
+     * @throws NamespaceException  if the given namespace mapping is invalid
+     * @throws RepositoryException on repository errors
+     * @see NamespaceRegistry#registerNamespace(String, String)
+     * @see javax.jcr.Session#setNamespacePrefix(String, String)
+     */
+    public void registerNamespace(String prefix, String uri)
+            throws NamespaceException, RepositoryException {
+        if (prefix.length() == 0) {
+            throw new NamespaceException("The empty prefix is reserved");
+        } else if (uri.length() == 0) {
+            throw new NamespaceException("The empty namespace URI is reserved");
+        } else if (prefix.toLowerCase().startsWith("xml")) {
+            throw new NamespaceException("The xml* prefixes are reserved");
+        } else if (!XMLChar.isValidNCName(prefix)) {
+            throw new NamespaceException("Invalid prefix format");
+        }
+
+        // Note: throws a NamespaceException if the URI is not registered
+        String oldPrefix = getPrefix(uri);
+
+        String oldURI;
+        try {
+            oldURI = getURI(prefix);
+        } catch (NamespaceException e) {
+            oldURI = null;
+        }
+        if (oldURI == null) {
+            hiddenPrefixes.add(oldPrefix);
+            prefixToURI.remove(oldPrefix);
+            prefixToURI.setProperty(prefix, uri);
+            uriToPrefix.setProperty(uri, prefix);
+        } else if (!uri.equals(oldURI)) {
+            throw new NamespaceException(
+                    "Cannot hide an existing namespace mapping");
+        }
+    }
+
+    /**
+     * Not implemented. It is not possible to unregister namespaces from
+     * a session, you need to access the global namespace registry directly.
+     *
+     * @param prefix namespace prefix
+     * @throws UnsupportedRepositoryOperationException always thrown
+     */
+    public void unregisterNamespace(String prefix)
+            throws UnsupportedRepositoryOperationException {
+        throw new UnsupportedRepositoryOperationException();
+    }
+
+    /**
+     * Returns the currently mapped namespace prefixes. The returned set
+     * contains all locally mapped prefixes and those global prefixes that
+     * have not been hidden by local mappings.
+     * <p>
+     * This method implements the specified semantics of the
+     * Session.getNamespacePrefixes method. Session implementations can use
+     * this method as follows:
+     * <pre>
+     *     NamespaceRegistry registry = new SessionNamespaceRegistry(
+     *             getWorkspace().getNamespaceRegistry());
+     *
+     *     public String getNamespacePrefixes() throws RepositoryException {
+     *         return registry.getPrefixes();
+     *     }
+     * </pre>
+     *
+     * @return namespace prefixes
+     * @throws RepositoryException on repository errors
+     * @see NamespaceRegistry#getPrefixes()
+     * @see javax.jcr.Session#getNamespacePrefixes()
+     */
+    public String[] getPrefixes() throws RepositoryException {
+        HashSet prefixes = new HashSet();
+        prefixes.addAll(Arrays.asList(registry.getPrefixes()));
+        prefixes.removeAll(hiddenPrefixes);
+        prefixes.addAll(prefixToURI.keySet());
+        return (String[]) prefixes.toArray(new String[prefixes.size()]);
+    }
+
+    /**
+     * Returns the registered namespace URIs. This method call is simply
+     * forwarded to the underlying global namespace registry as it is not
+     * possible to locally add new namespace URIs.
+     *
+     * @return namespace URIs
+     * @throws RepositoryException on repository errors
+     * @see NamespaceRegistry#getURIs()
+     */
+    public String[] getURIs() throws RepositoryException {
+        return registry.getURIs();
+    }
+
+    /**
+     * Returns the namespace URI that is mapped to the given prefix.
+     * Returns the local namespace mapping if the prefix is locally
+     * mapped, otherwise falls back to the underlying global namespace
+     * registry unless the prefix has been hidden by local namespace
+     * mappings.
+     * <p>
+     * This method implements the specified semantics of the
+     * Session.getNamespaceURI method. Session implementations can use
+     * this method as follows:
+     * <pre>
+     *     NamespaceRegistry registry = new SessionNamespaceRegistry(
+     *             getWorkspace().getNamespaceRegistry());
+     *
+     *     public String getNamespaceURI(String prefix)
+     *             throws NamespaceException, RepositoryException {
+     *         return registry.getURI(prefix);
+     *     }
+     * </pre>
+     *
+     * @param prefix namespace prefix
+     * @return namespace URI
+     * @throws NamespaceException  if the prefix is not registered or
+     *                             currently visible
+     * @throws RepositoryException on repository errors
+     * @see NamespaceRegistry#getURI(String)
+     * @see javax.jcr.Session#getNamespaceURI(String)
+     */
+    public String getURI(String prefix)
+            throws NamespaceException, RepositoryException {
+        String uri = prefixToURI.getProperty(prefix);
+        if (uri != null) {
+            return uri;
+        } else if (!hiddenPrefixes.contains(prefix)) {
+            return registry.getURI(prefix);
+        } else {
+            throw new NamespaceException(
+                    "Namespace mapping not found for prefix " + prefix);
+        }
+    }
+
+    /**
+     * Returns the prefix that is mapped to the given namespace URI.
+     * Returns the local prefix if the namespace URI is locally mapped,
+     * otherwise falls back to the underlying global namespace registry.
+     * <p>
+     * This method implements the specified semantics of the
+     * Session.getNamespacePrefix method. Session implementations can use
+     * this method as follows:
+     * <pre>
+     *     NamespaceRegistry registry = new SessionNamespaceRegistry(
+     *             getWorkspace().getNamespaceRegistry());
+     *
+     *     public String getNamespacePrefix(String uri)
+     *             throws NamespaceException, RepositoryException {
+     *         return registry.getPrefix(uri);
+     *     }
+     * </pre>
+     *
+     * @param uri namespace URI
+     * @return namespace prefix
+     * @throws NamespaceException  if the namespace URI is not registered
+     * @throws RepositoryException on repository errors
+     * @see NamespaceRegistry#getPrefix(String)
+     * @see javax.jcr.Session#getNamespacePrefix(String)
+     */
+    public String getPrefix(String uri)
+            throws NamespaceException, RepositoryException {
+        String prefix = uriToPrefix.getProperty(uri);
+        if (prefix != null) {
+            return prefix;
+        } else {
+            return registry.getPrefix(uri);
+        }
+    }
+
+}

Propchange: jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/SessionNamespaceRegistry.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/nodetype/SessionItemDefinition.java
URL: http://svn.apache.org/viewcvs/jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/nodetype/SessionItemDefinition.java?rev=388450&r1=388449&r2=388450&view=diff
==============================================================================
--- jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/nodetype/SessionItemDefinition.java (original)
+++ jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/nodetype/SessionItemDefinition.java Fri Mar 24 00:20:59 2006
@@ -1,173 +1,173 @@
-/*
- * Copyright 2004-2005 The Apache Software Foundation or its licensors,
- *                     as applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.jackrabbit.session.nodetype;
-
-import javax.jcr.nodetype.ItemDefinition;
-import javax.jcr.nodetype.NodeType;
-
-import org.apache.jackrabbit.session.SessionHelper;
-import org.apache.jackrabbit.state.nodetype.ItemDefinitionState;
-
-/**
- * Immutable and session-bound item definition frontend. An instance
- * of this class presents the underlying item definition state using
- * the JCR ItemDefinition interface.
- * <p>
- * By not exposing the setter methods of the underlying state instance,
- * this class intentionally makes it impossible for a JCR client to modify
- * item definition information.
- */
-class SessionItemDefinition implements ItemDefinition {
-
-    /** Helper for accessing the current session. */
-    private final SessionHelper helper;
-
-    /** The node type that contains this item definition. */
-    private final NodeType type;
-
-    /** The underlying item definitions state. */
-    private final ItemDefinitionState state;
-
-    /**
-     * Creates an item definition frontend that is bound to the
-     * given node type, session, and underlying item definition state.
-     *
-     * @param helper helper for accessing the current session
-     * @param type declaring node type
-     * @param state underlying item definition state
-     */
-    protected SessionItemDefinition(
-            SessionHelper helper, NodeType type, ItemDefinitionState state) {
-        this.helper = helper;
-        this.type = type;
-        this.state = state;
-    }
-
-    /**
-     * Returns the node type that contains this item definition.
-     *
-     * @return declaring node type
-     * @see ItemDefinition#getDeclaringNodeType()
-     */
-    public NodeType getDeclaringNodeType() {
-        return type;
-    }
-
-    /**
-     * Returns the prefixed JCR name of this item definition. The underlying
-     * qualified name is mapped to a prefixed JCR name using the namespace
-     * mappings of the current session.
-     *
-     * @return prefixed JCR name
-     * @see ItemDefinition#getName()
-     */
-    public String getName() {
-        return helper.getName(state.getName());
-    }
-
-    /**
-     * Returns the value of the AutoCreated item definition property.
-     * The returned value is retrieved from the underlying item
-     * definition state.
-     *
-     * @return AutoCreated property value
-     * @see ItemDefinition#isAutoCreated()
-     */
-    public boolean isAutoCreated() {
-        return state.isAutoCreated();
-    }
-
-    /**
-     * Returns the value of the Mandatory item definition property.
-     * The returned value is retrieved from the underlying item
-     * definition state.
-     *
-     * @return Mandatory property value
-     * @see ItemDefinition#isMandatory()
-     */
-    public boolean isMandatory() {
-        return state.isMandatory();
-    }
-
-    /**
-     * Returns the value of the OnParentVersion item definition property.
-     * The returned value is retrieved from the underlying item
-     * definition state.
-     *
-     * @return OnParentVersion property value
-     * @see ItemDefinition#getOnParentVersion()
-     */
-    public int getOnParentVersion() {
-        return state.getOnParentVersion();
-    }
-
-    /**
-     * Returns the value of the Protected item definition property.
-     * The returned value is retrieved from the underlying item
-     * definition state.
-     *
-     * @return Protected property value
-     * @see ItemDefinition#isProtected()
-     */
-    public boolean isProtected() {
-        return state.isProtected();
-    }
-
-    /**
-     * Compares objects for equality. Returns <code>true</code> if the
-     * given object is a SessionItemDefinition with the same underlying item
-     * definition state, session, and declaring node type.
-     * <p>
-     * Note that the item definition state class does not override the equals
-     * method and thus the mutable state instances are compared for
-     * reference equality.
-     *
-     * @param that the object to compare this object with
-     * @return <code>true</code> if the objects are equal,
-     *         <code>false</code> otherwise
-     * @see Object#equals(Object)
-     */
-    public boolean equals(Object that) {
-        if (this == that) {
-            return true;
-        } else if (that instanceof SessionItemDefinition) {
-            return state.equals(((SessionItemDefinition) that).state)
-                && helper.equals(((SessionItemDefinition) that).helper)
-                && type.equals(((SessionItemDefinition) that).type);
-        } else {
-            return false;
-        }
-    }
-
-    /**
-     * Returns a hash code for this object. To satisfy the equality
-     * constraints the returned hash code is a combination of the
-     * hash codes of the underlying node type state, session, and declaring
-     * node type.
-     *
-     * @return hash code
-     * @see Object#hashCode()
-     */
-    public int hashCode() {
-        int code = 17;
-        code = code * 37 + state.hashCode();
-        code = code * 37 + helper.hashCode();
-        code = code * 37 + type.hashCode();
-        return code;
-    }
-
-}
+/*
+ * Copyright 2004-2005 The Apache Software Foundation or its licensors,
+ *                     as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.session.nodetype;
+
+import javax.jcr.nodetype.ItemDefinition;
+import javax.jcr.nodetype.NodeType;
+
+import org.apache.jackrabbit.session.SessionHelper;
+import org.apache.jackrabbit.state.nodetype.ItemDefinitionState;
+
+/**
+ * Immutable and session-bound item definition frontend. An instance
+ * of this class presents the underlying item definition state using
+ * the JCR ItemDefinition interface.
+ * <p>
+ * By not exposing the setter methods of the underlying state instance,
+ * this class intentionally makes it impossible for a JCR client to modify
+ * item definition information.
+ */
+class SessionItemDefinition implements ItemDefinition {
+
+    /** Helper for accessing the current session. */
+    private final SessionHelper helper;
+
+    /** The node type that contains this item definition. */
+    private final NodeType type;
+
+    /** The underlying item definitions state. */
+    private final ItemDefinitionState state;
+
+    /**
+     * Creates an item definition frontend that is bound to the
+     * given node type, session, and underlying item definition state.
+     *
+     * @param helper helper for accessing the current session
+     * @param type declaring node type
+     * @param state underlying item definition state
+     */
+    protected SessionItemDefinition(
+            SessionHelper helper, NodeType type, ItemDefinitionState state) {
+        this.helper = helper;
+        this.type = type;
+        this.state = state;
+    }
+
+    /**
+     * Returns the node type that contains this item definition.
+     *
+     * @return declaring node type
+     * @see ItemDefinition#getDeclaringNodeType()
+     */
+    public NodeType getDeclaringNodeType() {
+        return type;
+    }
+
+    /**
+     * Returns the prefixed JCR name of this item definition. The underlying
+     * qualified name is mapped to a prefixed JCR name using the namespace
+     * mappings of the current session.
+     *
+     * @return prefixed JCR name
+     * @see ItemDefinition#getName()
+     */
+    public String getName() {
+        return helper.getName(state.getName());
+    }
+
+    /**
+     * Returns the value of the AutoCreated item definition property.
+     * The returned value is retrieved from the underlying item
+     * definition state.
+     *
+     * @return AutoCreated property value
+     * @see ItemDefinition#isAutoCreated()
+     */
+    public boolean isAutoCreated() {
+        return state.isAutoCreated();
+    }
+
+    /**
+     * Returns the value of the Mandatory item definition property.
+     * The returned value is retrieved from the underlying item
+     * definition state.
+     *
+     * @return Mandatory property value
+     * @see ItemDefinition#isMandatory()
+     */
+    public boolean isMandatory() {
+        return state.isMandatory();
+    }
+
+    /**
+     * Returns the value of the OnParentVersion item definition property.
+     * The returned value is retrieved from the underlying item
+     * definition state.
+     *
+     * @return OnParentVersion property value
+     * @see ItemDefinition#getOnParentVersion()
+     */
+    public int getOnParentVersion() {
+        return state.getOnParentVersion();
+    }
+
+    /**
+     * Returns the value of the Protected item definition property.
+     * The returned value is retrieved from the underlying item
+     * definition state.
+     *
+     * @return Protected property value
+     * @see ItemDefinition#isProtected()
+     */
+    public boolean isProtected() {
+        return state.isProtected();
+    }
+
+    /**
+     * Compares objects for equality. Returns <code>true</code> if the
+     * given object is a SessionItemDefinition with the same underlying item
+     * definition state, session, and declaring node type.
+     * <p>
+     * Note that the item definition state class does not override the equals
+     * method and thus the mutable state instances are compared for
+     * reference equality.
+     *
+     * @param that the object to compare this object with
+     * @return <code>true</code> if the objects are equal,
+     *         <code>false</code> otherwise
+     * @see Object#equals(Object)
+     */
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        } else if (that instanceof SessionItemDefinition) {
+            return state.equals(((SessionItemDefinition) that).state)
+                && helper.equals(((SessionItemDefinition) that).helper)
+                && type.equals(((SessionItemDefinition) that).type);
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Returns a hash code for this object. To satisfy the equality
+     * constraints the returned hash code is a combination of the
+     * hash codes of the underlying node type state, session, and declaring
+     * node type.
+     *
+     * @return hash code
+     * @see Object#hashCode()
+     */
+    public int hashCode() {
+        int code = 17;
+        code = code * 37 + state.hashCode();
+        code = code * 37 + helper.hashCode();
+        code = code * 37 + type.hashCode();
+        return code;
+    }
+
+}

Propchange: jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/nodetype/SessionItemDefinition.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/nodetype/SessionNodeDefinition.java
URL: http://svn.apache.org/viewcvs/jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/nodetype/SessionNodeDefinition.java?rev=388450&r1=388449&r2=388450&view=diff
==============================================================================
--- jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/nodetype/SessionNodeDefinition.java (original)
+++ jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/nodetype/SessionNodeDefinition.java Fri Mar 24 00:20:59 2006
@@ -1,106 +1,106 @@
-/*
- * Copyright 2004-2005 The Apache Software Foundation or its licensors,
- *                     as applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.jackrabbit.session.nodetype;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.jcr.nodetype.NodeDefinition;
-import javax.jcr.nodetype.NodeType;
-
-import org.apache.jackrabbit.session.SessionHelper;
-import org.apache.jackrabbit.name.QName;
-import org.apache.jackrabbit.state.nodetype.NodeDefinitionState;
-
-/**
- * Immutable and session-bound node definition frontend. An instance
- * of this class presents the underlying node definition state using
- * the JCR NodeDef interface.
- * <p>
- * By not exposing the setter methods of the underlying state instance,
- * this class intentionally makes it impossible for a JCR client to modify
- * node definition information.
- */
-final class SessionNodeDefinition extends SessionItemDefinition
-        implements NodeDefinition {
-
-    /** Helper for accessing the current session. */
-    private final SessionHelper helper;
-
-    /** The underlying node definition state. */
-    private final NodeDefinitionState state;
-
-    /**
-     * Creates a node definition frontend that is bound to the
-     * given node type, session, and underlying node definition state.
-     *
-     * @param helper helper for accessing the current session
-     * @param type declaring node type
-     * @param state underlying node definition state
-     */
-    public SessionNodeDefinition(
-            SessionHelper helper, NodeType type, NodeDefinitionState state) {
-        super(helper, type, state);
-        this.helper = helper;
-        this.state = state;
-    }
-
-    /**
-     * Returns the default primary type of the defined node. The returned
-     * node type is retrieved from the node type manager of the current
-     * session using the node type name stored in the underlying state.
-     *
-     * @return default primary type
-     * @see NodeDefinition#getDefaultPrimaryType()
-     */
-    public NodeType getDefaultPrimaryType() {
-        return helper.getNodeType(state.getDefaultPrimaryTypeName());
-    }
-
-    /**
-     * Returns the required primary types of the defined node. The returned
-     * node types are retrieved from the node type manager of the current
-     * session using the node type names stored in the underlying state.
-     * <p>
-     * The returned array is freshly instantiated and not a part of the
-     * underlying state, so it can be freely modified.
-     *
-     * @return required primary types
-     * @see NodeDefinition#getRequiredPrimaryTypes()
-     */
-    public NodeType[] getRequiredPrimaryTypes() {
-        Set types = new HashSet();
-        QName[] names = state.getRequiredPrimaryTypeNames();
-        for (int i = 0; i < names.length; i++) {
-            types.add(helper.getNodeType(names[i]));
-        }
-        return (NodeType[]) types.toArray(new NodeType[types.size()]);
-    }
-
-    /**
-     * Returns the value of the AllowsSameNameSiblings node definition property.
-     * The returned value is retrieved from the underlying node definition
-     * state.
-     *
-     * @return AllowsSameNameSiblings property value
-     * @see NodeDefinition#allowsSameNameSiblings()
-     */
-    public boolean allowsSameNameSiblings() {
-        return state.allowsSameNameSiblings();
-    }
-
-}
+/*
+ * Copyright 2004-2005 The Apache Software Foundation or its licensors,
+ *                     as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.session.nodetype;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.jcr.nodetype.NodeDefinition;
+import javax.jcr.nodetype.NodeType;
+
+import org.apache.jackrabbit.session.SessionHelper;
+import org.apache.jackrabbit.name.QName;
+import org.apache.jackrabbit.state.nodetype.NodeDefinitionState;
+
+/**
+ * Immutable and session-bound node definition frontend. An instance
+ * of this class presents the underlying node definition state using
+ * the JCR NodeDef interface.
+ * <p>
+ * By not exposing the setter methods of the underlying state instance,
+ * this class intentionally makes it impossible for a JCR client to modify
+ * node definition information.
+ */
+final class SessionNodeDefinition extends SessionItemDefinition
+        implements NodeDefinition {
+
+    /** Helper for accessing the current session. */
+    private final SessionHelper helper;
+
+    /** The underlying node definition state. */
+    private final NodeDefinitionState state;
+
+    /**
+     * Creates a node definition frontend that is bound to the
+     * given node type, session, and underlying node definition state.
+     *
+     * @param helper helper for accessing the current session
+     * @param type declaring node type
+     * @param state underlying node definition state
+     */
+    public SessionNodeDefinition(
+            SessionHelper helper, NodeType type, NodeDefinitionState state) {
+        super(helper, type, state);
+        this.helper = helper;
+        this.state = state;
+    }
+
+    /**
+     * Returns the default primary type of the defined node. The returned
+     * node type is retrieved from the node type manager of the current
+     * session using the node type name stored in the underlying state.
+     *
+     * @return default primary type
+     * @see NodeDefinition#getDefaultPrimaryType()
+     */
+    public NodeType getDefaultPrimaryType() {
+        return helper.getNodeType(state.getDefaultPrimaryTypeName());
+    }
+
+    /**
+     * Returns the required primary types of the defined node. The returned
+     * node types are retrieved from the node type manager of the current
+     * session using the node type names stored in the underlying state.
+     * <p>
+     * The returned array is freshly instantiated and not a part of the
+     * underlying state, so it can be freely modified.
+     *
+     * @return required primary types
+     * @see NodeDefinition#getRequiredPrimaryTypes()
+     */
+    public NodeType[] getRequiredPrimaryTypes() {
+        Set types = new HashSet();
+        QName[] names = state.getRequiredPrimaryTypeNames();
+        for (int i = 0; i < names.length; i++) {
+            types.add(helper.getNodeType(names[i]));
+        }
+        return (NodeType[]) types.toArray(new NodeType[types.size()]);
+    }
+
+    /**
+     * Returns the value of the AllowsSameNameSiblings node definition property.
+     * The returned value is retrieved from the underlying node definition
+     * state.
+     *
+     * @return AllowsSameNameSiblings property value
+     * @see NodeDefinition#allowsSameNameSiblings()
+     */
+    public boolean allowsSameNameSiblings() {
+        return state.allowsSameNameSiblings();
+    }
+
+}

Propchange: jackrabbit/trunk/contrib/jcr-ext/src/java/org/apache/jackrabbit/session/nodetype/SessionNodeDefinition.java
------------------------------------------------------------------------------
    svn:eol-style = native