1
22
23 package com.liferay.portal.sharepoint.methods;
24
25 import com.liferay.portal.sharepoint.Property;
26 import com.liferay.portal.sharepoint.ResponseElement;
27 import com.liferay.portal.sharepoint.SharepointRequest;
28 import com.liferay.portal.sharepoint.SharepointStorage;
29 import com.liferay.portal.sharepoint.Tree;
30 import com.liferay.portlet.documentlibrary.NoSuchFileEntryException;
31
32 import java.util.ArrayList;
33 import java.util.List;
34
35
40 public class GetDocsMetaInfoMethodImpl extends BaseMethodImpl {
41
42 public String getMethodName() {
43 return _METHOD_NAME;
44 }
45
46 public String getRootPath(SharepointRequest sharepointRequest) {
47 String urlList = sharepointRequest.getParameterValue("url_list");
48
49 urlList = urlList.substring(1, urlList.length() - 1);
50
51 int pos = urlList.lastIndexOf("sharepoint/");
52
53 if (pos != -1) {
54 urlList = urlList.substring(pos + 11);
55 }
56
57 return urlList;
58 }
59
60 protected List<ResponseElement> getElements(
61 SharepointRequest sharepointRequest)
62 throws Exception {
63
64 List<ResponseElement> elements = new ArrayList<ResponseElement>();
65
66 SharepointStorage storage = sharepointRequest.getSharepointStorage();
67
68 Tree documentListTree = new Tree();
69
70 try {
71 documentListTree.addChild(
72 storage.getDocumentTree(sharepointRequest));
73 }
74 catch (Exception e1) {
75 if (e1 instanceof NoSuchFileEntryException) {
76 try {
77 documentListTree.addChild(
78 storage.getFolderTree(sharepointRequest));
79 }
80 catch (Exception e2) {
81 }
82 }
83 }
84
85 Property documentProperty = new Property(
86 "document_list", documentListTree);
87
88 elements.add(documentProperty);
89
90 elements.add(new Property("urldirs", new Tree()));
91
92 return elements;
93 }
94
95 private static final String _METHOD_NAME = "getDocsMetaInfo";
96
97 }