1   /**
2    * Copyright (c) 2000-2007 Liferay, Inc. All rights reserved.
3    *
4    * Permission is hereby granted, free of charge, to any person obtaining a copy
5    * of this software and associated documentation files (the "Software"), to deal
6    * in the Software without restriction, including without limitation the rights
7    * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8    * copies of the Software, and to permit persons to whom the Software is
9    * furnished to do so, subject to the following conditions:
10   *
11   * The above copyright notice and this permission notice shall be included in
12   * all copies or substantial portions of the Software.
13   *
14   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20   * SOFTWARE.
21   */
22  
23  package com.liferay.portlet.documentlibrary.service.impl;
24  
25  import com.liferay.counter.service.CounterLocalServiceUtil;
26  import com.liferay.portal.PortalException;
27  import com.liferay.portal.SystemException;
28  import com.liferay.portlet.documentlibrary.NoSuchFileRankException;
29  import com.liferay.portlet.documentlibrary.model.DLFileRank;
30  import com.liferay.portlet.documentlibrary.service.base.DLFileRankLocalServiceBaseImpl;
31  import com.liferay.portlet.documentlibrary.service.persistence.DLFileRankFinder;
32  import com.liferay.portlet.documentlibrary.service.persistence.DLFileRankUtil;
33  
34  import java.util.Date;
35  import java.util.List;
36  
37  /**
38   * <a href="DLFileRankLocalServiceImpl.java.html"><b><i>View Source</i></b></a>
39   *
40   * @author Brian Wing Shun Chan
41   *
42   */
43  public class DLFileRankLocalServiceImpl extends DLFileRankLocalServiceBaseImpl {
44  
45      public void deleteFileRanks(long userId) throws SystemException {
46          DLFileRankUtil.removeByUserId(userId);
47      }
48  
49      public void deleteFileRanks(long folderId, String name)
50          throws SystemException {
51  
52          DLFileRankUtil.removeByF_N(folderId, name);
53      }
54  
55      public List getFileRanks(long groupId, long userId)
56          throws SystemException {
57  
58          return DLFileRankFinder.findByG_U(groupId, userId);
59      }
60  
61      public List getFileRanks(long groupId, long userId, int begin, int end)
62          throws SystemException {
63  
64          return DLFileRankFinder.findByG_U(groupId, userId, begin, end);
65      }
66  
67      public DLFileRank updateFileRank(
68              long groupId, long companyId, long userId, long folderId,
69              String name)
70          throws PortalException, SystemException{
71  
72          try {
73              DLFileRankUtil.removeByC_U_F_N(companyId, userId, folderId, name);
74          }
75          catch (NoSuchFileRankException nsfre) {
76          }
77  
78          long fileRankId = CounterLocalServiceUtil.increment();
79  
80          DLFileRank fileRank = DLFileRankUtil.create(fileRankId);
81  
82          fileRank.setCompanyId(companyId);
83          fileRank.setUserId(userId);
84          fileRank.setCreateDate(new Date());
85          fileRank.setFolderId(folderId);
86          fileRank.setName(name);
87  
88          DLFileRankUtil.update(fileRank);
89  
90          if (DLFileRankFinder.countByG_U(groupId, userId) > 5) {
91              List fileRanks = DLFileRankFinder.findByG_U(groupId, userId);
92  
93              DLFileRank lastFileRank = (DLFileRank)fileRanks.get(
94                  fileRanks.size() - 1);
95  
96              DLFileRankUtil.remove(lastFileRank.getPrimaryKey());
97          }
98  
99          return fileRank;
100     }
101 
102 }