2011-07-31 32 views
-1

私は新しいコンテンツモデルを持っており、それによって私は "組織"という新しいノードを作成し、そのノードは組織フォルダの下に保存されます。ノードブラウザが正しく動作しない

ノードを作成した後、ノードブラウザと検索サービスは組織フォルダノードにナビゲートするまで、組織フォルダにある自分の組織ノードを見つけることができませんでした。

助けてもらえますか?

すべての返信は高く評価されています。

私のコードは、次のとおりです。 モハメド・アムル シニアシステム開発 Digitalシリーズ株式会社

答えて

2

ストレンジ

   // Acquire organization folder 
      Node organizationsFolder = new Node(NodeUtil 
        .acquireOrganizationsFolder(searchService)); 
      // current organization created 
      currentOrganization = new Node(
        nodeService.createNode(
            organizationsFolder.getNodeRef(), 
            ContentModel.ASSOC_CONTAINS, 
            QName.createQName(
                Constants.DIGITAL_SERIES_SECURITY_MODEL_NAMEPSACE_PREFIX_STRING, 
                Constants.TYPE_SEC_ORGANIZATION_STRING), 
            Constants.SecurityModelQNames.TYPE_SEC_ORGANIZATION, 
            new HashMap<QName,Serializable>()).getChildRef()); 

      // PREPARE ORGANIZATION SEQUENCE ID 
      Node organizationSeq = new Node(SequenceUtil.prepareSequence(
        SequenceUtil.ORGANIZATION_SEQUENCE_NODE_NAME_STRING, 
        nodeService, searchService)); 

      // LOCK ORGANIZATION SEQUENCE 
      if(!organizationSeq.isLocked()){ 
       lockService.lock(organizationSeq.getNodeRef(), LockType.NODE_LOCK); 
       // GET THE NEXT SEQUENCE 
       SequenceUtil.addCurrentSequence(organizationSeq.getNodeRef(), nodeService); 
      } 

      // PREPARE ORGANIZATION PROPERTIES 
      Map<QName, Serializable> orgProps = new HashMap<QName, Serializable>(); 

      // UPDATE ORGANIZATION SEQUENCE ID 
      orgProps.put(Constants.SecurityModelQNames.PROP_SEC_ORGANIZATION_ORGANIZATION_ID, 
          SequenceUtil.getCurrentSequence(
            organizationSeq.getNodeRef(), nodeService)); 
      // UPDATE ORGANIZATION/CONTENT NAME PROPERTY 
      orgProps.put(ContentModel.PROP_NAME, 
        NodeUtil.extractNodeProperty(Constants.SecurityModelQNames.PROP_SEC_ORGANIZATION_ORGANIZATION_NAME, 
          currentOrganization).toString() + 
        "_"+orgProps.get(Constants.SecurityModelQNames.PROP_SEC_ORGANIZATION_ORGANIZATION_ID)); 
      // UPDATE ORGANIZATION NAME PROPERTY 
      orgProps.put(Constants.SecurityModelQNames.PROP_SEC_ORGANIZATION_ORGANIZATION_NAME, 
        NodeUtil.extractNodeProperty(Constants.SecurityModelQNames.PROP_SEC_ORGANIZATION_ORGANIZATION_NAME, 
          currentOrganization).toString()); 
      // UPDATE ORGANIZATION DESCRIPTION 
      orgProps.put(Constants.SecurityModelQNames.PROP_SEC_ORGANIZATION_ORGANIZATION_DESCRIPTION, 
        NodeUtil.extractNodeProperty(Constants.SecurityModelQNames.PROP_SEC_ORGANIZATION_ORGANIZATION_DESCRIPTION, 
          currentOrganization).toString()); 
      // UPDATE THE PROPERTIES TO AN ORGANIZATION NODE 
      nodeService.setProperties(currentOrganization.getNodeRef(), orgProps); 
      // UNLOCK 
      lockService.unlock(organizationSeq.getNodeRef()); 

おかげで、通常はそれが動作するはずです。

作成したコンテンツを直接検索しようとすると、インデックス作成プロセスがまだアクティブになっている可能性があります。

ノードをどのように作成するのかコードを投稿できますか?

関連する問題