[jboss-cvs] jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action ...

Christian Bauer christian at hibernate.org
Tue Jun 12 13:51:00 EDT 2007


  User: cbauer  
  Date: 07/06/12 13:51:00

  Modified:    examples/wiki/src/main/org/jboss/seam/wiki/core/action 
                        FileHome.java
  Log:
  Pre-generate thumbnails
  
  Revision  Changes    Path
  1.6       +30 -3     jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/FileHome.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: FileHome.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/FileHome.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -b -r1.5 -r1.6
  --- FileHome.java	20 Mar 2007 02:38:15 -0000	1.5
  +++ FileHome.java	12 Jun 2007 17:51:00 -0000	1.6
  @@ -2,13 +2,14 @@
   
   import static javax.faces.application.FacesMessage.SEVERITY_WARN;
   
  -import javax.swing.*;
  +import javax.swing.ImageIcon;
   
   import org.jboss.seam.annotations.*;
   import org.jboss.seam.ScopeType;
   import org.jboss.seam.wiki.core.ui.FileMetaMap;
   import org.jboss.seam.wiki.core.model.File;
   import org.jboss.seam.wiki.core.model.ImageMetaInfo;
  +import org.jboss.seam.wiki.util.WikiUtil;
   
   import java.util.Map;
   
  @@ -16,6 +17,10 @@
   @Scope(ScopeType.CONVERSATION)
   public class FileHome extends NodeHome<File> {
   
  +    public static final int PREVIEW_SIZE_MIN  = 240;
  +    public static final int PREVIEW_SIZE_MAX  = 1600;
  +    public static final int PREVIEW_ZOOM_STEP = 240;
  +
       /* -------------------------- Context Wiring ------------------------------ */
   
       @In
  @@ -70,6 +75,8 @@
   
       private void syncFile() {
           if (filedata != null && filedata.length >0) {
  +            getLog().debug("updating file data/type");
  +
               getInstance().setFilename(filename);
               getInstance().setFilesize(filedata.length); // Don't trust the browsers headers!
               getInstance().setData(filedata);
  @@ -90,18 +97,38 @@
                   int imageSizeY = icon.getImage().getHeight(null);
                   getInstance().getImageMetaInfo().setSizeX(imageSizeX);
                   getInstance().getImageMetaInfo().setSizeY(imageSizeY);
  +
  +            } else {
  +                getInstance().setImageMetaInfo(null);
  +            }
               }
  +
  +        if (getInstance().getImageMetaInfo() != null && getInstance().getImageMetaInfo().getThumbnail() != 'F') {
  +            getLog().debug("generating thumbnail");
  +            int thumbnailWidth = 80;
  +            // TODO: We could make these sizes customizable
  +            switch (getInstance().getImageMetaInfo().getThumbnail()) {
  +                case'M':
  +                    thumbnailWidth = 160;
  +                    break;
  +                case'L':
  +                    thumbnailWidth = 320;
  +                    break;
  +            }
  +            getInstance().getImageMetaInfo().setThumbnailData(
  +                WikiUtil.resizeImage(getInstance().getData(), getInstance().getContentType(), thumbnailWidth)
  +            );
           }
       }
   
       /* -------------------------- Public Features ------------------------------ */
   
       public void zoomPreviewIn() {
  -        if (imagePreviewSize < 1600) imagePreviewSize = imagePreviewSize + 240;
  +        if (imagePreviewSize < PREVIEW_SIZE_MAX) imagePreviewSize = imagePreviewSize + PREVIEW_ZOOM_STEP;
       }
   
       public void zoomPreviewOut() {
  -        if (imagePreviewSize > 240) imagePreviewSize = imagePreviewSize - 240;
  +        if (imagePreviewSize > PREVIEW_SIZE_MIN) imagePreviewSize = imagePreviewSize - PREVIEW_ZOOM_STEP;
       }
   
   }
  
  
  



More information about the jboss-cvs-commits mailing list