1   /**
2    * Copyright (c) 2000-2010 Liferay, Inc. All rights reserved.
3    *
4    * This library is free software; you can redistribute it and/or modify it under
5    * the terms of the GNU Lesser General Public License as published by the Free
6    * Software Foundation; either version 2.1 of the License, or (at your option)
7    * any later version.
8    *
9    * This library is distributed in the hope that it will be useful, but WITHOUT
10   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11   * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12   * details.
13   */
14  
15  package com.liferay.portlet.imagegallery.model.impl;
16  
17  import com.liferay.portal.kernel.log.Log;
18  import com.liferay.portal.kernel.log.LogFactoryUtil;
19  import com.liferay.portal.kernel.util.StringPool;
20  import com.liferay.portal.kernel.util.Validator;
21  import com.liferay.portal.model.Image;
22  import com.liferay.portal.service.ImageLocalServiceUtil;
23  import com.liferay.portlet.imagegallery.model.IGFolder;
24  import com.liferay.portlet.imagegallery.model.IGImage;
25  import com.liferay.portlet.imagegallery.service.IGFolderLocalServiceUtil;
26  
27  /**
28   * <a href="IGImageImpl.java.html"><b><i>View Source</i></b></a>
29   *
30   * @author Brian Wing Shun Chan
31   */
32  public class IGImageImpl extends IGImageModelImpl implements IGImage {
33  
34      public static String getNameWithExtension(String name, String type) {
35          if (Validator.isNotNull(type)) {
36              name += StringPool.PERIOD + type;
37          }
38  
39          return name;
40      }
41  
42      public IGImageImpl() {
43      }
44  
45      public IGFolder getFolder() {
46          IGFolder folder = null;
47  
48          if (getFolderId() > 0) {
49              try {
50                  folder = IGFolderLocalServiceUtil.getFolder(getFolderId());
51              }
52              catch (Exception e) {
53                  folder = new IGFolderImpl();
54  
55                  _log.error(e);
56              }
57          }
58          else {
59              folder = new IGFolderImpl();
60          }
61  
62          return folder;
63      }
64  
65      public int getImageSize() {
66          if (_imageSize == null) {
67              try {
68                  Image largeImage = ImageLocalServiceUtil.getImage(
69                      getLargeImageId());
70  
71                  _imageSize = new Integer(largeImage.getSize());
72              }
73              catch (Exception e) {
74                  _imageSize = new Integer(0);
75  
76                  _log.error(e);
77              }
78          }
79  
80          return _imageSize.intValue();
81      }
82  
83      public String getImageType() {
84          if (_imageType == null) {
85              try {
86                  Image largeImage = ImageLocalServiceUtil.getImage(
87                      getLargeImageId());
88  
89                  _imageType = largeImage.getType();
90              }
91              catch (Exception e) {
92                  _imageType = StringPool.BLANK;
93  
94                  _log.error(e);
95              }
96          }
97  
98          return _imageType;
99      }
100 
101     public String getNameWithExtension() {
102         String nameWithExtension = getName();
103 
104         if (Validator.isNull(nameWithExtension)) {
105             nameWithExtension = String.valueOf(getImageId());
106         }
107 
108         String type = getImageType();
109 
110         return getNameWithExtension(nameWithExtension, type);
111     }
112 
113     public void setImageType(String imageType) {
114         _imageType = imageType;
115     }
116 
117     private static Log _log = LogFactoryUtil.getLog(IGImageImpl.class);
118 
119     private Integer _imageSize;
120     private String _imageType;
121 
122 }