You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by re...@apache.org on 2018/01/16 18:40:05 UTC

svn commit: r1821283 - in /jackrabbit/branches/2.6: ./ jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/server/remoting/davex/ jackrabbit-jcr2spi/ jackrabbit-jcr2spi/src/test/java/org/apache/jackrabbit/jcr2spi/ jackrabbit-webdav/src/main/java/...

Author: reschke
Date: Tue Jan 16 18:40:05 2018
New Revision: 1821283

URL: http://svn.apache.org/viewvc?rev=1821283&view=rev
Log:
JCR-4146: json extension is removed by AbstractWebdavServlet on COPY request (ported to 2.6)

Added:
    jackrabbit/branches/2.6/jackrabbit-jcr2spi/src/test/java/org/apache/jackrabbit/jcr2spi/CopyMoveToJsonTest.java
      - copied unchanged from r1799429, jackrabbit/trunk/jackrabbit-jcr2spi/src/test/java/org/apache/jackrabbit/jcr2spi/CopyMoveToJsonTest.java
Modified:
    jackrabbit/branches/2.6/   (props changed)
    jackrabbit/branches/2.6/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/server/remoting/davex/JcrRemotingServlet.java
    jackrabbit/branches/2.6/jackrabbit-jcr2spi/pom.xml
    jackrabbit/branches/2.6/jackrabbit-jcr2spi/src/test/java/org/apache/jackrabbit/jcr2spi/TestAll.java
    jackrabbit/branches/2.6/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/AbstractLocatorFactory.java
    jackrabbit/branches/2.6/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/WebdavRequestImpl.java
    jackrabbit/branches/2.6/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/package-info.java

Propchange: jackrabbit/branches/2.6/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Jan 16 18:40:05 2018
@@ -1,4 +1,4 @@
 /jackrabbit/branches/2.8:1643783
 /jackrabbit/branches/JCR-2272:1173165-1176545
 /jackrabbit/sandbox/JCR-2415-lucene-3.0:1060860-1064038
-/jackrabbit/trunk:1437334,1437374,1437384,1437618,1437928,1437933,1437963,1438158,1438541,1439296,1439312,1439346,1439768,1439797,1439927,1440059,1440336,1440456,1440908,1440917,1442061,1443652,1443876,1443885,1443943,1444501,1444515,1444654,1444666,1444683,1444755,1445122,1445134,1453907,1460995,1461064,1461137,1461613,1461646,1462115,1462153,1462205,1462211,1465974,1466060,1466085,1466938,1467255,1467363,1468965,1469312,1469799,1469892,1469940,1470573,1470957,1471286,1475718,1478684,1478719,1478757,1479518,1479527,1479533,1479536,1479691,1479809,1479908,1480574,1481964,1483276,1483286,1484440,1484442,1484444,1484727,1487803,1497243,1497492,1497787,1498840,1498850,1499285,1505795,1505907,1505942,1506594,1506877,1508053,1509101,1513144,1516281,1517602,1517627,1519376,1525629,1525633,1526928,1526945,1530005,1535539,1537027,1539030,1539045,1539050,1555885,1556248,1566668-1566669,1582373,1587619,1590030,1590733,1598035,1598058,1603934,1609712,1634584,1680757,1709811,1717599,1729382,173
 2436,1758600,1759865,1761679,1761909,1762422,1763558,1766398,1771741,1773579,1773591,1773745,1779166,1779460,1780208,1786325,1787043,1792193,1793315,1793323,1793327,1793332,1796980,1797209,1797917,1798586,1811667,1814831,1817097
