jackrabbit-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ju...@apache.org
Subject svn commit: r899724 - in /jackrabbit/branches/1.6: ./ jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/AbstractSession.java
Date Fri, 15 Jan 2010 17:30:22 GMT
Author: jukka
Date: Fri Jan 15 17:30:22 2010
New Revision: 899724

URL: http://svn.apache.org/viewvc?rev=899724&view=rev
Log:
1.6: Merged revision 892253 (JCR-2443)

Modified:
    jackrabbit/branches/1.6/   (props changed)
    jackrabbit/branches/1.6/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/AbstractSession.java

Propchange: jackrabbit/branches/1.6/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jan 15 17:30:22 2010
@@ -1,3 +1,3 @@
 /jackrabbit/branches/1.5:794012,794100,794102
 /jackrabbit/branches/1.x:801262-801983,812129,812371
-/jackrabbit/trunk:770143-773197,773483,773525-773555,773584,773588,773828,773835-775756,775833,775836,775840,775868,775981,775986,776036,776256,776310,776313,776321-776322,776332,776356-776357,776362,776373,776650-776693,776737,776757,776776-776777,777024,777029,777034,777478,777509,777541,777548,777936,778445,778613,778616,778621,778645,778720,778802,779032,779040,779068-779071,779074,779076,779081,779084,779086-779088,779090-779092,779094-779096,779101,779223,779225,779227-779228,779230,779233-779234,779460,779475-779476,779504,779550,779552,779555,779561,779563,779583,779590,779618,779621-779622,779624,779642,779654,779657-779659,779661,779936,780006,780010,780025,780085,780985,780989,780993,781017,781051,781054,781294-781300,781305-781311,781318,781328,781338,781344,781347,781369,781372,781377,781416-781417,781423,782621-782622,782644,782646,782652,782669,782675,782677,782683,782694,782921,782925,782930,782936,783002,783004-783005,783042-783043,783239,783243,783245,78327
 8,783304,783319-783321,783324,783326-783327,783330-783333,783337-783338,783340-783341,783343,783345-783347,783356,783359,783383,783386,783412,783435,783444,783447,783523,783688,783703,783708,783710,783719,783757,783759,783761,783786,783809,784011,784013,784039,784058,784060-784061,784090-784091,784106,784108-784109,784111,784117-784120,784124,784163,784261,784680,784691,784696,784760,784824,785112,785116,785157,785169,785209,785492,785517,785519,785529,785533,785535,785539-785540,785545,785580,785589-785590,785592,785594,785597,785602,785627,785629,785631,785635,785645,785668,785711,785725,785777,785863,785981,786003,786019,786028,786062,786075,786089-786090,786093-786094,786144,786146-786147,786149,786167,786280,786295,786319,786329-786330,786336,786409,786419,786423,786480,786485,786492,786513,786562,786565,786680,786685,787183,787219,787241,787942,787952,787964,787996,788002,788012-788013,788350-788351,788443,788446,788450,789245,789257,789269-789270,789279,789307,789312,
 789324,789338,789347,789485,789629,789809,789986,790054,790056,790065-790066,790068,790070-790071,790118,790127,790153,790235-790236,790528,790537,790541,790557-790558,790568,790590,790600,790603,790629,790814,790826,790834,790887,790892,790901,790930,790939,791180,791253,791255,791438-791439,791441,791452,791457,791475,791492,791505,791520,791527,791737,791832,791884,791906,792102,792109,792118,792138,792152,792155-792156,792160,792162,792167-792168,792175,792180-792181,792211,792214,792218,792437,792453,792464,792467,792469,792485,792488,792496,792498,792508-792509,792547-792548,792588-792589,792849,792894-792895,792912,792932,792934,792968,793012-793013,793015-793016,793018,793046-793047,793072,793180,793238,793240,793243,793283,793484-793485,793507,793559,793571,793830,793836,793840,794162,794190,794193,794253,794278,794293-794294,794302,794304,794323,794329,794600,794617,794633,794641,794644,794652,794674,794702,794718,794743,794783,794994,795046,795049,795082,795096,79
 5136,795138,795841-795842,795854,795866,796584,796586,796757,796845,796855,796876,796899,796955,796957,797094,797139,797158,797386,797399,797410,797414,797416-797417,797424,797470,797484,797488-797489,797539,797549,797634,797662,797836,798141,798183,798196,798209,798306,798834,798844,798847-798848,798889-798890,798940,798958,799188,799284,799550,799595,799599,799610,800269,800464,800466,800478,800483,800715,800807,800829,800854,800862-800863,801104,801125-801126,801128,801135,801169,801210,801213,801226,801241,801968,801973,812102,812369,815233,816124,819491,820925,825772,829015,830575,881283,889133
