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

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


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

  Added:       examples/wiki/src/main/org/jboss/seam/wiki/core/upload/handler   
                        UploadHandler.java WikiUploadHandler.java
                        WikiUploadImageHandler.java
  Log:
  Major rewrite of the most of the application
  
  Revision  Changes    Path
  1.1      date: 2007/12/19 04:29:27;  author: cbauer;  state: Exp;jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/handler/UploadHandler.java
  
  Index: UploadHandler.java
  ===================================================================
  package org.jboss.seam.wiki.core.upload.handler;
  
  import org.jboss.seam.wiki.core.model.WikiUpload;
  import org.jboss.seam.wiki.core.upload.editor.UploadEditor;
  import org.jboss.seam.wiki.core.upload.Uploader;
  import org.jboss.seam.wiki.core.engine.WikiLink;
  
  public abstract class UploadHandler<WU extends WikiUpload> {
  
      public abstract UploadEditor<WU> createEditor(WU instance);
  
      public WU handleUpload(Uploader uploader) {
          WU newWikiUpload = createEntityInstance();
          marshallData(uploader, newWikiUpload);
          return newWikiUpload;
      }
  
      public WU handleUpload(Uploader uploader, WU updateInstance) {
          marshallData(uploader, updateInstance);
          return updateInstance;
      }
  
      protected WU createEntityInstance() {
          try {
              return (WU) WikiUpload.class.newInstance();
          } catch (Exception ex) {
              throw new RuntimeException(ex);
          }
      }
  
      private void marshallData(Uploader uploader, WU entityInstance) {
          entityInstance.setFilename(uploader.getFilename());
          entityInstance.setContentType(uploader.getContentType());
          entityInstance.setData(uploader.getData());
          entityInstance.setFilesize(uploader.getData().length);
      }
  
  
  }
  
  
  
  1.1      date: 2007/12/19 04:29:27;  author: cbauer;  state: Exp;jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/handler/WikiUploadHandler.java
  
  Index: WikiUploadHandler.java
  ===================================================================
  package org.jboss.seam.wiki.core.upload.handler;
  
  import org.jboss.seam.wiki.core.model.WikiUpload;
  import org.jboss.seam.wiki.core.upload.editor.UploadEditor;
  import org.jboss.seam.wiki.core.upload.editor.WikiUploadEditor;
  
  public class WikiUploadHandler<WU extends WikiUpload> extends UploadHandler<WU> {
  
      public UploadEditor<WikiUpload> createEditor(WikiUpload instance) {
          try {
              UploadEditor<WikiUpload> editor = WikiUploadEditor.class.newInstance();
              editor.init(instance);
              return editor;
          } catch (Exception ex) {
              throw new RuntimeException(ex);
          }
      }
  
  }
  
  
  
  1.1      date: 2007/12/19 04:29:27;  author: cbauer;  state: Exp;jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/handler/WikiUploadImageHandler.java
  
  Index: WikiUploadImageHandler.java
  ===================================================================
  package org.jboss.seam.wiki.core.upload.handler;
  
  import org.jboss.seam.wiki.core.model.WikiUploadImage;
  import org.jboss.seam.wiki.core.upload.Uploader;
  import org.jboss.seam.wiki.core.upload.editor.UploadEditor;
  import org.jboss.seam.wiki.core.upload.editor.WikiUploadImageEditor;
  import org.jboss.seam.wiki.core.engine.WikiLink;
  import org.jboss.seam.wiki.util.WikiUtil;
  import org.jboss.seam.core.Conversation;
  
  import javax.swing.*;
  
  public class WikiUploadImageHandler extends UploadHandler<WikiUploadImage>  {
  
      public UploadEditor<WikiUploadImage> createEditor(WikiUploadImage instance) {
          try {
              UploadEditor<WikiUploadImage> editor = WikiUploadImageEditor.class.newInstance();
              editor.init(instance);
              return editor;
          } catch (Exception ex) {
              throw new RuntimeException(ex);
          }
      }
  
      protected WikiUploadImage createEntityInstance() {
          try {
              return WikiUploadImage.class.newInstance();
          } catch (Exception ex) {
              throw new RuntimeException(ex);
          }
      }
  
      public WikiUploadImage handleUpload(Uploader uploader) {
          WikiUploadImage image = super.handleUpload(uploader);
          marshallData(uploader, image);
          return image;
      }
  
      public WikiUploadImage handleUpload(Uploader uploader, WikiUploadImage updateInstance) {
          WikiUploadImage image = super.handleUpload(uploader, updateInstance);
          marshallData(uploader, image);
          return image;
      }
  
      private void marshallData(Uploader uploader, WikiUploadImage image) {
  
          // Calculate image size
          ImageIcon icon = new ImageIcon(image.getData());
          int imageSizeX = icon.getImage().getWidth(null);
          int imageSizeY = icon.getImage().getHeight(null);
          image.setSizeX(imageSizeX);
          image.setSizeY(imageSizeY);
          
      }
  
  }
  
  
  



More information about the jboss-cvs-commits mailing list