Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在户外为nodeService.getChildAssocs找到一家公司?_Java_Lucene_Alfresco_Activiti - Fatal编程技术网

Java 如何在户外为nodeService.getChildAssocs找到一家公司?

Java 如何在户外为nodeService.getChildAssocs找到一家公司?,java,lucene,alfresco,activiti,Java,Lucene,Alfresco,Activiti,实际上,我试图从alfresco中的当前任务中获取文件,但找不到任何关于如何获取当前节点的描述。我发现我可以使用以下方法获得所有需要的子节点: List<ChildAssociationRef> children = nodeService.getChildAssocs(companyHome) 但我不能硬编码路径,因为Alfresco可以在服务器或其他服务器上的任何位置运行。 使用Lucene也可以获得NodeRef,如下所示: SearchParameters

实际上,我试图从alfresco中的当前任务中获取文件,但找不到任何关于如何获取当前节点的描述。我发现我可以使用以下方法获得所有需要的子节点:

List<ChildAssociationRef> children = nodeService.getChildAssocs(companyHome)
但我不能硬编码路径,因为Alfresco可以在服务器或其他服务器上的任何位置运行。 使用Lucene也可以获得NodeRef,如下所示:

        SearchParameters sp = new SearchParameters();
        sp.addStore(getStoreRef());
        sp.setLanguage(SearchService.LANGUAGE_LUCENE);
        sp.setQuery("TYPE:\"{http://www.alfresco.org/model/content/1.0}content\"");
        ResultSet results = null;
        try
        {
            results = serviceRegistry.getSearchService().query(sp);
            for(ResultSetRow row : results)
            {
                NodeRef currentNodeRef = row.getNodeRef();
                ...
            }
        }
        finally
        {
            if(results != null)
            {
                results.close();
            }
        }  
ServiceRegistry serviceRegistry = (ServiceRegistry) context.getBean("ServiceRegistry");

Node rootNode = session.getRootNode();
//obtaining root node company home 
Node companyHome = rootNode.getNode("app:company_home");
// getting noderef of company home node
NodeRef companyHomeRef = JCRNodeRef.getNodeRef(companyHome);

List<ChildAssociationRef> children = nodeService.getChildAssocs(companyHomeRef);
   for (ChildAssociationRef childAssoc : children) {
       NodeRef childNodeRef = childAssoc.getChildRef();
       // Use childNodeRef here.
   }
但这将返回alfresco中存在的所有节点。 也许有可能改进其中一种方法来达到我的愿望?或者也许还有别的办法

