[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