Issue to update the document property through program

Hi Team,

Currently I am working on hippo upgrade from 11.2.14 to 12.6.6. So I wanted to update the field property of hippo document through program based on certain conditions.

When save() is called on WorkflowPersistenceManager instance it is giving me following exception.

org.hippoecm.hst.content.beans.ObjectBeanPersistenceException: javax.jcr.RepositoryException: configuration problem

As mentioned on site, the default user is sitewriter and should have write permissions.

I already given that. The code works fine on version 11.2.14. Is there anything changed on version 12 from WorkflowPersistenceManager point of view?

Any help appreciated.

Thanks,
Priyanka

Hi Priyanjka,
The exception seems to come from the derived data engine, which
calculates derivative properties just after the save, as
configured below /hippo:configuration/hippo:derivatives. Do you
have a custom implemention there? You can get more information by
setting DEBUG level to class
org.hippoecm.repository.deriveddata.DerivedDataEngine.

Also, isn’t there a longer stack trace?
HTH
Jeroen

Hi Jeroen,

Thanks for your reply. No, I haven’t done any custom implementation below /hippo:configuration/hippo:derivatives.

I am trying to do something like this:

Demo demo = (Demo) wpm.getObject(node.getPath()); //wpm is (WorkflowPersistenceManager)

demo.getNode().setProperty(“abc:test”, value);

wpm.refresh(true);

//So it executes properly till this point

wpm.save();//After this it throws above exception.

Thanks,
Priyanka

Hi Priyanka,

wpm.refresh() shouldn’t be called before calling .save(). Please test it after moving the .refresh() call after the .save() call, or just remove the .refresh() call.
If you refresh the session, all the nodes and its content beans need to be re-retrieved (e.g, #getObject(...)).

Regards,

Woonsan

Thanks Woonsan. I tried by removing the refresh(true) call completely and then also by calling resfresh(true) after the save() but still getting same exception.

Any other suggestions?

Regards,
Priyanka

I’d try to leave stack traces when failing the wpm.update() call. e.g, log.error("...", e).

Woonsan