1

今回はコンポーネントを使ってリポジトリに値を追加しようとしています。読む分には問題ありません。

現在、都市をリポジトリに追加しようとしています

私のコード:

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);

エラーとノードはありません。

4

1 に答える 1

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();
于 2015-03-17T11:06:57.220 に答える