+/jackrabbit/trunk:1437334,1437374,1437384,1437618,1437928,1437933,1437963,1438158,1438541,1439296,1439312,1439346,1439768,1439797,1439927,1440059,1440336,1440456,1440908,1440917,1442061,1443652,1443876,1443885,1443943,1444501,1444515,1444654,1444666,1444683,1444755,1445122,1445134,1453907,1460995,1461064,1461137,1461613,1461646,1462115,1462153,1462205,1462211,1465974,1466060,1466085,1466938,1467255,1467363,1468965,1469312,1469799,1469892,1469940,1470573,1470957,1471286,1475718,1478684,1478719,1478757,1479518,1479527,1479533,1479536,1479691,1479809,1479908,1480574,1481964,1483276,1483286,1484440,1484442,1484444,1484727,1487803,1497243,1497492,1497787,1498840,1498850,1499285,1505795,1505907,1505942,1506594,1506877,1508053,1509101,1513144,1516281,1517602,1517627,1519376,1525629,1525633,1526928,1526945,1530005,1535539,1537027,1539030,1539045,1539050,1555885,1556248,1566668-1566669,1582373,1587619,1590030,1590733,1598035,1598058,1603934,1609712,1634584,1680757,1709811,1717599,1729382,173
 2436,1758600,1759865,1761679,1761909,1762422,1763558,1766398,1771741,1773579,1773591,1773745,1779166,1779460,1780208,1786325,1787043,1792193,1793315,1793323,1793327,1793332,1796980,1797209,1797917,1798586,1799429,1811667,1814831,1817097

Modified: jackrabbit/branches/2.6/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/server/remoting/davex/JcrRemotingServlet.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.6/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/server/remoting/davex/JcrRemotingServlet.java?rev=1821283&r1=1821282&r2=1821283&view=diff
==============================================================================
--- jackrabbit/branches/2.6/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/server/remoting/davex/JcrRemotingServlet.java (original)
+++ jackrabbit/branches/2.6/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/server/remoting/davex/JcrRemotingServlet.java Tue Jan 16 18:40:05 2018
@@ -646,8 +646,13 @@ public abstract class JcrRemotingServlet
 
         @Override
         public DavResourceLocator createResourceLocator(String prefix, String href) {
+            return createResourceLocator(prefix, href, false);
+        }
+
+        @Override
+        public DavResourceLocator createResourceLocator(String prefix, String href, boolean forDestination) {
             DavResourceLocator loc = super.createResourceLocator(prefix, href);
-            if (endsWithJson(href)) {
+            if (!forDestination && endsWithJson(href)) {
                 loc = new WrappingLocator(super.createResourceLocator(prefix, href));
             }
             return loc;

Modified: jackrabbit/branches/2.6/jackrabbit-jcr2spi/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.6/jackrabbit-jcr2spi/pom.xml?rev=1821283&r1=1821282&r2=1821283&view=diff
==============================================================================
--- jackrabbit/branches/2.6/jackrabbit-jcr2spi/pom.xml (original)
+++ jackrabbit/branches/2.6/jackrabbit-jcr2spi/pom.xml Tue Jan 16 18:40:05 2018
@@ -105,6 +105,10 @@
       <artifactId>commons-collections</artifactId>
     </dependency>
     <dependency>
+      <groupId>commons-io</groupId>
+      <artifactId>commons-io</artifactId>
+    </dependency>
+    <dependency>
       <groupId>concurrent</groupId>
       <artifactId>concurrent</artifactId>
       <scope>test</scope>

Modified: jackrabbit/branches/2.6/jackrabbit-jcr2spi/src/test/java/org/apache/jackrabbit/jcr2spi/TestAll.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.6/jackrabbit-jcr2spi/src/test/java/org/apache/jackrabbit/jcr2spi/TestAll.java?rev=1821283&r1=1821282&r2=1821283&view=diff
==============================================================================
--- jackrabbit/branches/2.6/jackrabbit-jcr2spi/src/test/java/org/apache/jackrabbit/jcr2spi/TestAll.java (original)
+++ jackrabbit/branches/2.6/jackrabbit-jcr2spi/src/test/java/org/apache/jackrabbit/jcr2spi/TestAll.java Tue Jan 16 18:40:05 2018
@@ -107,6 +107,9 @@ public class TestAll extends TestCase {
         // workspace mgt
         suite.addTestSuite(WorkspaceTest.class);
 
+        // json (because of remoting servlet)
+        suite.addTestSuite(CopyMoveToJsonTest.class);
+
         return suite;
     }
 }
\ No newline at end of file

Modified: jackrabbit/branches/2.6/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/AbstractLocatorFactory.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.6/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/AbstractLocatorFactory.java?rev=1821283&r1=1821282&r2=1821283&view=diff
==============================================================================
--- jackrabbit/branches/2.6/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/AbstractLocatorFactory.java (original)
+++ jackrabbit/branches/2.6/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/AbstractLocatorFactory.java Tue Jan 16 18:40:05 2018
@@ -135,6 +135,15 @@ public abstract class AbstractLocatorFac
     }
 
     /**
+     * Like {@link #createResourceLocator(String, String)}, but by setting
+     * {@code forDestination} to {@code true} any special processing of URI
+     * suffixes can be disabled.
+     */
+    public DavResourceLocator createResourceLocator(String prefix, String href, boolean forDestination) {
+        return createResourceLocator(prefix, href);
+    }
+
+   /**
      * Create a new <code>DavResourceLocator</code> from the specified prefix,
      * workspace path and resource path, without modifying the specified Strings.
      * Note, that it is expected that the resource path starts with the

Modified: jackrabbit/branches/2.6/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/WebdavRequestImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.6/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/WebdavRequestImpl.java?rev=1821283&r1=1821282&r2=1821283&view=diff
==============================================================================
--- jackrabbit/branches/2.6/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/WebdavRequestImpl.java (original)
+++ jackrabbit/branches/2.6/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/WebdavRequestImpl.java Tue Jan 16 18:40:05 2018
@@ -177,16 +177,10 @@ public class WebdavRequestImpl implement
      * @see DavServletRequest#getDestinationLocator
      */
     public DavResourceLocator getDestinationLocator() throws DavException {
-        return getHrefLocator(httpRequest.getHeader(HEADER_DESTINATION));
+        return getHrefLocator(httpRequest.getHeader(HEADER_DESTINATION), true);
     }
 
