001
014
015 package com.liferay.portal.sharepoint.methods;
016
017 import com.liferay.portal.sharepoint.Property;
018 import com.liferay.portal.sharepoint.ResponseElement;
019 import com.liferay.portal.sharepoint.SharepointRequest;
020 import com.liferay.portal.sharepoint.SharepointStorage;
021 import com.liferay.portal.sharepoint.Tree;
022 import com.liferay.portlet.documentlibrary.NoSuchFileEntryException;
023
024 import java.util.ArrayList;
025 import java.util.List;
026
027
030 public class GetDocsMetaInfoMethodImpl extends BaseMethodImpl {
031
032 public String getMethodName() {
033 return _METHOD_NAME;
034 }
035
036 public String getRootPath(SharepointRequest sharepointRequest) {
037 String urlList = sharepointRequest.getParameterValue("url_list");
038
039 urlList = urlList.substring(1, urlList.length() - 1);
040
041 int pos = urlList.lastIndexOf("sharepoint/");
042
043 if (pos != -1) {
044 urlList = urlList.substring(pos + 11);
045 }
046
047 return urlList;
048 }
049
050 protected List<ResponseElement> getElements(
051 SharepointRequest sharepointRequest)
052 throws Exception {
053
054 List<ResponseElement> elements = new ArrayList<ResponseElement>();
055
056 SharepointStorage storage = sharepointRequest.getSharepointStorage();
057
058 Tree documentListTree = new Tree();
059
060 try {
061 documentListTree.addChild(
062 storage.getDocumentTree(sharepointRequest));
063 }
064 catch (Exception e1) {
065 if (e1 instanceof NoSuchFileEntryException) {
066 try {
067 documentListTree.addChild(
068 storage.getFolderTree(sharepointRequest));
069 }
070 catch (Exception e2) {
071 }
072 }
073 }
074
075 Property documentProperty = new Property(
076 "document_list", documentListTree);
077
078 elements.add(documentProperty);
079
080 elements.add(new Property("urldirs", new Tree()));
081
082 return elements;
083 }
084
085 private static final String _METHOD_NAME = "getDocsMetaInfo";
086
087 }