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            public PasswordPolicyRel addPasswordPolicyRel(
036                            long passwordPolicyId, String className, long classPK)
037                    throws SystemException {
038    
039                    long classNameId = PortalUtil.getClassNameId(className);
040    
041                    PasswordPolicyRel passwordPolicyRel =
042                            passwordPolicyRelPersistence.fetchByC_C(classNameId, classPK);
043    
044                    if (passwordPolicyRel != null) {
045                            if (passwordPolicyRel.getPasswordPolicyId() == passwordPolicyId) {
046                                    return null;
047                            }
048                            else {
049                                    passwordPolicyRelPersistence.remove(passwordPolicyRel);
050                            }
051                    }
052    
053                    long passwordPolicyRelId = counterLocalService.increment();
054    
055                    passwordPolicyRel = passwordPolicyRelPersistence.create(
056                            passwordPolicyRelId);
057    
058                    passwordPolicyRel.setPasswordPolicyId(passwordPolicyId);
059                    passwordPolicyRel.setClassNameId(classNameId);
060                    passwordPolicyRel.setClassPK(classPK);
061    
062                    passwordPolicyRelPersistence.update(passwordPolicyRel);
063    
064                    return passwordPolicyRel;
065            }
066    
067            public void addPasswordPolicyRels(
068                            long passwordPolicyId, String className, long[] classPKs)
069                    throws SystemException {
070    
071                    for (int i = 0; i < classPKs.length; i++) {
072                            addPasswordPolicyRel(passwordPolicyId, className, classPKs[i]);
073                    }
074            }
075    
076            public void deletePasswordPolicyRel(
077                            long passwordPolicyId, String className, long classPK)
078                    throws SystemException {
079    
080                    long classNameId = PortalUtil.getClassNameId(className);
081    
082                    PasswordPolicyRel passwordPolicyRel =
083                            passwordPolicyRelPersistence.fetchByC_C(classNameId, classPK);
084    
085                    if ((passwordPolicyRel != null) &&
086                            (passwordPolicyRel.getPasswordPolicyId() == passwordPolicyId)) {
087    
088                            passwordPolicyRelPersistence.remove(passwordPolicyRel);
089                    }
090    
091            }
092    
093            public void deletePasswordPolicyRel(String className, long classPK)
094                    throws SystemException {
095    
096                    try {
097                            long classNameId = PortalUtil.getClassNameId(className);
098    
099                            PasswordPolicyRel passwordPolicyRel =
100                                    passwordPolicyRelPersistence.findByC_C(classNameId, classPK);
101    
102                            deletePasswordPolicyRel(passwordPolicyRel);
103                    }
104                    catch (NoSuchPasswordPolicyRelException nsppre) {
105                    }
106            }
107    
108            public void deletePasswordPolicyRels(long passwordPolicyId)
109                    throws SystemException {
110    
111                    List<PasswordPolicyRel> passwordPolicyRels =
112                            passwordPolicyRelPersistence.findByPasswordPolicyId(
113                                    passwordPolicyId);
114    
115                    for (PasswordPolicyRel passwordPolicyRel : passwordPolicyRels) {
116                            deletePasswordPolicyRel(passwordPolicyRel);
117                    }
118            }
119    
120            public void deletePasswordPolicyRels(
121                            long passwordPolicyId, String className, long[] classPKs)
122                    throws SystemException {
123    
124                    for (int i = 0; i < classPKs.length; i++) {
125                            deletePasswordPolicyRel(passwordPolicyId, className, classPKs[i]);
126                    }
127            }
128    
129            public PasswordPolicyRel fetchPasswordPolicyRel(
130                            String className, long classPK)
131                    throws SystemException {
132    
133                    long classNameId = PortalUtil.getClassNameId(className);
134    
135                    return passwordPolicyRelPersistence.fetchByC_C(classNameId, classPK);
136            }
137    
138            public PasswordPolicyRel getPasswordPolicyRel(
139                            long passwordPolicyId, String className, long classPK)
140                    throws PortalException, SystemException {
141    
142                    long classNameId = PortalUtil.getClassNameId(className);
143    
144                    PasswordPolicyRel passwordPolicyRel =
145                            passwordPolicyRelPersistence.fetchByC_C(classNameId, classPK);
146    
147                    if ((passwordPolicyRel != null) &&
148                            (passwordPolicyRel.getPasswordPolicyId() == passwordPolicyId)) {
149    
150                            return passwordPolicyRel;
151                    }
152    
153                    StringBundler sb = new StringBundler(8);
154    
155                    sb.append("No PasswordPolicyRel exists with the key {");
156                    sb.append("passwordPolicyId=");
157                    sb.append(passwordPolicyId);
158                    sb.append(", classNameId=");
159                    sb.append(classNameId);
160                    sb.append(", classPK=");
161                    sb.append(classPK);
162                    sb.append(StringPool.CLOSE_CURLY_BRACE);
163    
164                    throw new NoSuchPasswordPolicyRelException(sb.toString());
165            }
166    
167            public PasswordPolicyRel getPasswordPolicyRel(
168                            String className, long classPK)
169                    throws PortalException, SystemException {
170    
171                    long classNameId = PortalUtil.getClassNameId(className);
172    
173                    return passwordPolicyRelPersistence.findByC_C(classNameId, classPK);
174            }
175    
176            public boolean hasPasswordPolicyRel(
177                            long passwordPolicyId, String className, long classPK)
178                    throws SystemException {
179    
180                    long classNameId = PortalUtil.getClassNameId(className);
181    
182                    PasswordPolicyRel passwordPolicyRel =
183                            passwordPolicyRelPersistence.fetchByC_C(classNameId, classPK);
184    
185                    if ((passwordPolicyRel != null) &&
186                            (passwordPolicyRel.getPasswordPolicyId() == passwordPolicyId)) {
187    
188                            return true;
189                    }
190                    else {
191                            return false;
192                    }
193            }
194    
195    }