我在露天非常新,我正在努力从alfresco存储库中读取csv文件。
我在alfresco存储库中有一个CSV文件,数据字典文件夹。 现在我的要求是获取csv文件的noderef并从csv文件中读取所有数据。
任何人都可以帮助我。
答案 0 :(得分:0)
您可以使用Lucene查询来使用
这样的名称来获取文档1)alfresco Node Browser Query : +PATH:"/app:company_home//* " AND +@cm\:name:"abc.txt"
2)alfresco share javascript query : var nodes = nodes = search.luceneSearch("@cm\\:name:\"abc.txt\"");
3)alfresco java backed webscript query :
String query ="PATH:\"/app:company_home//*\"";
query+="@cm\\:name:abc.txt";
StoreRef storeRef = new StoreRef(StoreRef.PROTOCOL_WORKSPACE,"SpacesStore");
ResultSet results = searchService.query(storeRef, SearchService.LANGUAGE_LUCENE, query);
for (ResultSetRow row : results) {
NodeRef currentNodeRef = row.getNodeRef();
lista.add(currentNodeRef.toString());
}
根据您的要求对查询进行更改。
答案 1 :(得分:0)
以下代码将返回您期望的文件夹/文件路径中的 noderef。
public static void main(String[] args) throws IOException {
client = new AlfrescoClient.Builder().connect("http://localhost:8080/alfresco", "admin", "admin").build();
NodeRepresentation node = findNodeByPath("Sites/testsite/documentLibrary/TestFolder/UploadTest.txt");
System.out.println(node == null ? "null" : node.getName());
}
private static NodeRepresentation findNodeByPath(String path) throws IOException {
if (path.startsWith("/"))
path = path.substring(1);
if (path.endsWith("/"))
path = path.substring(0, path.length() - 1);
return findNodeByPath("-root-", path);
}
private static NodeRepresentation findNodeByPath(String parentNodeId, String path) throws IOException {
String[] pathParts = path.split("/");
String name = pathParts[0];
String remaining = pathParts.length == 1 ? "" : path.substring(name.length() + 1, path.length());
List<NodeRepresentation> children = client.getNodesAPI().listNodeChildrenCall(parentNodeId).execute().body()
.getList();
for (NodeRepresentation child : children) {
if (child.getName().equals(name)) {
return pathParts.length == 1 ? child : findNodeByPath(child.getId(), remaining);
}
}
return null;