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