[ANNOUNCE] Apache Jackrabbit 2.10 retired

2019-07-03 Thread Julian Reschke

Dear users of Apache Jackrabbit,

the Apache Jackrabbit Team has decided to drop support and deprecate the 
2.10 branch of Apache Jackrabbit. Branch, tags and releases will still 
be available for future references, but will not show up on the download 
page anymore. Users are encouraged to upgrade to the latest stable 
versions (2.18 for Java 8, 2.14 for Java 7, 2.12 for Java 6).


See , 
 and 
 for further information.


Best regards, Julian


Re: Deprecation of 2.10.x plan

2019-07-03 Thread Julian Reschke

On 28.06.2019 13:58, Julian Reschke wrote:

Hi there,

I'm planning to officially end-of-life Jackrabbit 2.10 next week (see 
):


Users of 2.10 who can move to Java 8 should switch to the latest stable 
release of 2.18.


Users of 2.10 who can move to Java 7 should switch to the latest stable 
release of 2.14.


Users of 2.10 who still are on Java 6 can switch to the latest release 
of 2.12.


What it'll mean in actual actions:

- links will be removed from the download page
- news will be posted on the homepage
- [announce] will be sent to jr-user, jr-dev, oak-dev
- branch and tags WILL stay there

If you have any concerns speak out before next week Thursday.

Best regards, Julian


Hearing no objections, I will now proceed as planned.

Best regards, Julian



[jira] [Commented] (JCR-4458) When JcrRemotingServlet deployed on non-root context, AclResource Webdav request fails

2019-07-03 Thread Julian Reschke (JIRA)


[ 
https://issues.apache.org/jira/browse/JCR-4458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16878322#comment-16878322
 ] 

Julian Reschke commented on JCR-4458:
-

Is this the same issue as JCR-3763?

