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 @Override
037 public String getRootPath(SharepointRequest sharepointRequest) {
038 String urlList = sharepointRequest.getParameterValue("url_list");
039
040 urlList = urlList.substring(1, urlList.length() - 1);
041
042 int pos = urlList.lastIndexOf("sharepoint/");
043
044 if (pos != -1) {
045 urlList = urlList.substring(pos + 11);
046 }
047
048 return urlList;
049 }
050
051 @Override
052 protected List<ResponseElement> getElements(
053 SharepointRequest sharepointRequest)
054 throws Exception {
055
056 List<ResponseElement> elements = new ArrayList<ResponseElement>();
057
058 SharepointStorage storage = sharepointRequest.getSharepointStorage();
059
060 Tree documentListTree = new Tree();
061
062 try {
063 documentListTree.addChild(
064 storage.getDocumentTree(sharepointRequest));
065 }
066 catch (Exception e1) {
067 if (e1 instanceof NoSuchFileEntryException) {
068 try {
069 documentListTree.addChild(
070 storage.getFolderTree(sharepointRequest));
071 }
072 catch (Exception e2) {
073 }
074 }
075 }
076
077 Property documentProperty = new Property(
078 "document_list", documentListTree);
079
080 elements.add(documentProperty);
081
082 elements.add(new Property("urldirs", new Tree()));
083
084 return elements;
085 }
086
087 private static final String _METHOD_NAME = "getDocsMetaInfo";
088
089 }