/** * Copyright (c) 2000-present Liferay, Inc. All rights reserved. * * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. */ package com.liferay.portal.model.impl; import com.liferay.portal.kernel.exception.PortalException; import com.liferay.portal.kernel.log.Log; import com.liferay.portal.kernel.log.LogFactoryUtil; import com.liferay.portal.kernel.model.Group; import com.liferay.portal.kernel.model.LayoutSet; import com.liferay.portal.kernel.service.GroupLocalServiceUtil; import com.liferay.portal.kernel.service.LayoutSetLocalServiceUtil; import com.liferay.portal.kernel.util.UnicodeProperties; import java.io.IOException; /** * @author Brian Wing Shun Chan * @author Ryan Park */ public class LayoutSetPrototypeImpl extends LayoutSetPrototypeBaseImpl { @Override public Group getGroup() throws PortalException { return GroupLocalServiceUtil.getLayoutSetPrototypeGroup( getCompanyId(), getLayoutSetPrototypeId()); } @Override public long getGroupId() throws PortalException { Group group = getGroup(); return group.getGroupId(); } @Override public LayoutSet getLayoutSet() throws PortalException { return LayoutSetLocalServiceUtil.getLayoutSet( getGroup().getGroupId(), true); } @Override public UnicodeProperties getSettingsProperties() { if (_settingsProperties == null) { _settingsProperties = new UnicodeProperties(true); try { _settingsProperties.load(super.getSettings()); } catch (IOException ioe) { _log.error(ioe, ioe); } } return _settingsProperties; } @Override public String getSettingsProperty(String key) { UnicodeProperties settingsProperties = getSettingsProperties(); return settingsProperties.getProperty(key); } @Override public boolean hasSetModifiedDate() { return true; } @Override public void setSettings(String settings) { _settingsProperties = null; super.setSettings(settings); } @Override public void setSettingsProperties(UnicodeProperties settingsProperties) { _settingsProperties = settingsProperties; super.setSettings(settingsProperties.toString()); } private static final Log _log = LogFactoryUtil.getLog( LayoutSetPrototypeImpl.class); private UnicodeProperties _settingsProperties; }