[jboss-cvs] jboss-seam/src/pdf/org/jboss/seam/pdf/ui ...

Norman Richards norman.richards at jboss.com
Fri Mar 30 19:09:53 EDT 2007


  User: nrichards
  Date: 07/03/30 19:09:53

  Modified:    src/pdf/org/jboss/seam/pdf/ui   ITextComponent.java
                        UIImage.java
  Log:
  JBSEAM-1072: make pdf images use seam image support
  
  Revision  Changes    Path
  1.12      +1 -0      jboss-seam/src/pdf/org/jboss/seam/pdf/ui/ITextComponent.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: ITextComponent.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/pdf/org/jboss/seam/pdf/ui/ITextComponent.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -b -r1.11 -r1.12
  --- ITextComponent.java	8 Mar 2007 17:40:13 -0000	1.11
  +++ ITextComponent.java	30 Mar 2007 23:09:53 -0000	1.12
  @@ -142,6 +142,7 @@
                                  Object defaultValue) {
           Object value = defaultValue; 
           ValueBinding binding = getValueBinding(property);
  +
           if (binding != null) {
               value = binding.getValue(context);
           }
  
  
  
  1.14      +37 -41    jboss-seam/src/pdf/org/jboss/seam/pdf/ui/UIImage.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: UIImage.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/pdf/org/jboss/seam/pdf/ui/UIImage.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -b -r1.13 -r1.14
  --- UIImage.java	20 Feb 2007 04:14:20 -0000	1.13
  +++ UIImage.java	30 Mar 2007 23:09:53 -0000	1.14
  @@ -1,11 +1,14 @@
   package org.jboss.seam.pdf.ui;
   
   import org.jboss.seam.pdf.ITextUtils;
  +import org.jboss.seam.ui.graphicImage.ImageTransform;
   
  +import javax.faces.component.UIComponent;
   import javax.faces.context.*;
   
  -import java.net.MalformedURLException;
  -import java.net.URL;
  +import java.awt.image.BufferedImage;
  +import java.io.IOException;
  +import java.util.List;
   
   import com.lowagie.text.*;
   
  @@ -16,7 +19,7 @@
   
       Image image;
       
  -    String resource;
  +    Object value; 
       float  rotation;
       float  height;
       float  width;
  @@ -37,8 +40,8 @@
       
       java.awt.Image imageData;
   
  -    public void setResource(String resource) {
  -        this.resource = resource;
  +    public void setValue(Object value) {
  +        this.value = value;
       }
   
       public void setRotation(float rotation) {
  @@ -101,7 +104,7 @@
           this.scalePercent = scalePercent; 
       }
       
  -    public void setImageData(java.awt.Image imageData) {
  +    public void setValue(java.awt.Image imageData) {
           this.imageData = imageData;
       }
   
  @@ -117,42 +120,35 @@
       }
       
       
  -    private Image createFromResource(FacesContext context, String resource) {
  -        URL url;
  +    @SuppressWarnings("unchecked")
  +    @Override
  +    public void createITextObject(FacesContext context) {       
  +        value = valueBinding(context, "value", value);        
  +              
  +        // instance() doesn't work here - we need a new instance           
  +        org.jboss.seam.core.Image seamImage = new org.jboss.seam.core.Image();  
  +
           try {
  -            url = context.getExternalContext().getResource(resource);
  -        } catch (MalformedURLException e) {
  -            throw new RuntimeException(e);
  +            if (value instanceof BufferedImage) {
  +                seamImage.setBufferedImage((BufferedImage)value);
  +            } else {
  +                seamImage.setInput(value);
           }
           
  -        if (url == null) {
  -            throw new RuntimeException("cannot locate image resource " + resource);
  -        }
  -        try {
  -            return Image.getInstance(url);
  -        } catch (Exception e) {
  -            throw new RuntimeException(e);
  +            for (UIComponent cmp : (List<UIComponent>) this.getChildren()) {
  +                if (cmp instanceof ImageTransform) {
  +                    ImageTransform imageTransform = (ImageTransform) cmp;
  +                    imageTransform.applyTransform(seamImage);
           }
       }
       
  -    private Image createFromImage(java.awt.Image awtImage) {
  -        try {
  -            return Image.getInstance(awtImage, null);
  -        } catch (Exception e) {
  +            image = Image.getInstance(seamImage.getImage());
  +        } catch (IOException e) {
  +            throw new RuntimeException(e);
  +        } catch (BadElementException e) {
               throw new RuntimeException(e);
           }        
  -    }
  -    
  -    @Override
  -    public void createITextObject(FacesContext context) {       
  -        resource = (String) valueBinding(context,"resource", resource);
          
  -        if (resource != null) {
  -            image = createFromResource(context, resource);
  -        } else {
  -            imageData = (java.awt.Image)  valueBinding(context, "imageData", imageData);
  -            image = createFromImage(imageData);            
  -        }
                           
           rotation = (Float) valueBinding(context, "rotation", rotation);
           if (rotation != 0) {
  
  
  



More information about the jboss-cvs-commits mailing list