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