1   /**
2    * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved.
3    *
4    * Permission is hereby granted, free of charge, to any person obtaining a copy
5    * of this software and associated documentation files (the "Software"), to deal
6    * in the Software without restriction, including without limitation the rights
7    * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8    * copies of the Software, and to permit persons to whom the Software is
9    * furnished to do so, subject to the following conditions:
10   *
11   * The above copyright notice and this permission notice shall be included in
12   * all copies or substantial portions 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  /**
24   * The contents of this file are subject to the terms of the Common Development
25   * and Distribution License (the License). You may not use this file except in
26   * compliance with the License.
27   *
28   * You can obtain a copy of the License at http://www.sun.com/cddl/cddl.html and
29   * legal/CDDLv1.0.txt. See the License for the specific language governing
30   * permission and limitations under the License.
31   *
32   * When distributing Covered Code, include this CDDL Header Notice in each file
33   * and include the License file at legal/CDDLv1.0.txt.
34   *
35   * If applicable, add the following below the CDDL Header, with the fields
36   * enclosed by brackets [] replaced by your own identifying information:
37   * "Portions Copyrighted [year] [name of copyright owner]"
38   *
39   * Copyright 2009 Sun Microsystems Inc. All rights reserved.
40   */
41  
42  package com.liferay.portal.mirage.service;
43  
44  import com.liferay.portal.mirage.aop.ContentInvoker;
45  import com.liferay.portal.mirage.aop.SearchCriteriaInvoker;
46  import com.liferay.portal.mirage.model.MirageJournalArticle;
47  import com.liferay.portlet.journal.model.JournalArticle;
48  
49  import com.sun.portal.cms.mirage.exception.CMSException;
50  import com.sun.portal.cms.mirage.model.custom.Content;
51  import com.sun.portal.cms.mirage.model.custom.ContentType;
52  import com.sun.portal.cms.mirage.model.custom.OptionalCriteria;
53  import com.sun.portal.cms.mirage.model.custom.VersionableContent;
54  import com.sun.portal.cms.mirage.model.search.SearchCriteria;
55  import com.sun.portal.cms.mirage.service.custom.ContentService;
56  
57  import java.io.InputStream;
58  
59  import java.util.ArrayList;
60  import java.util.List;
61  
62  /**
63   * <a href="ContentServiceImpl.java.html"><b><i>View Source</i></b></a>
64   *
65   * @author Jorge Ferrer
66   * @author Prakash Reddy
67   * @author Karthik Sudarshan
68   * @author Joshna Reddy
69   *
70   */
71  public class ContentServiceImpl implements ContentService {
72  
73      public void checkinContent(Content content) {
74          throw new UnsupportedOperationException();
75      }
76  
77      public VersionableContent checkoutContent(
78          String contentName, String contentTypeUUID) {
79  
80          throw new UnsupportedOperationException();
81      }
82  
83      public int contentSearchCount(
84              ContentType contentType, SearchCriteria searchCriteria)
85          throws CMSException {
86  
87          SearchCriteriaInvoker searchCriteriaInvoker =
88              (SearchCriteriaInvoker)searchCriteria;
89  
90          searchCriteriaInvoker.invoke();
91  
92          Integer i = (Integer)searchCriteriaInvoker.getReturnValue();
93  
94          return i.intValue();
95      }
96  
97      public int contentSearchCount(SearchCriteria searchCriteria)
98          throws CMSException {
99  
100         SearchCriteriaInvoker searchCriteriaInvoker =
101             (SearchCriteriaInvoker)searchCriteria;
102 
103         searchCriteriaInvoker.invoke();
104 
105         Integer i = (Integer)searchCriteriaInvoker.getReturnValue();
106 
107         return i.intValue();
108     }
109 
110     public void createContent(Content content) throws CMSException {
111         process(content);
112     }
113 
114     public void deleteContent(Content content) throws CMSException {
115         process(content);
116     }
117 
118     public void deleteContent(String contentName, String contentTypeUUID) {
119         throw new UnsupportedOperationException();
120     }
121 
122     public Content getContent(Content content, OptionalCriteria criteria)
123         throws CMSException {
124 
125         ContentInvoker contentInvoker = (ContentInvoker)content;
126 
127         contentInvoker.invoke();
128 
129         JournalArticle article =
130             (JournalArticle)contentInvoker.getReturnValue();
131 
132         return new MirageJournalArticle(article);
133     }
134 
135     public Content getContentByNameAndType(
136         String contentName, String contentTypeUUID) {
137 
138         throw new UnsupportedOperationException();
139     }
140 
141     public Content getContentByNameTypeNameAndCategory(
142         String contentName, String contentTypeName, String categoryName) {
143 
144         throw new UnsupportedOperationException();
145     }
146 
147     public Content getContentByUUID(String uuid) {
148         throw new UnsupportedOperationException();
149     }
150 
151     public VersionableContent getContentByVersion(
152         String contentName, String contentTypeUUID, String versionName) {
153 
154         throw new UnsupportedOperationException();
155     }
156 
157     public List<String> getContentNamesByType(String contentTypeUUID) {
158         throw new UnsupportedOperationException();
159     }
160 
161     public List<Content> getContentsByType(String contentTypeUUID) {
162         throw new UnsupportedOperationException();
163     }
164 
165     public String getContentURL(String appURL, String UUID) {
166         throw new UnsupportedOperationException();
167     }
168 
169     public List<String> getVersionNames(
170         String contentName, String contentTypeUUID) {
171 
172         throw new UnsupportedOperationException();
173     }
174 
175     public List<VersionableContent> getVersions(
176         String contentName, String contentTypeUUID) {
177 
178         throw new UnsupportedOperationException();
179     }
180 
181     public List<Content> searchContents(SearchCriteria searchCriteria)
182         throws CMSException {
183 
184         SearchCriteriaInvoker searchCriteriaInvoker =
185             (SearchCriteriaInvoker)searchCriteria;
186 
187         searchCriteriaInvoker.invoke();
188 
189         List<JournalArticle> articles = (List<JournalArticle>)
190             searchCriteriaInvoker.getReturnValue();
191 
192         List<Content> contents = new ArrayList<Content>(
193             articles.size());
194 
195         for (JournalArticle article : articles) {
196             contents.add(new MirageJournalArticle(article));
197         }
198 
199         return contents;
200     }
201 
202     public List<Content> searchContentsByType(
203             ContentType contentType, SearchCriteria searchCriteria)
204         throws CMSException {
205 
206         SearchCriteriaInvoker searchCriteriaInvoker =
207             (SearchCriteriaInvoker)searchCriteria;
208 
209         searchCriteriaInvoker.invoke();
210 
211         List<JournalArticle> articles = (List<JournalArticle>)
212             searchCriteriaInvoker.getReturnValue();
213 
214         List<Content> contents = new ArrayList<Content>(articles.size());
215 
216         for (JournalArticle article : articles) {
217             contents.add(new MirageJournalArticle(article));
218         }
219 
220         return contents;
221     }
222 
223     public void unCheckoutContent(String contentName, String contentTypeUUID) {
224         throw new UnsupportedOperationException();
225     }
226 
227     public void updateContent(Content content) throws CMSException {
228         process(content);
229     }
230 
231     public void updateContent(Content content, OptionalCriteria criteria)
232         throws CMSException {
233 
234         process(content);
235     }
236 
237     public void updateFileField(
238         String contentUUID, String fieldName,
239         InputStream updatedFileInputStream) {
240 
241         throw new UnsupportedOperationException();
242     }
243 
244     protected void process(Content content) throws CMSException {
245         ContentInvoker contentInvoker = (ContentInvoker)content;
246 
247         contentInvoker.invoke();
248     }
249 
250 }