2011-04-29 99 views
0

这是我nodefinder.java文件为什么我收到以下异常

package com.acme.web.action.executer; 

import java.sql.ResultSet; 
import java.util.Map; 

import org.alfresco.web.bean.repository.Node; 
import org.alfresco.web.bean.repository.Repository; 
import org.alfresco.web.ui.common.component.UIActionLink; 

import javax.faces.context.FacesContext; 
import javax.faces.event.ActionEvent; 

import org.alfresco.service.cmr.model.FileFolderService; 
import org.alfresco.service.cmr.repository.NodeRef; 
import org.alfresco.service.cmr.repository.NodeService; 
import org.alfresco.service.cmr.repository.StoreRef; 
import org.alfresco.service.cmr.search.SearchParameters; 
import org.alfresco.service.cmr.search.SearchService; 

public class NodeFinder { 

    // private static final String = null; 
    SearchParameters sp = new SearchParameters(); 
    private NodeService nodeService; 
    private FileFolderService fileFolderService; 
    //geting the filefolder service      
    public FileFolderService getFileFolderService() { 
     return fileFolderService; 
    } 
    // setting the file folder service 
    public void setFileFolderService(FileFolderService fileFolderService) { 
     this.fileFolderService = fileFolderService; 
    } 
// getting the node servise 
    public NodeService getNodeService() { 
     return nodeService; 
    } 
    // setting the node server 

    public void setNodeService(NodeService nodeService) { 
     this.nodeService = nodeService; 
    } 

    public void execute(ActionEvent event) { 
     ResultSet resultSet_s = null; 
     UIActionLink comp = (UIActionLink) event.getComponent(); 
     Map<String, String> params = comp.getParameterMap(); 
     String id = params.get("id1"); 
     System.out.println("1"); 

     NodeRef actionedUponNodeRef = new NodeRef(Repository.getStoreRef(), id); 
     String qry_s = "@cm\\:name:train"; 
     System.out.println("2"); 

     SearchParameters sp_s = new SearchParameters(); 
     System.out.println("3"); 

     sp_s.addStore(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE); 
     sp_s.setLanguage(SearchService.LANGUAGE_LUCENE); 

     sp_s.setQuery(qry_s); 
     System.out.println("4"); 

     Node node = new Node(actionedUponNodeRef); 
     System.out.println("5"); 
     resultSet_s = (ResultSet) Repository.getServiceRegistry(
       FacesContext.getCurrentInstance()).getSearchService().query(
       sp_s); 
     System.out.println("5.1"); 

     if (resultSet_s != null) { 
      System.out.println("6"); 

      System.out.println("Node value is::::" + node.getName()); 

     } 
    } 
} 
+0

请修复您的格式,以及异常在哪里? – Thomas 2011-04-29 06:52:33

+0

我已经创建了gui组件来获取节点ref的内容的节点元素。但我得到了以下错误javax.faces.el.E​​valuationException:调用表达式时的异常#{NodeFinder.execute} 引起的: java.lang.ClassCastException:org.alfresco.repo.search.impl.lucene.PagingLuceneResultSet can not将其转换为java.sql.ResultSet – jetty 2011-04-29 06:58:32

回答

1

看看该行...(ResultSet) Repository.getServiceRegistry(...兼容,再看看在你的例外,最后在你的进口。在那里您会看到ResultSet实际上是java.sql.ResultSet(由您的ClassCastException消息指示)。

如果你再看看org.alfresco.repo.search.impl.lucene.PagingLuceneResultSet的超类或接口,我会说你不会找到任何java.sql.ResultSet。这就是你得到这个例外的原因。

5

因为你进口java.sql.ResultSet,而不是露天类/接口org.alfresco.repo.search.impl.lucene.PagingLuceneResultSet

+0

为了给出建议,我会尝试一下,然后回来 – jetty 2011-04-29 07:13:52

+0

雅它的工作,但我没有得到节点的价值 – jetty 2011-04-29 07:15:00

+0

雅谢谢你这就是工作....我得到的节点值 – jetty 2011-04-29 07:32:45

相关问题