JBoss Rich Faces SVN: r14978 - in root/framework/trunk/impl/src: main/java/org/ajax4jsf/resource/image and 4 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2009-07-22 19:38:22 -0400 (Wed, 22 Jul 2009)
New Revision: 14978
Added:
root/framework/trunk/impl/src/main/java/org/ajax4jsf/util/NumericDataInputStream.java
root/framework/trunk/impl/src/main/java/org/ajax4jsf/util/NumericDataOutputStream.java
root/framework/trunk/impl/src/main/java/org/richfaces/resource/AnimatedTestResource.java
root/framework/trunk/impl/src/main/resources/META-INF/org.richfaces.resource.AnimatedTestResource.resource.properties
root/framework/trunk/impl/src/test/java/org/ajax4jsf/util/NumericStreamsTest.java
Removed:
root/framework/trunk/impl/src/main/java/org/ajax4jsf/resource/AnimationResource.java
root/framework/trunk/impl/src/main/java/org/ajax4jsf/resource/image/animatedgif/
root/framework/trunk/impl/src/main/java/org/ajax4jsf/util/GifEncoder.java
root/framework/trunk/impl/src/test/java/org/ajax4jsf/util/Zipper2Test.java
Modified:
root/framework/trunk/impl/src/main/java/org/ajax4jsf/util/Zipper.java
root/framework/trunk/impl/src/main/java/org/ajax4jsf/util/Zipper2.java
root/framework/trunk/impl/src/main/java/org/richfaces/resource/TestResource2.java
Log:
Remove Gif image format SPI ( included in the JDK 5 and late ) - https://jira.jboss.org/jira/browse/RF-7555
Zipper/Zipper2 deprecated in favor to NumericDataInputStream/NumericDataOutputStream
Deleted: root/framework/trunk/impl/src/main/java/org/ajax4jsf/resource/AnimationResource.java
===================================================================
--- root/framework/trunk/impl/src/main/java/org/ajax4jsf/resource/AnimationResource.java 2009-07-22 16:39:10 UTC (rev 14977)
+++ root/framework/trunk/impl/src/main/java/org/ajax4jsf/resource/AnimationResource.java 2009-07-22 23:38:22 UTC (rev 14978)
@@ -1,102 +0,0 @@
-/**
- * License Agreement.
- *
- * Rich Faces - Natural Ajax for Java Server Faces (JSF)
- *
- * Copyright (C) 2007 Exadel, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-package org.ajax4jsf.resource;
-
-import java.awt.Dimension;
-import java.awt.Graphics2D;
-import java.awt.image.BufferedImage;
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.Date;
-
-import org.ajax4jsf.resource.image.animatedgif.AnimatedGifEncoder;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-public abstract class AnimationResource extends InternetResourceBase {
-
- private static final Log log = LogFactory.getLog(AnimationResource.class);
-
- protected abstract Dimension getFrameSize(ResourceContext resourceContext);
-
- public AnimationResource() {
- setRenderer(new GifRenderer());
- setLastModified(new Date(InternetResourceBuilder.getInstance().getStartTime()));
- }
-
- protected abstract int getNumberOfFrames();
-
- protected int getRepeat() {
- return -1;
- }
-
- private int[] delays;
-
- protected int[] getFrameDelays() {
- if (delays == null) {
- delays = new int[getNumberOfFrames()];
- Arrays.fill(delays, 0);
- }
-
- return delays;
- }
-
- private int currFrameIndex = 0;
-
- public void send(ResourceContext context) throws IOException {
- try {
- DataOutputStream output = new DataOutputStream(context.getOutputStream());
- Dimension frameSize = getFrameSize(context);
- int numberOfFrames = getNumberOfFrames();
- BufferedImage frame = null;
- currFrameIndex = 0;
- if (frameSize.getHeight() > 0.0 && frameSize.getWidth() > 0.0
- && numberOfFrames > 0) {
- AnimatedGifEncoder encoder = new AnimatedGifEncoder();
- encoder.start(output);
- encoder.setRepeat(getRepeat());
- int[] delays = getFrameDelays();
- ImageRenderer renderer = (ImageRenderer) getRenderer(null);
- while (currFrameIndex < numberOfFrames) {
- frame = renderer.createImage(frameSize.width,
- frameSize.height);
- Graphics2D graphics = frame.createGraphics();
- paint(context, graphics, currFrameIndex++);
- graphics.dispose();
- encoder.addFrame(frame);
- if (delays != null && delays.length > currFrameIndex) {
- encoder.setDelay(delays[currFrameIndex]);
- }
- }
- encoder.finish();
- }
- output.flush();
- output.close();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
-
- protected abstract void paint(ResourceContext context, Graphics2D graphics2D, int frameIndex);
-
-}
Deleted: root/framework/trunk/impl/src/main/java/org/ajax4jsf/util/GifEncoder.java
===================================================================
--- root/framework/trunk/impl/src/main/java/org/ajax4jsf/util/GifEncoder.java 2009-07-22 16:39:10 UTC (rev 14977)
+++ root/framework/trunk/impl/src/main/java/org/ajax4jsf/util/GifEncoder.java 2009-07-22 23:38:22 UTC (rev 14978)
@@ -1,545 +0,0 @@
-package org.ajax4jsf.util;
-
-import java.awt.Image;
-import java.awt.image.ColorModel;
-import java.awt.image.IndexColorModel;
-import java.awt.image.PixelGrabber;
-import java.io.IOException;
-import java.io.OutputStream;
-
-import org.ajax4jsf.Messages;
-
-/** GifEncoder - writes out an image as a GIF.
- *
- * Transparency handling and variable bit size courtesy of Jack Palevich.
- *
- * Copyright (C) 1996 by Jef Poskanzer <jef(a)acme.com>. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * Visit the ACME Labs Java page for up-to-date versions of this and other
- * fine Java utilities: http://www.acme.com/java/
- */
-
-public class GifEncoder {
-
- private boolean interlace = false;
-
- private int width, height;
-
- private byte[] pixels;
-
- private byte[] r, g, b; // the color look-up table
-
- private int pixelIndex;
-
- private int numPixels;
-
- private int transparentPixel = -1; // hpm
-
- /**
- * Constructs a new GifEncoder.
- * @param width The image width.
- * @param height The image height.
- * @param pixels The pixel data.
- * @param r The red look-up table.
- * @param g The green look-up table.
- * @param b The blue look-up table.
- */
- public GifEncoder(int width, int height, byte[] pixels, byte[] r, byte[] g, byte[] b) {
- this.width = width;
- this.height = height;
- this.pixels = pixels;
- this.r = r;
- this.g = g;
- this.b = b;
- interlace = false;
- pixelIndex = 0;
- numPixels = width * height;
- }
-
- /** Constructs a new GifEncoder using an 8-bit AWT Image.
- The image is assumed to be fully loaded. */
- public GifEncoder(Image img) {
- width = img.getWidth(null);
- height = img.getHeight(null);
- pixels = new byte[width * height];
- PixelGrabber pg = new PixelGrabber(img, 0, 0, width, height, false);
- try {
- pg.grabPixels();
- } catch (InterruptedException e) {
- System.err.println(e);
- }
- ColorModel cm = pg.getColorModel();
- if (cm instanceof IndexColorModel) {
- pixels = (byte[]) (pg.getPixels());
- // hpm
- IndexColorModel icm = (IndexColorModel) cm;
- setTransparentPixel(icm.getTransparentPixel());
- } else
- throw new IllegalArgumentException(Messages.getMessage(Messages.IMAGE_ERROR));
- IndexColorModel m = (IndexColorModel) cm;
- int mapSize = m.getMapSize();
- r = new byte[mapSize];
- g = new byte[mapSize];
- b = new byte[mapSize];
- m.getReds(r);
- m.getGreens(g);
- m.getBlues(b);
- interlace = false;
- pixelIndex = 0;
- numPixels = width * height;
- }
-
- /** Saves the image as a GIF file. */
- public void write(OutputStream out) throws IOException {
- // Figure out how many bits to use.
- int numColors = r.length;
- int BitsPerPixel;
- if (numColors <= 2)
- BitsPerPixel = 1;
- else if (numColors <= 4)
- BitsPerPixel = 2;
- else if (numColors <= 16)
- BitsPerPixel = 4;
- else
- BitsPerPixel = 8;
-
- int ColorMapSize = 1 << BitsPerPixel;
- byte[] reds = new byte[ColorMapSize];
- byte[] grns = new byte[ColorMapSize];
- byte[] blus = new byte[ColorMapSize];
- for (int i = 0; i < numColors; i++) {
- reds[i] = r[i];
- grns[i] = g[i];
- blus[i] = b[i];
- }
-
- // hpm
- GIFEncode(out, width, height, interlace, (byte) 0, getTransparentPixel(), BitsPerPixel, reds, grns, blus);
- }
-
- // hpm
- public void setTransparentPixel(int pixel) {
- transparentPixel = pixel;
- }
-
- // hpm
- public int getTransparentPixel() {
- return transparentPixel;
- }
-
- static void writeString(OutputStream out, String str) throws IOException {
- byte[] buf = str.getBytes();
- out.write(buf);
- }
-
- // Adapted from ppmtogif, which is based on GIFENCOD by David
- // Rowley <mgardi(a)watdscu.waterloo.edu>. Lempel-Zim compression
- // based on "compress".
-
- int Width, Height;
-
- boolean Interlace;
-
- void GIFEncode(OutputStream outs, int Width, int Height, boolean Interlace,
- byte Background, int Transparent, int BitsPerPixel, byte[] Red,
- byte[] Green, byte[] Blue) throws IOException {
- byte B;
- int LeftOfs, TopOfs;
- int ColorMapSize;
- int InitCodeSize;
- int i;
-
- this.Width = Width;
- this.Height = Height;
- this.Interlace = Interlace;
- ColorMapSize = 1 << BitsPerPixel;
- LeftOfs = TopOfs = 0;
-
- // The initial code size
- if (BitsPerPixel <= 1)
- InitCodeSize = 2;
- else
- InitCodeSize = BitsPerPixel;
-
- // Write the Magic header
- writeString(outs, "GIF89a");
-
- // Write out the screen width and height
- Putword(Width, outs);
- Putword(Height, outs);
-
- // Indicate that there is a global colour map
- B = (byte) 0x80; // Yes, there is a color map
- // OR in the resolution
- B |= (byte) ((8 - 1) << 4);
- // Not sorted
- // OR in the Bits per Pixel
- B |= (byte) ((BitsPerPixel - 1));
-
- // Write it out
- Putbyte(B, outs);
-
- // Write out the Background colour
- Putbyte(Background, outs);
-
- // Pixel aspect ratio - 1:1.
- //Putbyte( (byte) 49, outs );
- // Java's GIF reader currently has a bug, if the aspect ratio byte is
- // not zero it throws an ImageFormatException. It doesn't know that
- // 49 means a 1:1 aspect ratio. Well, whatever, zero works with all
- // the other decoders I've tried so it probably doesn't hurt.
- Putbyte((byte) 0, outs);
-
- // Write out the Global Colour Map
- for (i = 0; i < ColorMapSize; ++i) {
- Putbyte(Red[i], outs);
- Putbyte(Green[i], outs);
- Putbyte(Blue[i], outs);
- }
-
- // Write out extension for transparent colour index, if necessary.
- if (Transparent != -1) {
- Putbyte((byte) '!', outs);
- Putbyte((byte) 0xf9, outs);
- Putbyte((byte) 4, outs);
- Putbyte((byte) 1, outs);
- Putbyte((byte) 0, outs);
- Putbyte((byte) 0, outs);
- Putbyte((byte) Transparent, outs);
- Putbyte((byte) 0, outs);
- }
-
- // Write an Image separator
- Putbyte((byte) ',', outs);
-
- // Write the Image header
- Putword(LeftOfs, outs);
- Putword(TopOfs, outs);
- Putword(Width, outs);
- Putword(Height, outs);
-
- // Write out whether or not the image is interlaced
- if (Interlace)
- Putbyte((byte) 0x40, outs);
- else
- Putbyte((byte) 0x00, outs);
-
- // Write out the initial code size
- Putbyte((byte) InitCodeSize, outs);
-
- // Go and actually compress the data
- compress(InitCodeSize + 1, outs);
-
- // Write out a Zero-length packet (to end the series)
- Putbyte((byte) 0, outs);
-
- // Write the GIF file terminator
- Putbyte((byte) ';', outs);
- }
-
- static final int EOF = -1;
-
- // Return the next pixel from the image
- int GIFNextPixel() throws IOException {
- if (pixelIndex == numPixels)
- return EOF;
- else
- return ((byte[]) pixels)[pixelIndex++] & 0xff;
- }
-
- // Write out a word to the GIF file
- void Putword(int w, OutputStream outs) throws IOException {
- Putbyte((byte) (w & 0xff), outs);
- Putbyte((byte) ((w >> 8) & 0xff), outs);
- }
-
- // Write out a byte to the GIF file
- void Putbyte(byte b, OutputStream outs) throws IOException {
- outs.write(b);
- }
-
- // GIFCOMPR.C - GIF Image compression routines
- //
- // Lempel-Ziv compression based on 'compress'. GIF modifications by
- // David Rowley (mgardi(a)watdcsu.waterloo.edu)
-
- // General DEFINEs
-
- static final int BITS = 12;
-
- static final int HSIZE = 5003; // 80% occupancy
-
- // GIF Image compression - modified 'compress'
- //
- // Based on: compress.c - File compression ala IEEE Computer, June 1984.
- //
- // By Authors: Spencer W. Thomas (decvax!harpo!utah-cs!utah-gr!thomas)
- // Jim McKie (decvax!mcvax!jim)
- // Steve Davies (decvax!vax135!petsd!peora!srd)
- // Ken Turkowski (decvax!decwrl!turtlevax!ken)
- // James A. Woods (decvax!ihnp4!ames!jaw)
- // Joe Orost (decvax!vax135!petsd!joe)
-
- int n_bits; // number of bits/code
-
- int maxbits = BITS; // user settable max # bits/code
-
- int maxcode; // maximum code, given n_bits
-
- int maxmaxcode = 1 << BITS; // should NEVER generate this code
-
- final int MAXCODE(int n_bits) {
- return (1 << n_bits) - 1;
- }
-
- int[] htab = new int[HSIZE];
-
- int[] codetab = new int[HSIZE];
-
- int hsize = HSIZE; // for dynamic table sizing
-
- int free_ent = 0; // first unused entry
-
- // block compression parameters -- after all codes are used up,
- // and compression rate changes, start over.
- boolean clear_flg = false;
-
- // Algorithm: use open addressing double hashing (no chaining) on the
- // prefix code / next character combination. We do a variant of Knuth's
- // algorithm D (vol. 3, sec. 6.4) along with G. Knott's relatively-prime
- // secondary probe. Here, the modular division first probe is gives way
- // to a faster exclusive-or manipulation. Also do block compression with
- // an adaptive reset, whereby the code table is cleared when the compression
- // ratio decreases, but after the table fills. The variable-length output
- // codes are re-sized at this point, and a special CLEAR code is generated
- // for the decompressor. Late addition: construct the table according to
- // file size for noticeable speed improvement on small files. Please direct
- // questions about this implementation to ames!jaw.
-
- int g_init_bits;
-
- int ClearCode;
-
- int EOFCode;
-
- void compress(int init_bits, OutputStream outs) throws IOException {
- int fcode;
- int i /* = 0 */;
- int c;
- int ent;
- int disp;
- int hsize_reg;
- int hshift;
-
- // Set up the globals: g_init_bits - initial number of bits
- g_init_bits = init_bits;
-
- // Set up the necessary values
- clear_flg = false;
- n_bits = g_init_bits;
- maxcode = MAXCODE(n_bits);
-
- ClearCode = 1 << (init_bits - 1);
- EOFCode = ClearCode + 1;
- free_ent = ClearCode + 2;
-
- char_init();
-
- ent = GIFNextPixel();
-
- hshift = 0;
- for (fcode = hsize; fcode < 65536; fcode *= 2)
- ++hshift;
- hshift = 8 - hshift; // set hash code range bound
-
- hsize_reg = hsize;
- cl_hash(hsize_reg); // clear hash table
-
- output(ClearCode, outs);
-
- outer_loop: while ((c = GIFNextPixel()) != EOF) {
- fcode = (c << maxbits) + ent;
- i = (c << hshift) ^ ent; // xor hashing
-
- if (htab[i] == fcode) {
- ent = codetab[i];
- continue;
- } else if (htab[i] >= 0) // non-empty slot
- {
- disp = hsize_reg - i; // secondary hash (after G. Knott)
- if (i == 0)
- disp = 1;
- do {
- if ((i -= disp) < 0)
- i += hsize_reg;
-
- if (htab[i] == fcode) {
- ent = codetab[i];
- continue outer_loop;
- }
- } while (htab[i] >= 0);
- }
- output(ent, outs);
- ent = c;
- if (free_ent < maxmaxcode) {
- codetab[i] = free_ent++; // code -> hashtable
- htab[i] = fcode;
- } else
- cl_block(outs);
- }
- // Put out the final code.
- output(ent, outs);
- output(EOFCode, outs);
- }
-
- // output
- //
- // Output the given code.
- // Inputs:
- // code: A n_bits-bit integer. If == -1, then EOF. This assumes
- // that n_bits =< wordsize - 1.
- // Outputs:
- // Outputs code to the file.
- // Assumptions:
- // Chars are 8 bits long.
- // Algorithm:
- // Maintain a BITS character long buffer (so that 8 codes will
- // fit in it exactly). Use the VAX insv instruction to insert each
- // code in turn. When the buffer fills up empty it and start over.
-
- int cur_accum = 0;
-
- int cur_bits = 0;
-
- int masks[] = { 0x0000, 0x0001, 0x0003, 0x0007, 0x000F, 0x001F, 0x003F,
- 0x007F, 0x00FF, 0x01FF, 0x03FF, 0x07FF, 0x0FFF, 0x1FFF, 0x3FFF,
- 0x7FFF, 0xFFFF };
-
- void output(int code, OutputStream outs) throws IOException {
- cur_accum &= masks[cur_bits];
-
- if (cur_bits > 0)
- cur_accum |= (code << cur_bits);
- else
- cur_accum = code;
-
- cur_bits += n_bits;
-
- while (cur_bits >= 8) {
- char_out((byte) (cur_accum & 0xff), outs);
- cur_accum >>= 8;
- cur_bits -= 8;
- }
-
- // If the next entry is going to be too big for the code size,
- // then increase it, if possible.
- if (free_ent > maxcode || clear_flg) {
- if (clear_flg) {
- maxcode = MAXCODE(n_bits = g_init_bits);
- clear_flg = false;
- } else {
- ++n_bits;
- if (n_bits == maxbits)
- maxcode = maxmaxcode;
- else
- maxcode = MAXCODE(n_bits);
- }
- }
-
- if (code == EOFCode) {
- // At EOF, write the rest of the buffer.
- while (cur_bits > 0) {
- char_out((byte) (cur_accum & 0xff), outs);
- cur_accum >>= 8;
- cur_bits -= 8;
- }
-
- flush_char(outs);
- }
- }
-
- // Clear out the hash table
-
- // table clear for block compress
- void cl_block(OutputStream outs) throws IOException {
- cl_hash(hsize);
- free_ent = ClearCode + 2;
- clear_flg = true;
-
- output(ClearCode, outs);
- }
-
- // reset code table
- void cl_hash(int hsize) {
- for (int i = 0; i < hsize; ++i)
- htab[i] = -1;
- }
-
- // GIF Specific routines
-
- // Number of characters so far in this 'packet'
- int a_count;
-
- // Set up the 'byte output' routine
- void char_init() {
- a_count = 0;
- }
-
- // Define the storage for the packet accumulator
- byte[] accum = new byte[256];
-
- // Add a character to the end of the current packet, and if it is 254
- // characters, flush the packet to disk.
- void char_out(byte c, OutputStream outs) throws IOException {
- accum[a_count++] = c;
- if (a_count >= 254)
- flush_char(outs);
- }
-
- // Flush the packet to disk, and reset the accumulator
- void flush_char(OutputStream outs) throws IOException {
- if (a_count > 0) {
- outs.write(a_count);
- outs.write(accum, 0, a_count);
- a_count = 0;
- }
- }
-
-}
-
-class GifEncoderHashitem {
- public int rgb;
- public int count;
- public int index;
- public boolean isTransparent;
-
- public GifEncoderHashitem(int rgb, int count, int index,
- boolean isTransparent) {
- this.rgb = rgb;
- this.count = count;
- this.index = index;
- this.isTransparent = isTransparent;
- }
-
-}
Added: root/framework/trunk/impl/src/main/java/org/ajax4jsf/util/NumericDataInputStream.java
===================================================================
--- root/framework/trunk/impl/src/main/java/org/ajax4jsf/util/NumericDataInputStream.java (rev 0)
+++ root/framework/trunk/impl/src/main/java/org/ajax4jsf/util/NumericDataInputStream.java 2009-07-22 23:38:22 UTC (rev 14978)
@@ -0,0 +1,108 @@
+/**
+ * License Agreement.
+ *
+ * Rich Faces - Natural Ajax for Java Server Faces (JSF)
+ *
+ * Copyright (C) 2007 Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.ajax4jsf.util;
+
+import java.awt.Color;
+import java.io.ByteArrayInputStream;
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
+
+/**
+ * Original idea by Igor Shabalov
+ *
+ * @author Nick Belaevski
+ * @since 4.0
+ */
+public class NumericDataInputStream {
+
+ static final int BYTES_IN_INT = Integer.SIZE >> 3;
+
+ static final int BYTES_IN_SHORT = Short.SIZE >> 3;
+
+ static final int BYTES_IN_COLOR = BYTES_IN_INT - 1;
+
+ //the size of maximum object in bytes that this stream can operate (int)
+ static final int MAX_BYTES = BYTES_IN_INT;
+
+ static final ByteOrder BUFFER_BYTES_ORDER = ByteOrder.LITTLE_ENDIAN;
+
+ private ByteArrayInputStream byteArrayStream;
+
+ private byte[] bytes = new byte[MAX_BYTES];
+
+ private ByteBuffer buffer = ByteBuffer.wrap(bytes).order(BUFFER_BYTES_ORDER);
+
+ public NumericDataInputStream(byte[] buf, int offset, int length) {
+ super();
+
+ byteArrayStream = new ByteArrayInputStream(buf, offset, length);
+ }
+
+ public NumericDataInputStream(byte[] buf) {
+ super();
+
+ byteArrayStream = new ByteArrayInputStream(buf);
+ }
+
+ public byte readByte() {
+ int read = byteArrayStream.read();
+ if (read >= 0) {
+ return (byte) read;
+ } else {
+ throw new IllegalStateException("Data is invalid or corrupted");
+ }
+ }
+
+ public short readShort() {
+ int read = byteArrayStream.read(bytes, 0, BYTES_IN_SHORT);
+ if (read == BYTES_IN_SHORT) {
+ buffer.rewind();
+ return buffer.asShortBuffer().get();
+ } else {
+ throw new IllegalStateException("Data is invalid or corrupted");
+ }
+ }
+
+ public int readInt() {
+ int read = byteArrayStream.read(bytes, 0, BYTES_IN_INT);
+ if (read == BYTES_IN_INT) {
+ buffer.rewind();
+ return buffer.asIntBuffer().get();
+ } else {
+ throw new IllegalStateException("Data is invalid or corrupted");
+ }
+ }
+
+ public int readIntColor() {
+ int read = byteArrayStream.read(bytes, 0, BYTES_IN_COLOR);
+ if (read == BYTES_IN_COLOR) {
+ buffer.rewind();
+ return buffer.asIntBuffer().get() & 0x00FFFFFF;
+ } else {
+ throw new IllegalStateException("Data is invalid or corrupted");
+ }
+ }
+
+ public Color readColor() {
+ return new Color(readIntColor());
+ }
+}
Added: root/framework/trunk/impl/src/main/java/org/ajax4jsf/util/NumericDataOutputStream.java
===================================================================
--- root/framework/trunk/impl/src/main/java/org/ajax4jsf/util/NumericDataOutputStream.java (rev 0)
+++ root/framework/trunk/impl/src/main/java/org/ajax4jsf/util/NumericDataOutputStream.java 2009-07-22 23:38:22 UTC (rev 14978)
@@ -0,0 +1,80 @@
+/**
+ * License Agreement.
+ *
+ * Rich Faces - Natural Ajax for Java Server Faces (JSF)
+ *
+ * Copyright (C) 2007 Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.ajax4jsf.util;
+
+import java.awt.Color;
+import java.io.ByteArrayOutputStream;
+import java.nio.ByteBuffer;
+import static org.ajax4jsf.util.NumericDataInputStream.*;
+
+/**
+ * Original idea by Igor Shabalov
+ *
+ * @author Nick Belaevski
+ * @since 4.0
+ */
+public class NumericDataOutputStream {
+
+ private ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
+
+ private byte[] bytes = new byte[MAX_BYTES];
+
+ private ByteBuffer buffer = ByteBuffer.wrap(bytes)
+ .order(BUFFER_BYTES_ORDER);
+
+ public NumericDataOutputStream writeByte(byte value) {
+ byteStream.write(value);
+ return this;
+ }
+
+ public NumericDataOutputStream writeShort(short value) {
+ buffer.rewind();
+ buffer.asShortBuffer().put(value);
+ byteStream.write(bytes, 0, BYTES_IN_SHORT);
+ return this;
+ }
+
+ private void writeInteger(int value, int numBytes) {
+ buffer.rewind();
+ buffer.asIntBuffer().put(value);
+ byteStream.write(bytes, 0, numBytes);
+ }
+
+ public NumericDataOutputStream writeInt(int value) {
+ writeInteger(value, BYTES_IN_INT);
+ return this;
+ }
+
+ public NumericDataOutputStream writeIntColor(int value) {
+ writeInteger(value, BYTES_IN_COLOR);
+ return this;
+ }
+
+ public NumericDataOutputStream writeColor(Color value) {
+ writeIntColor(value.getRGB());
+ return this;
+ }
+
+ public byte[] getBytes() {
+ return byteStream.toByteArray();
+ }
+}
Modified: root/framework/trunk/impl/src/main/java/org/ajax4jsf/util/Zipper.java
===================================================================
--- root/framework/trunk/impl/src/main/java/org/ajax4jsf/util/Zipper.java 2009-07-22 16:39:10 UTC (rev 14977)
+++ root/framework/trunk/impl/src/main/java/org/ajax4jsf/util/Zipper.java 2009-07-22 23:38:22 UTC (rev 14978)
@@ -20,6 +20,7 @@
*/
package org.ajax4jsf.util;
+@Deprecated
public class Zipper {
public static void zip(byte[] buf, int value, int offset) {
buf[offset] = (byte)(value & 0x0ff);
Modified: root/framework/trunk/impl/src/main/java/org/ajax4jsf/util/Zipper2.java
===================================================================
--- root/framework/trunk/impl/src/main/java/org/ajax4jsf/util/Zipper2.java 2009-07-22 16:39:10 UTC (rev 14977)
+++ root/framework/trunk/impl/src/main/java/org/ajax4jsf/util/Zipper2.java 2009-07-22 23:38:22 UTC (rev 14978)
@@ -32,7 +32,7 @@
* @author Nick Belaevski
* @since 3.1
*/
-
+@Deprecated
public class Zipper2 {
private byte[] buffer;
Added: root/framework/trunk/impl/src/main/java/org/richfaces/resource/AnimatedTestResource.java
===================================================================
--- root/framework/trunk/impl/src/main/java/org/richfaces/resource/AnimatedTestResource.java (rev 0)
+++ root/framework/trunk/impl/src/main/java/org/richfaces/resource/AnimatedTestResource.java 2009-07-22 23:38:22 UTC (rev 14978)
@@ -0,0 +1,167 @@
+/**
+ * License Agreement.
+ *
+ * Rich Faces - Natural Ajax for Java Server Faces (JSF)
+ *
+ * Copyright (C) 2007 Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.richfaces.resource;
+
+import java.awt.Color;
+import java.awt.GradientPaint;
+import java.awt.Graphics2D;
+import java.awt.GraphicsEnvironment;
+import java.awt.color.ColorSpace;
+import java.awt.image.BufferedImage;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Iterator;
+
+import javax.imageio.IIOImage;
+import javax.imageio.ImageIO;
+import javax.imageio.ImageTypeSpecifier;
+import javax.imageio.ImageWriteParam;
+import javax.imageio.ImageWriter;
+import javax.imageio.metadata.IIOMetadata;
+import javax.imageio.metadata.IIOMetadataNode;
+import javax.imageio.stream.ImageOutputStream;
+
+import org.w3c.dom.Node;
+
+public class AnimatedTestResource extends TestResource2 {
+
+ private int FRAMES_COUNT = 10;
+
+ private int delayTime = 500;
+
+ private ImageWriter getImageWriter() {
+ ImageWriter result = null;
+
+ Iterator<ImageWriter> imageWriters = ImageIO.getImageWritersByFormatName("gif");
+ while (imageWriters.hasNext() && result == null) {
+ ImageWriter imageWriter = imageWriters.next();
+ if (imageWriter.canWriteSequence()) {
+ result = imageWriter;
+ }
+ }
+
+ return result;
+ }
+
+ private static Node getOrCreateChild(Node root, String name) {
+ Node result = null;
+
+ for (Node node = root.getFirstChild(); node != null && result == null; node = node.getNextSibling()) {
+ if (name.equals(node.getNodeName())) {
+ result = node;
+ }
+ }
+
+ if (result == null) {
+ result = new IIOMetadataNode(name);
+ root.appendChild(result);
+ }
+
+ return result;
+ }
+
+ @Override
+ public String getContentType() {
+ return "image/gif";
+ }
+
+ @Override
+ public InputStream getInputStream() {
+ GraphicsEnvironment environment = GraphicsEnvironment.getLocalGraphicsEnvironment();
+ BufferedImage image = new BufferedImage(dimension.width, dimension.height, ColorSpace.TYPE_RGB);
+ Graphics2D g2d = environment.createGraphics(image);
+
+ ImageWriter sequenceCapableImageWriter = getImageWriter();
+ if (sequenceCapableImageWriter == null) {
+ throw new IllegalStateException("No sequence-capable image writers exit");
+ }
+
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ ImageOutputStream imageOutputStream = null;;
+
+ try {
+ imageOutputStream = ImageIO.createImageOutputStream(baos);
+ sequenceCapableImageWriter.setOutput(imageOutputStream);
+ ImageWriteParam defaultImageWriteParam = sequenceCapableImageWriter.getDefaultWriteParam();
+ ImageTypeSpecifier imageTypeSpecifier = ImageTypeSpecifier.createFromBufferedImageType(image.getType());
+ IIOMetadata imageMetaData = sequenceCapableImageWriter.
+ getDefaultImageMetadata(imageTypeSpecifier, defaultImageWriteParam);
+
+ String metaFormatName = imageMetaData.getNativeMetadataFormatName();
+ Node root = imageMetaData.getAsTree(metaFormatName);
+ IIOMetadataNode graphicsControlExtensionNode = (IIOMetadataNode) getOrCreateChild(root, "GraphicControlExtension");
+
+ // http://java.sun.com/javase/6/docs/api/javax/imageio/metadata/doc-files/gi...
+ graphicsControlExtensionNode.setAttribute("disposalMethod", "none");
+ graphicsControlExtensionNode.setAttribute("userInputFlag", "FALSE");
+ graphicsControlExtensionNode.setAttribute("transparentColorFlag", "FALSE");
+ graphicsControlExtensionNode.setAttribute("delayTime",
+ Integer.toString(delayTime / 10));
+ graphicsControlExtensionNode.setAttribute("transparentColorIndex", "0");
+
+ boolean loopContinuously = false;
+ Node applicationExtensionsNode = getOrCreateChild(root, "ApplicationExtensions");
+ IIOMetadataNode netscapeExtension = new IIOMetadataNode("ApplicationExtension");
+
+ netscapeExtension.setAttribute("applicationID", "NETSCAPE");
+ netscapeExtension.setAttribute("authenticationCode", "2.0");
+
+ byte numLoops = (byte) (loopContinuously ? 0x0 : 0x1);
+ netscapeExtension.setUserObject(new byte[] {0x1, numLoops, 0x0});
+ applicationExtensionsNode.appendChild(netscapeExtension);
+
+ imageMetaData.setFromTree(metaFormatName, root);
+
+ sequenceCapableImageWriter.prepareWriteSequence(null);
+
+ for (int i = 1; i <= FRAMES_COUNT; i++) {
+ g2d.setPaint(new GradientPaint(0, i * dimension.height / FRAMES_COUNT, Color.WHITE, 0, dimension.height, color));
+ g2d.fillRect(0, 0, dimension.width, dimension.height);
+
+ sequenceCapableImageWriter.writeToSequence(new IIOImage(image, null, imageMetaData),
+ defaultImageWriteParam);
+ }
+
+ sequenceCapableImageWriter.endWriteSequence();
+
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } finally {
+ if (imageOutputStream != null) {
+ try {
+ imageOutputStream.close();
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ g2d.dispose();
+ sequenceCapableImageWriter.dispose();
+ }
+
+ return new ByteArrayInputStream(baos.toByteArray());
+ }
+
+}
Modified: root/framework/trunk/impl/src/main/java/org/richfaces/resource/TestResource2.java
===================================================================
--- root/framework/trunk/impl/src/main/java/org/richfaces/resource/TestResource2.java 2009-07-22 16:39:10 UTC (rev 14977)
+++ root/framework/trunk/impl/src/main/java/org/richfaces/resource/TestResource2.java 2009-07-22 23:38:22 UTC (rev 14978)
@@ -39,14 +39,15 @@
import javax.imageio.ImageIO;
import org.ajax4jsf.util.HtmlColor;
-import org.ajax4jsf.util.Zipper2;
+import org.ajax4jsf.util.NumericDataInputStream;
+import org.ajax4jsf.util.NumericDataOutputStream;
import org.richfaces.VersionBean;
import org.richfaces.skin.Skin;
import org.richfaces.skin.SkinFactory;
public class TestResource2 extends AbstractBaseResource implements StateHolder {
- private Color color;
+ protected Color color;
public TestResource2() {
FacesContext context = FacesContext.getCurrentInstance();
@@ -60,7 +61,7 @@
return "image/png";
}
- private Dimension dimension = new Dimension(20, 150);
+ protected Dimension dimension = new Dimension(20, 150);
@Override
public InputStream getInputStream() {
@@ -92,15 +93,11 @@
public void restoreState(FacesContext context, Object state) {
byte[] bytes = (byte[]) state;
- this.color = new Zipper2(bytes).nextColor();
+ this.color = new NumericDataInputStream(bytes).readColor();
}
public Object saveState(FacesContext context) {
- byte[] bytes = new byte[3];
- Zipper2 zipper2 = new Zipper2(bytes);
-
- zipper2.addColor(color);
- return bytes;
+ return new NumericDataOutputStream().writeColor(color).getBytes();
}
public void setTransient(boolean newTransientValue) {
Added: root/framework/trunk/impl/src/main/resources/META-INF/org.richfaces.resource.AnimatedTestResource.resource.properties
===================================================================
Copied: root/framework/trunk/impl/src/test/java/org/ajax4jsf/util/NumericStreamsTest.java (from rev 14972, root/framework/trunk/impl/src/test/java/org/ajax4jsf/util/Zipper2Test.java)
===================================================================
--- root/framework/trunk/impl/src/test/java/org/ajax4jsf/util/NumericStreamsTest.java (rev 0)
+++ root/framework/trunk/impl/src/test/java/org/ajax4jsf/util/NumericStreamsTest.java 2009-07-22 23:38:22 UTC (rev 14978)
@@ -0,0 +1,75 @@
+/**
+ * License Agreement.
+ *
+ * JBoss RichFaces - Ajax4jsf Component Library
+ *
+ * Copyright (C) 2007 Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.ajax4jsf.util;
+
+import java.awt.Color;
+
+import junit.framework.TestCase;
+
+/**
+ * @author Nick Belaevski
+ * @since 4.0
+ */
+
+public class NumericStreamsTest extends TestCase {
+
+ public void testByte() throws Exception {
+ byte[] bytes = new NumericDataOutputStream().writeByte((byte) 0xDF).writeByte((byte) 0x90).
+ writeByte((byte) 0xAA).getBytes();
+
+ NumericDataInputStream inputStream = new NumericDataInputStream(bytes);
+ assertEquals((byte) 0xDF, inputStream.readByte());
+ assertEquals((byte) 0x90, inputStream.readByte());
+ assertEquals((byte) 0xAA, inputStream.readByte());
+ }
+
+ public void testShort() throws Exception {
+ byte[] bytes = new NumericDataOutputStream().writeShort((short) 0xA7DF).writeShort((short) 0xFE90).
+ writeShort((short) 0x34AA).getBytes();
+
+ NumericDataInputStream inputStream = new NumericDataInputStream(bytes);
+ assertEquals((short) 0xA7DF, inputStream.readShort());
+ assertEquals((short) 0xFE90, inputStream.readShort());
+ assertEquals((short) 0x34AA, inputStream.readShort());
+ }
+
+ public void testColor() throws Exception {
+ byte[] bytes = new NumericDataOutputStream().writeColor(new Color(0xA7DFE0)).
+ writeIntColor(0xE2349A).writeColor(new Color(0x4812F9)).getBytes();
+
+ NumericDataInputStream inputStream = new NumericDataInputStream(bytes);
+ assertEquals(0xA7DFE0, inputStream.readIntColor());
+ assertEquals(new Color(0xE2349A), inputStream.readColor());
+ assertEquals(0x4812F9, inputStream.readIntColor());
+ }
+
+ public void testInt() throws Exception {
+ byte[] bytes = new NumericDataOutputStream().writeInt(0x12A7DFE0).writeInt(0x67E2349A).
+ writeInt(0xBD4812F9).getBytes();
+
+ NumericDataInputStream inputStream = new NumericDataInputStream(bytes);
+ assertEquals(0x12A7DFE0, inputStream.readInt());
+ assertEquals(0x67E2349A, inputStream.readInt());
+ assertEquals(0xBD4812F9, inputStream.readInt());
+ }
+
+}
Deleted: root/framework/trunk/impl/src/test/java/org/ajax4jsf/util/Zipper2Test.java
===================================================================
--- root/framework/trunk/impl/src/test/java/org/ajax4jsf/util/Zipper2Test.java 2009-07-22 16:39:10 UTC (rev 14977)
+++ root/framework/trunk/impl/src/test/java/org/ajax4jsf/util/Zipper2Test.java 2009-07-22 23:38:22 UTC (rev 14978)
@@ -1,98 +0,0 @@
-/**
- * License Agreement.
- *
- * JBoss RichFaces - Ajax4jsf Component Library
- *
- * Copyright (C) 2007 Exadel, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-package org.ajax4jsf.util;
-
-import java.awt.Color;
-import java.util.Arrays;
-
-import junit.framework.TestCase;
-
-/**
- *
- * <br /><br />
- *
- * Created 21.08.2007
- * @author Nick Belaevski
- * @since 3.1
- */
-
-public class Zipper2Test extends TestCase {
-
- /* (non-Javadoc)
- * @see junit.framework.TestCase#setUp()
- */
- protected void setUp() throws Exception {
- super.setUp();
- }
-
- /* (non-Javadoc)
- * @see junit.framework.TestCase#tearDown()
- */
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
- public void testByte() throws Exception {
- byte[] b = new byte[3];
- new Zipper2(b).addByte((byte) 0xDF).addByte((byte) 0x90).addByte((byte) 0xAA);
- Zipper2 zipper2 = new Zipper2(b);
- assertEquals((byte) 0xDF, zipper2.nextByte());
- assertEquals((byte) 0x90, zipper2.nextByte());
- assertEquals((byte) 0xAA, zipper2.nextByte());
- }
-
- public void testShort() throws Exception {
- byte[] b = new byte[6];
- new Zipper2(b).addShort((short) 0xA7DF).addShort((short) 0xFE90).addShort((short) 0x34AA);
- Zipper2 zipper2 = new Zipper2(b);
- assertEquals((short) 0xA7DF, zipper2.nextShort());
- assertEquals((short) 0xFE90, zipper2.nextShort());
- assertEquals((short) 0x34AA, zipper2.nextShort());
- }
-
- public void testColor() throws Exception {
- byte[] b = new byte[9];
- new Zipper2(b).addColor(new Color(0xA7DFE0)).addColor(0xE2349A).addColor(new Color(0x4812F9));
- Zipper2 zipper2 = new Zipper2(b);
- assertEquals(0xA7DFE0, zipper2.nextIntColor());
- assertEquals(new Color(0xE2349A), zipper2.nextColor());
- assertEquals(0x4812F9, zipper2.nextIntColor());
- }
-
- public void testInt() throws Exception {
- byte[] b = new byte[12];
- new Zipper2(b).addInt(0x12A7DFE0).addInt(0x67E2349A).addInt(0xBD4812F9);
- Zipper2 zipper2 = new Zipper2(b);
- assertEquals(0x12A7DFE0, zipper2.nextInt());
- assertEquals(0x67E2349A, zipper2.nextInt());
- assertEquals(0xBD4812F9, zipper2.nextInt());
- }
-
- public void testBytes() throws Exception {
- byte[] b = new byte[6];
- byte[] bs = new byte[] {(byte) 0x98, (byte) 0x63};
- new Zipper2(b).addInt(0x08FECDB6).addBytes(bs);
- Zipper2 zipper2 = new Zipper2(b);
- assertEquals(0x08FECDB6, zipper2.nextInt());
- assertTrue(Arrays.equals(bs, zipper2.nextBytes()));
- }
-}
15 years, 5 months
JBoss Rich Faces SVN: r14977 - branches/community/3.3.X/docs/userguide/en/src/main/resources/images.
by richfaces-svn-commits@lists.jboss.org
Author: atsebro
Date: 2009-07-22 12:39:10 -0400 (Wed, 22 Jul 2009)
New Revision: 14977
Modified:
branches/community/3.3.X/docs/userguide/en/src/main/resources/images/beanValidator1.png
Log:
RF-7531:rich:beanValidator component description review
Modified: branches/community/3.3.X/docs/userguide/en/src/main/resources/images/beanValidator1.png
===================================================================
--- branches/community/3.3.X/docs/userguide/en/src/main/resources/images/beanValidator1.png 2009-07-22 14:20:43 UTC (rev 14976)
+++ branches/community/3.3.X/docs/userguide/en/src/main/resources/images/beanValidator1.png 2009-07-22 16:39:10 UTC (rev 14977)
@@ -1,7 +1,7 @@
�PNG
+IHDR
OiCCPPhotoshop ICC profile
��!���������{�kּ������>�����H3Q5��B������.@�
$p
@@ -22,21 +22,33 @@
6
U����#pDy��� ��
:�v�{���vg/jB��F�S��[b[�O�>����z�G��4<YyJ�T�i��ӓg�ό���}~.��`ۢ�{�c��jo�t��E���;�;�\�t���W�W��:_m�t�<���Oǻ�����\k��z��{f���7���y���՞9=ݽ�zo������~r'��˻�w'O�_�@�A�C݇�?[�����j�w����G��������C���ˆ
-��8>99�?r����C�d�&����ˮ/~�����јѡ�m|������������x31^�V���w�w��O�| (�h���SЧ��������c3-�
-�%���%�������R
-s,���<$�kX+[H.�Nil��wb�U�ϰ���w%>
-��6��9�h��I����9[q| ��U�XM+db��&+'?�}ٻr���k��JW��^��Xg`��汆+��
-8/�ه�A��C�c�T}�81�L}#�N�,�i-���mW�w֏�Y��j���yi f��Y��0yO���!D�[ʆ��`|x�
-���>������p��3N�C̈1�}�~��Q��l�Ӑ�إ
-Q����ʾq��n�z�h[�(Xi���-���b8�t;{m;_��î��i����)}���`Ƿ-�fX +�4��*PZ6仿�X�|���Č[���Ve��kO��x��Q����{�9=76��x�D6�Re�t;��Y�`��,ߩşl���ƾ�\��N'o6�1B�����> Ƙi/ꊻȲk���;�}=>F˲o���+|(&�l�2I�}�P�`�D�s��L"�:~���A�n.��Ӂ�������f~����)'a�xc.�j��+�/�Ե ����<�|5+��p�V,
-U
\ No newline at end of file
+��8>99�?r����C�d�&����ˮ/~�����јѡ�m|������������x31^�V���w�w��O�| (�h���SЧ��������c3-�
+�r���SX_WN������VV_�_{i���V^��o誹I�f+dk��7n���Æ�煺��
+jN���rC?uM����X]��s�W����|e��K�a�
+ ����N�$Y?��4]��u*�b�
+c����0�K�SQ٤y�+G^���p�Ms֩�"a�)��%��@39��߉����$Q81�*�m��W�Ř��Ml]?�r�D��@�p����@s�cP~ ��f��jN�����>c�Y
+4u�&��TK������)�Y�����
+4����x�g�����L�3+S0�k.�
+�ќ���>��Y�I(O������~
+�&�nw���OB�M�Nc�7�1È)G8k 4u�%��)�+[�,�ܔh&\�[�5tz)~+��T~(rG��l�I�4Q�7�u�m����q���
+4i�$ɋ/<6?=^�/�W2�@��g�ۘ��>���&h�4M�d��Di��������Y:���8�Me�N�LE�m���04���W�y���+�3�Z����ivm&/���j�Ka}a���x�[Ni��S%�rFY.���pv�l[�rs�>[/���ղ�d/�5�]��+G[ټ���l^���}{����Q5Oi�4���_S��E�
+Ni1���թ6��Qk~jxŇ�_�i�-n�瘺r2�՚�㣣�t_��n-U�}m��ڤ��B�Vk�D]�=݈���0�N��1���ө�u*"�]x;e�y�����PYV�����d���J�r�q���O�1�G��� l~)~��Gյ�밻���w�
+M�/H�u%�}�:�4
+� 970ި�h&������g
+
+�ov�{�ǃ��5�Whnկ9
+��{/o�y9{u����ae�
+Y~j
\ No newline at end of file
15 years, 5 months
JBoss Rich Faces SVN: r14976 - branches/community/3.3.X/samples/panelmenu-sample/src/main/webapp/pages.
by richfaces-svn-commits@lists.jboss.org
Author: Alex.Kolonitsky
Date: 2009-07-22 10:20:43 -0400 (Wed, 22 Jul 2009)
New Revision: 14976
Added:
branches/community/3.3.X/samples/panelmenu-sample/src/main/webapp/pages/RF-7541.jsp
Log:
panelMenu: icons redefinition not works.
https://jira.jboss.org/jira/browse/RF-7541
Added: branches/community/3.3.X/samples/panelmenu-sample/src/main/webapp/pages/RF-7541.jsp
===================================================================
--- branches/community/3.3.X/samples/panelmenu-sample/src/main/webapp/pages/RF-7541.jsp (rev 0)
+++ branches/community/3.3.X/samples/panelmenu-sample/src/main/webapp/pages/RF-7541.jsp 2009-07-22 14:20:43 UTC (rev 14976)
@@ -0,0 +1,39 @@
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
+<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
+<%@ taglib uri="http://labs.jboss.com/jbossrichfaces/ui/panelmenu" prefix="pm"%>
+
+<html>
+<body>
+<f:view>
+ <h:form id="f">
+ <pm:panelMenu
+ iconCollapsedTopGroup="chevronUp"
+ iconExpandedTopGroup="#{facesContext.externalContext.requestContextPath}/images/capitals/alaska.gif"
+ iconExpandedGroup="#{facesContext.externalContext.requestContextPath}/images/capitals/alaska.gif"
+ iconTopItem="#{facesContext.externalContext.requestContextPath}/images/capitals/arzona.gif"
+ iconItem="#{facesContext.externalContext.requestContextPath}/images/capitals/colorado.gif">
+
+ <pm:panelMenuItem label="CheckBox">
+ <h:selectBooleanCheckbox value="false"></h:selectBooleanCheckbox>
+ </pm:panelMenuItem>
+ <pm:panelMenuItem>
+ <h:outputText value="CheckBox 2"></h:outputText>
+ <h:selectBooleanCheckbox value="false"></h:selectBooleanCheckbox>
+ </pm:panelMenuItem>
+ <pm:panelMenuItem label="Action" />
+ <pm:panelMenuGroup
+ label="Group 1(expanded=true)"
+ expanded="true"
+ id="pmg"
+ iconExpanded="">
+
+ <pm:panelMenuItem label="Item 1" disabled="true" />
+ <pm:panelMenuItem label="Item 1 (action)" onmousedown="alert('OnMouseDown');" />
+ <pm:panelMenuItem label="Item 2" />
+ </pm:panelMenuGroup>
+ </pm:panelMenu>
+ </h:form>
+</f:view>
+</body>
+</html>
\ No newline at end of file
15 years, 5 months
JBoss Rich Faces SVN: r14975 - in branches/community/3.3.X/ui/panelmenu/src/main: java/org/richfaces/renderkit and 1 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: Alex.Kolonitsky
Date: 2009-07-22 10:19:18 -0400 (Wed, 22 Jul 2009)
New Revision: 14975
Modified:
branches/community/3.3.X/ui/panelmenu/src/main/config/component/panelMenu.xml
branches/community/3.3.X/ui/panelmenu/src/main/java/org/richfaces/renderkit/PanelMenuRendererBase.java
branches/community/3.3.X/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/PanelMenuGroupRenderer.java
branches/community/3.3.X/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/PanelMenuItemRenderer.java
Log:
panelMenu: icons redefinition not works.
https://jira.jboss.org/jira/browse/RF-7541
Modified: branches/community/3.3.X/ui/panelmenu/src/main/config/component/panelMenu.xml
===================================================================
--- branches/community/3.3.X/ui/panelmenu/src/main/config/component/panelMenu.xml 2009-07-22 09:59:28 UTC (rev 14974)
+++ branches/community/3.3.X/ui/panelmenu/src/main/config/component/panelMenu.xml 2009-07-22 14:19:18 UTC (rev 14975)
@@ -414,7 +414,7 @@
<description>Path to the icon to be displayed for the expanded item state.
You can also use predefined icons, setting the attribute to one of these possible values: "triangle", "triangleUp", "triangleDown", "disc", "chevron", "chevronUp", "chevronDown", "grid".
Default value is "grid".</description>
- <defaultvalue><![CDATA["grid"]]></defaultvalue>
+ <defaultvalue><![CDATA[""]]></defaultvalue>
</property>
<property>
<name>iconCollapsed</name>
@@ -422,8 +422,14 @@
<description>Path to the icon to be displayed for the collapsed item state.
You can also use predefined icons, setting the attribute to one of these possible values: "triangle", "triangleUp", "triangleDown", "disc", "chevron", "chevronUp", "chevronDown", "grid".
Default value is "grid".</description>
- <defaultvalue><![CDATA["grid"]]></defaultvalue>
+ <defaultvalue><![CDATA[""]]></defaultvalue>
</property>
+ <property>
+ <name>iconDisabled</name>
+ <classname>java.lang.String</classname>
+ <description>Path to the icon to be displayed for the disabled item state.</description>
+ <defaultvalue><![CDATA[""]]></defaultvalue>
+ </property>
<property hidden="true">
<name>accesskey</name>
<classname>java.lang.String</classname>
@@ -453,12 +459,6 @@
<description>Serves to define the tabbing order</description>
</property>
<property>
- <name>iconDisabled</name>
- <classname>java.lang.String</classname>
- <description>Path to the icon to be displayed for the disabled item state.</description>
- <defaultvalue><![CDATA["grid"]]></defaultvalue>
- </property>
- <property>
<name>disabled</name>
<classname>boolean</classname>
<description> If true sets state of the item to disabled state. Default value is "false". </description>
@@ -637,9 +637,8 @@
item state.
You can also use predefined icons, setting the attribute to one of these possible values: "triangle", "triangleUp", "triangleDown", "disc", "chevron", "chevronUp", "chevronDown", "grid".
Default value is "grid".
-
</description>
- <defaultvalue><![CDATA["grid"]]></defaultvalue>
+ <defaultvalue><![CDATA[""]]></defaultvalue>
</property>
<property>
<name>iconDisabled</name>
@@ -648,7 +647,7 @@
You can also use predefined icons, setting the attribute to one of these possible values: "triangle", "triangleUp", "triangleDown", "disc", "chevron", "chevronUp", "chevronDown", "grid".
Default value is "grid".
</description>
- <defaultvalue><![CDATA["grid"]]></defaultvalue>
+ <defaultvalue><![CDATA[""]]></defaultvalue>
</property>
<property>
<name>disabled</name>
Modified: branches/community/3.3.X/ui/panelmenu/src/main/java/org/richfaces/renderkit/PanelMenuRendererBase.java
===================================================================
--- branches/community/3.3.X/ui/panelmenu/src/main/java/org/richfaces/renderkit/PanelMenuRendererBase.java 2009-07-22 09:59:28 UTC (rev 14974)
+++ branches/community/3.3.X/ui/panelmenu/src/main/java/org/richfaces/renderkit/PanelMenuRendererBase.java 2009-07-22 14:19:18 UTC (rev 14975)
@@ -176,9 +176,9 @@
protected boolean isChildrenExpanded(UIComponent component){
if (component.getChildren() != null){
- Iterator itr = component.getChildren().iterator();
+ Iterator<UIComponent> itr = component.getChildren().iterator();
while(itr.hasNext()){
- UIComponent child = (UIComponent)itr.next();
+ UIComponent child = itr.next();
if(child instanceof UIPanelMenuGroup){
if( ((UIPanelMenuGroup)child).isExpanded() ){
return true;
@@ -208,7 +208,7 @@
protected boolean isSubmitted(FacesContext context, UIComponent component){
boolean submitted = false;
String clientId = component.getClientId(context);
- Map requestParameterMap = context.getExternalContext().getRequestParameterMap();
+ Map<String, String> requestParameterMap = context.getExternalContext().getRequestParameterMap();
Object value = requestParameterMap.get("panelMenuAction"+clientId);
if (clientId!=null&&value!=null){
Modified: branches/community/3.3.X/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/PanelMenuGroupRenderer.java
===================================================================
--- branches/community/3.3.X/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/PanelMenuGroupRenderer.java 2009-07-22 09:59:28 UTC (rev 14974)
+++ branches/community/3.3.X/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/PanelMenuGroupRenderer.java 2009-07-22 14:19:18 UTC (rev 14975)
@@ -37,13 +37,13 @@
public class PanelMenuGroupRenderer extends PanelMenuRendererBase {
- protected Class getComponentClass() {
+ protected Class<UIPanelMenuGroup> getComponentClass() {
return UIPanelMenuGroup.class;
}
protected void doDecode(FacesContext context, UIComponent component) {
String clientId = component.getClientId(context);
- Map requestMap =context.getExternalContext().getRequestParameterMap();
+ Map<String, String> requestMap = context.getExternalContext().getRequestParameterMap();
UIPanelMenuGroup group = ((UIPanelMenuGroup)component);
if(requestMap.containsKey("panelMenuState"+clientId)){
@@ -137,7 +137,7 @@
String iconCollapsed = "";
iconExpanded = panelMenuGroup.isDisabled() ? panelMenuGroup.getIconDisabled() : panelMenuGroup.getIconExpanded();
- iconCollapsed = panelMenuGroup.isDisabled() ? panelMenuGroup.getIconDisabled() : panelMenuGroup.getIconCollapsed();
+ iconCollapsed = panelMenuGroup.isDisabled() ? panelMenuGroup.getIconDisabled(): panelMenuGroup.getIconCollapsed();
String icon = null;
if(isOpened){
Modified: branches/community/3.3.X/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/PanelMenuItemRenderer.java
===================================================================
--- branches/community/3.3.X/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/PanelMenuItemRenderer.java 2009-07-22 09:59:28 UTC (rev 14974)
+++ branches/community/3.3.X/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/PanelMenuItemRenderer.java 2009-07-22 14:19:18 UTC (rev 14975)
@@ -34,7 +34,7 @@
import org.richfaces.renderkit.PanelMenuRendererBase;
public class PanelMenuItemRenderer extends PanelMenuRendererBase {
- protected Class getComponentClass() {
+ protected Class<UIPanelMenuItem> getComponentClass() {
return UIPanelMenuItem.class;
}
@@ -43,7 +43,6 @@
}
protected void doDecode(FacesContext context, UIComponent component) {
if(isSubmitted(context, component)) {
- UIPanelMenuItem item = (UIPanelMenuItem)component;
new ActionEvent(component).queue();
if ("ajax".equals(getItemMode(component))) {
new AjaxEvent(component).queue();
@@ -88,9 +87,9 @@
throws IOException{
UIPanelMenu panelMenu = findMenu(component);
- ResponseWriter writer = context.getResponseWriter();
- boolean isTopLevel = false;
- String iconType = null;
+ ResponseWriter writer = context.getResponseWriter();
+ boolean isTopLevel = isTopLevel(component);
+ String iconType = null;
UIPanelMenuItem item = (UIPanelMenuItem)component;
String defaultItemIcon = null;
@@ -124,7 +123,10 @@
if(customItemIcon == null || customItemIcon.equals("")){
iconType = defaultItemIcon;
- } else iconType = customItemIcon;
+ isTopLevel = false; // for RF-7390
+ } else {
+ iconType = customItemIcon;
+ }
boolean drawHidden = false;
String source = getIconByType(iconType, isTopLevel, context, component);
15 years, 5 months
JBoss Rich Faces SVN: r14974 - branches/community/3.3.X/ui/pickList/src/main/java/org/richfaces/renderkit.
by richfaces-svn-commits@lists.jboss.org
Author: Alex.Kolonitsky
Date: 2009-07-22 05:59:28 -0400 (Wed, 22 Jul 2009)
New Revision: 14974
Modified:
branches/community/3.3.X/ui/pickList/src/main/java/org/richfaces/renderkit/PickListRenderer.java
Log:
java.lang.UnsupportedOperationException in the PickList component.
https://jira.jboss.org/jira/browse/RF-7546
Modified: branches/community/3.3.X/ui/pickList/src/main/java/org/richfaces/renderkit/PickListRenderer.java
===================================================================
--- branches/community/3.3.X/ui/pickList/src/main/java/org/richfaces/renderkit/PickListRenderer.java 2009-07-22 08:53:31 UTC (rev 14973)
+++ branches/community/3.3.X/ui/pickList/src/main/java/org/richfaces/renderkit/PickListRenderer.java 2009-07-22 09:59:28 UTC (rev 14974)
@@ -23,7 +23,6 @@
import java.io.IOException;
import java.lang.reflect.Array;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
@@ -426,7 +425,11 @@
attr);
if (value != null && (value.length() != 0)) {
- return Arrays.asList(value.split(","));
+ List<String> result = new ArrayList<String>();
+ for(String val : value.split(",")) {
+ result.add(val);
+ }
+ return result;
}
return null;
15 years, 5 months
JBoss Rich Faces SVN: r14973 - branches/community/3.3.X/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box.
by richfaces-svn-commits@lists.jboss.org
Author: Alex.Kolonitsky
Date: 2009-07-22 04:53:31 -0400 (Wed, 22 Jul 2009)
New Revision: 14973
Modified:
branches/community/3.3.X/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/Box.js
Log:
extendedDataTable: bottom of the table is too wide under IE8
https://jira.jboss.org/jira/browse/RF-7173
Modified: branches/community/3.3.X/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/Box.js
===================================================================
--- branches/community/3.3.X/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/Box.js 2009-07-21 15:30:27 UTC (rev 14972)
+++ branches/community/3.3.X/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/Box.js 2009-07-22 08:53:31 UTC (rev 14973)
@@ -72,7 +72,7 @@
getHeight: function() {
var el = this.getElement();
if(el.tagName.toLowerCase() != "body") {
- var h = el.offsetHeight;
+ var h = el.getHeight(); // offsetHeight;
return h>0 ? h : (this.element.boxHeight ? parseInt(this.element.boxHeight) : 0);
}
15 years, 5 months
JBoss Rich Faces SVN: r14972 - branches/community/3.3.X/samples/richfaces-demo/src/main/webapp/richfaces/listShuttle/examples.
by richfaces-svn-commits@lists.jboss.org
Author: ilya_shaikovsky
Date: 2009-07-21 11:30:27 -0400 (Tue, 21 Jul 2009)
New Revision: 14972
Modified:
branches/community/3.3.X/samples/richfaces-demo/src/main/webapp/richfaces/listShuttle/examples/toolBarCustomization.xhtml
Log:
https://jira.jboss.org/jira/browse/RF-7513
can't change prev comment so re-commit with proper one.
Modified: branches/community/3.3.X/samples/richfaces-demo/src/main/webapp/richfaces/listShuttle/examples/toolBarCustomization.xhtml
===================================================================
--- branches/community/3.3.X/samples/richfaces-demo/src/main/webapp/richfaces/listShuttle/examples/toolBarCustomization.xhtml 2009-07-21 15:25:39 UTC (rev 14971)
+++ branches/community/3.3.X/samples/richfaces-demo/src/main/webapp/richfaces/listShuttle/examples/toolBarCustomization.xhtml 2009-07-21 15:30:27 UTC (rev 14972)
@@ -29,7 +29,7 @@
targetValue="#{toolBar.items}" var="items" listsHeight="150"
sourceListWidth="130" targetListWidth="130" sourceCaptionLabel="Available Items"
targetCaptionLabel="Currently Active Items"
- converter="listShuttleconverter">
+ converter="listShuttleconverter">
<rich:column width="18">
<h:graphicImage value="#{items.iconURI}"></h:graphicImage>
</rich:column>
15 years, 5 months
JBoss Rich Faces SVN: r14971 - branches/community/3.3.X/samples/richfaces-demo/src/main/webapp/richfaces/listShuttle/examples.
by richfaces-svn-commits@lists.jboss.org
Author: ilya_shaikovsky
Date: 2009-07-21 11:25:39 -0400 (Tue, 21 Jul 2009)
New Revision: 14971
Modified:
branches/community/3.3.X/samples/richfaces-demo/src/main/webapp/richfaces/listShuttle/examples/toolBarCustomization.xhtml
Log:
https://jira.jboss.org/jira/browse/RF-7311
Modified: branches/community/3.3.X/samples/richfaces-demo/src/main/webapp/richfaces/listShuttle/examples/toolBarCustomization.xhtml
===================================================================
--- branches/community/3.3.X/samples/richfaces-demo/src/main/webapp/richfaces/listShuttle/examples/toolBarCustomization.xhtml 2009-07-20 23:19:40 UTC (rev 14970)
+++ branches/community/3.3.X/samples/richfaces-demo/src/main/webapp/richfaces/listShuttle/examples/toolBarCustomization.xhtml 2009-07-21 15:25:39 UTC (rev 14971)
@@ -26,11 +26,11 @@
<rich:spacer height="20" />
<rich:listShuttle sourceValue="#{toolBar.freeItems}"
- targetValue="#{toolBar.items}" var="items" listHeight="300"
- listWidth="300" sourceCaptionLabel="Available Items"
+ targetValue="#{toolBar.items}" var="items" listsHeight="150"
+ sourceListWidth="130" targetListWidth="130" sourceCaptionLabel="Available Items"
targetCaptionLabel="Currently Active Items"
converter="listShuttleconverter">
- <rich:column width="18">
+ <rich:column width="18">
<h:graphicImage value="#{items.iconURI}"></h:graphicImage>
</rich:column>
<rich:column>
15 years, 5 months
JBoss Rich Faces SVN: r14970 - in root/framework/trunk/legacy-tests/src/test/java/org: richfaces/model/impl/expressive and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2009-07-20 19:19:40 -0400 (Mon, 20 Jul 2009)
New Revision: 14970
Removed:
root/framework/trunk/legacy-tests/src/test/java/org/ajax4jsf/context/InitParametersTest.java
root/framework/trunk/legacy-tests/src/test/java/org/richfaces/model/impl/expressive/JavaBeanWrapperTest.java
root/framework/trunk/legacy-tests/src/test/java/org/richfaces/model/impl/expressive/MethodBindingExpressionTest.java
root/framework/trunk/legacy-tests/src/test/java/org/richfaces/model/impl/expressive/NullExpressionTest.java
root/framework/trunk/legacy-tests/src/test/java/org/richfaces/model/impl/expressive/TestObj.java
root/framework/trunk/legacy-tests/src/test/java/org/richfaces/model/impl/expressive/WrappedBeanComparatorTest.java
Log:
Delete already moved legacy tests
Deleted: root/framework/trunk/legacy-tests/src/test/java/org/ajax4jsf/context/InitParametersTest.java
===================================================================
--- root/framework/trunk/legacy-tests/src/test/java/org/ajax4jsf/context/InitParametersTest.java 2009-07-20 23:18:35 UTC (rev 14969)
+++ root/framework/trunk/legacy-tests/src/test/java/org/ajax4jsf/context/InitParametersTest.java 2009-07-20 23:19:40 UTC (rev 14970)
@@ -1,132 +0,0 @@
-/**
- *
- */
-package org.ajax4jsf.context;
-
-import java.util.Map;
-
-import javax.faces.FacesException;
-
-import org.ajax4jsf.application.AjaxStateManager;
-import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
-
-/**
- * @author asmirnov
- *
- */
-public class InitParametersTest extends AbstractAjax4JsfTestCase {
-
- private static final String STRING_PARAM = "init";
- private static final int INT_PARAM = 367;
- private static final String NO = "no";
- private static final String TRUE = "true";
- private static final String ORG_AJAX4JSF_STRING = "org.ajax4jsf.STRING";
- private static final String ORG_AJAX4JSF_INT = "org.ajax4jsf.INT";
- private static final String ORG_AJAX4JSF_FALSE = "org.ajax4jsf.FALSE";
- private static final String ORG_AJAX4JSF_TRUE = "org.ajax4jsf.TRUE";
-
- /**
- * @param name
- */
- public InitParametersTest(String name) {
- super(name);
- }
-
- /* (non-Javadoc)
- * @see org.ajax4jsf.tests.AbstractAjax4JsfTestCase#setUp()
- */
- public void setUp() throws Exception {
- super.setUp();
- servletContext.addInitParameter(ORG_AJAX4JSF_TRUE, TRUE);
- servletContext.addInitParameter(ORG_AJAX4JSF_FALSE, NO);
- servletContext.addInitParameter(ORG_AJAX4JSF_INT, String.valueOf(INT_PARAM));
- servletContext.addInitParameter(ORG_AJAX4JSF_STRING, STRING_PARAM);
- }
-
- /* (non-Javadoc)
- * @see org.ajax4jsf.tests.AbstractAjax4JsfTestCase#tearDown()
- */
- public void tearDown() throws Exception {
- super.tearDown();
- }
-
- /**
- * Test method for {@link org.ajax4jsf.context.ContextInitParameters#getNumbersOfViewsInSession(javax.faces.context.FacesContext)}.
- */
- public void testGetNumbersOfViewsInSession() {
- assertEquals(AjaxStateManager.DEFAULT_NUMBER_OF_VIEWS, ContextInitParameters.getNumbersOfViewsInSession(facesContext));
- }
-
- /**
- * Test method for {@link org.ajax4jsf.context.ContextInitParameters#getNumbersOfLogicalViews(javax.faces.context.FacesContext)}.
- */
- public void testGetNumbersOfLogicalViews() {
- assertEquals(AjaxStateManager.DEFAULT_NUMBER_OF_VIEWS, ContextInitParameters.getNumbersOfLogicalViews(facesContext));
- }
-
- /**
- * Test method for {@link org.ajax4jsf.context.ContextInitParameters#getInteger(javax.faces.context.FacesContext, java.lang.String[], int)}.
- */
- public void testGetInteger() {
- String[] params = {"foo.bar",ORG_AJAX4JSF_INT};
- int value = ContextInitParameters.getInteger(facesContext, params, 12);
- assertEquals(INT_PARAM, value);
- String[] params2 = {"foo.bar"};
- value = ContextInitParameters.getInteger(facesContext, params2, 12);
- assertEquals(12, value);
- String[] params3 = {"foo.bar",ORG_AJAX4JSF_STRING};
- try {
- value = ContextInitParameters.getInteger(facesContext, params3, 12);
- } catch (FacesException e) {
- return;
- }
- assertFalse("No exception on invalid parameter",true);
- }
-
- /**
- * Test method for {@link org.ajax4jsf.context.ContextInitParameters#getString(javax.faces.context.FacesContext, java.lang.String[], java.lang.String)}.
- */
- public void testGetString() {
- String[] params = {"foo.bar",ORG_AJAX4JSF_STRING};
- String value = ContextInitParameters.getString(facesContext, params, "foo");
- assertEquals(STRING_PARAM, value);
- String[] params2 = {"foo.bar"};
- value = ContextInitParameters.getString(facesContext, params2, "foo");
- assertEquals("foo", value);
- }
-
- /**
- * Test method for {@link org.ajax4jsf.context.ContextInitParameters#getBoolean(javax.faces.context.FacesContext, java.lang.String[], boolean)}.
- */
- public void testGetBoolean() {
- String[] params = {"foo.bar",ORG_AJAX4JSF_TRUE};
- boolean value = ContextInitParameters.getBoolean(facesContext, params, false);
- assertTrue(value);
- String[] params2 = {"foo.bar"};
- value = ContextInitParameters.getBoolean(facesContext, params2, true);
- assertTrue(value);
- String[] params3 = {"foo.bar",ORG_AJAX4JSF_FALSE};
- value = ContextInitParameters.getBoolean(facesContext, params3, true);
- assertFalse(value);
- String[] params4 = {"foo.bar",ORG_AJAX4JSF_STRING};
- try {
- value = ContextInitParameters.getBoolean(facesContext, params4, false);
- } catch (FacesException e) {
- return;
- }
- assertFalse("No exception on invalid parameter",true);
- }
-
- /**
- * Test method for {@link org.ajax4jsf.context.ContextInitParameters#getInitParameter(javax.faces.context.FacesContext, java.lang.String[])}.
- */
- public void testGetInitParameter() {
- String[] params = {"foo.bar",ORG_AJAX4JSF_STRING};
- String value = ContextInitParameters.getInitParameter(facesContext, params);
- assertEquals(STRING_PARAM, value);
- String[] params2 = {"foo.bar"};
- value = ContextInitParameters.getInitParameter(facesContext, params2);
- assertNull(value);
- }
-
-}
Deleted: root/framework/trunk/legacy-tests/src/test/java/org/richfaces/model/impl/expressive/JavaBeanWrapperTest.java
===================================================================
--- root/framework/trunk/legacy-tests/src/test/java/org/richfaces/model/impl/expressive/JavaBeanWrapperTest.java 2009-07-20 23:18:35 UTC (rev 14969)
+++ root/framework/trunk/legacy-tests/src/test/java/org/richfaces/model/impl/expressive/JavaBeanWrapperTest.java 2009-07-20 23:19:40 UTC (rev 14970)
@@ -1,78 +0,0 @@
-/**
- * License Agreement.
- *
- * JBoss RichFaces 3.0 - Ajax4jsf Component Library
- *
- * Copyright (C) 2007 Exadel, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-package org.richfaces.model.impl.expressive;
-
-import java.util.Collections;
-import java.util.Map;
-
-import org.richfaces.model.impl.expressive.JavaBeanWrapper;
-
-import junit.framework.TestCase;
-
-/**
- * @author Maksim Kaszynski
- *
- */
-public class JavaBeanWrapperTest extends TestCase {
-
-
- private JavaBeanWrapper wrapper;
- final Boolean test = Boolean.TRUE;
- final Map props = Collections.singletonMap("true", test);
- /**
- * @param name
- */
- public JavaBeanWrapperTest(String name) {
- super(name);
- }
-
- /* (non-Javadoc)
- * @see junit.framework.TestCase#setUp()
- */
- protected void setUp() throws Exception {
- super.setUp();
- wrapper = new JavaBeanWrapper(test, props);
- }
-
- /* (non-Javadoc)
- * @see junit.framework.TestCase#tearDown()
- */
- protected void tearDown() throws Exception {
- super.tearDown();
- wrapper = null;
- }
-
- /**
- * Test method for {@link org.richfaces.model.impl.expressive.JavaBeanWrapper#getProperty(java.lang.String)}.
- */
- public void testGetProperty() {
- assertEquals(test, wrapper.getProperty("true"));
- }
-
- /**
- * Test method for {@link org.richfaces.model.impl.expressive.JavaBeanWrapper#getWrappedObject()}.
- */
- public void testGetWrappedObject() {
- assertEquals(test, wrapper.getWrappedObject());
- }
-
-}
Deleted: root/framework/trunk/legacy-tests/src/test/java/org/richfaces/model/impl/expressive/MethodBindingExpressionTest.java
===================================================================
--- root/framework/trunk/legacy-tests/src/test/java/org/richfaces/model/impl/expressive/MethodBindingExpressionTest.java 2009-07-20 23:18:35 UTC (rev 14969)
+++ root/framework/trunk/legacy-tests/src/test/java/org/richfaces/model/impl/expressive/MethodBindingExpressionTest.java 2009-07-20 23:19:40 UTC (rev 14970)
@@ -1,35 +0,0 @@
-/**
- *
- */
-package org.richfaces.model.impl.expressive;
-
-import org.apache.shale.test.base.AbstractJsfTestCase;
-import org.apache.shale.test.el.MockMethodExpression;
-
-/**
- * @author Konstantin Mishin
- *
- */
-public class MethodBindingExpressionTest extends AbstractJsfTestCase {
-
- /**
- * @param name
- */
- public MethodBindingExpressionTest(String name) {
- super(name);
- }
-
- /**
- * Test method for {@link org.richfaces.model.impl.expressive.MethodBindingExpression#MethodBindingExpression(javax.faces.context.FacesContext, javax.el.MethodExpression)}
- * and {@link org.richfaces.model.impl.expressive.MethodBindingExpression#evaluate(java.lang.Object)}.
- */
- public final void testMethodBindingExpression() {
- String expression = "expression";
- MethodBindingExpression methodBindingExpression =
- new MethodBindingExpression(facesContext,
- new MockMethodExpression(expression, null, String.class));
-
- assertEquals(methodBindingExpression.evaluate(null), expression);
- }
-
-}
Deleted: root/framework/trunk/legacy-tests/src/test/java/org/richfaces/model/impl/expressive/NullExpressionTest.java
===================================================================
--- root/framework/trunk/legacy-tests/src/test/java/org/richfaces/model/impl/expressive/NullExpressionTest.java 2009-07-20 23:18:35 UTC (rev 14969)
+++ root/framework/trunk/legacy-tests/src/test/java/org/richfaces/model/impl/expressive/NullExpressionTest.java 2009-07-20 23:19:40 UTC (rev 14970)
@@ -1,66 +0,0 @@
-/**
- * License Agreement.
- *
- * JBoss RichFaces 3.0 - Ajax4jsf Component Library
- *
- * Copyright (C) 2007 Exadel, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-package org.richfaces.model.impl.expressive;
-
-import org.richfaces.model.impl.expressive.Expression;
-import org.richfaces.model.impl.expressive.NullExpression;
-
-import junit.framework.TestCase;
-
-/**
- * @author Maksim Kaszynski
- *
- */
-public class NullExpressionTest extends TestCase {
-
-
- private Expression expression;
-
- /**
- * @param name
- */
- public NullExpressionTest(String name) {
- super(name);
- }
-
- /* (non-Javadoc)
- * @see junit.framework.TestCase#setUp()
- */
- protected void setUp() throws Exception {
- super.setUp();
- expression = new NullExpression("_id2");
- }
-
- /* (non-Javadoc)
- * @see junit.framework.TestCase#tearDown()
- */
- protected void tearDown() throws Exception {
- super.tearDown();
- expression = null;
- }
-
- public void testEvaluate() {
- Object o = new Object();
- assertNull(expression.evaluate(o));
- }
-
-}
Deleted: root/framework/trunk/legacy-tests/src/test/java/org/richfaces/model/impl/expressive/TestObj.java
===================================================================
--- root/framework/trunk/legacy-tests/src/test/java/org/richfaces/model/impl/expressive/TestObj.java 2009-07-20 23:18:35 UTC (rev 14969)
+++ root/framework/trunk/legacy-tests/src/test/java/org/richfaces/model/impl/expressive/TestObj.java 2009-07-20 23:19:40 UTC (rev 14970)
@@ -1,46 +0,0 @@
-/**
- * License Agreement.
- *
- * JBoss RichFaces 3.0 - Ajax4jsf Component Library
- *
- * Copyright (C) 2007 Exadel, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-package org.richfaces.model.impl.expressive;
-
-public class TestObj {
- private String name;
-
- /**
- *
- */
- public TestObj() {
- // TODO Auto-generated constructor stub
- }
-
- public TestObj(String name) {
- this.name = name;
- }
-
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getName() {
- return name;
- }
-}
\ No newline at end of file
Deleted: root/framework/trunk/legacy-tests/src/test/java/org/richfaces/model/impl/expressive/WrappedBeanComparatorTest.java
===================================================================
--- root/framework/trunk/legacy-tests/src/test/java/org/richfaces/model/impl/expressive/WrappedBeanComparatorTest.java 2009-07-20 23:18:35 UTC (rev 14969)
+++ root/framework/trunk/legacy-tests/src/test/java/org/richfaces/model/impl/expressive/WrappedBeanComparatorTest.java 2009-07-20 23:19:40 UTC (rev 14970)
@@ -1,102 +0,0 @@
-/**
- * License Agreement.
- *
- * JBoss RichFaces 3.0 - Ajax4jsf Component Library
- *
- * Copyright (C) 2007 Exadel, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-package org.richfaces.model.impl.expressive;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
-import org.richfaces.model.SortField;
-import org.richfaces.model.impl.expressive.JavaBeanWrapper;
-import org.richfaces.model.impl.expressive.WrappedBeanComparator;
-
-/**
- * @author Maksim Kaszynski
- *
- */
-public class WrappedBeanComparatorTest extends TestCase {
-
- private SortField[] sortFields;
- private WrappedBeanComparator comparator;
-
- private static final int [][] testData = {{0,0}, {0,1}, {1, 0}, {1, 1} };
-
- private JavaBeanWrapper [] testWrapers;
-
- public WrappedBeanComparatorTest(String name) {
- super(name);
- }
-
- /* (non-Javadoc)
- * @see junit.framework.TestCase#setUp()
- */
- protected void setUp() throws Exception {
- super.setUp();
-
- sortFields = new SortField[2];
- sortFields[0] = new SortField("a", Boolean.FALSE);
- sortFields[1] = new SortField("b", Boolean.TRUE);
-
-
- comparator = new WrappedBeanComparator(sortFields);
-
- testWrapers = new JavaBeanWrapper[testData.length];
- for(int i = 0; i < testData.length; i++) {
- testWrapers[i] = w(testData[i]);
- }
-
- }
-
- private JavaBeanWrapper w(int [] ints) {
- Map m = new HashMap();
- m.put("a", new Integer(ints[0]));
- m.put("b", new Integer(ints[1]));
-
- return new JavaBeanWrapper(m, m);
- }
-
- /* (non-Javadoc)
- * @see junit.framework.TestCase#tearDown()
- */
- protected void tearDown() throws Exception {
- super.tearDown();
- sortFields = null;
- comparator = null;
- testWrapers = null;
- }
-
- /**
- * Test method for {@link org.richfaces.model.impl.expressive.WrappedBeanComparator#compare(java.lang.Object, java.lang.Object)}.
- */
- public final void testCompare() {
-
- assertTrue(comparator.compare(w(new int[] {1, 0}), w(new int [] {1, 1})) < 0);
- assertTrue(comparator.compare(w(new int[] {1, 1}), w(new int [] {0, 0})) < 0);
- assertTrue(comparator.compare(w(new int[] {0, 0}), w(new int [] {0, 1})) < 0);
- assertTrue(comparator.compare(w(new int[] {1, 0}), w(new int [] {1, 0})) == 0);
- //assertTrue(comparator.compare(w(new int[] {1, 0}), w(new int [] {1, 1})) < 0);
- //assertTrue(comparator.compare(w(new int[] {1, 0}), w(new int [] {1, 1})) < 0);
-
- }
-
-}
15 years, 5 months