UPD:下面是我想获取和使用节点的代码部分:

        NodeService nodeService = getServiceRegistry().getNodeService();                    
        ContentService contentService = getServiceRegistry().getContentService();

        List<ChildAssociationRef> children = nodeService.getChildAssocs(companyHome);
         if (children.isEmpty()) {
            throw new AlfrescoRuntimeException("Workflow bpm_package does not contain any files");
        }
         for(ChildAssociationRef childAssoc: children){
                NodeRef childNodeRef = childAssoc.getChildRef();
                FileBinary = getFileBinary(childNodeRef, contentService);
NodeService NodeService=getServiceRegistry().getNodeService();
ContentService ContentService=getServiceRegistry().getContentService();
List children=nodeService.getChildAssocs(companyHome);
if(children.isEmpty()){
抛出新的AlfrescoRuntimeException(“工作流bpm_包不包含任何文件”);
}
for(ChildAssociationRef childAssoc:children){
NodeRef childNodeRef=childAssoc.getChildRef();
FileBinary=getFileBinary(childNodeRef,contentService);
此外,我还将执行文件转换。希望这能对这种情况有所帮助。

尝试以下方法:

        SearchParameters sp = new SearchParameters();
        sp.addStore(getStoreRef());
        sp.setLanguage(SearchService.LANGUAGE_LUCENE);
        sp.setQuery("TYPE:\"{http://www.alfresco.org/model/content/1.0}content\"");
        ResultSet results = null;
        try
        {
            results = serviceRegistry.getSearchService().query(sp);
            for(ResultSetRow row : results)
            {
                NodeRef currentNodeRef = row.getNodeRef();
                ...
            }
        }
        finally
        {
            if(results != null)
            {
                results.close();
            }
        }  
ServiceRegistry serviceRegistry = (ServiceRegistry) context.getBean("ServiceRegistry");

Node rootNode = session.getRootNode();
//obtaining root node company home 
Node companyHome = rootNode.getNode("app:company_home");
// getting noderef of company home node
NodeRef companyHomeRef = JCRNodeRef.getNodeRef(companyHome);

List<ChildAssociationRef> children = nodeService.getChildAssocs(companyHomeRef);
   for (ChildAssociationRef childAssoc : children) {
       NodeRef childNodeRef = childAssoc.getChildRef();
       // Use childNodeRef here.
   }
试着这样做:

        SearchParameters sp = new SearchParameters();
        sp.addStore(getStoreRef());
        sp.setLanguage(SearchService.LANGUAGE_LUCENE);
        sp.setQuery("TYPE:\"{http://www.alfresco.org/model/content/1.0}content\"");
        ResultSet results = null;
        try
        {
            results = serviceRegistry.getSearchService().query(sp);
            for(ResultSetRow row : results)
            {
                NodeRef currentNodeRef = row.getNodeRef();
                ...
            }
        }
        finally
        {
            if(results != null)
            {
                results.close();
            }
        }  
ServiceRegistry serviceRegistry = (ServiceRegistry) context.getBean("ServiceRegistry");

Node rootNode = session.getRootNode();
//obtaining root node company home 
Node companyHome = rootNode.getNode("app:company_home");
// getting noderef of company home node
NodeRef companyHomeRef = JCRNodeRef.getNodeRef(companyHome);

List<ChildAssociationRef> children = nodeService.getChildAssocs(companyHomeRef);
   for (ChildAssociationRef childAssoc : children) {
       NodeRef childNodeRef = childAssoc.getChildRef();
       // Use childNodeRef here.
   }
试着这样做:

        SearchParameters sp = new SearchParameters();
        sp.addStore(getStoreRef());
        sp.setLanguage(SearchService.LANGUAGE_LUCENE);
        sp.setQuery("TYPE:\"{http://www.alfresco.org/model/content/1.0}content\"");
        ResultSet results = null;
        try
        {
            results = serviceRegistry.getSearchService().query(sp);
            for(ResultSetRow row : results)
            {
                NodeRef currentNodeRef = row.getNodeRef();
                ...
            }
        }
        finally
        {
            if(results != null)
            {
                results.close();
            }
        }  
ServiceRegistry serviceRegistry = (ServiceRegistry) context.getBean("ServiceRegistry");

Node rootNode = session.getRootNode();
//obtaining root node company home 
Node companyHome = rootNode.getNode("app:company_home");
// getting noderef of company home node
NodeRef companyHomeRef = JCRNodeRef.getNodeRef(companyHome);

List<ChildAssociationRef> children = nodeService.getChildAssocs(companyHomeRef);
   for (ChildAssociationRef childAssoc : children) {
       NodeRef childNodeRef = childAssoc.getChildRef();
       // Use childNodeRef here.
   }
试着这样做:

        SearchParameters sp = new SearchParameters();
        sp.addStore(getStoreRef());
        sp.setLanguage(SearchService.LANGUAGE_LUCENE);
        sp.setQuery("TYPE:\"{http://www.alfresco.org/model/content/1.0}content\"");
        ResultSet results = null;
        try
        {
            results = serviceRegistry.getSearchService().query(sp);
            for(ResultSetRow row : results)
            {
                NodeRef currentNodeRef = row.getNodeRef();
                ...
            }
        }
        finally
        {
            if(results != null)
            {
                results.close();
            }
        }  
ServiceRegistry serviceRegistry = (ServiceRegistry) context.getBean("ServiceRegistry");

Node rootNode = session.getRootNode();
//obtaining root node company home 
Node companyHome = rootNode.getNode("app:company_home");
// getting noderef of company home node
NodeRef companyHomeRef = JCRNodeRef.getNodeRef(companyHome);

List<ChildAssociationRef> children = nodeService.getChildAssocs(companyHomeRef);
   for (ChildAssociationRef childAssoc : children) {
       NodeRef childNodeRef = childAssoc.getChildRef();
       // Use childNodeRef here.
   }


你能详细说明一下吗?1.“其中一个也是一个NodeRef,我需要一个NodeRef才能得到NodeRef。”2.这个标题是“如何为nodeService.getChildAssocs在户外找到一个公司之家”。我会说app:companyhome将返回lucene将返回companyhome。3.实际上我正在尝试从alfresco的当前任务中获取文件,但找不到关于如何获取当前节点的任何描述。-->非常混乱noderef=File,不是吗?要对任务创建过程中附加的文件执行任何操作,我需要这些文件。我无法理解以及如何获取它们。所有的示例都与上下文断绝了联系,因此不可能获取这些方法的参数,直到无法理解为止?你能把整个java代码放进去吗?所有你创建的东西。@Krutik Jayswal更新了问题我想要完整的文件,包括spring Be配置、工作流定义和所有其他内容您用于此目的的配置。请详细说明以下内容1。“其中一个也是NodeRef,结果我需要一个NodeRef来获取NodeRef。”2.对于此标题“如何为nodeService.getChildAssocs在Alfresco获得公司之家”。我会说app:companyhome将返回lucene将返回companyhome。3.实际上我正在尝试从alfresco的当前任务中获取文件,但找不到关于如何获取当前节点的任何描述。-->非常混乱noderef=File,不是吗?要对任务创建过程中附加的文件执行任何操作,我需要这些文件。我无法理解以及如何获取它们。所有的示例都与上下文断绝了联系,因此不可能获取这些方法的参数,直到无法理解为止?你能把整个java代码放进去吗?所有你创建的东西。@Krutik Jayswal更新了问题我想要完整的文件,包括spring Be配置、工作流定义和所有其他内容您用于此目的的配置。请详细说明以下内容1。“其中一个也是NodeRef,结果我需要一个NodeRef来获取NodeRef。”2.对于此标题“如何为nodeService.getChildAssocs在Alfresco获得公司之家”。我会说app:companyhome将返回lucene将返回companyhome。3.实际上我正在尝试从alfresco的当前任务中获取文件,但找不到关于如何获取当前节点的任何描述。-->非常混乱noderef=File,不是吗?要对任务创建过程中附加的文件执行任何操作,我需要这些文件。我无法理解以及如何获取它们。所有的示例都与上下文断绝了联系,因此不可能获取这些方法的参数,直到无法理解为止?你能把整个java代码放进去吗?所有你创建的东西。@Krutik Jayswal更新了问题我想要完整的文件,包括spring Be配置、工作流定义和所有其他内容您用于此目的的配置。请详细说明以下内容1。“其中一个也是NodeRef,结果我需要一个NodeRef来获取NodeRef。”2.对于此标题“如何为nodeService.getChildAssocs在Alfresco获得公司之家”。我会说app:companyhome将返回lucene将返回companyhome。3.实际上我正在尝试从alfresco的当前任务中获取文件,但找不到关于如何获取当前节点的任何描述。-->非常混乱noderef=File,不是吗?要对任务创建过程中附加的文件执行任何操作,我需要这些文件。我无法理解以及如何获取它们。所有的示例都与上下文断绝了联系,因此不可能获取这些方法的参数,直到无法理解为止?你能把整个java代码放进去吗?所有你创建的东西。@Krutik Jayswal更新了问题我想要完整的文件,包括spring Be配置、工作流定义和所有其他内容您用于此的配置看起来很好,但是这里什么是会话,什么是上下文?ECLICE还说类型Nodelooks的方法getNode(String)未定义,但是这里什么是会话,什么是上下文?ECLICE还说方法getNode(String)类型Nodelooks未定义,但是这里什么是session,什么是context?eclicpe还说类型Nodelooks未定义getNode(String)方法,但是这里什么是session,什么是context?eclicpe还说类型节点未定义getNode(String)方法