001
014
015 package com.liferay.portlet.layoutsadmin.action;
016
017 import com.liferay.portal.kernel.util.Constants;
018 import com.liferay.portal.kernel.util.ParamUtil;
019 import com.liferay.portal.struts.JSONAction;
020 import com.liferay.portlet.layoutsadmin.util.LayoutsTreeUtil;
021
022 import javax.servlet.http.HttpServletRequest;
023 import javax.servlet.http.HttpServletResponse;
024
025 import org.apache.struts.action.ActionForm;
026 import org.apache.struts.action.ActionMapping;
027
028
033 public class GetLayoutsAction extends JSONAction {
034
035 @Override
036 public String getJSON(
037 ActionMapping actionMapping, ActionForm actionForm,
038 HttpServletRequest request, HttpServletResponse response)
039 throws Exception {
040
041 String cmd = ParamUtil.getString(request, Constants.CMD);
042
043 long groupId = ParamUtil.getLong(request, "groupId");
044 String treeId = ParamUtil.getString(request, "treeId");
045
046 if (cmd.equals("get")) {
047 return getLayoutsJSON(request, groupId, treeId);
048 }
049 else if (cmd.equals("getAll")) {
050 return LayoutsTreeUtil.getLayoutsJSON(request, groupId, treeId);
051 }
052 else if (cmd.equals("getSiblingLayoutsJSON")) {
053 return getSiblingLayoutsJSON(request, groupId);
054 }
055
056 return null;
057 }
058
059 protected String getLayoutsJSON(
060 HttpServletRequest request, long groupId, String treeId)
061 throws Exception {
062
063 boolean privateLayout = ParamUtil.getBoolean(request, "privateLayout");
064 long parentLayoutId = ParamUtil.getLong(request, "parentLayoutId");
065 boolean incomplete = ParamUtil.getBoolean(request, "incomplete", true);
066
067 return LayoutsTreeUtil.getLayoutsJSON(
068 request, groupId, privateLayout, parentLayoutId, incomplete,
069 treeId);
070 }
071
072 protected String getSiblingLayoutsJSON(
073 HttpServletRequest request, long groupId)
074 throws Exception {
075
076 boolean privateLayout = ParamUtil.getBoolean(request, "privateLayout");
077 long layoutId = ParamUtil.getLong(request, "layoutId");
078 int max = ParamUtil.getInteger(request, "max");
079
080 return LayoutsTreeUtil.getLayoutsJSON(
081 request, groupId, privateLayout, layoutId, max);
082 }
083
084 }