[
https://issues.apache.org/jira/browse/SLING-6618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15907392#comment-15907392
]
Robert Munteanu commented on SLING-6618:
----------------------------------------
{quote}For the short-term I would rather like to rely on the workaround from
https://fisheye.apache.org/browse/jackrabbit/commons/filevault/trunk/vault-davex/src/main/java/org/apache/jackrabbit/vault/davex/DAVExRepositoryFactory.java?u=-1&r1=1765204&r2=1775225
which allows to pass in a default workspace name. That would be extracted from
the URI. That way the fix would just be a one-liner in RepositoryUtils for the
constant WEBDAV_URL_LOCATIONS:
crx/-/jcr:root would just become crx/crx.default/jcr:root.{quote}
That sounds good to me.
{quote}I think the right long-term fix would be
https://issues.apache.org/jira/browse/JCR-4120.{quote}
If we have stable Oak releases or AEM releases with this behavior we're going
to have to keep the hardcoded workspace name in our code. Otherwise the IDE
tooling will simply break for whoever is running those releases.
> Specify crx.default as workspace for AEM servers
> ------------------------------------------------
>
> Key: SLING-6618
> URL: https://issues.apache.org/jira/browse/SLING-6618
> Project: Sling
> Issue Type: Bug
> Components: IDE
> Affects Versions: Sling Eclipse IDE 1.0.10
> Reporter: Karl Pauls
> Assignee: Karl Pauls
> Fix For: Sling Eclipse IDE 1.2.0
>
> Attachments: SLING-6618.patch
>
>
> The current impl-vlt does try to connect to two different repository urls -
> one for sling and one for crx. In the case of the latter, it apparently needs
> to subsequently give the default workspace name (crx.default) to the login
> method - otherwise, trying to connect to the AEM server fails with
> "precondition failed" messages.
> The full stack trace of the according {{RepositoryException}} looks like this
> {code}
> javax.jcr.lock.LockException: Precondition Failed
> at
> org.apache.jackrabbit.spi2dav.ExceptionConverter.generate(ExceptionConverter.java:109)
> at
> org.apache.jackrabbit.spi2dav.ExceptionConverter.generate(ExceptionConverter.java:51)
> at
> org.apache.jackrabbit.spi2dav.ExceptionConverter.generate(ExceptionConverter.java:45)
> at
> org.apache.jackrabbit.spi2dav.RepositoryServiceImpl.obtain(RepositoryServiceImpl.java:809)
> at
> org.apache.jackrabbit.spi2dav.RepositoryServiceImpl.obtain(RepositoryServiceImpl.java:753)
> at
> org.apache.jackrabbit.spi2davex.RepositoryServiceImpl.obtain(RepositoryServiceImpl.java:307)
> at
> org.apache.jackrabbit.jcr2spi.RepositoryImpl.login(RepositoryImpl.java:151)
> at
> org.apache.jackrabbit.commons.AbstractRepository.login(AbstractRepository.java:144)
> at
> org.apache.sling.ide.jcr.RepositoryUtils.getRepositoryAddress(RepositoryUtils.java:84)
> at
> org.apache.sling.ide.jcr.RepositoryUtils.getRepository(RepositoryUtils.java:44)
> at
> org.apache.sling.ide.impl.vlt.VltRepository.connect(VltRepository.java:70)
> at
> org.apache.sling.ide.impl.vlt.VltRepositoryFactory.connectRepository(VltRepositoryFactory.java:69)
> at
> org.apache.sling.ide.eclipse.core.ServerUtil.connectRepository(ServerUtil.java:146)
> at
> org.apache.sling.ide.eclipse.core.internal.SlingLaunchpadBehaviour.start(SlingLaunchpadBehaviour.java:95)
> at
> org.apache.sling.ide.eclipse.core.internal.SlingLaunchpadLaunchConfigurationDelegate.launch(SlingLaunchpadLaunchConfigurationDelegate.java:45)
> at
> org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:885)
> at
> org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:739)
> at
> org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:731)
> at
> org.eclipse.wst.server.core.internal.Server.startImpl2(Server.java:3541)
> at
> org.eclipse.wst.server.core.internal.Server.startImpl(Server.java:3477)
> at
> org.eclipse.wst.server.core.internal.Server$StartJob.run(Server.java:367)
> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
> Caused by: org.apache.jackrabbit.webdav.DavException: Precondition Failed
> at
> org.apache.jackrabbit.webdav.client.methods.DavMethodBase.getResponseException(DavMethodBase.java:162)
> at
> org.apache.jackrabbit.webdav.client.methods.DavMethodBase.getResponseBodyAsMultiStatus(DavMethodBase.java:91)
> at
> org.apache.jackrabbit.spi2dav.RepositoryServiceImpl.obtain(RepositoryServiceImpl.java:781)
> ... 18 more
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)