> When JcrRemotingServlet deployed on non-root context, AclResource Webdav 
> request fails
> --
>
> Key: JCR-4458
> URL: https://issues.apache.org/jira/browse/JCR-4458
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>Affects Versions: 2.18.2
>Reporter: Woonsan Ko
>Priority: Major
>
> If {{org.apache.jackrabbit.server.remoting.davex.JcrRemotingServlet}} is 
> configured in a non-root web application, the contextPath of which is "/cms" 
> for example with the servletPath, "/server", then 
> {{javax.jcr.Session#importXML(...)}} fails from a JCR client based on 
> JCR/WebDAV. In other words, {{#importXML(...)}} fails from a JCR {{Session}} 
> using a repository which can be created like the following for JCR over 
> WebDAV:
> {code}
> String repositoryAddress = "http://localhost:8080/cms/server";;
> Jcr2davRepositoryFactory factory = new Jcr2davRepositoryFactory();
> Map params = new HashMap();
> params.put(JcrUtils.REPOSITORY_URI, repositoryAddress);
> Repository repository = factory.getRepository(params);
> // ...
> {code}
> It seems like that {{Session#importXML(...)}} call invokes an AclResource 
> Webdav request first on the specific resource path, but 
> {{org.apache.jackrabbit.webdav.jcr.version.report.JcrPrivilegeReport#init(DavResource,
>  ReportInfo)}} does not remove the contextPath, "/cms" for example, when 
> determining the resoucrePath.
> Unlike the {{JcrPrivilegeReport}}, 
> {{org.apache.jackrabbit.webdav.WebdavRequestImpl#getHrefLocator(String, 
> boolean)}} seems to remove the contextPath properly.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (JCR-4458) When JcrRemotingServlet deployed on non-root context, AclResource Webdav request fails

2019-07-03 Thread Woonsan Ko (JIRA)


[ 
https://issues.apache.org/jira/browse/JCR-4458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16878198#comment-16878198
 ] 

Woonsan Ko commented on JCR-4458:
-

If [1] is executed without contextPath ({{export 
SERVER_SERVLET_CONTEXT_PATH=}}), and [2] is executed without contextPath as 
well ({{--server="http://localhost:8080/server"}}), then "hello" node is 
successfully imported without problem.

> When JcrRemotingServlet deployed on non-root context, AclResource Webdav 
> request fails
> --
>
> Key: JCR-4458
> URL: https://issues.apache.org/jira/browse/JCR-4458
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>Affects Versions: 2.18.2
>Reporter: Woonsan Ko
>Priority: Major
>
> If {{org.apache.jackrabbit.server.remoting.davex.JcrRemotingServlet}} is 
> configured in a non-root web application, the contextPath of which is "/cms" 
> for example with the servletPath, "/server", then 
> {{javax.jcr.Session#importXML(...)}} fails from a JCR client based on 
> JCR/WebDAV. In other words, {{#importXML(...)}} fails from a JCR {{Session}} 
> using a repository which can be created like the following for JCR over 
> WebDAV:
> {code}
> String repositoryAddress = "http://localhost:8080/cms/server";;
> Jcr2davRepositoryFactory factory = new Jcr2davRepositoryFactory();
> Map params = new HashMap();
> params.put(JcrUtils.REPOSITORY_URI, repositoryAddress);
> Repository repository = factory.getRepository(params);
> // ...
> {code}
> It seems like that {{Session#importXML(...)}} call invokes an AclResource 
> Webdav request first on the specific resource path, but 
> {{org.apache.jackrabbit.webdav.jcr.version.report.JcrPrivilegeReport#init(DavResource,
>  ReportInfo)}} does not remove the contextPath, "/cms" for example, when 
> determining the resoucrePath.
> Unlike the {{JcrPrivilegeReport}}, 
> {{org.apache.jackrabbit.webdav.WebdavRequestImpl#getHrefLocator(String, 
> boolean)}} seems to remove the contextPath properly.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (JCR-4458) When JcrRemotingServlet deployed on non-root context, AclResource Webdav request fails

2019-07-03 Thread Woonsan Ko (JIRA)


[ 
https://issues.apache.org/jira/browse/JCR-4458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16878190#comment-16878190
 ] 

Woonsan Ko edited comment on JCR-4458 at 7/3/19 10:13 PM:
--

If you want, you can reproduce the problem easily with the two tools [1,2] to 
reproduce the problem.

h2. A problem case

- Start Jackrabbit server with a servlet context path ("/cms") using [1]:
{noformat}
$ export SERVER_SERVLET_CONTEXT_PATH=/cms
$ java \
> -Drepository.home=target/jackrabbit-repository \
> -Drepository.config=conf/simple-repository.xml \
> -Dloader.path=lib/ \
> -jar target/jackrabbit-boot-0.0.1-SNAPSHOT.jar

...
{noformat}
- Start JCR Shell [2] as a JCR/WebDAV client, list nodes in the root and try to 
import an XML:
{noformat}
$ cat hello.xml
http://www.jcp.org/jcr/sv/1.0";>
  
Hello, World!
  
  
2009-11-17T12:00:00.000Z
  


$ java -jar target/jcrshell-2.0.4-SNAPSHOT.jar \
>.--server="http://localhost:8080/cms/server"; \
>.--user="admin:admin"
...
exit or quit leaves program.
help lists commands.
jcr-shell:> ls

done.
---
NameType
---
jcr:system  rep:system  
rep:policy  rep:ACL 
---
Command completed in 981 msecs.

admin:/> nodeimport hello.xml
UnsupportedRepositoryOperationException while executing nodeimport: Missing 
implementation

admin:/>

{noformat}
- It fails with an {{UnsupportedRepositoryOperationException}}. The server [1] 
prints the following stack traces:
{noformat}
2019-07-03 17:59:52.794 ERROR 9604 --- [nio-8080-exec-1] 
o.a.c.c.C.[.[.[.[jcrRemotingServlet] : Servlet.service() for servlet 
[jcrRemotingServlet] in context with path [/cms] threw exception

java.lang.IllegalArgumentException: Unexpected format of resource path: 
/cms/server/default/jcr:root (workspace: /cms)
at 
org.apache.jackrabbit.webdav.jcr.DavLocatorFactoryImpl.getRepositoryPath(DavLocatorFactoryImpl.java:65)
 ~[jackrabbit-jcr-server-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.AbstractLocatorFactory$DavResourceLocatorImpl.getRepositoryPath(AbstractLocatorFactory.java:366)
 ~[jackrabbit-webdav-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.jcr.version.report.JcrPrivilegeReport.addResponses(JcrPrivilegeReport.java:130)
 ~[jackrabbit-jcr-server-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.jcr.version.report.JcrPrivilegeReport.init(JcrPrivilegeReport.java:114)
 ~[jackrabbit-jcr-server-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.version.report.ReportType.createReport(ReportType.java:72)
 ~[jackrabbit-webdav-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.jcr.AbstractResource.getReport(AbstractResource.java:513)
 ~[jackrabbit-jcr-server-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.jcr.WorkspaceResourceImpl.getReport(WorkspaceResourceImpl.java:88)
 ~[jackrabbit-jcr-server-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.doReport(AbstractWebdavServlet.java:1117)
 ~[jackrabbit-webdav-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.execute(AbstractWebdavServlet.java:416)
 ~[jackrabbit-webdav-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.service(AbstractWebdavServlet.java:305)
 ~[jackrabbit-webdav-2.18.2.jar!/:na]
...
{noformat}

-
[1] Jackrabbit-boot, https://github.com/woonsan/jackrabbit-boot
 (A simple, minimalistic Jackrabbit 2 standalone application example using 
Spring-boot like Jackrabbit Standalone.)
[2] https://bloomreach-forge.github.io/jcr-shell/
 (An open source shell project to access remote JCR using JCR over WebDAV 
protocol.)


was (Author: woon_san):
If you want, you can reproduce the problem easily with the two tools [1,2] to 
reproduce the problem.

h2. A problem case

- Start Jackrabbit server with a servlet context path ("/cms") using [1]:
{noformat}
$ export SERVER_SERVLET_CONTEXT_PATH=/cms
$ java \
> -Drepository.home=target/jackrabbit-repository \
> -Drepository.config=conf/simple-repository.xml \
> -Dloader.path=lib/ \
> -jar target/jackrabbit-boot-0.0.1-SNAPSHOT.jar

...
{noformat}
- Start JCR Shell [2] as a JCR/WebDAV client, list nodes in the root and try to 
import an XML:
{noformat}
$ java -jar target/jcrshell-2.0.4-SNAPSHOT.jar \
>.--server="http://localhost:8080/cms/server"; \
>.--user="admin:admin"
...
exit or quit leaves program.
help lists commands.
jcr-shell:> ls

done.
---

[jira] [Comment Edited] (JCR-4458) When JcrRemotingServlet deployed on non-root context, AclResource Webdav request fails

2019-07-03 Thread Woonsan Ko (JIRA)


[ 
https://issues.apache.org/jira/browse/JCR-4458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16878190#comment-16878190
 ] 

Woonsan Ko edited comment on JCR-4458 at 7/3/19 10:12 PM:
--

If you want, you can reproduce the problem easily with the two tools [1,2] to 
reproduce the problem.

h2. A problem case

- Start Jackrabbit server with a servlet context path ("/cms") using [1]:
{noformat}
$ export SERVER_SERVLET_CONTEXT_PATH=/cms
$ java \
> -Drepository.home=target/jackrabbit-repository \
> -Drepository.config=conf/simple-repository.xml \
> -Dloader.path=lib/ \
> -jar target/jackrabbit-boot-0.0.1-SNAPSHOT.jar

...
{noformat}
- Start JCR Shell [2] as a JCR/WebDAV client, list nodes in the root and try to 
import an XML:
{noformat}
$ java -jar target/jcrshell-2.0.4-SNAPSHOT.jar \
>.--server="http://localhost:8080/cms/server"; \
>.--user="admin:admin"
...
exit or quit leaves program.
help lists commands.
jcr-shell:> ls

done.
---
NameType
---
jcr:system  rep:system  
rep:policy  rep:ACL 
---
Command completed in 981 msecs.

admin:/> nodeimport hello.xml
UnsupportedRepositoryOperationException while executing nodeimport: Missing 
implementation

admin:/>

{noformat}
- It fails with an {{UnsupportedRepositoryOperationException}}. The server [1] 
prints the following stack traces:
{noformat}
2019-07-03 17:59:52.794 ERROR 9604 --- [nio-8080-exec-1] 
o.a.c.c.C.[.[.[.[jcrRemotingServlet] : Servlet.service() for servlet 
[jcrRemotingServlet] in context with path [/cms] threw exception

java.lang.IllegalArgumentException: Unexpected format of resource path: 
/cms/server/default/jcr:root (workspace: /cms)
at 
org.apache.jackrabbit.webdav.jcr.DavLocatorFactoryImpl.getRepositoryPath(DavLocatorFactoryImpl.java:65)
 ~[jackrabbit-jcr-server-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.AbstractLocatorFactory$DavResourceLocatorImpl.getRepositoryPath(AbstractLocatorFactory.java:366)
 ~[jackrabbit-webdav-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.jcr.version.report.JcrPrivilegeReport.addResponses(JcrPrivilegeReport.java:130)
 ~[jackrabbit-jcr-server-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.jcr.version.report.JcrPrivilegeReport.init(JcrPrivilegeReport.java:114)
 ~[jackrabbit-jcr-server-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.version.report.ReportType.createReport(ReportType.java:72)
 ~[jackrabbit-webdav-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.jcr.AbstractResource.getReport(AbstractResource.java:513)
 ~[jackrabbit-jcr-server-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.jcr.WorkspaceResourceImpl.getReport(WorkspaceResourceImpl.java:88)
 ~[jackrabbit-jcr-server-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.doReport(AbstractWebdavServlet.java:1117)
 ~[jackrabbit-webdav-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.execute(AbstractWebdavServlet.java:416)
 ~[jackrabbit-webdav-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.service(AbstractWebdavServlet.java:305)
 ~[jackrabbit-webdav-2.18.2.jar!/:na]
...
{noformat}

-
[1] Jackrabbit-boot, https://github.com/woonsan/jackrabbit-boot
 (A simple, minimalistic Jackrabbit 2 standalone application example using 
Spring-boot like Jackrabbit Standalone.)
[2] https://bloomreach-forge.github.io/jcr-shell/
 (An open source shell project to access remote JCR using JCR over WebDAV 
protocol.)


was (Author: woon_san):
If you want, you can reproduce the problem easily with the two tools [1,2] to 
reproduce the problem.

h2. A problem case

- Start Jackrabbit server with a servlet context path ("/cms") using [1]:
{noformat}
$ export SERVER_SERVLET_CONTEXT_PATH=/cms
$ java \
> -Drepository.home=target/jackrabbit-repository \
> -Drepository.config=conf/simple-repository.xml \
> -Dloader.path=lib/ \
> -jar target/jackrabbit-boot-0.0.1-SNAPSHOT.jar

...
{noformat}
- Start JCR Shell [2] as a JCR/WebDAV client, list nodes in the root and try to 
import an XML:
{noformat}
$ java -jar target/jcrshell-2.0.4-SNAPSHOT.jar \
>.--server="http://localhost:8080/cms/server"; \
>.--user="admin:admin"
...
exit or quit leaves program.
help lists commands.
jcr-shell:> ls

done.
---
NameType

[jira] [Commented] (JCR-4458) When JcrRemotingServlet deployed on non-root context, AclResource Webdav request fails

2019-07-03 Thread Woonsan Ko (JIRA)


[ 
https://issues.apache.org/jira/browse/JCR-4458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16878190#comment-16878190
 ] 

Woonsan Ko commented on JCR-4458:
-

If you want, you can reproduce the problem easily with the two tools [1,2] to 
reproduce the problem.

h2. A problem case

- Start Jackrabbit server with a servlet context path ("/cms") using [1]:
{noformat}
$ export SERVER_SERVLET_CONTEXT_PATH=/cms
$ java \
> -Drepository.home=target/jackrabbit-repository \
> -Drepository.config=conf/simple-repository.xml \
> -Dloader.path=lib/ \
> -jar target/jackrabbit-boot-0.0.1-SNAPSHOT.jar

...
{noformat}
- Start JCR Shell [2] as a JCR/WebDAV client, list nodes in the root and try to 
import an XML:
{noformat}
$ java -jar target/jcrshell-2.0.4-SNAPSHOT.jar \
>.--server="http://localhost:8080/cms/server"; \
>.--user="admin:admin"
...
exit or quit leaves program.
help lists commands.
jcr-shell:> ls

done.
---
NameType
---
jcr:system  rep:system  
rep:policy  rep:ACL 
---
Command completed in 981 msecs.

admin:/> nodeimport hello.xml
UnsupportedRepositoryOperationException while executing nodeimport: Missing 
implementation

admin:/>

{noformat}
- It fails with an {{UnsupportedRepositoryOperationException}}. The server [1] 
prints the following stack traces:
{noformat}
{noformat}
2019-07-03 17:59:52.794 ERROR 9604 --- [nio-8080-exec-1] 
o.a.c.c.C.[.[.[.[jcrRemotingServlet] : Servlet.service() for servlet 
[jcrRemotingServlet] in context with path [/cms] threw exception

java.lang.IllegalArgumentException: Unexpected format of resource path: 
/cms/server/default/jcr:root (workspace: /cms)
at 
org.apache.jackrabbit.webdav.jcr.DavLocatorFactoryImpl.getRepositoryPath(DavLocatorFactoryImpl.java:65)
 ~[jackrabbit-jcr-server-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.AbstractLocatorFactory$DavResourceLocatorImpl.getRepositoryPath(AbstractLocatorFactory.java:366)
 ~[jackrabbit-webdav-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.jcr.version.report.JcrPrivilegeReport.addResponses(JcrPrivilegeReport.java:130)
 ~[jackrabbit-jcr-server-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.jcr.version.report.JcrPrivilegeReport.init(JcrPrivilegeReport.java:114)
 ~[jackrabbit-jcr-server-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.version.report.ReportType.createReport(ReportType.java:72)
 ~[jackrabbit-webdav-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.jcr.AbstractResource.getReport(AbstractResource.java:513)
 ~[jackrabbit-jcr-server-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.jcr.WorkspaceResourceImpl.getReport(WorkspaceResourceImpl.java:88)
 ~[jackrabbit-jcr-server-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.doReport(AbstractWebdavServlet.java:1117)
 ~[jackrabbit-webdav-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.execute(AbstractWebdavServlet.java:416)
 ~[jackrabbit-webdav-2.18.2.jar!/:na]
at 
org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.service(AbstractWebdavServlet.java:305)
 ~[jackrabbit-webdav-2.18.2.jar!/:na]
...
{noformat}

-
[1] Jackrabbit-boot, https://github.com/woonsan/jackrabbit-boot
 (A simple, minimalistic Jackrabbit 2 standalone application example using 
Spring-boot like Jackrabbit Standalone.)
[2] https://bloomreach-forge.github.io/jcr-shell/
 (An open source shell project to access remote JCR using JCR over WebDAV 
protocol.)

> When JcrRemotingServlet deployed on non-root context, AclResource Webdav 
> request fails
> --
>
> Key: JCR-4458
> URL: https://issues.apache.org/jira/browse/JCR-4458
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>Affects Versions: 2.18.2
>Reporter: Woonsan Ko
>Priority: Major
>
> If {{org.apache.jackrabbit.server.remoting.davex.JcrRemotingServlet}} is 
> configured in a non-root web application, the contextPath of which is "/cms" 
> for example with the servletPath, "/server", then 
> {{javax.jcr.Session#importXML(...)}} fails from a JCR client based on 
> JCR/WebDAV. In other words, {{#importXML(...)}} fails from a JCR {{Session}} 
> using a repository which can be created like the following for JCR over 
> WebDAV:
> {code}
> String repositoryAddress = "http://localhost:8080/cms/server";;
> Jcr2davRepositoryFact

[jira] [Updated] (JCR-4458) When JcrRemotingServlet deployed on non-root context, AclResource Webdav request fails

2019-07-03 Thread Woonsan Ko (JIRA)


 [ 
https://issues.apache.org/jira/browse/JCR-4458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Woonsan Ko updated JCR-4458:

Description: 
If {{org.apache.jackrabbit.server.remoting.davex.JcrRemotingServlet}} is 
configured in a non-root web application, the contextPath of which is "/cms" 
for example with the servletPath, "/server", then 
{{javax.jcr.Session#importXML(...)}} fails from a JCR client based on 
JCR/WebDAV. In other words, {{#importXML(...)}} fails from a JCR {{Session}} 
using a repository which can be created like the following for JCR over WebDAV:

{code}
String repositoryAddress = "http://localhost:8080/cms/server";;
Jcr2davRepositoryFactory factory = new Jcr2davRepositoryFactory();
Map params = new HashMap();
params.put(JcrUtils.REPOSITORY_URI, repositoryAddress);
Repository repository = factory.getRepository(params);
// ...
{code}

It seems like that {{Session#importXML(...)}} call invokes an AclResource 
Webdav request first on the specific resource path, but 
{{org.apache.jackrabbit.webdav.jcr.version.report.JcrPrivilegeReport#init(DavResource,
 ReportInfo)}} does not remove the contextPath, "/cms" for example, when 
determining the resoucrePath.

Unlike the {{JcrPrivilegeReport}}, 
{{org.apache.jackrabbit.webdav.WebdavRequestImpl#getHrefLocator(String, 
boolean)}} seems to remove the contextPath properly.

  was:
If {{org.apache.jackrabbit.server.remoting.davex.JcrRemotingServlet}} is 
configured as a servlet on servletPath, "/server", in a web application, the 
contextPath of which is "/cms" for example, then 
{{javax.jcr.Session#importXML(...)}} fails from a JCR client based on 
JCR/WebDAV. In other words, from a JCR Session from the repository like the 
following:

{code}
String repositoryAddress = "http://localhost:8080/cms/server";;
Jcr2davRepositoryFactory factory = new Jcr2davRepositoryFactory();
Map params = new HashMap();
params.put(JcrUtils.REPOSITORY_URI, repositoryAddress);
Repository repository = factory.getRepository(params);
// ...
{code}

It seems like that {{Session#importXML(...)}} call invokes an AclResource 
Webdav request first on the specific resource path, but 
{{org.apache.jackrabbit.webdav.jcr.version.report.JcrPrivilegeReport#init(DavResource,
 ReportInfo)}} does not remove the contextPath, "/cms" for example, when 
determining the resoucrePath.

Unlike the {{JcrPrivilegeReport}}, 
{{org.apache.jackrabbit.webdav.WebdavRequestImpl#getHrefLocator(String, 
boolean)}} seems to remove the contextPath property.


> When JcrRemotingServlet deployed on non-root context, AclResource Webdav 
> request fails
> --
>
> Key: JCR-4458
> URL: https://issues.apache.org/jira/browse/JCR-4458
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>Affects Versions: 2.18.2
>Reporter: Woonsan Ko
>Priority: Major
>
> If {{org.apache.jackrabbit.server.remoting.davex.JcrRemotingServlet}} is 
> configured in a non-root web application, the contextPath of which is "/cms" 
> for example with the servletPath, "/server", then 
> {{javax.jcr.Session#importXML(...)}} fails from a JCR client based on 
> JCR/WebDAV. In other words, {{#importXML(...)}} fails from a JCR {{Session}} 
> using a repository which can be created like the following for JCR over 
> WebDAV:
> {code}
> String repositoryAddress = "http://localhost:8080/cms/server";;
> Jcr2davRepositoryFactory factory = new Jcr2davRepositoryFactory();
> Map params = new HashMap();
> params.put(JcrUtils.REPOSITORY_URI, repositoryAddress);
> Repository repository = factory.getRepository(params);
> // ...
> {code}
> It seems like that {{Session#importXML(...)}} call invokes an AclResource 
> Webdav request first on the specific resource path, but 
> {{org.apache.jackrabbit.webdav.jcr.version.report.JcrPrivilegeReport#init(DavResource,
>  ReportInfo)}} does not remove the contextPath, "/cms" for example, when 
> determining the resoucrePath.
> Unlike the {{JcrPrivilegeReport}}, 
> {{org.apache.jackrabbit.webdav.WebdavRequestImpl#getHrefLocator(String, 
> boolean)}} seems to remove the contextPath properly.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (JCR-4458) When JcrRemotingServlet deployed on non-root context, AclResource Webdav request fails

2019-07-03 Thread Woonsan Ko (JIRA)


 [ 
https://issues.apache.org/jira/browse/JCR-4458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Woonsan Ko updated JCR-4458:

Description: 
If {{org.apache.jackrabbit.server.remoting.davex.JcrRemotingServlet}} is 
configured as a servlet on servletPath, "/server", in a web application, the 
contextPath of which is "/cms" for example, then 
{{javax.jcr.Session#importXML(...)}} fails from a JCR client based on 
JCR/WebDAV. In other words, from a JCR Session from the repository like the 
following:

{code}
String repositoryAddress = "http://localhost:8080/cms/server";;
Jcr2davRepositoryFactory factory = new Jcr2davRepositoryFactory();
Map params = new HashMap();
params.put(JcrUtils.REPOSITORY_URI, repositoryAddress);
Repository repository = factory.getRepository(params);
// ...
{code}

It seems like that {{Session#importXML(...)}} call invokes an AclResource 
Webdav request first on the specific resource path, but 
{{org.apache.jackrabbit.webdav.jcr.version.report.JcrPrivilegeReport#init(DavResource,
 ReportInfo)}} does not remove the contextPath, "/cms" for example, when 
determining the resoucrePath.

Unlike the {{JcrPrivilegeReport}}, 
{{org.apache.jackrabbit.webdav.WebdavRequestImpl#getHrefLocator(String, 
boolean)}} seems to remove the contextPath property.

  was:
If {{org.apache.jackrabbit.server.remoting.davex.JcrRemotingServlet}} is 
configured as a servlet on servletPath, "/server", in a web application, the 
contextPath of which is "/cms" for example, then 
{{javax.jcr.Session#importXML(...)}} fails from a JCR client based on 
JCR/WebDAV. In other words, from a JCR Session from the repository like the 
following:

{code}
String repositoryAddress = (args.length != 0) ? args[0] : 
"http://localhost:8080/cms/server";;
Jcr2davRepositoryFactory factory = new Jcr2davRepositoryFactory();
Map params = new HashMap();
params.put(JcrUtils.REPOSITORY_URI, repositoryAddress);
Repository repository = factory.getRepository(params);
// ...
{code}

It seems like that {{Session#importXML(...)}} call invokes an AclResource 
Webdav request first on the specific resource path, but 
{{org.apache.jackrabbit.webdav.jcr.version.report.JcrPrivilegeReport#init(DavResource,
 ReportInfo)}} does not remove the contextPath, "/cms" for example, when 
determining the resoucrePath.

Unlike the {{JcrPrivilegeReport}}, 
{{org.apache.jackrabbit.webdav.WebdavRequestImpl#getHrefLocator(String, 
boolean)}} seems to remove the contextPath property.


> When JcrRemotingServlet deployed on non-root context, AclResource Webdav 
> request fails
> --
>
> Key: JCR-4458
> URL: https://issues.apache.org/jira/browse/JCR-4458
> Project: Jackrabbit Content Repository
>  Issue Type: Bug
>Affects Versions: 2.18.2
>Reporter: Woonsan Ko
>Priority: Major
>
> If {{org.apache.jackrabbit.server.remoting.davex.JcrRemotingServlet}} is 
> configured as a servlet on servletPath, "/server", in a web application, the 
> contextPath of which is "/cms" for example, then 
> {{javax.jcr.Session#importXML(...)}} fails from a JCR client based on 
> JCR/WebDAV. In other words, from a JCR Session from the repository like the 
> following:
> {code}
> String repositoryAddress = "http://localhost:8080/cms/server";;
> Jcr2davRepositoryFactory factory = new Jcr2davRepositoryFactory();
> Map params = new HashMap();
> params.put(JcrUtils.REPOSITORY_URI, repositoryAddress);
> Repository repository = factory.getRepository(params);
> // ...
> {code}
> It seems like that {{Session#importXML(...)}} call invokes an AclResource 
> Webdav request first on the specific resource path, but 
> {{org.apache.jackrabbit.webdav.jcr.version.report.JcrPrivilegeReport#init(DavResource,
>  ReportInfo)}} does not remove the contextPath, "/cms" for example, when 
> determining the resoucrePath.
> Unlike the {{JcrPrivilegeReport}}, 
> {{org.apache.jackrabbit.webdav.WebdavRequestImpl#getHrefLocator(String, 
> boolean)}} seems to remove the contextPath property.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (JCR-4458) When JcrRemotingServlet deployed on non-root context, AclResource Webdav request fails

2019-07-03 Thread Woonsan Ko (JIRA)
Woonsan Ko created JCR-4458:
---

 Summary: When JcrRemotingServlet deployed on non-root context, 
AclResource Webdav request fails
 Key: JCR-4458
 URL: https://issues.apache.org/jira/browse/JCR-4458
 Project: Jackrabbit Content Repository
  Issue Type: Bug
Affects Versions: 2.18.2
Reporter: Woonsan Ko


If {{org.apache.jackrabbit.server.remoting.davex.JcrRemotingServlet}} is 
configured as a servlet on servletPath, "/server", in a web application, the 
contextPath of which is "/cms" for example, then 
{{javax.jcr.Session#importXML(...)}} fails from a JCR client based on 
JCR/WebDAV. In other words, from a JCR Session from the repository like the 
following:

{code}
String repositoryAddress = (args.length != 0) ? args[0] : 
"http://localhost:8080/cms/server";;
Jcr2davRepositoryFactory factory = new Jcr2davRepositoryFactory();
Map params = new HashMap();
params.put(JcrUtils.REPOSITORY_URI, repositoryAddress);
Repository repository = factory.getRepository(params);
// ...
{code}

It seems like that {{Session#importXML(...)}} call invokes an AclResource 
Webdav request first on the specific resource path, but 
{{org.apache.jackrabbit.webdav.jcr.version.report.JcrPrivilegeReport#init(DavResource,
 ReportInfo)}} does not remove the contextPath, "/cms" for example, when 
determining the resoucrePath.

Unlike the {{JcrPrivilegeReport}}, 
{{org.apache.jackrabbit.webdav.WebdavRequestImpl#getHrefLocator(String, 
boolean)}} seems to remove the contextPath property.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)