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