[jboss-cvs] jboss-seam/src/ui/org/jboss/seam/ui/graphicImage ...
Peter Muir
peter at bleepbleep.org.uk
Tue Apr 3 14:10:35 EDT 2007
User: pmuir
Date: 07/04/03 14:10:35
Modified: src/ui/org/jboss/seam/ui/graphicImage
UIGraphicImage.java UITransformImageSize.java
Added: src/ui/org/jboss/seam/ui/graphicImage
GraphicImageStore.java GraphicImageResource.java
Removed: src/ui/org/jboss/seam/ui/graphicImage
DynamicImageStore.java DynamicImageResource.java
Log:
Better names and types
Revision Changes Path
1.5 +5 -5 jboss-seam/src/ui/org/jboss/seam/ui/graphicImage/UIGraphicImage.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: UIGraphicImage.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/ui/org/jboss/seam/ui/graphicImage/UIGraphicImage.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- UIGraphicImage.java 30 Mar 2007 23:09:09 -0000 1.4
+++ UIGraphicImage.java 3 Apr 2007 18:10:35 -0000 1.5
@@ -13,7 +13,7 @@
import org.jboss.seam.core.Image;
import org.jboss.seam.ui.HTML;
import org.jboss.seam.ui.JSF;
-import org.jboss.seam.ui.graphicImage.DynamicImageStore.ImageWrapper;
+import org.jboss.seam.ui.graphicImage.GraphicImageStore.ImageWrapper;
public class UIGraphicImage extends HtmlGraphicImage
{
@@ -71,13 +71,13 @@
}
}
- key = DynamicImageStore.instance().put(new ImageWrapper(image.getImage(), image.getContentType()),
+ key = GraphicImageStore.instance().put(new ImageWrapper(image.getImage(), image.getContentType()),
key);
extension = image.getContentType().getExtension();
writer.startElement(HTML.IMG_ELEM, this);
String url = context.getExternalContext().getRequestContextPath()
- + DynamicImageResource.DYNAMIC_IMAGE_RESOURCE_PATH + "/" + key + extension;
+ + GraphicImageResource.GRAPHIC_IMAGE_RESOURCE_PATH + "/" + key + extension;
writer.writeAttribute(HTML.SRC_ATTR, url, HTML.SRC_ATTR);
HTML.renderHTMLAttributes(writer, this, HTML.IMG_PASSTHROUGH_ATTRIBUTES);
writer.endElement(HTML.IMG_ELEM);
@@ -103,7 +103,7 @@
}
@Override
- protected Renderer getRenderer(FacesContext context)
+ public String getRendererType()
{
return null;
}
1.5 +17 -17 jboss-seam/src/ui/org/jboss/seam/ui/graphicImage/UITransformImageSize.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: UITransformImageSize.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/ui/org/jboss/seam/ui/graphicImage/UITransformImageSize.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- UITransformImageSize.java 30 Mar 2007 23:09:09 -0000 1.4
+++ UITransformImageSize.java 3 Apr 2007 18:10:35 -0000 1.5
@@ -14,11 +14,11 @@
private Boolean maintainRatio;
- private String width;
+ private Integer width;
- private String height;
+ private Integer height;
- private String factor;
+ private Double factor;
@Override
public String getFamily()
@@ -81,7 +81,7 @@
this.maintainRatio = maintainRatio;
}
- public String getWidth()
+ public Integer getWidth()
{
if (width != null)
{
@@ -90,16 +90,16 @@
else
{
ValueBinding vb = getValueBinding("width");
- return vb == null ? null : JSF.getStringValue(getFacesContext(), vb);
+ return vb == null ? null : JSF.getIntegerValue(getFacesContext(), vb);
}
}
- public void setWidth(String width)
+ public void setWidth(Integer width)
{
this.width = width;
}
- public String getHeight()
+ public Integer getHeight()
{
if (height != null)
{
@@ -108,16 +108,16 @@
else
{
ValueBinding vb = getValueBinding("height");
- return vb == null ? null : JSF.getStringValue(getFacesContext(), vb);
+ return vb == null ? null : JSF.getIntegerValue(getFacesContext(), vb);
}
}
- public void setHeight(String height)
+ public void setHeight(Integer height)
{
this.height = height;
}
- public String getFactor()
+ public Double getFactor()
{
if (factor != null)
{
@@ -126,11 +126,11 @@
else
{
ValueBinding vb = getValueBinding("factor");
- return vb == null ? null : JSF.getStringValue(getFacesContext(), vb);
+ return vb == null ? null : JSF.getDoubleValue(getFacesContext(), vb);
}
}
- public void setFactor(String factor)
+ public void setFactor(Double factor)
{
this.factor = factor;
}
@@ -152,9 +152,9 @@
{
Object[] objects = (Object[]) state;
super.restoreState(context, objects[0]);
- factor = (String) objects[1];
- height = (String) objects[2];
- width = (String) objects[3];
+ factor = (Double) objects[1];
+ height = (Integer) objects[2];
+ width = (Integer) objects[3];
maintainRatio = (Boolean) objects[4];
}
1.1 date: 2007/04/03 18:10:35; author: pmuir; state: Exp;jboss-seam/src/ui/org/jboss/seam/ui/graphicImage/GraphicImageStore.java
Index: GraphicImageStore.java
===================================================================
package org.jboss.seam.ui.graphicImage;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import org.jboss.seam.Component;
import org.jboss.seam.InterceptionType;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Install;
import org.jboss.seam.annotations.Intercept;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.core.Image;
import org.jboss.seam.log.Log;
import org.jboss.seam.log.Logging;
@Name("org.jboss.seam.ui.graphicImage.graphicImageStore")
@Scope(ScopeType.SESSION)
@Install(precedence = Install.BUILT_IN)
@Intercept(InterceptionType.NEVER)
public class GraphicImageStore implements Serializable
{
private Log log = Logging.getLog(GraphicImageStore.class);
public static class ImageWrapper implements Serializable
{
private byte[] image;
private Image.Type contentType;
public ImageWrapper(byte[] image, Image.Type contentType)
{
this.image = image;
this.contentType = contentType;
}
public Image.Type getContentType()
{
return contentType;
}
public byte[] getImage()
{
return image;
}
}
private Map<String, ImageWrapper> store = new HashMap<String, ImageWrapper>();
private int index = 0;
/**
* Put a image into the store
* @param image
* @return the key of the image
*/
public String put(ImageWrapper image)
{
return put(image, null);
}
/**
* Put an image into the store.
* @param image
* @param key The key to use, if null, a key will be generated
* @return The key of the image
*/
public String put(ImageWrapper image, String key)
{
if (key == null)
{
key = "org.jboss.seam.ui.GraphicImageStore." + index;
index++;
}
store.put(key, image);
log.debug("Put image into to session with key #0", key);
return key;
}
public ImageWrapper get(String key)
{
log.debug("Get image into to session with key #0", key);
ImageWrapper image = store.get(key);
return image;
}
public ImageWrapper remove(String key)
{
log.debug("Get image from session with key #0", key);
return store.remove(key);
}
public boolean contains(String key)
{
return store.containsKey(key);
}
public static GraphicImageStore instance()
{
return (GraphicImageStore) Component.getInstance(GraphicImageStore.class, true);
}
}
1.1 date: 2007/04/03 18:10:35; author: pmuir; state: Exp;jboss-seam/src/ui/org/jboss/seam/ui/graphicImage/GraphicImageResource.java
Index: GraphicImageResource.java
===================================================================
package org.jboss.seam.ui.graphicImage;
import static org.jboss.seam.InterceptionType.NEVER;
import static org.jboss.seam.ScopeType.APPLICATION;
import static org.jboss.seam.annotations.Install.BUILT_IN;
import java.io.IOException;
import javax.faces.event.PhaseId;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.jboss.seam.annotations.Install;
import org.jboss.seam.annotations.Intercept;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.Startup;
import org.jboss.seam.contexts.ContextAdaptor;
import org.jboss.seam.contexts.Lifecycle;
import org.jboss.seam.core.Manager;
import org.jboss.seam.servlet.AbstractResource;
import org.jboss.seam.ui.graphicImage.GraphicImageStore.ImageWrapper;
@Startup
@Scope(APPLICATION)
@Name("org.jboss.seam.ui.graphicImage.graphicImageResource")
@Install(precedence = BUILT_IN)
@Intercept(NEVER)
public class GraphicImageResource extends AbstractResource
{
public static final String GRAPHIC_IMAGE_RESOURCE_PATH = "/seam/resource/graphicImage";
private static final String RESOURCE_PATH = "/graphicImage";
@Override
protected String getResourcePath()
{
return RESOURCE_PATH;
}
@Override
public void getResource(HttpServletRequest request, HttpServletResponse response)
throws IOException
{
String pathInfo = request.getPathInfo().substring(getResourcePath().length() + 1,
request.getPathInfo().lastIndexOf("."));
// Set up Seam contexts
HttpSession session = request.getSession(true);
Lifecycle.setPhaseId(PhaseId.INVOKE_APPLICATION);
Lifecycle.setServletRequest(request);
Lifecycle.beginRequest(getServletContext(), session, request);
Manager.instance().restoreConversation(request.getParameterMap());
Lifecycle.resumeConversation(session);
Manager.instance().handleConversationPropagation(request.getParameterMap());
try
{
ImageWrapper image = GraphicImageStore.instance().remove(pathInfo);
if (image != null)
{
response.setContentType(image.getContentType().getMimeType());
response.setStatus(HttpServletResponse.SC_OK);
response.setContentLength(image.getImage().length);
ServletOutputStream os = response.getOutputStream();
os.write(image.getImage());
os.flush();
}
else
{
response.sendError(HttpServletResponse.SC_NOT_FOUND);
}
// TODO: conversation timeout
Manager.instance().endRequest(ContextAdaptor.getSession(session));
Lifecycle.endRequest(session);
}
catch (Exception e)
{
Lifecycle.endRequest();
}
finally
{
Lifecycle.setServletRequest(null);
Lifecycle.setPhaseId(null);
}
}
}
More information about the jboss-cvs-commits
mailing list