1   /**
2    * Copyright (c) 2000-2010 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   *
12   *
13   */
14  
15  package com.liferay.portlet.journal.service.impl;
16  
17  import com.liferay.portal.PortalException;
18  import com.liferay.portal.SystemException;
19  import com.liferay.portlet.journal.DuplicateArticleImageIdException;
20  import com.liferay.portlet.journal.NoSuchArticleImageException;
21  import com.liferay.portlet.journal.model.JournalArticleImage;
22  import com.liferay.portlet.journal.service.base.JournalArticleImageLocalServiceBaseImpl;
23  
24  import java.util.List;
25  
26  /**
27   * <a href="JournalArticleImageLocalServiceImpl.java.html"><b><i>View Source</i>
28   * </b></a>
29   *
30   * @author Brian Wing Shun Chan
31   */
32  public class JournalArticleImageLocalServiceImpl
33      extends JournalArticleImageLocalServiceBaseImpl {
34  
35      public void addArticleImageId(
36              long articleImageId, long groupId, String articleId, double version,
37              String elInstanceId, String elName, String languageId)
38          throws PortalException, SystemException {
39  
40          if (articleImageId <= 0) {
41              return;
42          }
43  
44          JournalArticleImage articleImage =
45              journalArticleImagePersistence.fetchByG_A_V_E_E_L(
46                  groupId, articleId, version, elInstanceId, elName, languageId);
47  
48          if (articleImage == null) {
49              articleImage = journalArticleImagePersistence.create(
50                  articleImageId);
51  
52              articleImage.setGroupId(groupId);
53              articleImage.setArticleId(articleId);
54              articleImage.setVersion(version);
55              articleImage.setElInstanceId(elInstanceId);
56              articleImage.setElName(elName);
57              articleImage.setLanguageId(languageId);
58              articleImage.setTempImage(false);
59  
60              journalArticleImagePersistence.update(articleImage, false);
61          }
62          else if (articleImage.getArticleImageId() == articleImageId) {
63          }
64          else {
65              throw new DuplicateArticleImageIdException();
66          }
67      }
68  
69      public void deleteArticleImage(long articleImageId) throws SystemException {
70          try {
71              JournalArticleImage articleImage =
72                  journalArticleImagePersistence.findByPrimaryKey(
73                      articleImageId);
74  
75              deleteArticleImage(articleImage);
76          }
77          catch (NoSuchArticleImageException nsaie) {
78          }
79      }
80  
81      public void deleteArticleImage(JournalArticleImage articleImage)
82          throws SystemException {
83  
84          try {
85              imageLocalService.deleteImage(articleImage.getArticleImageId());
86          }
87          catch (PortalException pe) {
88          }
89  
90          journalArticleImagePersistence.remove(articleImage);
91      }
92  
93      public void deleteArticleImage(
94              long groupId, String articleId, double version, String elInstanceId,
95              String elName, String languageId)
96          throws SystemException {
97  
98          try {
99              JournalArticleImage articleImage =
100                 journalArticleImagePersistence.findByG_A_V_E_E_L(
101                 groupId, articleId, version, elInstanceId, elName, languageId);
102 
103             deleteArticleImage(articleImage);
104         }
105         catch (NoSuchArticleImageException nsaie) {
106         }
107     }
108 
109     public void deleteImages(long groupId, String articleId, double version)
110         throws SystemException {
111 
112         for (JournalArticleImage articleImage :
113                 journalArticleImagePersistence.findByG_A_V(
114                     groupId, articleId, version)) {
115 
116             deleteArticleImage(articleImage);
117         }
118     }
119 
120     public JournalArticleImage getArticleImage(long articleImageId)
121         throws PortalException, SystemException {
122 
123         return journalArticleImagePersistence.findByPrimaryKey(articleImageId);
124     }
125 
126     public long getArticleImageId(
127             long groupId, String articleId, double version, String elInstanceId,
128             String elName, String languageId)
129         throws SystemException {
130 
131         return getArticleImageId(
132             groupId, articleId, version, elInstanceId, elName, languageId,
133             false);
134     }
135 
136     public long getArticleImageId(
137             long groupId, String articleId, double version, String elInstanceId,
138             String elName, String languageId, boolean tempImage)
139         throws SystemException {
140 
141         JournalArticleImage articleImage =
142             journalArticleImagePersistence.fetchByG_A_V_E_E_L(
143                 groupId, articleId, version, elInstanceId, elName, languageId);
144 
145         if (articleImage == null) {
146             long articleImageId = counterLocalService.increment();
147 
148             articleImage = journalArticleImagePersistence.create(
149                 articleImageId);
150 
151             articleImage.setGroupId(groupId);
152             articleImage.setArticleId(articleId);
153             articleImage.setVersion(version);
154             articleImage.setElInstanceId(elInstanceId);
155             articleImage.setElName(elName);
156             articleImage.setLanguageId(languageId);
157             articleImage.setTempImage(tempImage);
158 
159             journalArticleImagePersistence.update(articleImage, false);
160         }
161 
162         return articleImage.getArticleImageId();
163     }
164 
165     public List<JournalArticleImage> getArticleImages(long groupId)
166         throws SystemException {
167 
168         return journalArticleImagePersistence.findByGroupId(groupId);
169     }
170 
171 }