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

Christian Bauer christian at hibernate.org
Tue Dec 18 23:29:32 EST 2007


  User: cbauer  
  Date: 07/12/18 23:29:32

  Added:       examples/wiki/src/main/org/jboss/seam/wiki/core/upload/editor   
                        UploadEditor.java WikiUploadEditor.java
                        WikiUploadImageEditor.java
  Log:
  Major rewrite of the most of the application
  
  Revision  Changes    Path
  1.1      date: 2007/12/19 04:29:32;  author: cbauer;  state: Exp;jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/editor/UploadEditor.java
  
  Index: UploadEditor.java
  ===================================================================
  package org.jboss.seam.wiki.core.upload.editor;
  
  import org.jboss.seam.wiki.core.model.WikiUpload;
  
  public abstract class UploadEditor<WU extends WikiUpload> {
  
      private WU instance;
  
      public void init(WU instance) {
          this.instance = instance;
      }
  
      public abstract String getIncludeName();
  
      public WU getInstance() {
          return instance;
      }
  
      /**
       * Called before the owning home action does its preparation;
       * @return boolean continue processing
       */
      public boolean preparePersist() { return true; }
  
      /**
       * Called after superclass did its preparation right before the actual persist()
       * @return boolean continue processing
       */
      public boolean beforePersist() { return true; }
  
      /**
       * Called before the owning home action does its preparation;
       * @return boolean continue processing
       */
      public boolean prepareUpdate() { return true; }
  
      /**
       * Called after superclass did its preparation right before the actual update()
       * @return boolean continue processing
       */
      public boolean beforeUpdate() { return true; }
  
      /**
       * Called before the owning home action does its preparation;
       * @return boolean continue processing
       */
      public boolean prepareRemove() { return true; }
  
      /**
       * Called after superclass did its preparation right before the actual remove()
       * @return boolean continue processing
       */
      public boolean beforeRemove() { return true; }
  
  }
  
  
  
  1.1      date: 2007/12/19 04:29:32;  author: cbauer;  state: Exp;jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/editor/WikiUploadEditor.java
  
  Index: WikiUploadEditor.java
  ===================================================================
  package org.jboss.seam.wiki.core.upload.editor;
  
  import org.jboss.seam.wiki.core.model.WikiUpload;
  
  public class WikiUploadEditor extends UploadEditor<WikiUpload> {
  
      public String getIncludeName() {
          return "wikiUploadEditor";
      }
  }
  
  
  
  1.1      date: 2007/12/19 04:29:32;  author: cbauer;  state: Exp;jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/editor/WikiUploadImageEditor.java
  
  Index: WikiUploadImageEditor.java
  ===================================================================
  package org.jboss.seam.wiki.core.upload.editor;
  
  import org.jboss.seam.wiki.core.model.WikiUploadImage;
  import org.jboss.seam.wiki.util.WikiUtil;
  
  public class WikiUploadImageEditor extends UploadEditor<WikiUploadImage> {
  
      public String getIncludeName() {
          return "wikiUploadImageEditor";
      }
  
      public static final int PREVIEW_SIZE_MIN  = 60;
      public static final int PREVIEW_SIZE_MAX  = 1320;
      public static final int PREVIEW_ZOOM_STEP = 120;
  
      private int imagePreviewSize = PREVIEW_SIZE_MIN;
      public int getImagePreviewSize() { return imagePreviewSize; }
  
      public void zoomActualSize() {
          imagePreviewSize = getInstance().getSizeX();
      }
  
      public void zoomPreviewIn() {
          if (imagePreviewSize < PREVIEW_SIZE_MAX) imagePreviewSize = imagePreviewSize + PREVIEW_ZOOM_STEP;
      }
  
      public void zoomPreviewOut() {
          if (imagePreviewSize > PREVIEW_SIZE_MIN && (imagePreviewSize - PREVIEW_ZOOM_STEP) > PREVIEW_SIZE_MIN)
              imagePreviewSize = imagePreviewSize - PREVIEW_ZOOM_STEP;
          else imagePreviewSize = PREVIEW_SIZE_MIN;
      }
  
      public boolean beforePersist() {
          generateThumbnailData();
          return super.beforePersist();
      }
  
      public boolean beforeUpdate() {
          generateThumbnailData();
          return super.beforeUpdate();
      }
  
      protected void generateThumbnailData() {
          getInstance().setThumbnailData(
              WikiUtil.resizeImage(getInstance().getData(), getInstance().getContentType(), getThumbnailWidth())
          );
      }
  
      public void selectThumbnail() {
          if (getInstance().getThumbnail() == 'F')
              imagePreviewSize = getInstance().getSizeX();
          else
              imagePreviewSize = getThumbnailWidth();
      }
  
      public int getThumbnailWidth() {
          int thumbnailWidth = 80;
          // TODO: We could make these sizes customizable
          switch (getInstance().getThumbnail()) {
              case 'M':
                  thumbnailWidth = 160;
                  break;
              case 'L':
                  thumbnailWidth = 320;
                  break;
          }
          return thumbnailWidth;
      }
  
  }
  
  



More information about the jboss-cvs-commits mailing list