-    /**
-     * Parse a href and return the path of the resource.
-     *
-     * @return path of the resource identified by the href.
-     * @see org.apache.jackrabbit.webdav.bind.BindServletRequest#getHrefLocator
-     */
-    public DavResourceLocator getHrefLocator(String href) throws DavException {
+    private DavResourceLocator getHrefLocator(String href, boolean forDestination) throws DavException {
         String ref = href;
         if (ref != null) {
             //href should be a Simple-ref production as defined in RFC4918, so it is either an absolute URI
@@ -220,7 +214,22 @@ public class WebdavRequestImpl implement
                 throw new DavException(DavServletResponse.SC_FORBIDDEN);
             }
         }
-        return factory.createResourceLocator(hrefPrefix, ref);
+        if (factory instanceof AbstractLocatorFactory) {
+            return ((AbstractLocatorFactory)factory).createResourceLocator(hrefPrefix, ref, forDestination);
+        }
+        else {
+            return factory.createResourceLocator(hrefPrefix, ref);
+        }
+    }
+
+    /**
+     * Parse a href and return the path of the resource.
+     *
+     * @return path of the resource identified by the href.
+     * @see org.apache.jackrabbit.webdav.bind.BindServletRequest#getHrefLocator
+     */
+    public DavResourceLocator getHrefLocator(String href) throws DavException {
+        return getHrefLocator(href, false);
     }
 
     /**

Modified: jackrabbit/branches/2.6/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/package-info.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.6/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/package-info.java?rev=1821283&r1=1821282&r2=1821283&view=diff
==============================================================================
--- jackrabbit/branches/2.6/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/package-info.java (original)
+++ jackrabbit/branches/2.6/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/package-info.java Tue Jan 16 18:40:05 2018
@@ -14,5 +14,5 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-@aQute.bnd.annotation.Version("1.0.1")
+@aQute.bnd.annotation.Version("1.1.0")
 package org.apache.jackrabbit.webdav;