001    /**
002     * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portal.service.impl;
016    
017    import com.liferay.portal.NoSuchPasswordPolicyRelException;
018    import com.liferay.portal.kernel.exception.PortalException;
019    import com.liferay.portal.kernel.exception.SystemException;
020    import com.liferay.portal.kernel.util.StringBundler;
021    import com.liferay.portal.kernel.util.StringPool;
022    import com.liferay.portal.model.PasswordPolicyRel;
023    import com.liferay.portal.service.base.PasswordPolicyRelLocalServiceBaseImpl;
024    import com.liferay.portal.util.PortalUtil;
025    
026    import java.util.List;
027    
028    /**
029     * @author Scott Lee
030     * @author Shuyang Zhou
031     */
032    public class PasswordPolicyRelLocalServiceImpl
033            extends PasswordPolicyRelLocalServiceBaseImpl {
034    
035            @Override
036            public PasswordPolicyRel addPasswordPolicyRel(
037                            long passwordPolicyId, String className, long classPK)
038                    throws SystemException {
039    
040                    long classNameId = PortalUtil.getClassNameId(className);
041    
042                    PasswordPolicyRel passwordPolicyRel =
043                            passwordPolicyRelPersistence.fetchByC_C(classNameId, classPK);
044    
045                    if (passwordPolicyRel != null) {
046                            if (passwordPolicyRel.getPasswordPolicyId() == passwordPolicyId) {
047                                    return null;
048                            }
049                            else {
050                                    passwordPolicyRelPersistence.remove(passwordPolicyRel);
051                            }
052                    }
053    
054                    long passwordPolicyRelId = counterLocalService.increment();
055    
056                    passwordPolicyRel = passwordPolicyRelPersistence.create(
057                            passwordPolicyRelId);
058    
059                    passwordPolicyRel.setPasswordPolicyId(passwordPolicyId);
060                    passwordPolicyRel.setClassNameId(classNameId);
061                    passwordPolicyRel.setClassPK(classPK);
062    
063                    passwordPolicyRelPersistence.update(passwordPolicyRel);
064    
065                    return passwordPolicyRel;
066            }
067    
068            @Override
069            public void addPasswordPolicyRels(
070                            long passwordPolicyId, String className, long[] classPKs)
071                    throws SystemException {
072    
073                    for (int i = 0; i < classPKs.length; i++) {
074                            addPasswordPolicyRel(passwordPolicyId, className, classPKs[i]);
075                    }
076            }
077    
078            @Override
079            public void deletePasswordPolicyRel(
080                            long passwordPolicyId, String className, long classPK)
081                    throws SystemException {
082    
083                    long classNameId = PortalUtil.getClassNameId(className);
084    
085                    PasswordPolicyRel passwordPolicyRel =
086                            passwordPolicyRelPersistence.fetchByC_C(classNameId, classPK);
087    
088                    if ((passwordPolicyRel != null) &&
089                            (passwordPolicyRel.getPasswordPolicyId() == passwordPolicyId)) {
090    
091                            passwordPolicyRelPersistence.remove(passwordPolicyRel);
092                    }
093    
094            }
095    
096            @Override
097            public void deletePasswordPolicyRel(String className, long classPK)
098                    throws SystemException {
099    
100                    try {
101                            long classNameId = PortalUtil.getClassNameId(className);
102    
103                            PasswordPolicyRel passwordPolicyRel =
104                                    passwordPolicyRelPersistence.findByC_C(classNameId, classPK);
105    
106                            deletePasswordPolicyRel(passwordPolicyRel);
107                    }
108                    catch (NoSuchPasswordPolicyRelException nsppre) {
109                    }
110            }
111    
112            @Override
113            public void deletePasswordPolicyRels(long passwordPolicyId)
114                    throws SystemException {
115    
116                    List<PasswordPolicyRel> passwordPolicyRels =
117                            passwordPolicyRelPersistence.findByPasswordPolicyId(
118                                    passwordPolicyId);
119    
120                    for (PasswordPolicyRel passwordPolicyRel : passwordPolicyRels) {
121                            deletePasswordPolicyRel(passwordPolicyRel);
122                    }
123            }
124    
125            @Override
126            public void deletePasswordPolicyRels(
127                            long passwordPolicyId, String className, long[] classPKs)
128                    throws SystemException {
129    
130                    for (int i = 0; i < classPKs.length; i++) {
131                            deletePasswordPolicyRel(passwordPolicyId, className, classPKs[i]);
132                    }
133            }
134    
135            @Override
136            public PasswordPolicyRel fetchPasswordPolicyRel(
137                            String className, long classPK)
138                    throws SystemException {
139    
140                    long classNameId = PortalUtil.getClassNameId(className);
141    
142                    return passwordPolicyRelPersistence.fetchByC_C(classNameId, classPK);
143            }
144    
145            @Override
146            public PasswordPolicyRel getPasswordPolicyRel(
147                            long passwordPolicyId, String className, long classPK)
148                    throws PortalException, SystemException {
149    
150                    long classNameId = PortalUtil.getClassNameId(className);
151    
152                    PasswordPolicyRel passwordPolicyRel =
153                            passwordPolicyRelPersistence.fetchByC_C(classNameId, classPK);
154    
155                    if ((passwordPolicyRel != null) &&
156                            (passwordPolicyRel.getPasswordPolicyId() == passwordPolicyId)) {
157    
158                            return passwordPolicyRel;
159                    }
160    
161                    StringBundler sb = new StringBundler(8);
162    
163                    sb.append("No PasswordPolicyRel exists with the key {");
164                    sb.append("passwordPolicyId=");
165                    sb.append(passwordPolicyId);
166                    sb.append(", classNameId=");
167                    sb.append(classNameId);
168                    sb.append(", classPK=");
169                    sb.append(classPK);
170                    sb.append(StringPool.CLOSE_CURLY_BRACE);
171    
172                    throw new NoSuchPasswordPolicyRelException(sb.toString());
173            }
174    
175            @Override
176            public PasswordPolicyRel getPasswordPolicyRel(
177                            String className, long classPK)
178                    throws PortalException, SystemException {
179    
180                    long classNameId = PortalUtil.getClassNameId(className);
181    
182                    return passwordPolicyRelPersistence.findByC_C(classNameId, classPK);
183            }
184    
185            @Override
186            public boolean hasPasswordPolicyRel(
187                            long passwordPolicyId, String className, long classPK)
188                    throws SystemException {
189    
190                    long classNameId = PortalUtil.getClassNameId(className);
191    
192                    PasswordPolicyRel passwordPolicyRel =
193                            passwordPolicyRelPersistence.fetchByC_C(classNameId, classPK);
194    
195                    if ((passwordPolicyRel != null) &&
196                            (passwordPolicyRel.getPasswordPolicyId() == passwordPolicyId)) {
197    
198                            return true;
199                    }
200                    else {
201                            return false;
202                    }
203            }
204    
205    }