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