Hippo cms将内容添加到存储库

时间:2015-03-05 14:40:32

标签: jcr hippocms

这次我正在尝试使用组件向存储库添加值。我没有阅读的问题。

目前,我正在尝试将城市添加到存储库

我的代码:

Session session = this.getPersistableSession(request);
HippoBean siteBaseBean = request.getRequestContext().getSiteContentBaseBean();
HippoBean hippoFolder = siteBaseBean.getBean("city"); 
Node node = hippoFolder.getNode();

String path = node.getPath(); // it's working "/content/documents/myhippoproject/city"

node.addNode("4","hippo:handle");
session.save();

此代码后没有任何反应。我也试过了:

node.addNode("4",HippoNodeType.HIPPO_NODE);

没有错误和节点。

1 个答案:

答案 0 :(得分:2)

好的,我找到了解决方案。

Session session = this.getPersistableSession(request);
    HippoBean siteBaseBean = request.getRequestContext().getSiteContentBaseBean();
HippoBean hippoFolder = siteBaseBean.getBean("city"); 
    Node node = hippoFolder.getNode();

HippoRepository repository = HippoRepositoryFactory.getHippoRepository("vm://");
            Session session2 = repository.login("admin", "admin".toCharArray());


            HstRequestContext requestContext = request.getRequestContext();
            WorkflowPersistenceManager wpm = null;
            wpm = getWorkflowPersistenceManager(session2);
            wpm.setWorkflowCallbackHandler(new BaseWorkflowCallbackHandler<DocumentWorkflow>() {
                public void processWorkflow(DocumentWorkflow wf) throws Exception {
                    wf.requestPublication();
                }
            });
String name = "12";

wpm.createAndReturn(node.getPath(), "myhippoproject:City", name, false);

City city = (City) wpm.getObject(node.getPath() + "/" + name);
                wpm.update(city);
                session2.save();