How to start a jcr repository using hippo storage folder?

14 views
Skip to first unread message

Tomasz Szymański

unread,
Jun 22, 2017, 5:33:50 AM6/22/17
to Hippo Community
Hi there and welcome :)

I'm on hippo 10.0.2. Using oracle JDK 1.8.0_71 on a Mac.

I've created a versioning system for the JCR (similar to http://www.liquibase.org/ or such) in order to maintain JCR schema in hippo. The whole thing seems to work (i might opensource it if anyone is interested ;-) ) but last one think i wanted to put in my environment are integration tests that will copy hippo repository and try running a migration on it, before making it on the actual thing.

So for this i need to start a repo from tests:

System.setProperty(LocalHippoRepository.SYSTEM_CONFIG_PROPERTY, "/repository_config_base.xml");
Repository newRepository = new JcrHippoRepository("file://"+repoDir);
Session session = newRepository.login(new SimpleCredentials("admin", "admin"));

The repository_config_base.xml is a repository.xml copied from hippo-repository-resource-3.0.0.jar.

repoDir points to the storage folder, created by hippo.

What I am getting is:

Caused by: javax.jcr.RepositoryException: javax.jcr.RepositoryException: unchecked exception: java.lang.reflect.InvocationTargetException: null
at org.hippoecm.hst.core.jcr.pool.JcrHippoRepository.initHippoRepository(JcrHippoRepository.java:127)
at org.hippoecm.hst.core.jcr.pool.JcrHippoRepository.login(JcrHippoRepository.java:195)
... 5 more
Caused by: javax.jcr.RepositoryException: unchecked exception: java.lang.reflect.InvocationTargetException: null
at org.hippoecm.repository.HippoRepositoryFactory.getHippoRepository(HippoRepositoryFactory.java:191)
at org.hippoecm.hst.core.jcr.pool.JcrHippoRepository.initHippoRepository(JcrHippoRepository.java:122)
... 9 more
Caused by: java.lang.reflect.InvocationTargetException
at org.hippoecm.repository.HippoRepositoryFactory.getHippoRepository(HippoRepositoryFactory.java:178)
... 10 more
Caused by: java.lang.AssertionError
at org.apache.jackrabbit.core.persistence.util.NodePropBundle.addProperty(NodePropBundle.java:309)
at org.apache.jackrabbit.core.persistence.util.BundleReader.readBundleNew(BundleReader.java:189)
at org.apache.jackrabbit.core.persistence.util.BundleReader.readBundle(BundleReader.java:146)
at org.apache.jackrabbit.core.persistence.util.BundleBinding.readBundle(BundleBinding.java:152)
at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.readBundle(BundleDbPersistenceManager.java:927)
at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:889)
at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundleCacheMiss(AbstractBundlePersistenceManager.java:769)
at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundle(AbstractBundlePersistenceManager.java:752)
at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.exists(AbstractBundlePersistenceManager.java:563)
at org.apache.jackrabbit.core.state.SharedItemStateManager.hasNonVirtualItemState(SharedItemStateManager.java:1822)
at org.apache.jackrabbit.core.state.SharedItemStateManager.<init>(SharedItemStateManager.java:216)
at org.hippoecm.repository.jackrabbit.HippoSharedItemStateManager.<init>(HippoSharedItemStateManager.java:71)
at org.hippoecm.repository.jackrabbit.RepositoryImpl.createItemStateManager(RepositoryImpl.java:173)
at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.doInitialize(RepositoryImpl.java:2062)
at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.initialize(RepositoryImpl.java:2035)
at org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(RepositoryImpl.java:543)
at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:326)
at org.hippoecm.repository.jackrabbit.RepositoryImpl.<init>(RepositoryImpl.java:67)
at org.hippoecm.repository.LocalHippoRepository$LocalRepositoryImpl.<init>(LocalHippoRepository.java:240)
at org.hippoecm.repository.LocalHippoRepository.initialize(LocalHippoRepository.java:262)
at org.hippoecm.repository.LocalHippoRepository.create(LocalHippoRepository.java:118)
at org.hippoecm.repository.LocalHippoRepository.create(LocalHippoRepository.java:108)
... 11 more

And while checking with the debugger on what is going on there's an assertion when trying to a add a bundle that whatever is added is not a mixing and indeed it is, a mixin, and actually the one i have defined in the bootstrap .cnd file in hippo.

Any idea on what could I be doing wrong? Must i somehow use my cnds when creating the repo (but i would assume it's part of the repo files ;) ).

Thanks,
Tomek
Reply all
Reply to author
Forward
0 new messages