001    /**
002     * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portlet.journal.service.http;
016    
017    import com.liferay.portal.kernel.log.Log;
018    import com.liferay.portal.kernel.log.LogFactoryUtil;
019    import com.liferay.portal.kernel.util.ListUtil;
020    import com.liferay.portal.kernel.util.LocalizationUtil;
021    
022    import com.liferay.portlet.journal.service.JournalArticleServiceUtil;
023    
024    import java.rmi.RemoteException;
025    
026    import java.util.Locale;
027    import java.util.Map;
028    
029    /**
030     * Provides the SOAP utility for the
031     * {@link com.liferay.portlet.journal.service.JournalArticleServiceUtil} service utility. The
032     * static methods of this class calls the same methods of the service utility.
033     * However, the signatures are different because it is difficult for SOAP to
034     * support certain types.
035     *
036     * <p>
037     * ServiceBuilder follows certain rules in translating the methods. For example,
038     * if the method in the service utility returns a {@link java.util.List}, that
039     * is translated to an array of {@link com.liferay.portlet.journal.model.JournalArticleSoap}.
040     * If the method in the service utility returns a
041     * {@link com.liferay.portlet.journal.model.JournalArticle}, that is translated to a
042     * {@link com.liferay.portlet.journal.model.JournalArticleSoap}. Methods that SOAP cannot
043     * safely wire are skipped.
044     * </p>
045     *
046     * <p>
047     * The benefits of using the SOAP utility is that it is cross platform
048     * compatible. SOAP allows different languages like Java, .NET, C++, PHP, and
049     * even Perl, to call the generated services. One drawback of SOAP is that it is
050     * slow because it needs to serialize all calls into a text format (XML).
051     * </p>
052     *
053     * <p>
054     * You can see a list of services at http://localhost:8080/api/axis. Set the
055     * property <b>axis.servlet.hosts.allowed</b> in portal.properties to configure
056     * security.
057     * </p>
058     *
059     * <p>
060     * The SOAP utility is only generated for remote services.
061     * </p>
062     *
063     * @author Brian Wing Shun Chan
064     * @see JournalArticleServiceHttp
065     * @see com.liferay.portlet.journal.model.JournalArticleSoap
066     * @see com.liferay.portlet.journal.service.JournalArticleServiceUtil
067     * @generated
068     */
069    public class JournalArticleServiceSoap {
070            /**
071            * Adds a web content article without any images.
072            *
073            * @param groupId the primary key of the web content article's group
074            * @param folderId the primary key of the web content article folder
075            * @param classNameId the primary key of the DDMStructure class if the web
076            content article is related to a DDM structure, the primary key of
077            the class name associated with the article, or {@link
078            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
079            * @param classPK the primary key of the DDM structure, if the primary key
080            of the DDMStructure class is given as the
081            <code>classNameId</code> parameter, the primary key of the class
082            associated with the web content article, or <code>0</code>
083            otherwise
084            * @param articleId the primary key of the web content article
085            * @param autoArticleId whether to auto generate the web content article ID
086            * @param titleMap the web content article's locales and localized titles
087            * @param descriptionMap the web content article's locales and localized
088            descriptions
089            * @param content the HTML content wrapped in XML. For more information,
090            see the content example in the class description for {@link
091            JournalArticleLocalServiceImpl}.
092            * @param type the structure's type, if the web content article is related
093            to a DDM structure. For more information, see {@link
094            com.liferay.portlet.dynamicdatamapping.model.DDMStructureConstants}.
095            * @param ddmStructureKey the primary key of the web content article's DDM
096            structure, if the article is related to a DDM structure, or
097            <code>null</code> otherwise
098            * @param ddmTemplateKey the primary key of the web content article's DDM
099            template (optionally <code>null</code>). If the article is
100            related to a DDM structure, the template's structure must match
101            it.
102            * @param layoutUuid the unique string identifying the web content
103            article's display page
104            * @param displayDateMonth the month the web content article is set to
105            display
106            * @param displayDateDay the calendar day the web content article is set to
107            display
108            * @param displayDateYear the year the web content article is set to
109            display
110            * @param displayDateHour the hour the web content article is set to
111            display
112            * @param displayDateMinute the minute the web content article is set to
113            display
114            * @param expirationDateMonth the month the web content article is set to
115            expire
116            * @param expirationDateDay the calendar day the web content article is set
117            to expire
118            * @param expirationDateYear the year the web content article is set to
119            expire
120            * @param expirationDateHour the hour the web content article is set to
121            expire
122            * @param expirationDateMinute the minute the web content article is set to
123            expire
124            * @param neverExpire whether the web content article is not set to auto
125            expire
126            * @param reviewDateMonth the month the web content article is set for
127            review
128            * @param reviewDateDay the calendar day the web content article is set for
129            review
130            * @param reviewDateYear the year the web content article is set for review
131            * @param reviewDateHour the hour the web content article is set for review
132            * @param reviewDateMinute the minute the web content article is set for
133            review
134            * @param neverReview whether the web content article is not set for review
135            * @param indexable whether the web content article is searchable
136            * @param articleURL the web content article's accessible URL
137            * @param serviceContext the service context to be applied. Can set the
138            UUID, creation date, modification date, expando bridge
139            attributes, guest permissions, group permissions, asset category
140            IDs, asset tag names, asset link entry IDs, the "urlTitle"
141            attribute, and workflow actions for the web content article. Can
142            also set whether to add the default guest and group permissions.
143            * @return the web content article
144            * @throws PortalException if the user did not have permission to add the
145            web content article or if a portal exception occurred
146            * @throws SystemException if a system exception occurred
147            */
148            public static com.liferay.portlet.journal.model.JournalArticleSoap addArticle(
149                    long groupId, long folderId, long classNameId, long classPK,
150                    java.lang.String articleId, boolean autoArticleId,
151                    java.lang.String[] titleMapLanguageIds,
152                    java.lang.String[] titleMapValues,
153                    java.lang.String[] descriptionMapLanguageIds,
154                    java.lang.String[] descriptionMapValues, java.lang.String content,
155                    java.lang.String type, java.lang.String ddmStructureKey,
156                    java.lang.String ddmTemplateKey, java.lang.String layoutUuid,
157                    int displayDateMonth, int displayDateDay, int displayDateYear,
158                    int displayDateHour, int displayDateMinute, int expirationDateMonth,
159                    int expirationDateDay, int expirationDateYear, int expirationDateHour,
160                    int expirationDateMinute, boolean neverExpire, int reviewDateMonth,
161                    int reviewDateDay, int reviewDateYear, int reviewDateHour,
162                    int reviewDateMinute, boolean neverReview, boolean indexable,
163                    java.lang.String articleURL,
164                    com.liferay.portal.service.ServiceContext serviceContext)
165                    throws RemoteException {
166                    try {
167                            Map<Locale, String> titleMap = LocalizationUtil.getLocalizationMap(titleMapLanguageIds,
168                                            titleMapValues);
169                            Map<Locale, String> descriptionMap = LocalizationUtil.getLocalizationMap(descriptionMapLanguageIds,
170                                            descriptionMapValues);
171    
172                            com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.addArticle(groupId,
173                                            folderId, classNameId, classPK, articleId, autoArticleId,
174                                            titleMap, descriptionMap, content, type, ddmStructureKey,
175                                            ddmTemplateKey, layoutUuid, displayDateMonth,
176                                            displayDateDay, displayDateYear, displayDateHour,
177                                            displayDateMinute, expirationDateMonth, expirationDateDay,
178                                            expirationDateYear, expirationDateHour,
179                                            expirationDateMinute, neverExpire, reviewDateMonth,
180                                            reviewDateDay, reviewDateYear, reviewDateHour,
181                                            reviewDateMinute, neverReview, indexable, articleURL,
182                                            serviceContext);
183    
184                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModel(returnValue);
185                    }
186                    catch (Exception e) {
187                            _log.error(e, e);
188    
189                            throw new RemoteException(e.getMessage());
190                    }
191            }
192    
193            /**
194            * Copies the web content article matching the group, article ID, and
195            * version. This method creates a new article, extracting all the values
196            * from the old one and updating its article ID.
197            *
198            * @param groupId the primary key of the web content article's group
199            * @param oldArticleId the primary key of the old web content article
200            * @param newArticleId the primary key of the new web content article
201            * @param autoArticleId whether to auto-generate the web content article ID
202            * @param version the web content article's version
203            * @return the new web content article
204            * @throws PortalException if the user did not have permission to add the
205            copy the web content article, if a matching web content article
206            could not be found, or if a portal exception occurred
207            * @throws SystemException if a system exception occurred
208            */
209            public static com.liferay.portlet.journal.model.JournalArticleSoap copyArticle(
210                    long groupId, java.lang.String oldArticleId,
211                    java.lang.String newArticleId, boolean autoArticleId, double version)
212                    throws RemoteException {
213                    try {
214                            com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.copyArticle(groupId,
215                                            oldArticleId, newArticleId, autoArticleId, version);
216    
217                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModel(returnValue);
218                    }
219                    catch (Exception e) {
220                            _log.error(e, e);
221    
222                            throw new RemoteException(e.getMessage());
223                    }
224            }
225    
226            /**
227            * Deletes the web content article and its resources matching the group,
228            * article ID, and version, optionally sending email notifying denial of the
229            * web content article if it had not yet been approved.
230            *
231            * @param groupId the primary key of the web content article's group
232            * @param articleId the primary key of the web content article
233            * @param version the web content article's version
234            * @param articleURL the web content article's accessible URL
235            * @param serviceContext the service context to be applied. Can set the
236            portlet preferences that include email information to notify
237            recipients of the unapproved web content article's denial.
238            * @throws PortalException if the user did not have permission to delete the
239            web content article, if a matching web content article could not
240            be found, or if a portal exception occurred
241            * @throws SystemException if a system exception occurred
242            */
243            public static void deleteArticle(long groupId, java.lang.String articleId,
244                    double version, java.lang.String articleURL,
245                    com.liferay.portal.service.ServiceContext serviceContext)
246                    throws RemoteException {
247                    try {
248                            JournalArticleServiceUtil.deleteArticle(groupId, articleId,
249                                    version, articleURL, serviceContext);
250                    }
251                    catch (Exception e) {
252                            _log.error(e, e);
253    
254                            throw new RemoteException(e.getMessage());
255                    }
256            }
257    
258            /**
259            * Deletes all web content articles and their resources matching the group
260            * and article ID, optionally sending email notifying denial of article if
261            * it had not yet been approved.
262            *
263            * @param groupId the primary key of the web content article's group
264            * @param articleId the primary key of the web content article
265            * @param articleURL the web content article's accessible URL
266            * @param serviceContext the service context to be applied. Can set the
267            portlet preferences that include email information to notify
268            recipients of the unapproved web content article's denial.
269            * @throws PortalException if the user did not have permission to delete the
270            web content article or if a portal exception occurred
271            * @throws SystemException if a system exception occurred
272            */
273            public static void deleteArticle(long groupId, java.lang.String articleId,
274                    java.lang.String articleURL,
275                    com.liferay.portal.service.ServiceContext serviceContext)
276                    throws RemoteException {
277                    try {
278                            JournalArticleServiceUtil.deleteArticle(groupId, articleId,
279                                    articleURL, serviceContext);
280                    }
281                    catch (Exception e) {
282                            _log.error(e, e);
283    
284                            throw new RemoteException(e.getMessage());
285                    }
286            }
287    
288            /**
289            * Expires the web content article matching the group, article ID, and
290            * version.
291            *
292            * @param groupId the primary key of the web content article's group
293            * @param articleId the primary key of the web content article
294            * @param version the web content article's version
295            * @param articleURL the web content article's accessible URL
296            * @param serviceContext the service context to be applied. Can set the
297            modification date, status date, portlet preferences, and can set
298            whether to add the default command update for the web content
299            article. With respect to social activities, by setting the
300            service context's command to {@link
301            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
302            is considered a web content update activity; otherwise it is
303            considered a web content add activity.
304            * @return the web content article
305            * @throws PortalException if the user did not have permission to expire the
306            web content article, if a matching web content article could not
307            be found, or if a portal exception occurred
308            * @throws SystemException if a system exception occurred
309            */
310            public static com.liferay.portlet.journal.model.JournalArticleSoap expireArticle(
311                    long groupId, java.lang.String articleId, double version,
312                    java.lang.String articleURL,
313                    com.liferay.portal.service.ServiceContext serviceContext)
314                    throws RemoteException {
315                    try {
316                            com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.expireArticle(groupId,
317                                            articleId, version, articleURL, serviceContext);
318    
319                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModel(returnValue);
320                    }
321                    catch (Exception e) {
322                            _log.error(e, e);
323    
324                            throw new RemoteException(e.getMessage());
325                    }
326            }
327    
328            /**
329            * Expires the web content article matching the group and article ID,
330            * expiring all of its versions if the
331            * <code>journal.article.expire.all.versions</code> portal property is
332            * <code>true</code>, otherwise expiring only its latest approved version.
333            *
334            * @param groupId the primary key of the web content article's group
335            * @param articleId the primary key of the web content article
336            * @param articleURL the web content article's accessible URL
337            * @param serviceContext the service context to be applied. Can set the
338            modification date, status date, portlet preferences, and can set
339            whether to add the default command update for the web content
340            article. With respect to social activities, by setting the
341            service context's command to {@link
342            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
343            is considered a web content update activity; otherwise it is
344            considered a web content add activity.
345            * @throws PortalException if the user did not have permission to expire the
346            web content article, if a matching web content article could not
347            be found, or if a portal exception occurred
348            * @throws SystemException if a system exception occurred
349            */
350            public static void expireArticle(long groupId, java.lang.String articleId,
351                    java.lang.String articleURL,
352                    com.liferay.portal.service.ServiceContext serviceContext)
353                    throws RemoteException {
354                    try {
355                            JournalArticleServiceUtil.expireArticle(groupId, articleId,
356                                    articleURL, serviceContext);
357                    }
358                    catch (Exception e) {
359                            _log.error(e, e);
360    
361                            throw new RemoteException(e.getMessage());
362                    }
363            }
364    
365            /**
366            * Returns the web content article with the ID.
367            *
368            * @param id the primary key of the web content article
369            * @return the web content article with the ID
370            * @throws PortalException if a matching web content article could not be
371            found or if the user did not have permission to view the web
372            content article
373            * @throws SystemException if a system exception occurred
374            */
375            public static com.liferay.portlet.journal.model.JournalArticleSoap getArticle(
376                    long id) throws RemoteException {
377                    try {
378                            com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.getArticle(id);
379    
380                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModel(returnValue);
381                    }
382                    catch (Exception e) {
383                            _log.error(e, e);
384    
385                            throw new RemoteException(e.getMessage());
386                    }
387            }
388    
389            /**
390            * Returns the latest approved web content article, or the latest unapproved
391            * article if none are approved. Both approved and unapproved articles must
392            * match the group and article ID.
393            *
394            * @param groupId the primary key of the web content article's group
395            * @param articleId the primary key of the web content article
396            * @return the matching web content article
397            * @throws PortalException if the user did not have permission to view the
398            web content article or if a matching web content article could
399            not be found
400            * @throws SystemException if a system exception occurred
401            */
402            public static com.liferay.portlet.journal.model.JournalArticleSoap getArticle(
403                    long groupId, java.lang.String articleId) throws RemoteException {
404                    try {
405                            com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.getArticle(groupId,
406                                            articleId);
407    
408                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModel(returnValue);
409                    }
410                    catch (Exception e) {
411                            _log.error(e, e);
412    
413                            throw new RemoteException(e.getMessage());
414                    }
415            }
416    
417            /**
418            * Returns the web content article matching the group, article ID, and
419            * version.
420            *
421            * @param groupId the primary key of the web content article's group
422            * @param articleId the primary key of the web content article
423            * @param version the web content article's version
424            * @return the matching web content article
425            * @throws PortalException if the user did not have permission to view the
426            web content article or if a matching web content article could
427            not be found
428            * @throws SystemException if a system exception occurred
429            */
430            public static com.liferay.portlet.journal.model.JournalArticleSoap getArticle(
431                    long groupId, java.lang.String articleId, double version)
432                    throws RemoteException {
433                    try {
434                            com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.getArticle(groupId,
435                                            articleId, version);
436    
437                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModel(returnValue);
438                    }
439                    catch (Exception e) {
440                            _log.error(e, e);
441    
442                            throw new RemoteException(e.getMessage());
443                    }
444            }
445    
446            /**
447            * Returns the web content article matching the group, class name, and class
448            * PK.
449            *
450            * @param groupId the primary key of the web content article's group
451            * @param className the DDMStructure class name if the web content article
452            is related to a DDM structure, the primary key of the class name
453            associated with the article, or {@link
454            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
455            * @param classPK the primary key of the DDM structure, if the the
456            DDMStructure class name is given as the <code>className</code>
457            parameter, the primary key of the class associated with the web
458            content article, or <code>0</code> otherwise
459            * @return the matching web content article
460            * @throws PortalException if a matching web content article could not be
461            found or if the user did not have permission to view the web
462            content article
463            * @throws SystemException if a system exception occurred
464            */
465            public static com.liferay.portlet.journal.model.JournalArticleSoap getArticle(
466                    long groupId, java.lang.String className, long classPK)
467                    throws RemoteException {
468                    try {
469                            com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.getArticle(groupId,
470                                            className, classPK);
471    
472                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModel(returnValue);
473                    }
474                    catch (Exception e) {
475                            _log.error(e, e);
476    
477                            throw new RemoteException(e.getMessage());
478                    }
479            }
480    
481            /**
482            * Returns the latest web content article that is approved, or the latest
483            * unapproved article if none are approved. Both approved and unapproved
484            * articles must match the group and URL title.
485            *
486            * @param groupId the primary key of the web content article's group
487            * @param urlTitle the web content article's accessible URL title
488            * @return the matching web content article
489            * @throws PortalException if the user did not have permission to view the
490            web content article or if a portal exception occurred
491            * @throws SystemException if a system exception occurred
492            */
493            public static com.liferay.portlet.journal.model.JournalArticleSoap getArticleByUrlTitle(
494                    long groupId, java.lang.String urlTitle) throws RemoteException {
495                    try {
496                            com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.getArticleByUrlTitle(groupId,
497                                            urlTitle);
498    
499                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModel(returnValue);
500                    }
501                    catch (Exception e) {
502                            _log.error(e, e);
503    
504                            throw new RemoteException(e.getMessage());
505                    }
506            }
507    
508            /**
509            * Returns all the web content articles matching the group and folder.
510            *
511            * @param groupId the primary key of the web content article's group
512            * @param folderId the primary key of the web content article folder
513            * @return the matching web content articles
514            * @throws SystemException if a system exception occurred
515            */
516            public static com.liferay.portlet.journal.model.JournalArticleSoap[] getArticles(
517                    long groupId, long folderId) throws RemoteException {
518                    try {
519                            java.util.List<com.liferay.portlet.journal.model.JournalArticle> returnValue =
520                                    JournalArticleServiceUtil.getArticles(groupId, folderId);
521    
522                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModels(returnValue);
523                    }
524                    catch (Exception e) {
525                            _log.error(e, e);
526    
527                            throw new RemoteException(e.getMessage());
528                    }
529            }
530    
531            /**
532            * Returns an ordered range of all the web content articles matching the
533            * group and folder.
534            *
535            * <p>
536            * Useful when paginating results. Returns a maximum of <code>end -
537            * start</code> instances. <code>start</code> and <code>end</code> are not
538            * primary keys, they are indexes in the result set. Thus, <code>0</code>
539            * refers to the first result in the set. Setting both <code>start</code>
540            * and <code>end</code> to {@link
541            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
542            * result set.
543            * </p>
544            *
545            * @param groupId the primary key of the web content article's group
546            * @param folderId the primary key of the web content article folder
547            * @param start the lower bound of the range of web content articles to
548            return
549            * @param end the upper bound of the range of web content articles to
550            return (not inclusive)
551            * @param obc the comparator to order the web content articles
552            * @return the matching web content articles
553            * @throws SystemException if a system exception occurred
554            */
555            public static com.liferay.portlet.journal.model.JournalArticleSoap[] getArticles(
556                    long groupId, long folderId, int start, int end,
557                    com.liferay.portal.kernel.util.OrderByComparator obc)
558                    throws RemoteException {
559                    try {
560                            java.util.List<com.liferay.portlet.journal.model.JournalArticle> returnValue =
561                                    JournalArticleServiceUtil.getArticles(groupId, folderId, start,
562                                            end, obc);
563    
564                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModels(returnValue);
565                    }
566                    catch (Exception e) {
567                            _log.error(e, e);
568    
569                            throw new RemoteException(e.getMessage());
570                    }
571            }
572    
573            /**
574            * Returns an ordered range of all the web content articles matching the
575            * group and article ID.
576            *
577            * <p>
578            * Useful when paginating results. Returns a maximum of <code>end -
579            * start</code> instances. <code>start</code> and <code>end</code> are not
580            * primary keys, they are indexes in the result set. Thus, <code>0</code>
581            * refers to the first result in the set. Setting both <code>start</code>
582            * and <code>end</code> to {@link
583            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
584            * result set.
585            * </p>
586            *
587            * @param groupId the primary key of the web content article's group
588            * @param articleId the primary key of the web content article
589            * @param start the lower bound of the range of web content articles to
590            return
591            * @param end the upper bound of the range of web content articles to
592            return (not inclusive)
593            * @param obc the comparator to order the web content articles
594            * @return the range of matching web content articles ordered by the
595            comparator
596            * @throws SystemException if a system exception occurred
597            */
598            public static com.liferay.portlet.journal.model.JournalArticleSoap[] getArticlesByArticleId(
599                    long groupId, java.lang.String articleId, int start, int end,
600                    com.liferay.portal.kernel.util.OrderByComparator obc)
601                    throws RemoteException {
602                    try {
603                            java.util.List<com.liferay.portlet.journal.model.JournalArticle> returnValue =
604                                    JournalArticleServiceUtil.getArticlesByArticleId(groupId,
605                                            articleId, start, end, obc);
606    
607                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModels(returnValue);
608                    }
609                    catch (Exception e) {
610                            _log.error(e, e);
611    
612                            throw new RemoteException(e.getMessage());
613                    }
614            }
615    
616            /**
617            * Returns all the web content articles matching the group and layout UUID.
618            *
619            * @param groupId the primary key of the web content article's group
620            * @param layoutUuid the unique string identifying the web content
621            article's display page
622            * @return the matching web content articles
623            * @throws SystemException if a system exception occurred
624            */
625            public static com.liferay.portlet.journal.model.JournalArticleSoap[] getArticlesByLayoutUuid(
626                    long groupId, java.lang.String layoutUuid) throws RemoteException {
627                    try {
628                            java.util.List<com.liferay.portlet.journal.model.JournalArticle> returnValue =
629                                    JournalArticleServiceUtil.getArticlesByLayoutUuid(groupId,
630                                            layoutUuid);
631    
632                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModels(returnValue);
633                    }
634                    catch (Exception e) {
635                            _log.error(e, e);
636    
637                            throw new RemoteException(e.getMessage());
638                    }
639            }
640    
641            /**
642            * Returns an ordered range of all the web content articles matching the
643            * group, class name ID, DDM structure key, and workflow status.
644            *
645            * <p>
646            * Useful when paginating results. Returns a maximum of <code>end -
647            * start</code> instances. <code>start</code> and <code>end</code> are not
648            * primary keys, they are indexes in the result set. Thus, <code>0</code>
649            * refers to the first result in the set. Setting both <code>start</code>
650            * and <code>end</code> to {@link
651            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
652            * result set.
653            * </p>
654            *
655            * @param groupId the primary key of the web content article's group
656            * @param classNameId the primary key of the DDMStructure class if the web
657            content article is related to a DDM structure, the primary key of
658            the class name associated with the article, or {@link
659            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
660            * @param ddmStructureKey the primary key of the web content article's DDM
661            structure
662            * @param status the web content article's workflow status. For more
663            information see {@link WorkflowConstants} for constants starting
664            with the "STATUS_" prefix.
665            * @param start the lower bound of the range of web content articles to
666            return
667            * @param end the upper bound of the range of web content articles to
668            return (not inclusive)
669            * @param obc the comparator to order the web content articles
670            * @return the range of matching web content articles ordered by the
671            comparator
672            * @throws SystemException if a system exception occurred
673            */
674            public static com.liferay.portlet.journal.model.JournalArticleSoap[] getArticlesByStructureId(
675                    long groupId, long classNameId, java.lang.String ddmStructureKey,
676                    int status, int start, int end,
677                    com.liferay.portal.kernel.util.OrderByComparator obc)
678                    throws RemoteException {
679                    try {
680                            java.util.List<com.liferay.portlet.journal.model.JournalArticle> returnValue =
681                                    JournalArticleServiceUtil.getArticlesByStructureId(groupId,
682                                            classNameId, ddmStructureKey, status, start, end, obc);
683    
684                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModels(returnValue);
685                    }
686                    catch (Exception e) {
687                            _log.error(e, e);
688    
689                            throw new RemoteException(e.getMessage());
690                    }
691            }
692    
693            /**
694            * Returns an ordered range of all the web content articles matching the
695            * group, default class name ID, and DDM structure key.
696            *
697            * <p>
698            * Useful when paginating results. Returns a maximum of <code>end -
699            * start</code> instances. <code>start</code> and <code>end</code> are not
700            * primary keys, they are indexes in the result set. Thus, <code>0</code>
701            * refers to the first result in the set. Setting both <code>start</code>
702            * and <code>end</code> to {@link
703            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
704            * result set.
705            * </p>
706            *
707            * @param groupId the primary key of the web content article's group
708            * @param ddmStructureKey the primary key of the web content article's DDM
709            structure
710            * @param start the lower bound of the range of web content articles to
711            return
712            * @param end the upper bound of the range of web content articles to
713            return (not inclusive)
714            * @param obc the comparator to order the web content articles
715            * @return the range of matching web content articles ordered by the
716            comparator
717            * @throws SystemException if a system exception occurred
718            */
719            public static com.liferay.portlet.journal.model.JournalArticleSoap[] getArticlesByStructureId(
720                    long groupId, java.lang.String ddmStructureKey, int start, int end,
721                    com.liferay.portal.kernel.util.OrderByComparator obc)
722                    throws RemoteException {
723                    try {
724                            java.util.List<com.liferay.portlet.journal.model.JournalArticle> returnValue =
725                                    JournalArticleServiceUtil.getArticlesByStructureId(groupId,
726                                            ddmStructureKey, start, end, obc);
727    
728                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModels(returnValue);
729                    }
730                    catch (Exception e) {
731                            _log.error(e, e);
732    
733                            throw new RemoteException(e.getMessage());
734                    }
735            }
736    
737            /**
738            * Returns the number of web content articles matching the group and folder.
739            *
740            * @param groupId the primary key of the web content article's group
741            * @param folderId the primary key of the web content article folder
742            * @return the number of matching web content articles
743            * @throws SystemException if a system exception occurred
744            */
745            public static int getArticlesCount(long groupId, long folderId)
746                    throws RemoteException {
747                    try {
748                            int returnValue = JournalArticleServiceUtil.getArticlesCount(groupId,
749                                            folderId);
750    
751                            return returnValue;
752                    }
753                    catch (Exception e) {
754                            _log.error(e, e);
755    
756                            throw new RemoteException(e.getMessage());
757                    }
758            }
759    
760            public static int getArticlesCount(long groupId, long folderId, int status)
761                    throws RemoteException {
762                    try {
763                            int returnValue = JournalArticleServiceUtil.getArticlesCount(groupId,
764                                            folderId, status);
765    
766                            return returnValue;
767                    }
768                    catch (Exception e) {
769                            _log.error(e, e);
770    
771                            throw new RemoteException(e.getMessage());
772                    }
773            }
774    
775            /**
776            * Returns the number of web content articles matching the group and article
777            * ID.
778            *
779            * @param groupId the primary key of the web content article's group
780            * @param articleId the primary key of the web content article
781            * @return the number of matching web content articles
782            * @throws SystemException if a system exception occurred
783            */
784            public static int getArticlesCountByArticleId(long groupId,
785                    java.lang.String articleId) throws RemoteException {
786                    try {
787                            int returnValue = JournalArticleServiceUtil.getArticlesCountByArticleId(groupId,
788                                            articleId);
789    
790                            return returnValue;
791                    }
792                    catch (Exception e) {
793                            _log.error(e, e);
794    
795                            throw new RemoteException(e.getMessage());
796                    }
797            }
798    
799            /**
800            * Returns the number of web content articles matching the group, class name
801            * ID, DDM structure key, and workflow status.
802            *
803            * @param groupId the primary key of the web content article's group
804            * @param classNameId the primary key of the DDMStructure class if the web
805            content article is related to a DDM structure, the primary key of
806            the class name associated with the article, or {@link
807            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
808            * @param ddmStructureKey the primary key of the web content article's DDM
809            structure
810            * @param status the web content article's workflow status. For more
811            information see {@link WorkflowConstants} for constants starting
812            with the "STATUS_" prefix.
813            * @return the number of matching web content articles
814            * @throws SystemException if a system exception occurred
815            */
816            public static int getArticlesCountByStructureId(long groupId,
817                    long classNameId, java.lang.String ddmStructureKey, int status)
818                    throws RemoteException {
819                    try {
820                            int returnValue = JournalArticleServiceUtil.getArticlesCountByStructureId(groupId,
821                                            classNameId, ddmStructureKey, status);
822    
823                            return returnValue;
824                    }
825                    catch (Exception e) {
826                            _log.error(e, e);
827    
828                            throw new RemoteException(e.getMessage());
829                    }
830            }
831    
832            /**
833            * Returns the number of web content articles matching the group, default
834            * class name ID, and DDM structure key.
835            *
836            * @param groupId the primary key of the web content article's group
837            * @param ddmStructureKey the primary key of the web content article's DDM
838            structure
839            * @return the number of matching web content articles
840            * @throws SystemException if a system exception occurred
841            */
842            public static int getArticlesCountByStructureId(long groupId,
843                    java.lang.String ddmStructureKey) throws RemoteException {
844                    try {
845                            int returnValue = JournalArticleServiceUtil.getArticlesCountByStructureId(groupId,
846                                            ddmStructureKey);
847    
848                            return returnValue;
849                    }
850                    catch (Exception e) {
851                            _log.error(e, e);
852    
853                            throw new RemoteException(e.getMessage());
854                    }
855            }
856    
857            /**
858            * Returns the web content article matching the URL title that is currently
859            * displayed or next to be displayed if no article is currently displayed.
860            *
861            * @param groupId the primary key of the web content article's group
862            * @param urlTitle the web content article's accessible URL title
863            * @return the web content article matching the URL title that is currently
864            displayed, or next one to be displayed if no version of the
865            article is currently displayed
866            * @throws PortalException if the user did not have permission to view the
867            web content article or if no approved matching web content
868            articles could be found
869            * @throws SystemException if a system exception occurred
870            */
871            public static com.liferay.portlet.journal.model.JournalArticleSoap getDisplayArticleByUrlTitle(
872                    long groupId, java.lang.String urlTitle) throws RemoteException {
873                    try {
874                            com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.getDisplayArticleByUrlTitle(groupId,
875                                            urlTitle);
876    
877                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModel(returnValue);
878                    }
879                    catch (Exception e) {
880                            _log.error(e, e);
881    
882                            throw new RemoteException(e.getMessage());
883                    }
884            }
885    
886            /**
887            * Returns the number of folders containing web content articles belonging
888            * to the group.
889            *
890            * @param groupId the primary key of the web content article's group
891            * @param folderIds the primary keys of the web content article folders
892            (optionally {@link java.util.Collections#EMPTY_LIST})
893            * @return the number of matching folders containing web content articles
894            * @throws SystemException if a system exception occurred
895            */
896            public static int getFoldersAndArticlesCount(long groupId, Long[] folderIds)
897                    throws RemoteException {
898                    try {
899                            int returnValue = JournalArticleServiceUtil.getFoldersAndArticlesCount(groupId,
900                                            ListUtil.toList(folderIds));
901    
902                            return returnValue;
903                    }
904                    catch (Exception e) {
905                            _log.error(e, e);
906    
907                            throw new RemoteException(e.getMessage());
908                    }
909            }
910    
911            /**
912            * Returns an ordered range of all the web content articles matching the
913            * group, user, the root folder or any of its subfolders.
914            *
915            * @param groupId the primary key of the web content article's group
916            * @param userId the primary key of the user (optionally <code>0</code>)
917            * @param rootFolderId the primary key of the root folder to begin the
918            search
919            * @param start the lower bound of the range of web content articles to
920            return
921            * @param end the upper bound of the range of web content articles to
922            return (not inclusive)
923            * @param orderByComparator the comparator to order the web content
924            articles
925            * @return the range of matching web content articles ordered by the
926            comparator
927            * @throws PortalException if the root folder could not be found, if the
928            current user did not have permission to view the root folder, or
929            if a portal exception occurred
930            * @throws SystemException if a system exception occurred
931            */
932            public static com.liferay.portlet.journal.model.JournalArticleSoap[] getGroupArticles(
933                    long groupId, long userId, long rootFolderId, int start, int end,
934                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
935                    throws RemoteException {
936                    try {
937                            java.util.List<com.liferay.portlet.journal.model.JournalArticle> returnValue =
938                                    JournalArticleServiceUtil.getGroupArticles(groupId, userId,
939                                            rootFolderId, start, end, orderByComparator);
940    
941                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModels(returnValue);
942                    }
943                    catch (Exception e) {
944                            _log.error(e, e);
945    
946                            throw new RemoteException(e.getMessage());
947                    }
948            }
949    
950            /**
951            * Returns the number of web content articles matching the group, user, and
952            * the root folder or any of its subfolders.
953            *
954            * @param groupId the primary key of the web content article's group
955            * @param userId the primary key of the user (optionally <code>0</code>)
956            * @param rootFolderId the primary key of the root folder to begin the
957            search
958            * @return the number of matching web content articles
959            * @throws PortalException if the root folder could not be found, if the
960            current user did not have permission to view the root folder, or
961            if a portal exception occurred
962            * @throws SystemException if a system exception occurred
963            */
964            public static int getGroupArticlesCount(long groupId, long userId,
965                    long rootFolderId) throws RemoteException {
966                    try {
967                            int returnValue = JournalArticleServiceUtil.getGroupArticlesCount(groupId,
968                                            userId, rootFolderId);
969    
970                            return returnValue;
971                    }
972                    catch (Exception e) {
973                            _log.error(e, e);
974    
975                            throw new RemoteException(e.getMessage());
976                    }
977            }
978    
979            /**
980            * Returns the latest web content article matching the resource primary key,
981            * preferring articles with approved workflow status.
982            *
983            * @param resourcePrimKey the primary key of the resource instance
984            * @return the latest web content article matching the resource primary key,
985            preferring articles with approved workflow status
986            * @throws PortalException if the user did not have permission to view the
987            web content article or if a matching web content article could
988            not be found
989            * @throws SystemException if a system exception occurred
990            */
991            public static com.liferay.portlet.journal.model.JournalArticleSoap getLatestArticle(
992                    long resourcePrimKey) throws RemoteException {
993                    try {
994                            com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.getLatestArticle(resourcePrimKey);
995    
996                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModel(returnValue);
997                    }
998                    catch (Exception e) {
999                            _log.error(e, e);
1000    
1001                            throw new RemoteException(e.getMessage());
1002                    }
1003            }
1004    
1005            /**
1006            * Returns the latest web content article matching the group, article ID,
1007            * and workflow status.
1008            *
1009            * @param groupId the primary key of the web content article's group
1010            * @param articleId the primary key of the web content article
1011            * @param status the web content article's workflow status. For more
1012            information see {@link WorkflowConstants} for constants starting
1013            with the "STATUS_" prefix.
1014            * @return the latest matching web content article
1015            * @throws PortalException if the user did not have permission to view the
1016            web content article or if a matching web content article could
1017            not be found
1018            * @throws SystemException if a system exception occurred
1019            */
1020            public static com.liferay.portlet.journal.model.JournalArticleSoap getLatestArticle(
1021                    long groupId, java.lang.String articleId, int status)
1022                    throws RemoteException {
1023                    try {
1024                            com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.getLatestArticle(groupId,
1025                                            articleId, status);
1026    
1027                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModel(returnValue);
1028                    }
1029                    catch (Exception e) {
1030                            _log.error(e, e);
1031    
1032                            throw new RemoteException(e.getMessage());
1033                    }
1034            }
1035    
1036            /**
1037            * Returns the latest web content article matching the group, class name ID,
1038            * and class PK.
1039            *
1040            * @param groupId the primary key of the web content article's group
1041            * @param className the DDMStructure class name if the web content article
1042            is related to a DDM structure, the class name associated with the
1043            article, or {@link JournalArticleConstants#CLASSNAME_ID_DEFAULT}
1044            otherwise
1045            * @param classPK the primary key of the DDM structure, if the DDMStructure
1046            class name is given as the <code>className</code> parameter, the
1047            primary key of the class associated with the web content article,
1048            or <code>0</code> otherwise
1049            * @return the latest matching web content article
1050            * @throws PortalException if a matching web content article could not be
1051            found or if the user did not have permission to view the web
1052            content article
1053            * @throws SystemException if a system exception occurred
1054            */
1055            public static com.liferay.portlet.journal.model.JournalArticleSoap getLatestArticle(
1056                    long groupId, java.lang.String className, long classPK)
1057                    throws RemoteException {
1058                    try {
1059                            com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.getLatestArticle(groupId,
1060                                            className, classPK);
1061    
1062                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModel(returnValue);
1063                    }
1064                    catch (Exception e) {
1065                            _log.error(e, e);
1066    
1067                            throw new RemoteException(e.getMessage());
1068                    }
1069            }
1070    
1071            /**
1072            * Moves all versions of the the web content article matching the group and
1073            * article ID to the folder.
1074            *
1075            * @param groupId the primary key of the web content article's group
1076            * @param articleId the primary key of the web content article
1077            * @param newFolderId the primary key of the web content article's new
1078            folder
1079            * @throws PortalException if the user did not have permission to update any
1080            one of the versions of the web content article or if any one of
1081            the versions of the web content article could not be moved to the
1082            folder
1083            * @throws SystemException if a system exception occurred
1084            */
1085            public static void moveArticle(long groupId, java.lang.String articleId,
1086                    long newFolderId) throws RemoteException {
1087                    try {
1088                            JournalArticleServiceUtil.moveArticle(groupId, articleId,
1089                                    newFolderId);
1090                    }
1091                    catch (Exception e) {
1092                            _log.error(e, e);
1093    
1094                            throw new RemoteException(e.getMessage());
1095                    }
1096            }
1097    
1098            /**
1099            * Moves the web content article from the Recycle Bin to the folder.
1100            *
1101            * @param groupId the primary key of the web content article's group
1102            * @param resourcePrimKey the primary key of the resource instance
1103            * @param newFolderId the primary key of the web content article's new
1104            folder
1105            * @param serviceContext the service context to be applied. Can set the
1106            modification date, portlet preferences, and can set whether to
1107            add the default command update for the web content article. With
1108            respect to social activities, by setting the service context's
1109            command to {@link
1110            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
1111            is considered a web content update activity; otherwise it is
1112            considered a web content add activity.
1113            * @return the updated web content article, which was moved from the Recycle
1114            Bin to the folder
1115            * @throws PortalException if the user did not have permission to view or
1116            update the web content article, if a matching trashed web content
1117            article could not be found, or if a portal exception occurred
1118            * @throws SystemException if a system exception occurred
1119            */
1120            public static com.liferay.portlet.journal.model.JournalArticleSoap moveArticleFromTrash(
1121                    long groupId, long resourcePrimKey, long newFolderId,
1122                    com.liferay.portal.service.ServiceContext serviceContext)
1123                    throws RemoteException {
1124                    try {
1125                            com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.moveArticleFromTrash(groupId,
1126                                            resourcePrimKey, newFolderId, serviceContext);
1127    
1128                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModel(returnValue);
1129                    }
1130                    catch (Exception e) {
1131                            _log.error(e, e);
1132    
1133                            throw new RemoteException(e.getMessage());
1134                    }
1135            }
1136    
1137            /**
1138            * Moves the web content article from the Recycle Bin to the folder.
1139            *
1140            * @param groupId the primary key of the web content article's group
1141            * @param articleId the primary key of the web content article
1142            * @param newFolderId the primary key of the web content article's new
1143            folder
1144            * @param serviceContext the service context to be applied. Can set the
1145            modification date, portlet preferences, and can set whether to
1146            add the default command update for the web content article. With
1147            respect to social activities, by setting the service context's
1148            command to {@link
1149            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
1150            is considered a web content update activity; otherwise it is
1151            considered a web content add activity.
1152            * @return the updated web content article, which was moved from the Recycle
1153            Bin to the folder
1154            * @throws PortalException if the user did not have permission to view or
1155            update the web content article, if a trashed web content article
1156            with the primary key could not be found, or if a portal exception
1157            occurred
1158            * @throws SystemException if a system exception occurred
1159            */
1160            public static com.liferay.portlet.journal.model.JournalArticleSoap moveArticleFromTrash(
1161                    long groupId, java.lang.String articleId, long newFolderId,
1162                    com.liferay.portal.service.ServiceContext serviceContext)
1163                    throws RemoteException {
1164                    try {
1165                            com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.moveArticleFromTrash(groupId,
1166                                            articleId, newFolderId, serviceContext);
1167    
1168                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModel(returnValue);
1169                    }
1170                    catch (Exception e) {
1171                            _log.error(e, e);
1172    
1173                            throw new RemoteException(e.getMessage());
1174                    }
1175            }
1176    
1177            /**
1178            * Moves the latest version of the web content article matching the group
1179            * and article ID to the recycle bin.
1180            *
1181            * @param groupId the primary key of the web content article's group
1182            * @param articleId the primary key of the web content article
1183            * @return the moved web content article or <code>null</code> if no matching
1184            article was found
1185            * @throws PortalException if the user did not have permission to move the
1186            article to the Recycle Bin or if a portal exception occurred
1187            * @throws SystemException if a system exception occurred
1188            */
1189            public static com.liferay.portlet.journal.model.JournalArticleSoap moveArticleToTrash(
1190                    long groupId, java.lang.String articleId) throws RemoteException {
1191                    try {
1192                            com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.moveArticleToTrash(groupId,
1193                                            articleId);
1194    
1195                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModel(returnValue);
1196                    }
1197                    catch (Exception e) {
1198                            _log.error(e, e);
1199    
1200                            throw new RemoteException(e.getMessage());
1201                    }
1202            }
1203    
1204            /**
1205            * Removes the web content of all the company's web content articles
1206            * matching the language.
1207            *
1208            * @param companyId the primary key of the web content article's company
1209            * @param languageId the primary key of the language locale to remove
1210            * @throws PortalException if the user did not have permission to update any
1211            one of the the web content articles or if web content matching
1212            the language could not be found for any one of the articles
1213            * @throws SystemException if a system exception occurred
1214            */
1215            public static void removeArticleLocale(long companyId,
1216                    java.lang.String languageId) throws RemoteException {
1217                    try {
1218                            JournalArticleServiceUtil.removeArticleLocale(companyId, languageId);
1219                    }
1220                    catch (Exception e) {
1221                            _log.error(e, e);
1222    
1223                            throw new RemoteException(e.getMessage());
1224                    }
1225            }
1226    
1227            /**
1228            * Removes the web content of the web content article matching the group,
1229            * article ID, and version, and language.
1230            *
1231            * @param groupId the primary key of the web content article's group
1232            * @param articleId the primary key of the web content article
1233            * @param version the web content article's version
1234            * @param languageId the primary key of the language locale to remove
1235            * @return the updated web content article with the locale removed
1236            * @throws PortalException if the user did not have permission to update the
1237            web content article or if a matching web content article could
1238            not be found
1239            * @throws SystemException if a system exception occurred
1240            */
1241            public static com.liferay.portlet.journal.model.JournalArticleSoap removeArticleLocale(
1242                    long groupId, java.lang.String articleId, double version,
1243                    java.lang.String languageId) throws RemoteException {
1244                    try {
1245                            com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.removeArticleLocale(groupId,
1246                                            articleId, version, languageId);
1247    
1248                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModel(returnValue);
1249                    }
1250                    catch (Exception e) {
1251                            _log.error(e, e);
1252    
1253                            throw new RemoteException(e.getMessage());
1254                    }
1255            }
1256    
1257            /**
1258            * Restores the web content article associated with the resource primary key
1259            * from the Recycle Bin.
1260            *
1261            * @param resourcePrimKey the primary key of the resource instance
1262            * @throws PortalException if a matching web content article could not be
1263            found in the Recycle Bin, if the user did not have permission to
1264            view or restore the article, or if a portal exception occurred
1265            * @throws SystemException if a system exception occurred
1266            */
1267            public static void restoreArticleFromTrash(long resourcePrimKey)
1268                    throws RemoteException {
1269                    try {
1270                            JournalArticleServiceUtil.restoreArticleFromTrash(resourcePrimKey);
1271                    }
1272                    catch (Exception e) {
1273                            _log.error(e, e);
1274    
1275                            throw new RemoteException(e.getMessage());
1276                    }
1277            }
1278    
1279            /**
1280            * Restores the web content article from the Recycle Bin.
1281            *
1282            * @param groupId the primary key of the web content article's group
1283            * @param articleId the primary key of the web content article
1284            * @throws PortalException if the web content article with the primary key
1285            could not be found in the Recycle Bin, if the user did not have
1286            permission to restore the article, or if a portal exception
1287            occurred
1288            * @throws SystemException if a system exception occurred
1289            */
1290            public static void restoreArticleFromTrash(long groupId,
1291                    java.lang.String articleId) throws RemoteException {
1292                    try {
1293                            JournalArticleServiceUtil.restoreArticleFromTrash(groupId, articleId);
1294                    }
1295                    catch (Exception e) {
1296                            _log.error(e, e);
1297    
1298                            throw new RemoteException(e.getMessage());
1299                    }
1300            }
1301    
1302            /**
1303            * Returns an ordered range of all the web content articles matching the
1304            * parameters, including a keywords parameter for matching with the
1305            * article's ID, title, description, and content, a DDM structure key
1306            * parameter, and a DDM template key parameter.
1307            *
1308            * <p>
1309            * Useful when paginating results. Returns a maximum of <code>end -
1310            * start</code> instances. <code>start</code> and <code>end</code> are not
1311            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1312            * refers to the first result in the set. Setting both <code>start</code>
1313            * and <code>end</code> to {@link
1314            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1315            * result set.
1316            * </p>
1317            *
1318            * @param companyId the primary key of the web content article's company
1319            * @param groupId the primary key of the group (optionally <code>0</code>)
1320            * @param folderIds the primary keys of the web content article folders
1321            (optionally {@link java.util.Collections#EMPTY_LIST})
1322            * @param classNameId the primary key of the DDMStructure class if the web
1323            content article is related to a DDM structure, the primary key of
1324            the class name associated with the article, or {@link
1325            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1326            * @param keywords the keywords (space separated), which may occur in the
1327            web content article ID, title, description, or content
1328            (optionally <code>null</code>). If the keywords value is not
1329            <code>null</code>, the search uses the OR operator in connecting
1330            query criteria; otherwise it uses the AND operator.
1331            * @param version the web content article's version (optionally
1332            <code>null</code>)
1333            * @param type the web content article's type (optionally
1334            <code>null</code>)
1335            * @param ddmStructureKey the primary key of the web content article's DDM
1336            structure, if the article is related to a DDM structure, or
1337            <code>null</code> otherwise
1338            * @param ddmTemplateKey the primary key of the web content article's DDM
1339            template (optionally <code>null</code>). If the article is
1340            related to a DDM structure, the template's structure must match
1341            it.
1342            * @param displayDateGT the date after which a matching web content
1343            article's display date must be after (optionally
1344            <code>null</code>)
1345            * @param displayDateLT the date before which a matching web content
1346            article's display date must be before (optionally
1347            <code>null</code>)
1348            * @param status the web content article's workflow status. For more
1349            information see {@link WorkflowConstants} for constants starting
1350            with the "STATUS_" prefix.
1351            * @param reviewDate the web content article's scheduled review date
1352            (optionally <code>null</code>)
1353            * @param start the lower bound of the range of web content articles to
1354            return
1355            * @param end the upper bound of the range of web content articles to
1356            return (not inclusive)
1357            * @param obc the comparator to order the web content articles
1358            * @return the range of matching web content articles ordered by the
1359            comparator
1360            * @throws SystemException if a system exception occurred
1361            */
1362            public static com.liferay.portlet.journal.model.JournalArticleSoap[] search(
1363                    long companyId, long groupId, Long[] folderIds, long classNameId,
1364                    java.lang.String keywords, java.lang.Double version,
1365                    java.lang.String type, java.lang.String ddmStructureKey,
1366                    java.lang.String ddmTemplateKey, java.util.Date displayDateGT,
1367                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
1368                    int start, int end, com.liferay.portal.kernel.util.OrderByComparator obc)
1369                    throws RemoteException {
1370                    try {
1371                            java.util.List<com.liferay.portlet.journal.model.JournalArticle> returnValue =
1372                                    JournalArticleServiceUtil.search(companyId, groupId,
1373                                            ListUtil.toList(folderIds), classNameId, keywords, version,
1374                                            type, ddmStructureKey, ddmTemplateKey, displayDateGT,
1375                                            displayDateLT, status, reviewDate, start, end, obc);
1376    
1377                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModels(returnValue);
1378                    }
1379                    catch (Exception e) {
1380                            _log.error(e, e);
1381    
1382                            throw new RemoteException(e.getMessage());
1383                    }
1384            }
1385    
1386            /**
1387            * Returns an ordered range of all the web content articles matching the
1388            * parameters, including keyword parameters for article ID, title,
1389            * description, and content, a DDM structure key parameter, a DDM template
1390            * key parameter, and an AND operator switch.
1391            *
1392            * <p>
1393            * Useful when paginating results. Returns a maximum of <code>end -
1394            * start</code> instances. <code>start</code> and <code>end</code> are not
1395            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1396            * refers to the first result in the set. Setting both <code>start</code>
1397            * and <code>end</code> to {@link
1398            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1399            * result set.
1400            * </p>
1401            *
1402            * @param companyId the primary key of the web content article's company
1403            * @param groupId the primary key of the group (optionally <code>0</code>)
1404            * @param folderIds the primary keys of the web content article folders
1405            (optionally {@link java.util.Collections#EMPTY_LIST})
1406            * @param classNameId the primary key of the DDMStructure class if the web
1407            content article is related to a DDM structure, the primary key of
1408            the class name associated with the article, or {@link
1409            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1410            * @param articleId the article ID keywords (space separated, optionally
1411            <code>null</code>)
1412            * @param version the web content article's version (optionally
1413            <code>null</code>)
1414            * @param title the title keywords (space separated, optionally
1415            <code>null</code>)
1416            * @param description the description keywords (space separated, optionally
1417            <code>null</code>)
1418            * @param content the content keywords (space separated, optionally
1419            <code>null</code>)
1420            * @param type the web content article's type (optionally
1421            <code>null</code>)
1422            * @param ddmStructureKey the primary key of the web content article's DDM
1423            structure, if the article is related to a DDM structure, or
1424            <code>null</code> otherwise
1425            * @param ddmTemplateKey the primary key of the web content article's DDM
1426            template (optionally <code>null</code>). If the article is
1427            related to a DDM structure, the template's structure must match
1428            it.
1429            * @param displayDateGT the date after which a matching web content
1430            article's display date must be after (optionally
1431            <code>null</code>)
1432            * @param displayDateLT the date before which a matching web content
1433            article's display date must be before (optionally
1434            <code>null</code>)
1435            * @param status the web content article's workflow status. For more
1436            information see {@link WorkflowConstants} for constants starting
1437            with the "STATUS_" prefix.
1438            * @param reviewDate the web content article's scheduled review date
1439            (optionally <code>null</code>)
1440            * @param andOperator whether every field must match its value or keywords,
1441            or just one field must match. Company, group, folder IDs, class
1442            name ID, and status must all match their values.
1443            * @param start the lower bound of the range of web content articles to
1444            return
1445            * @param end the upper bound of the range of web content articles to
1446            return (not inclusive)
1447            * @param obc the comparator to order the web content articles
1448            * @return the range of matching web content articles ordered by the
1449            comparator
1450            * @throws SystemException if a system exception occurred
1451            */
1452            public static com.liferay.portlet.journal.model.JournalArticleSoap[] search(
1453                    long companyId, long groupId, Long[] folderIds, long classNameId,
1454                    java.lang.String articleId, java.lang.Double version,
1455                    java.lang.String title, java.lang.String description,
1456                    java.lang.String content, java.lang.String type,
1457                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
1458                    java.util.Date displayDateGT, java.util.Date displayDateLT, int status,
1459                    java.util.Date reviewDate, boolean andOperator, int start, int end,
1460                    com.liferay.portal.kernel.util.OrderByComparator obc)
1461                    throws RemoteException {
1462                    try {
1463                            java.util.List<com.liferay.portlet.journal.model.JournalArticle> returnValue =
1464                                    JournalArticleServiceUtil.search(companyId, groupId,
1465                                            ListUtil.toList(folderIds), classNameId, articleId,
1466                                            version, title, description, content, type,
1467                                            ddmStructureKey, ddmTemplateKey, displayDateGT,
1468                                            displayDateLT, status, reviewDate, andOperator, start, end,
1469                                            obc);
1470    
1471                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModels(returnValue);
1472                    }
1473                    catch (Exception e) {
1474                            _log.error(e, e);
1475    
1476                            throw new RemoteException(e.getMessage());
1477                    }
1478            }
1479    
1480            /**
1481            * Returns an ordered range of all the web content articles matching the
1482            * parameters, including keyword parameters for article ID, title,
1483            * description, and content, a DDM structure keys (plural) parameter, a DDM
1484            * template keys (plural) parameter, and an AND operator switch.
1485            *
1486            * <p>
1487            * Useful when paginating results. Returns a maximum of <code>end -
1488            * start</code> instances. <code>start</code> and <code>end</code> are not
1489            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1490            * refers to the first result in the set. Setting both <code>start</code>
1491            * and <code>end</code> to {@link
1492            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1493            * result set.
1494            * </p>
1495            *
1496            * @param companyId the primary key of the web content article's company
1497            * @param groupId the primary key of the group (optionally <code>0</code>)
1498            * @param folderIds the primary keys of the web content article folders
1499            (optionally {@link java.util.Collections#EMPTY_LIST})
1500            * @param classNameId the primary key of the DDMStructure class if the web
1501            content article is related to a DDM structure, the primary key of
1502            the class name associated with the article, or {@link
1503            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1504            * @param articleId the article ID keywords (space separated, optionally
1505            <code>null</code>)
1506            * @param version the web content article's version (optionally
1507            <code>null</code>)
1508            * @param title the title keywords (space separated, optionally
1509            <code>null</code>)
1510            * @param description the description keywords (space separated, optionally
1511            <code>null</code>)
1512            * @param content the content keywords (space separated, optionally
1513            <code>null</code>)
1514            * @param type the web content article's type (optionally
1515            <code>null</code>)
1516            * @param ddmStructureKeys the primary keys of the web content article's
1517            DDM structures, if the article is related to a DDM structure, or
1518            <code>null</code> otherwise
1519            * @param ddmTemplateKeys the primary keys of the web content article's DDM
1520            templates (originally <code>null</code>). If the articles are
1521            related to a DDM structure, the template's structure must match
1522            it.
1523            * @param displayDateGT the date after which a matching web content
1524            article's display date must be after (optionally
1525            <code>null</code>)
1526            * @param displayDateLT the date before which a matching web content
1527            article's display date must be before (optionally
1528            <code>null</code>)
1529            * @param status the web content article's workflow status. For more
1530            information see {@link WorkflowConstants} for constants starting
1531            with the "STATUS_" prefix.
1532            * @param reviewDate the web content article's scheduled review date
1533            (optionally <code>null</code>)
1534            * @param andOperator whether every field must match its value or keywords,
1535            or just one field must match.  Company, group, folder IDs, class
1536            name ID, and status must all match their values.
1537            * @param start the lower bound of the range of web content articles to
1538            return
1539            * @param end the upper bound of the range of web content articles to
1540            return (not inclusive)
1541            * @param obc the comparator to order the web content articles
1542            * @return the range of matching web content articles ordered by the
1543            comparator
1544            * @throws SystemException if a system exception occurred
1545            */
1546            public static com.liferay.portlet.journal.model.JournalArticleSoap[] search(
1547                    long companyId, long groupId, Long[] folderIds, long classNameId,
1548                    java.lang.String articleId, java.lang.Double version,
1549                    java.lang.String title, java.lang.String description,
1550                    java.lang.String content, java.lang.String type,
1551                    java.lang.String[] ddmStructureKeys,
1552                    java.lang.String[] ddmTemplateKeys, java.util.Date displayDateGT,
1553                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
1554                    boolean andOperator, int start, int end,
1555                    com.liferay.portal.kernel.util.OrderByComparator obc)
1556                    throws RemoteException {
1557                    try {
1558                            java.util.List<com.liferay.portlet.journal.model.JournalArticle> returnValue =
1559                                    JournalArticleServiceUtil.search(companyId, groupId,
1560                                            ListUtil.toList(folderIds), classNameId, articleId,
1561                                            version, title, description, content, type,
1562                                            ddmStructureKeys, ddmTemplateKeys, displayDateGT,
1563                                            displayDateLT, status, reviewDate, andOperator, start, end,
1564                                            obc);
1565    
1566                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModels(returnValue);
1567                    }
1568                    catch (Exception e) {
1569                            _log.error(e, e);
1570    
1571                            throw new RemoteException(e.getMessage());
1572                    }
1573            }
1574    
1575            /**
1576            * Returns the number of web content articles matching the parameters,
1577            * including a keywords parameter for matching with the article's ID, title,
1578            * description, and content, a DDM structure key parameter, and a DDM
1579            * template key parameter.
1580            *
1581            * @param companyId the primary key of the web content article's company
1582            * @param groupId the primary key of the group (optionally <code>0</code>)
1583            * @param folderIds the primary keys of the web content article folders
1584            (optionally {@link java.util.Collections#EMPTY_LIST})
1585            * @param classNameId the primary key of the DDMStructure class if the web
1586            content article is related to a DDM structure, the primary key of
1587            the class name associated with the article, or {@link
1588            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1589            * @param keywords the keywords (space separated), which may occur in the
1590            web content article ID, title, description, or content
1591            (optionally <code>null</code>). If the keywords value is not
1592            <code>null</code>, the search uses the OR operator in connecting
1593            query criteria; otherwise it uses the AND operator.
1594            * @param version the web content article's version (optionally
1595            <code>null</code>)
1596            * @param type the web content article's type (optionally
1597            <code>null</code>)
1598            * @param ddmStructureKey the primary key of the web content article's DDM
1599            structure, if the article is related to a DDM structure, or
1600            <code>null</code> otherwise
1601            * @param ddmTemplateKey the primary key of the web content article's DDM
1602            template (optionally <code>null</code>). If the article is
1603            related to a DDM structure, the template's structure must match
1604            it.
1605            * @param displayDateGT the date after which a matching web content
1606            article's display date must be after (optionally
1607            <code>null</code>)
1608            * @param displayDateLT the date before which a matching web content
1609            article's display date must be before (optionally
1610            <code>null</code>)
1611            * @param status the web content article's workflow status. For more
1612            information see {@link WorkflowConstants} for constants starting
1613            with the "STATUS_" prefix.
1614            * @param reviewDate the web content article's scheduled review date
1615            (optionally <code>null</code>)
1616            * @return the number of matching web content articles
1617            * @throws SystemException if a system exception occurred
1618            */
1619            public static int searchCount(long companyId, long groupId,
1620                    Long[] folderIds, long classNameId, java.lang.String keywords,
1621                    java.lang.Double version, java.lang.String type,
1622                    java.lang.String ddmStructureKey, java.lang.String ddmTemplateKey,
1623                    java.util.Date displayDateGT, java.util.Date displayDateLT, int status,
1624                    java.util.Date reviewDate) throws RemoteException {
1625                    try {
1626                            int returnValue = JournalArticleServiceUtil.searchCount(companyId,
1627                                            groupId, ListUtil.toList(folderIds), classNameId, keywords,
1628                                            version, type, ddmStructureKey, ddmTemplateKey,
1629                                            displayDateGT, displayDateLT, status, reviewDate);
1630    
1631                            return returnValue;
1632                    }
1633                    catch (Exception e) {
1634                            _log.error(e, e);
1635    
1636                            throw new RemoteException(e.getMessage());
1637                    }
1638            }
1639    
1640            /**
1641            * Returns the number of web content articles matching the parameters,
1642            * including keyword parameters for article ID, title, description, and
1643            * content, a DDM structure key parameter, a DDM template key parameter, and
1644            * an AND operator switch.
1645            *
1646            * @param companyId the primary key of the web content article's company
1647            * @param groupId the primary key of the group (optionally <code>0</code>)
1648            * @param folderIds the primary keys of the web content article folders
1649            (optionally {@link java.util.Collections#EMPTY_LIST})
1650            * @param classNameId the primary key of the DDMStructure class if the web
1651            content article is related to a DDM structure, the primary key of
1652            the class name associated with the article, or {@link
1653            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1654            * @param articleId the article ID keywords (space separated, optionally
1655            <code>null</code>)
1656            * @param version the web content article's version (optionally
1657            <code>null</code>)
1658            * @param title the title keywords (space separated, optionally
1659            <code>null</code>)
1660            * @param description the description keywords (space separated, optionally
1661            <code>null</code>)
1662            * @param content the content keywords (space separated, optionally
1663            <code>null</code>)
1664            * @param type the web content article's type (optionally
1665            <code>null</code>)
1666            * @param ddmStructureKey the primary key of the web content article's DDM
1667            structure, if the article is related to a DDM structure, or
1668            <code>null</code> otherwise
1669            * @param ddmTemplateKey the primary key of the web content article's DDM
1670            template (optionally <code>null</code>). If the article is
1671            related to a DDM structure, the template's structure must match
1672            it.
1673            * @param displayDateGT the date after which a matching web content
1674            article's display date must be after (optionally
1675            <code>null</code>)
1676            * @param displayDateLT the date before which a matching web content
1677            article's display date must be before (optionally
1678            <code>null</code>)
1679            * @param status the web content article's workflow status. For more
1680            information see {@link WorkflowConstants} for constants starting
1681            with the "STATUS_" prefix.
1682            * @param reviewDate the web content article's scheduled review date
1683            (optionally <code>null</code>)
1684            * @param andOperator whether every field must match its value or keywords,
1685            or just one field must match. Group, folder IDs, class name ID,
1686            and status must all match their values.
1687            * @return the number of matching web content articles
1688            * @throws SystemException if a system exception occurred
1689            */
1690            public static int searchCount(long companyId, long groupId,
1691                    Long[] folderIds, long classNameId, java.lang.String articleId,
1692                    java.lang.Double version, java.lang.String title,
1693                    java.lang.String description, java.lang.String content,
1694                    java.lang.String type, java.lang.String ddmStructureKey,
1695                    java.lang.String ddmTemplateKey, java.util.Date displayDateGT,
1696                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
1697                    boolean andOperator) throws RemoteException {
1698                    try {
1699                            int returnValue = JournalArticleServiceUtil.searchCount(companyId,
1700                                            groupId, ListUtil.toList(folderIds), classNameId,
1701                                            articleId, version, title, description, content, type,
1702                                            ddmStructureKey, ddmTemplateKey, displayDateGT,
1703                                            displayDateLT, status, reviewDate, andOperator);
1704    
1705                            return returnValue;
1706                    }
1707                    catch (Exception e) {
1708                            _log.error(e, e);
1709    
1710                            throw new RemoteException(e.getMessage());
1711                    }
1712            }
1713    
1714            /**
1715            * Returns the number of web content articles matching the parameters,
1716            * including keyword parameters for article ID, title, description, and
1717            * content, a DDM structure keys (plural) parameter, a DDM template keys
1718            * (plural) parameter, and an AND operator switch.
1719            *
1720            * @param companyId the primary key of the web content article's company
1721            * @param groupId the primary key of the group (optionally <code>0</code>)
1722            * @param folderIds the primary keys of the web content article folders
1723            (optionally {@link java.util.Collections#EMPTY_LIST})
1724            * @param classNameId the primary key of the DDMStructure class if the web
1725            content article is related to a DDM structure, the primary key of
1726            the class name associated with the article, or {@link
1727            JournalArticleConstants#CLASSNAME_ID_DEFAULT} otherwise
1728            * @param articleId the article ID keywords (space separated, optionally
1729            <code>null</code>)
1730            * @param version the web content article's version (optionally
1731            <code>null</code>)
1732            * @param title the title keywords (space separated, optionally
1733            <code>null</code>)
1734            * @param description the description keywords (space separated, optionally
1735            <code>null</code>)
1736            * @param content the content keywords (space separated, optionally
1737            <code>null</code>)
1738            * @param type the web content article's type (optionally
1739            <code>null</code>)
1740            * @param ddmStructureKeys the primary keys of the web content article's
1741            DDM structures, if the article is related to a DDM structure, or
1742            <code>null</code> otherwise
1743            * @param ddmTemplateKeys the primary keys of the web content article's DDM
1744            templates (originally <code>null</code>). If the articles are
1745            related to a DDM structure, the template's structure must match
1746            it.
1747            * @param displayDateGT the date after which a matching web content
1748            article's display date must be after (optionally
1749            <code>null</code>)
1750            * @param displayDateLT the date before which a matching web content
1751            article's display date must be before (optionally
1752            <code>null</code>)
1753            * @param status the web content article's workflow status. For more
1754            information see {@link WorkflowConstants} for constants starting
1755            with the "STATUS_" prefix.
1756            * @param reviewDate the web content article's scheduled review date
1757            (optionally <code>null</code>)
1758            * @param andOperator whether every field must match its value or keywords,
1759            or just one field must match.  Group, folder IDs, class name ID,
1760            and status must all match their values.
1761            * @return the number of matching web content articles
1762            * @throws SystemException if a system exception occurred
1763            */
1764            public static int searchCount(long companyId, long groupId,
1765                    Long[] folderIds, long classNameId, java.lang.String articleId,
1766                    java.lang.Double version, java.lang.String title,
1767                    java.lang.String description, java.lang.String content,
1768                    java.lang.String type, java.lang.String[] ddmStructureKeys,
1769                    java.lang.String[] ddmTemplateKeys, java.util.Date displayDateGT,
1770                    java.util.Date displayDateLT, int status, java.util.Date reviewDate,
1771                    boolean andOperator) throws RemoteException {
1772                    try {
1773                            int returnValue = JournalArticleServiceUtil.searchCount(companyId,
1774                                            groupId, ListUtil.toList(folderIds), classNameId,
1775                                            articleId, version, title, description, content, type,
1776                                            ddmStructureKeys, ddmTemplateKeys, displayDateGT,
1777                                            displayDateLT, status, reviewDate, andOperator);
1778    
1779                            return returnValue;
1780                    }
1781                    catch (Exception e) {
1782                            _log.error(e, e);
1783    
1784                            throw new RemoteException(e.getMessage());
1785                    }
1786            }
1787    
1788            /**
1789            * Subscribes the user to notifications for the web content article matching
1790            * the group, notifying him the instant versions of the article are created,
1791            * deleted, or modified.
1792            *
1793            * @param groupId the primary key of the group
1794            * @throws PortalException if the user did not have permission to subscribe
1795            to the web content article or if a matching user or group could
1796            not be found
1797            * @throws SystemException if a system exception occurred
1798            */
1799            public static void subscribe(long groupId) throws RemoteException {
1800                    try {
1801                            JournalArticleServiceUtil.subscribe(groupId);
1802                    }
1803                    catch (Exception e) {
1804                            _log.error(e, e);
1805    
1806                            throw new RemoteException(e.getMessage());
1807                    }
1808            }
1809    
1810            /**
1811            * Unsubscribes the user from notifications for the web content article
1812            * matching the group.
1813            *
1814            * @param groupId the primary key of the group
1815            * @throws PortalException if the user did not have permission to subscribe
1816            to the web content article or if a matching user or subscription
1817            could not be found
1818            * @throws SystemException if a system exception occurred
1819            */
1820            public static void unsubscribe(long groupId) throws RemoteException {
1821                    try {
1822                            JournalArticleServiceUtil.unsubscribe(groupId);
1823                    }
1824                    catch (Exception e) {
1825                            _log.error(e, e);
1826    
1827                            throw new RemoteException(e.getMessage());
1828                    }
1829            }
1830    
1831            /**
1832            * Updates the web content article matching the version, replacing its
1833            * folder, title, description, content, and layout UUID.
1834            *
1835            * @param userId the primary key of the user updating the web content
1836            article
1837            * @param groupId the primary key of the web content article's group
1838            * @param folderId the primary key of the web content article folder
1839            * @param articleId the primary key of the web content article
1840            * @param version the web content article's version
1841            * @param titleMap the web content article's locales and localized titles
1842            * @param descriptionMap the web content article's locales and localized
1843            descriptions
1844            * @param content the HTML content wrapped in XML. For more information,
1845            see the content example in the class description for {@link
1846            JournalArticleLocalServiceImpl}.
1847            * @param layoutUuid the unique string identifying the web content
1848            article's display page
1849            * @param serviceContext the service context to be applied. Can set the
1850            modification date, expando bridge attributes, asset category IDs,
1851            asset tag names, asset link entry IDs, workflow actions, the
1852            "defaultLanguageId" and "urlTitle" attributes, and can set
1853            whether to add the default command update for the web content
1854            article. With respect to social activities, by setting the
1855            service context's command to {@link
1856            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
1857            is considered a web content update activity; otherwise it is
1858            considered a web content add activity.
1859            * @return the updated web content article
1860            * @throws PortalException if a user with the primary key or a matching web
1861            content article could not be found, or if a portal exception
1862            occurred
1863            * @throws SystemException if a system exception occurred
1864            */
1865            public static com.liferay.portlet.journal.model.JournalArticleSoap updateArticle(
1866                    long userId, long groupId, long folderId, java.lang.String articleId,
1867                    double version, java.lang.String[] titleMapLanguageIds,
1868                    java.lang.String[] titleMapValues,
1869                    java.lang.String[] descriptionMapLanguageIds,
1870                    java.lang.String[] descriptionMapValues, java.lang.String content,
1871                    java.lang.String layoutUuid,
1872                    com.liferay.portal.service.ServiceContext serviceContext)
1873                    throws RemoteException {
1874                    try {
1875                            Map<Locale, String> titleMap = LocalizationUtil.getLocalizationMap(titleMapLanguageIds,
1876                                            titleMapValues);
1877                            Map<Locale, String> descriptionMap = LocalizationUtil.getLocalizationMap(descriptionMapLanguageIds,
1878                                            descriptionMapValues);
1879    
1880                            com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.updateArticle(userId,
1881                                            groupId, folderId, articleId, version, titleMap,
1882                                            descriptionMap, content, layoutUuid, serviceContext);
1883    
1884                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModel(returnValue);
1885                    }
1886                    catch (Exception e) {
1887                            _log.error(e, e);
1888    
1889                            throw new RemoteException(e.getMessage());
1890                    }
1891            }
1892    
1893            /**
1894            * Updates the web content article matching the version, replacing its
1895            * folder and content.
1896            *
1897            * @param groupId the primary key of the web content article's group
1898            * @param folderId the primary key of the web content article folder
1899            * @param articleId the primary key of the web content article
1900            * @param version the web content article's version
1901            * @param content the HTML content wrapped in XML. For more information,
1902            see the content example in the class description for {@link
1903            JournalArticleLocalServiceImpl}.
1904            * @param serviceContext the service context to be applied. Can set the
1905            modification date, expando bridge attributes, asset category IDs,
1906            asset tag names, asset link entry IDs, workflow actions, the
1907            "defaultLanguageId" and "urlTitle" attributes, and can set
1908            whether to add the default command update for the web content
1909            article. With respect to social activities, by setting the
1910            service context's command to {@link
1911            com.liferay.portal.kernel.util.Constants#UPDATE}, the invocation
1912            is considered a web content update activity; otherwise it is
1913            considered a web content add activity.
1914            * @return the updated web content article
1915            * @throws PortalException if the user did not have permission to update the
1916            web content article, if a user with the primary key or a matching
1917            web content article could not be found, or if a portal exception
1918            occurred
1919            * @throws SystemException if a system exception occurred
1920            */
1921            public static com.liferay.portlet.journal.model.JournalArticleSoap updateArticle(
1922                    long groupId, long folderId, java.lang.String articleId,
1923                    double version, java.lang.String content,
1924                    com.liferay.portal.service.ServiceContext serviceContext)
1925                    throws RemoteException {
1926                    try {
1927                            com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.updateArticle(groupId,
1928                                            folderId, articleId, version, content, serviceContext);
1929    
1930                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModel(returnValue);
1931                    }
1932                    catch (Exception e) {
1933                            _log.error(e, e);
1934    
1935                            throw new RemoteException(e.getMessage());
1936                    }
1937            }
1938    
1939            /**
1940            * Updates the web content article matching the group, article ID, and
1941            * version, replacing its content.
1942            *
1943            * @param groupId the primary key of the web content article's group
1944            * @param articleId the primary key of the web content article
1945            * @param version the web content article's version
1946            * @param content the HTML content wrapped in XML. For more information,
1947            see the content example in the class description for {@link
1948            JournalArticleLocalServiceImpl}.
1949            * @return the updated web content article
1950            * @throws PortalException if the user did not have permission to update the
1951            web content article or if a matching web content article could
1952            not be found
1953            * @throws SystemException if a system exception occurred
1954            */
1955            public static com.liferay.portlet.journal.model.JournalArticleSoap updateContent(
1956                    long groupId, java.lang.String articleId, double version,
1957                    java.lang.String content) throws RemoteException {
1958                    try {
1959                            com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.updateContent(groupId,
1960                                            articleId, version, content);
1961    
1962                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModel(returnValue);
1963                    }
1964                    catch (Exception e) {
1965                            _log.error(e, e);
1966    
1967                            throw new RemoteException(e.getMessage());
1968                    }
1969            }
1970    
1971            /**
1972            * Updates the workflow status of the web content article matching the
1973            * group, article ID, and version.
1974            *
1975            * @param groupId the primary key of the web content article's group
1976            * @param articleId the primary key of the web content article
1977            * @param version the web content article's version
1978            * @param status the web content article's workflow status. For more
1979            information see {@link WorkflowConstants} for constants starting
1980            with the "STATUS_" prefix.
1981            * @param articleURL the web content article's accessible URL
1982            * @param serviceContext the service context to be applied. Can set the
1983            modification date, portlet preferences, and can set whether to
1984            add the default command update for the web content article.
1985            * @return the updated web content article
1986            * @throws PortalException if the user did not have permission to update the
1987            web content article, if a matching web content article could not
1988            be found, or if a portal exception occurred
1989            * @throws SystemException if a system exception occurred
1990            */
1991            public static com.liferay.portlet.journal.model.JournalArticleSoap updateStatus(
1992                    long groupId, java.lang.String articleId, double version, int status,
1993                    java.lang.String articleURL,
1994                    com.liferay.portal.service.ServiceContext serviceContext)
1995                    throws RemoteException {
1996                    try {
1997                            com.liferay.portlet.journal.model.JournalArticle returnValue = JournalArticleServiceUtil.updateStatus(groupId,
1998                                            articleId, version, status, articleURL, serviceContext);
1999    
2000                            return com.liferay.portlet.journal.model.JournalArticleSoap.toSoapModel(returnValue);
2001                    }
2002                    catch (Exception e) {
2003                            _log.error(e, e);
2004    
2005                            throw new RemoteException(e.getMessage());
2006                    }
2007            }
2008    
2009            private static Log _log = LogFactoryUtil.getLog(JournalArticleServiceSoap.class);
2010    }