View Javadoc
1   /*
2    * Copyright (C) 2003-2008 eXo Platform SAS.
3    *
4    * This program is free software; you can redistribute it and/or
5    * modify it under the terms of the GNU Affero General Public License
6    * as published by the Free Software Foundation; either version 3
7    * of the License, or (at your option) any later version.
8    *
9    * This program is distributed in the hope that it will be useful,
10   * but WITHOUT ANY WARRANTY; without even the implied warranty of
11   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12   * GNU General Public License for more details.
13   *
14   * You should have received a copy of the GNU General Public License
15   * along with this program; if not, see<http://www.gnu.org/licenses/>.
16   */
17  package org.exoplatform.services.cms.thumbnail.impl;
18  
19  import java.awt.image.BufferedImage;
20  import java.util.List;
21  
22  import javax.imageio.ImageIO;
23  import javax.jcr.Node;
24  
25  import org.exoplatform.container.component.ComponentPlugin;
26  import org.exoplatform.container.xml.InitParams;
27  import org.exoplatform.services.cms.thumbnail.ThumbnailPlugin;
28  
29  /**
30   * Created by The eXo Platform SARL
31   * Author : Dang Van Minh
32   *          minh.dang@exoplatform.com
33   * Oct 22, 2009
34   * 2:20:20 PM
35   */
36  public class ImageThumbnailPlugin implements ComponentPlugin, ThumbnailPlugin{
37  
38    private ThumbnailType config;
39    private String description;
40    private String name;
41  
42    public ImageThumbnailPlugin(InitParams initParams) throws Exception {
43      config = initParams.getObjectParamValues(ThumbnailType.class).get(0);
44    }
45  
46    public String getDescription() {
47      return description;
48    }
49  
50    public String getName() {
51      return name;
52    }
53  
54    public void setDescription(String description) {
55      this.description = description;
56    }
57  
58    public void setName(String name) {
59      this.name = name;
60    }
61  
62    public BufferedImage getBufferedImage(Node contentNode, String nodePath) throws Exception {
63      return ImageIO.read(contentNode.getProperty("jcr:data").getStream());
64    }
65  
66    public List<String> getMimeTypes() {
67      return config.getMimeTypes();
68    }
69  
70  }