1   /**
2    * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved.
3    *
4    * The contents of this file are subject to the terms of the Liferay Enterprise
5    * Subscription License ("License"). You may not use this file except in
6    * compliance with the License. You can obtain a copy of the License by
7    * contacting Liferay, Inc. See the License for the specific language governing
8    * permissions and limitations under the License, including but not limited to
9    * distribution rights of the Software.
10   *
11   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
14   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
15   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
16   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
17   * SOFTWARE.
18   */
19  
20  package com.liferay.portlet.journal.service.impl;
21  
22  import com.liferay.portal.PortalException;
23  import com.liferay.portal.SystemException;
24  import com.liferay.portlet.journal.DuplicateArticleImageIdException;
25  import com.liferay.portlet.journal.NoSuchArticleImageException;
26  import com.liferay.portlet.journal.model.JournalArticleImage;
27  import com.liferay.portlet.journal.service.base.JournalArticleImageLocalServiceBaseImpl;
28  
29  import java.util.List;
30  
31  /**
32   * <a href="JournalArticleImageLocalServiceImpl.java.html"><b><i>View Source</i>
33   * </b></a>
34   *
35   * @author Brian Wing Shun Chan
36   *
37   */
38  public class JournalArticleImageLocalServiceImpl
39      extends JournalArticleImageLocalServiceBaseImpl {
40  
41      public void addArticleImageId(
42              long articleImageId, long groupId, String articleId, double version,
43              String elName, String languageId)
44          throws PortalException, SystemException {
45  
46          if (articleImageId <= 0) {
47              return;
48          }
49  
50          JournalArticleImage articleImage =
51              journalArticleImagePersistence.fetchByG_A_V_E_L(
52                  groupId, articleId, version, elName, languageId);
53  
54          if (articleImage == null) {
55              articleImage = journalArticleImagePersistence.create(
56                  articleImageId);
57  
58              articleImage.setGroupId(groupId);
59              articleImage.setArticleId(articleId);
60              articleImage.setVersion(version);
61              articleImage.setElName(elName);
62              articleImage.setLanguageId(languageId);
63              articleImage.setTempImage(false);
64  
65              journalArticleImagePersistence.update(articleImage, false);
66          }
67          else if (articleImage.getArticleImageId() == articleImageId) {
68          }
69          else {
70              throw new DuplicateArticleImageIdException();
71          }
72      }
73  
74      public void deleteArticleImage(long articleImageId) throws SystemException {
75          try {
76              JournalArticleImage articleImage =
77                  journalArticleImagePersistence.findByPrimaryKey(
78                      articleImageId);
79  
80              deleteArticleImage(articleImage);
81          }
82          catch (NoSuchArticleImageException nsaie) {
83          }
84      }
85  
86      public void deleteArticleImage(JournalArticleImage articleImage)
87          throws SystemException {
88  
89          try {
90              imageLocalService.deleteImage(articleImage.getArticleImageId());
91          }
92          catch (PortalException pe) {
93          }
94  
95          journalArticleImagePersistence.remove(articleImage);
96      }
97  
98      public void deleteArticleImage(
99              long groupId, String articleId, double version, String elName,
100             String languageId)
101         throws SystemException {
102 
103         try {
104             JournalArticleImage articleImage =
105                 journalArticleImagePersistence.findByG_A_V_E_L(
106                 groupId, articleId, version, elName, languageId);
107 
108             deleteArticleImage(articleImage);
109         }
110         catch (NoSuchArticleImageException nsaie) {
111         }
112     }
113 
114     public void deleteImages(long groupId, String articleId, double version)
115         throws SystemException {
116 
117         for (JournalArticleImage articleImage :
118                 journalArticleImagePersistence.findByG_A_V(
119                     groupId, articleId, version)) {
120 
121             deleteArticleImage(articleImage);
122         }
123     }
124 
125     public JournalArticleImage getArticleImage(long articleImageId)
126         throws PortalException, SystemException {
127 
128         return journalArticleImagePersistence.findByPrimaryKey(articleImageId);
129     }
130 
131     public long getArticleImageId(
132             long groupId, String articleId, double version, String elName,
133             String languageId)
134         throws SystemException {
135 
136         return getArticleImageId(
137             groupId, articleId, version, elName, languageId, false);
138     }
139 
140     public long getArticleImageId(
141             long groupId, String articleId, double version, String elName,
142             String languageId, boolean tempImage)
143         throws SystemException {
144 
145         JournalArticleImage articleImage =
146             journalArticleImagePersistence.fetchByG_A_V_E_L(
147                 groupId, articleId, version, elName, languageId);
148 
149         if (articleImage == null) {
150             long articleImageId = counterLocalService.increment();
151 
152             articleImage = journalArticleImagePersistence.create(
153                 articleImageId);
154 
155             articleImage.setGroupId(groupId);
156             articleImage.setArticleId(articleId);
157             articleImage.setVersion(version);
158             articleImage.setElName(elName);
159             articleImage.setLanguageId(languageId);
160             articleImage.setTempImage(tempImage);
161 
162             journalArticleImagePersistence.update(articleImage, false);
163         }
164 
165         return articleImage.getArticleImageId();
166     }
167 
168     public List<JournalArticleImage> getArticleImages(long groupId)
169         throws SystemException {
170 
171         return journalArticleImagePersistence.findByGroupId(groupId);
172     }
173 
174 }