001
014
015 package com.liferay.portal.sharepoint.methods;
016
017 import com.liferay.portal.kernel.util.StringPool;
018 import com.liferay.portal.sharepoint.ResponseElement;
019 import com.liferay.portal.sharepoint.SharepointException;
020 import com.liferay.portal.sharepoint.SharepointRequest;
021 import com.liferay.portal.sharepoint.SharepointUtil;
022 import com.liferay.util.servlet.ServletResponseUtil;
023
024 import java.util.List;
025
026
029 public abstract class BaseMethodImpl implements Method {
030
031 public String getRootPath(SharepointRequest sharepointRequest) {
032 return StringPool.BLANK;
033 }
034
035 public void process(SharepointRequest sharepointRequest)
036 throws SharepointException {
037
038 try {
039 doProcess(sharepointRequest);
040 }
041 catch (Exception e) {
042 throw new SharepointException(e);
043 }
044 }
045
046 protected abstract List<ResponseElement> getElements(
047 SharepointRequest sharepointRequest)
048 throws Exception;
049
050 protected void doProcess(SharepointRequest sharepointRequest)
051 throws Exception {
052
053 ServletResponseUtil.write(
054 sharepointRequest.getHttpServletResponse(),
055 getResponseBuffer(sharepointRequest).toString());
056 }
057
058 protected StringBuilder getResponseBuffer(
059 SharepointRequest sharepointRequest)
060 throws Exception {
061
062 StringBuilder sb = new StringBuilder();
063
064 SharepointUtil.addTop(sb, getMethodName());
065
066 List<ResponseElement> elements = getElements(sharepointRequest);
067
068 for (ResponseElement element : elements) {
069 sb.append(element.parse());
070 }
071
072 SharepointUtil.addBottom(sb);
073
074 return sb;
075 }
076
077 }