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 elInstanceId, 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_E_L(
52                  groupId, articleId, version, elInstanceId, 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.setElInstanceId(elInstanceId);
62              articleImage.setElName(elName);
63              articleImage.setLanguageId(languageId);
64              articleImage.setTempImage(false);
65  
66              journalArticleImagePersistence.update(articleImage, false);
67          }
68          else if (articleImage.getArticleImageId() == articleImageId) {
69          }
70          else {
71              throw new DuplicateArticleImageIdException();
72          }
73      }
74  
75      public void deleteArticleImage(long articleImageId) throws SystemException {
76          try {
77              JournalArticleImage articleImage =
78                  journalArticleImagePersistence.findByPrimaryKey(
79                      articleImageId);
80  
81              deleteArticleImage(articleImage);
82          }
83          catch (NoSuchArticleImageException nsaie) {
84          }
85      }
86  
87      public void deleteArticleImage(JournalArticleImage articleImage)
88          throws SystemException {
89  
90          try {
91              imageLocalService.deleteImage(articleImage.getArticleImageId());
92          }
93          catch (PortalException pe) {
94          }
95  
96          journalArticleImagePersistence.remove(articleImage);
97      }
98  
99      public void deleteArticleImage(
100             long groupId, String articleId, double version, String elInstanceId,
101             String elName, String languageId)
102         throws SystemException {
103 
104         try {
105             JournalArticleImage articleImage =
106                 journalArticleImagePersistence.findByG_A_V_E_E_L(
107                 groupId, articleId, version, elInstanceId, elName, languageId);
108 
109             deleteArticleImage(articleImage);
110         }
111         catch (NoSuchArticleImageException nsaie) {
112         }
113     }
114 
115     public void deleteImages(long groupId, String articleId, double version)
116         throws SystemException {
117 
118         for (JournalArticleImage articleImage :
119                 journalArticleImagePersistence.findByG_A_V(
120                     groupId, articleId, version)) {
121 
122             deleteArticleImage(articleImage);
123         }
124     }
125 
126     public JournalArticleImage getArticleImage(long articleImageId)
127         throws PortalException, SystemException {
128 
129         return journalArticleImagePersistence.findByPrimaryKey(articleImageId);
130     }
131 
132     public long getArticleImageId(
133             long groupId, String articleId, double version, String elInstanceId,
134             String elName, String languageId)
135         throws SystemException {
136 
137         return getArticleImageId(
138             groupId, articleId, version, elInstanceId, elName, languageId,
139             false);
140     }
141 
142     public long getArticleImageId(
143             long groupId, String articleId, double version, String elInstanceId,
144             String elName, String languageId, boolean tempImage)
145         throws SystemException {
146 
147         JournalArticleImage articleImage =
148             journalArticleImagePersistence.fetchByG_A_V_E_E_L(
149                 groupId, articleId, version, elInstanceId, elName, languageId);
150 
151         if (articleImage == null) {
152             long articleImageId = counterLocalService.increment();
153 
154             articleImage = journalArticleImagePersistence.create(
155                 articleImageId);
156 
157             articleImage.setGroupId(groupId);
158             articleImage.setArticleId(articleId);
159             articleImage.setVersion(version);
160             articleImage.setElInstanceId(elInstanceId);
161             articleImage.setElName(elName);
162             articleImage.setLanguageId(languageId);
163             articleImage.setTempImage(tempImage);
164 
165             journalArticleImagePersistence.update(articleImage, false);
166         }
167 
168         return articleImage.getArticleImageId();
169     }
170 
171     public List<JournalArticleImage> getArticleImages(long groupId)
172         throws SystemException {
173 
174         return journalArticleImagePersistence.findByGroupId(groupId);
175     }
176 
177 }