+/jackrabbit/trunk:770143-773197,773483,773525-773555,773584,773588,773828,773835-775756,775833,775836,775840,775868,775981,775986,776036,776256,776310,776313,776321-776322,776332,776356-776357,776362,776373,776650-776693,776737,776757,776776-776777,777024,777029,777034,777478,777509,777541,777548,777936,778445,778613,778616,778621,778645,778720,778802,779032,779040,779068-779071,779074,779076,779081,779084,779086-779088,779090-779092,779094-779096,779101,779223,779225,779227-779228,779230,779233-779234,779460,779475-779476,779504,779550,779552,779555,779561,779563,779583,779590,779618,779621-779622,779624,779642,779654,779657-779659,779661,779936,780006,780010,780025,780085,780985,780989,780993,781017,781051,781054,781294-781300,781305-781311,781318,781328,781338,781344,781347,781369,781372,781377,781416-781417,781423,782621-782622,782644,782646,782652,782669,782675,782677,782683,782694,782921,782925,782930,782936,783002,783004-783005,783042-783043,783239,783243,783245,78327
 8,783304,783319-783321,783324,783326-783327,783330-783333,783337-783338,783340-783341,783343,783345-783347,783356,783359,783383,783386,783412,783435,783444,783447,783523,783688,783703,783708,783710,783719,783757,783759,783761,783786,783809,784011,784013,784039,784058,784060-784061,784090-784091,784106,784108-784109,784111,784117-784120,784124,784163,784261,784680,784691,784696,784760,784824,785112,785116,785157,785169,785209,785492,785517,785519,785529,785533,785535,785539-785540,785545,785580,785589-785590,785592,785594,785597,785602,785627,785629,785631,785635,785645,785668,785711,785725,785777,785863,785981,786003,786019,786028,786062,786075,786089-786090,786093-786094,786144,786146-786147,786149,786167,786280,786295,786319,786329-786330,786336,786409,786419,786423,786480,786485,786492,786513,786562,786565,786680,786685,787183,787219,787241,787942,787952,787964,787996,788002,788012-788013,788350-788351,788443,788446,788450,789245,789257,789269-789270,789279,789307,789312,
 789324,789338,789347,789485,789629,789809,789986,790054,790056,790065-790066,790068,790070-790071,790118,790127,790153,790235-790236,790528,790537,790541,790557-790558,790568,790590,790600,790603,790629,790814,790826,790834,790887,790892,790901,790930,790939,791180,791253,791255,791438-791439,791441,791452,791457,791475,791492,791505,791520,791527,791737,791832,791884,791906,792102,792109,792118,792138,792152,792155-792156,792160,792162,792167-792168,792175,792180-792181,792211,792214,792218,792437,792453,792464,792467,792469,792485,792488,792496,792498,792508-792509,792547-792548,792588-792589,792849,792894-792895,792912,792932,792934,792968,793012-793013,793015-793016,793018,793046-793047,793072,793180,793238,793240,793243,793283,793484-793485,793507,793559,793571,793830,793836,793840,794162,794190,794193,794253,794278,794293-794294,794302,794304,794323,794329,794600,794617,794633,794641,794644,794652,794674,794702,794718,794743,794783,794994,795046,795049,795082,795096,79
 5136,795138,795841-795842,795854,795866,796584,796586,796757,796845,796855,796876,796899,796955,796957,797094,797139,797158,797386,797399,797410,797414,797416-797417,797424,797470,797484,797488-797489,797539,797549,797634,797662,797836,798141,798183,798196,798209,798306,798834,798844,798847-798848,798889-798890,798940,798958,799188,799284,799550,799595,799599,799610,800269,800464,800466,800478,800483,800715,800807,800829,800854,800862-800863,801104,801125-801126,801128,801135,801169,801210,801213,801226,801241,801968,801973,812102,812369,815233,816124,819491,820925,825772,829015,830575,881283,889133,892253

