001
014
015 package com.liferay.portal.util;
016
017 import com.liferay.portal.kernel.model.Layout;
018 import com.liferay.portal.kernel.model.LayoutTypeAccessPolicy;
019 import com.liferay.portal.kernel.model.LayoutTypeController;
020 import com.liferay.portal.kernel.model.LayoutTypePortlet;
021 import com.liferay.portal.kernel.security.pacl.DoPrivileged;
022 import com.liferay.portal.kernel.util.LayoutTypePortletFactory;
023 import com.liferay.portal.model.impl.LayoutTypePortletImpl;
024 import com.liferay.portal.model.impl.LayoutTypeURLImpl;
025
026
029 @DoPrivileged
030 public class LayoutTypePortletFactoryImpl implements LayoutTypePortletFactory {
031
032 @Override
033 public LayoutTypePortlet create(Layout layout) {
034 LayoutTypeController layoutTypeController =
035 LayoutTypeControllerTracker.getLayoutTypeController(
036 layout.getType());
037
038 LayoutTypeAccessPolicy layoutTypeAccessPolicy =
039 LayoutTypeAccessPolicyTracker.getLayoutTypeAccessPolicy(layout);
040
041 if (layout.isTypeURL()) {
042 return new LayoutTypeURLImpl(
043 layout, layoutTypeController, layoutTypeAccessPolicy);
044 }
045
046 return new LayoutTypePortletImpl(
047 layout, layoutTypeController, layoutTypeAccessPolicy);
048 }
049
050 }