You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Kurz Wolfgang <wo...@gwvs.de> on 2009/01/23 11:27:28 UTC
Problem reading from Repository useing ocm
Hello everyone,
I have a problem readign my content from the repository useing ocm.
This is what I do:
I create a entry like this:
private boolean createArtikelContent(JCRArtikelContent entry) {
try {
ObjectContentManager ocm = ocmFactory.createObjectContentManager();
ocm.insert(entry);
ocm.save();
return true;
} catch (RepositoryException e) {
logger.error(e.getLocalizedMessage(), e);
return false;
} catch (ObjectContentManagerException e) {
logger.error(e.getLocalizedMessage(), e);
return false;
}
}
When I check with the WebdaV browser in the jackrabbit web application I can see it created a Artikel node.
Then I try to read from the repository:
private List<JCRContentNode> getContentEntrysByMenuId(final long menuId, final boolean all, final boolean article,
final boolean document, final boolean form, final boolean report, final boolean independentDocumentsOnly) {
try{
ObjectContentManager ocm = ocmFactory.createObjectContentManager();
org.apache.jackrabbit.ocm.query.QueryManager queryManager = ocm.getQueryManager();
Filter filter = queryManager.createFilter(JCRArtikelContent.class);
org.apache.jackrabbit.ocm.query.Query query = queryManager.createQuery(filter);
List<JCRArtikelContent> artikelList = (List<JCRArtikelContent>)ocm.getObjects(query);
} catch (Exception e) {
e.printStackTrace();
logger.error(e.getLocalizedMessage(), e);
return null;
}
return null;
}
And I get the following error:
org.apache.jackrabbit.ocm.exception.JcrMappingException: Cannot create instance for class de.gwvs.tos.commons.jackrabbit.domain.JCRArtikelContent; nested exception is java.lang.InstantiationException: de.gwvs.tos.commons.jackrabbit.domain.JCRArtikelContent
java.lang.InstantiationException: de.gwvs.tos.commons.jackrabbit.domain.JCRArtikelContent
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.apache.jackrabbit.ocm.reflection.ReflectionUtils.newInstance(ReflectionUtils.java:172)
at org.apache.jackrabbit.ocm.manager.objectconverter.impl.ObjectConverterImpl.getObject(ObjectConverterImpl.java:388)
at org.apache.jackrabbit.ocm.manager.impl.ObjectContentManagerImpl.getObjects(ObjectContentManagerImpl.java:624)
at org.apache.jackrabbit.ocm.manager.impl.ObjectContentManagerImpl.getObjects(ObjectContentManagerImpl.java:548)
at de.gwvs.tos.commons.jackrabbit.dao.jcr.JCRDaoImpl.getContentEntrysByMenuId(JCRDaoImpl.java:1262)
Anyone have an idea what I am doing wrong?
Thx a lot in Advance!
RE: Problem reading from Repository useing ocm
Posted by "Ye, Forest (MAN-Corporate)" <Fo...@manheim.com>.
It seems you do not have a default constructor.
-----Original Message-----
From: Kurz Wolfgang [mailto:wolfgang.kurz@gwvs.de]
Sent: Friday, January 23, 2009 5:27 AM
To: users@jackrabbit.apache.org
Subject: Problem reading from Repository useing ocm
Hello everyone,
I have a problem readign my content from the repository useing ocm.
This is what I do:
I create a entry like this:
private boolean createArtikelContent(JCRArtikelContent entry) {
try {
ObjectContentManager ocm =
ocmFactory.createObjectContentManager();
ocm.insert(entry);
ocm.save();
return true;
} catch (RepositoryException e) {
logger.error(e.getLocalizedMessage(), e);
return false;
} catch (ObjectContentManagerException e) {
logger.error(e.getLocalizedMessage(), e);
return false;
}
}
When I check with the WebdaV browser in the jackrabbit web application I
can see it created a Artikel node.
Then I try to read from the repository:
private List<JCRContentNode> getContentEntrysByMenuId(final long menuId,
final boolean all, final boolean article,
final boolean document, final boolean form,
final boolean report, final boolean independentDocumentsOnly) {
try{
ObjectContentManager ocm =
ocmFactory.createObjectContentManager();
org.apache.jackrabbit.ocm.query.QueryManager
queryManager = ocm.getQueryManager();
Filter filter =
queryManager.createFilter(JCRArtikelContent.class);
org.apache.jackrabbit.ocm.query.Query query =
queryManager.createQuery(filter);
List<JCRArtikelContent> artikelList =
(List<JCRArtikelContent>)ocm.getObjects(query);
} catch (Exception e) {
e.printStackTrace();
logger.error(e.getLocalizedMessage(), e);
return null;
}
return null;
}
And I get the following error:
org.apache.jackrabbit.ocm.exception.JcrMappingException: Cannot create
instance for class
de.gwvs.tos.commons.jackrabbit.domain.JCRArtikelContent; nested
exception is java.lang.InstantiationException:
de.gwvs.tos.commons.jackrabbit.domain.JCRArtikelContent
java.lang.InstantiationException:
de.gwvs.tos.commons.jackrabbit.domain.JCRArtikelContent
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at
org.apache.jackrabbit.ocm.reflection.ReflectionUtils.newInstance(Reflect
ionUtils.java:172)
at
org.apache.jackrabbit.ocm.manager.objectconverter.impl.ObjectConverterIm
pl.getObject(ObjectConverterImpl.java:388)
at
org.apache.jackrabbit.ocm.manager.impl.ObjectContentManagerImpl.getObjec
ts(ObjectContentManagerImpl.java:624)
at
org.apache.jackrabbit.ocm.manager.impl.ObjectContentManagerImpl.getObjec
ts(ObjectContentManagerImpl.java:548)
at
de.gwvs.tos.commons.jackrabbit.dao.jcr.JCRDaoImpl.getContentEntrysByMenu
Id(JCRDaoImpl.java:1262)
Anyone have an idea what I am doing wrong?
Thx a lot in Advance!