Modified: jackrabbit/branches/1.6/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/AbstractSession.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.6/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/AbstractSession.java?rev=899724&r1=899723&r2=899724&view=diff
==============================================================================
--- jackrabbit/branches/1.6/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/AbstractSession.java
(original)
+++ jackrabbit/branches/1.6/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/AbstractSession.java
Fri Jan 15 17:30:22 2010
@@ -64,8 +64,10 @@
      * <code>super.logout()</code> when overriding this method to avoid
      * namespace mappings to be carried over to a new session.
      */
-    public synchronized void logout() {
-        namespaces.clear();
+    public void logout() {
+        synchronized (namespaces) {
+            namespaces.clear();
+        }
     }
 
     //------------------------------------------------< Namespace handling >--
@@ -83,27 +85,29 @@
      * @throws NamespaceException if the namespace is not found
      * @throws RepositoryException if a repository error occurs
      */
-    public synchronized String getNamespacePrefix(String uri)
+    public String getNamespacePrefix(String uri)
             throws NamespaceException, RepositoryException {
-        Iterator iterator = namespaces.entrySet().iterator();
-        while (iterator.hasNext()) {
-            Map.Entry entry = (Map.Entry) iterator.next();
-            if (entry.getValue().equals(uri)) {
-                return (String) entry.getKey();
+        synchronized (namespaces) {
+            Iterator iterator = namespaces.entrySet().iterator();
+            while (iterator.hasNext()) {
+                Map.Entry entry = (Map.Entry) iterator.next();
+                if (entry.getValue().equals(uri)) {
+                    return (String) entry.getKey();
+                }
             }
-        }
 
-        // The following throws an exception if the URI is not found, that's OK
-        String prefix = getWorkspace().getNamespaceRegistry().getPrefix(uri);
+            // The following throws an exception if the URI is not found, that's OK
+            String prefix = getWorkspace().getNamespaceRegistry().getPrefix(uri);
 
-        // Generate a new prefix if the global mapping is already taken
-        String base = prefix;
-        for (int i = 2; namespaces.containsKey(prefix); i++) {
-            prefix = base + i;
-        }
+            // Generate a new prefix if the global mapping is already taken
+            String base = prefix;
+            for (int i = 2; namespaces.containsKey(prefix); i++) {
+                prefix = base + i;
+            }
 
-        namespaces.put(prefix, uri);
-        return prefix;
+            namespaces.put(prefix, uri);
+            return prefix;
+        }
     }
 
     /**
@@ -119,24 +123,26 @@
      * @throws NamespaceException if the namespace is not found
      * @throws RepositoryException if a repository error occurs
      */
-    public synchronized String getNamespaceURI(String prefix)
+    public String getNamespaceURI(String prefix)
             throws NamespaceException, RepositoryException {
-        String uri = (String) namespaces.get(prefix);
+        synchronized (namespaces) {
+            String uri = (String) namespaces.get(prefix);
 
-        if (uri == null) {
-            // Not in local mappings, try the global ones
-            uri = getWorkspace().getNamespaceRegistry().getURI(prefix);
-            if (namespaces.containsValue(uri)) {
-                // The global URI is locally mapped to some other prefix,
-                // so there are no mappings for this prefix
-                throw new NamespaceException("Namespace not found: " + prefix);
+            if (uri == null) {
+                // Not in local mappings, try the global ones
+                uri = getWorkspace().getNamespaceRegistry().getURI(prefix);
+                if (namespaces.containsValue(uri)) {
+                    // The global URI is locally mapped to some other prefix,
+                    // so there are no mappings for this prefix
+                    throw new NamespaceException("Namespace not found: " + prefix);
+                }
+                // Add the mapping to the local set, we already know that
+                // the prefix is not taken
+                namespaces.put(prefix, uri);
             }
-            // Add the mapping to the local set, we already know that
-            // the prefix is not taken
-            namespaces.put(prefix, uri);
-        }
 
-        return uri;
+            return uri;
+        }
     }
 
     /**
@@ -150,7 +156,7 @@
      * @return namespace prefixes
      * @throws RepositoryException if a repository error occurs
      */
-    public synchronized String[] getNamespacePrefixes()
+    public String[] getNamespacePrefixes()
             throws RepositoryException {
         NamespaceRegistry registry = getWorkspace().getNamespaceRegistry();
         String[] uris = registry.getURIs();
@@ -158,8 +164,10 @@
             getNamespacePrefix(uris[i]);
         }
 
-        return (String[])
-            namespaces.keySet().toArray(new String[namespaces.size()]);
+        synchronized (namespaces) {
+            return (String[])
+                namespaces.keySet().toArray(new String[namespaces.size()]);
+        }
     }
 
     /**
@@ -174,7 +182,7 @@
      * @throws NamespaceException if the mapping is illegal
      * @throws RepositoryException if a repository error occurs
      */
-    public synchronized void setNamespacePrefix(String prefix, String uri)
+    public void setNamespacePrefix(String prefix, String uri)
             throws NamespaceException, RepositoryException {
         if (prefix == null) {
             throw new IllegalArgumentException("Prefix must not be null");
@@ -194,25 +202,28 @@
                     "Prefix is not a valid XML NCName: " + prefix);
         }
 
-        // FIXME Figure out how this should be handled
-        // Currently JSR 283 does not specify this exception, but for
-        // compatibility with JCR 1.0 TCK it probably should.
-        // Note that the solution here also affects the remove() code below
-        String previous = (String) namespaces.get(prefix);
-        if (previous != null && !previous.equals(uri)) {
-            throw new NamespaceException("Namespace already mapped");
-        }
+        synchronized (namespaces) {
+            // FIXME Figure out how this should be handled
+            // Currently JSR 283 does not specify this exception, but for
+            // compatibility with JCR 1.0 TCK it probably should.
+            // Note that the solution here also affects the remove() code below
+            String previous = (String) namespaces.get(prefix);
+            if (previous != null && !previous.equals(uri)) {
+                throw new NamespaceException("Namespace already mapped");
+            }
 
-        namespaces.remove(prefix);
-        Iterator iterator = namespaces.entrySet().iterator();
-        while (iterator.hasNext()) {
-            Map.Entry entry = (Map.Entry) iterator.next();
-            if (entry.getValue().equals(uri)) {
-                iterator.remove();
+            namespaces.remove(prefix);
+            Iterator iterator = namespaces.entrySet().iterator();
+            while (iterator.hasNext()) {
+                Map.Entry entry = (Map.Entry) iterator.next();
+                if (entry.getValue().equals(uri)) {
+                    iterator.remove();
+                }
             }
-        }
 
-        namespaces.put(prefix, uri);
+            // Add the new mapping
+            namespaces.put(prefix, uri);
+        }
     }
 
     //---------------------------------------------< XML export and import >--



Mime
View raw message