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