001    /**
002     * Copyright (c) 2000-2012 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.model.PasswordPolicyRel;
021    import com.liferay.portal.service.base.PasswordPolicyRelLocalServiceBaseImpl;
022    import com.liferay.portal.util.PortalUtil;
023    
024    import java.util.List;
025    
026    /**
027     * @author Scott Lee
028     */
029    public class PasswordPolicyRelLocalServiceImpl
030            extends PasswordPolicyRelLocalServiceBaseImpl {
031    
032            public PasswordPolicyRel addPasswordPolicyRel(
033                            long passwordPolicyId, String className, long classPK)
034                    throws SystemException {
035    
036                    long classNameId = PortalUtil.getClassNameId(className);
037    
038                    PasswordPolicyRel passwordPolicyRel =
039                            passwordPolicyRelPersistence.fetchByP_C_C(
040                                    passwordPolicyId, classNameId, classPK);
041    
042                    if (passwordPolicyRel != null) {
043                            return null;
044                    }
045    
046                    try {
047    
048                            // Ensure that models only have one password policy
049    
050                            passwordPolicyRelPersistence.removeByC_C(classNameId, classPK);
051                    }
052                    catch (NoSuchPasswordPolicyRelException nsppre) {
053                    }
054    
055                    long passwordPolicyRelId = counterLocalService.increment();
056    
057                    passwordPolicyRel = passwordPolicyRelPersistence.create(
058                            passwordPolicyRelId);
059    
060                    passwordPolicyRel.setPasswordPolicyId(passwordPolicyId);
061                    passwordPolicyRel.setClassNameId(classNameId);
062                    passwordPolicyRel.setClassPK(classPK);
063    
064                    passwordPolicyRelPersistence.update(passwordPolicyRel);
065    
066                    return passwordPolicyRel;
067            }
068    
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            public void deletePasswordPolicyRel(
079                            long passwordPolicyId, String className, long classPK)
080                    throws SystemException {
081    
082                    try {
083                            long classNameId = PortalUtil.getClassNameId(className);
084    
085                            PasswordPolicyRel passwordPolicyRel =
086                                    passwordPolicyRelPersistence.findByP_C_C(
087                                            passwordPolicyId, classNameId, classPK);
088    
089                            deletePasswordPolicyRel(passwordPolicyRel);
090                    }
091                    catch (NoSuchPasswordPolicyRelException nsppre) {
092                    }
093            }
094    
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            public void deletePasswordPolicyRels(long passwordPolicyId)
111                    throws SystemException {
112    
113                    List<PasswordPolicyRel> passwordPolicyRels =
114                            passwordPolicyRelPersistence.findByPasswordPolicyId(
115                                    passwordPolicyId);
116    
117                    for (PasswordPolicyRel passwordPolicyRel : passwordPolicyRels) {
118                            deletePasswordPolicyRel(passwordPolicyRel);
119                    }
120            }
121    
122            public void deletePasswordPolicyRels(
123                            long passwordPolicyId, String className, long[] classPKs)
124                    throws SystemException {
125    
126                    for (int i = 0; i < classPKs.length; i++) {
127                            deletePasswordPolicyRel(passwordPolicyId, className, classPKs[i]);
128                    }
129            }
130    
131            public PasswordPolicyRel fetchPasswordPolicyRel(
132                            String className, long classPK)
133                    throws SystemException {
134    
135                    long classNameId = PortalUtil.getClassNameId(className);
136    
137                    return passwordPolicyRelPersistence.fetchByC_C(classNameId, classPK);
138            }
139    
140            public PasswordPolicyRel getPasswordPolicyRel(
141                            long passwordPolicyId, String className, long classPK)
142                    throws PortalException, SystemException {
143    
144                    long classNameId = PortalUtil.getClassNameId(className);
145    
146                    return passwordPolicyRelPersistence.findByP_C_C(
147                            passwordPolicyId, classNameId, classPK);
148            }
149    
150            public PasswordPolicyRel getPasswordPolicyRel(
151                            String className, long classPK)
152                    throws PortalException, SystemException {
153    
154                    long classNameId = PortalUtil.getClassNameId(className);
155    
156                    return passwordPolicyRelPersistence.findByC_C(classNameId, classPK);
157            }
158    
159            public boolean hasPasswordPolicyRel(
160                            long passwordPolicyId, String className, long classPK)
161                    throws SystemException {
162    
163                    long classNameId = PortalUtil.getClassNameId(className);
164    
165                    PasswordPolicyRel passwordPolicyRel =
166                            passwordPolicyRelPersistence.fetchByP_C_C(
167                                    passwordPolicyId, classNameId, classPK);
168    
169                    if (passwordPolicyRel != null) {
170                            return true;
171                    }
172                    else {
173                            return false;
174                    }
175            }
176    
177    }