Author: gseitz Date: Fri May 16 00:57:23 2008 New Revision: 656958 URL: http://svn.apache.org/viewvc?rev=656958&view=rev Log: generics
Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/basic/LinkParser.java wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/basic/SmartLinkLabel.java wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/basic/SmartLinkMultiLineLabel.java wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/captcha/CaptchaImageResource.java Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/basic/LinkParser.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/basic/LinkParser.java?rev=656958&r1=656957&r2=656958&view=diff ============================================================================== --- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/basic/LinkParser.java (original) +++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/basic/LinkParser.java Fri May 16 00:57:23 2008 @@ -31,16 +31,16 @@ */ public class LinkParser implements ILinkParser { - private final Map renderStrategies = new HashMap(); + private final Map<String, ILinkRenderStrategy> renderStrategies = new HashMap<String, ILinkRenderStrategy>(); /** * Adds a render strategy to the parser. * * @param pattern - * the pattern to which the provided <code>renderStrategy</code> should be applied. + * the pattern to which the provided <code>renderStrategy</code> should be applied. * @param renderStrategy - * the <code>ILinkRenderStrategy</code> which is applied to the text found by the - * provided <code>pattern</code>. + * the <code>ILinkRenderStrategy</code> which is applied to the text found by the provided + * <code>pattern</code>. * @return this <code>ILinkParser</code>. */ public ILinkParser addLinkRenderStrategy(String pattern, ILinkRenderStrategy renderStrategy) @@ -60,11 +60,11 @@ } String work = text; - Iterator iter = renderStrategies.keySet().iterator(); + Iterator<String> iter = renderStrategies.keySet().iterator(); while (iter.hasNext()) { - String pattern = (String) iter.next(); - ILinkRenderStrategy strategy = (ILinkRenderStrategy)renderStrategies.get(pattern); + String pattern = iter.next(); + ILinkRenderStrategy strategy = renderStrategies.get(pattern); Matcher matcher = Pattern.compile(pattern, Pattern.DOTALL).matcher(work); StringBuffer buffer = new StringBuffer(); Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/basic/SmartLinkLabel.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/basic/SmartLinkLabel.java?rev=656958&r1=656957&r2=656958&view=diff ============================================================================== --- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/basic/SmartLinkLabel.java (original) +++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/basic/SmartLinkLabel.java Fri May 16 00:57:23 2008 @@ -20,6 +20,7 @@ import org.apache.wicket.markup.MarkupStream; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.model.IModel; +import org.apache.wicket.model.Model; /** @@ -35,22 +36,23 @@ * * @author Juergen Donnerstag */ -public class SmartLinkLabel extends Label +public class SmartLinkLabel<T> extends Label<T> { private static final long serialVersionUID = 1L; /** * @see Label#Label(String, String) */ + @SuppressWarnings("unchecked") public SmartLinkLabel(String name, String label) { - super(name, label); + this(name, new Model(label)); } /** * @see Label#Label(String, IModel) */ - public SmartLinkLabel(String name, IModel model) + public SmartLinkLabel(String name, IModel<T> model) { super(name, model); } @@ -65,8 +67,9 @@ /** * @see org.apache.wicket.Component#onComponentTagBody(org.apache.wicket.markup.MarkupStream, - * org.apache.wicket.markup.ComponentTag) + * org.apache.wicket.markup.ComponentTag) */ + @Override protected void onComponentTagBody(final MarkupStream markupStream, final ComponentTag openTag) { replaceComponentTagBody(markupStream, openTag, getSmartLink(getModelObjectAsString())); @@ -81,7 +84,7 @@ * Replace all email and URL addresses * * @param text - * Text to be modified + * Text to be modified * @return Modified Text */ protected final CharSequence getSmartLink(final CharSequence text) Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/basic/SmartLinkMultiLineLabel.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/basic/SmartLinkMultiLineLabel.java?rev=656958&r1=656957&r2=656958&view=diff ============================================================================== --- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/basic/SmartLinkMultiLineLabel.java (original) +++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/basic/SmartLinkMultiLineLabel.java Fri May 16 00:57:23 2008 @@ -36,13 +36,14 @@ * * @author Juergen Donnerstag */ -public final class SmartLinkMultiLineLabel extends MultiLineLabel +public final class SmartLinkMultiLineLabel<T> extends MultiLineLabel<T> { private static final long serialVersionUID = 1L; /** * @see MultiLineLabel#MultiLineLabel(String, String) */ + @SuppressWarnings("unchecked") public SmartLinkMultiLineLabel(String name, String label) { this(name, new Model(label)); @@ -51,15 +52,16 @@ /** * @see MultiLineLabel#MultiLineLabel(String, IModel) */ - public SmartLinkMultiLineLabel(String name, IModel model) + public SmartLinkMultiLineLabel(String name, IModel<T> model) { super(name, model); } /** * @see org.apache.wicket.Component#onComponentTagBody(org.apache.wicket.markup.MarkupStream, - * org.apache.wicket.markup.ComponentTag) + * org.apache.wicket.markup.ComponentTag) */ + @Override protected void onComponentTagBody(final MarkupStream markupStream, final ComponentTag openTag) { final CharSequence body = Strings.toMultilineMarkup(getModelObjectAsString()); Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/captcha/CaptchaImageResource.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/captcha/CaptchaImageResource.java?rev=656958&r1=656957&r2=656958&view=diff ============================================================================== --- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/captcha/CaptchaImageResource.java (original) +++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/captcha/CaptchaImageResource.java Fri May 16 00:57:23 2008 @@ -54,12 +54,12 @@ private static final class CharAttributes implements IClusterable { private static final long serialVersionUID = 1L; - private char c; - private String name; - private int rise; - private double rotation; - private double shearX; - private double shearY; + private final char c; + private final String name; + private final int rise; + private final double rotation; + private final double shearX; + private final double shearY; CharAttributes(char c, String name, double rotation, int rise, double shearX, double shearY) { @@ -118,17 +118,18 @@ return new String(b); } - private String challengeId; - private final List charAttsList; + private final String challengeId; + private final List<CharAttributes> charAttsList; - private List fontNames = Arrays.asList(new String[] { "Helventica", "Arial", "Courier" }); + private final List<String> fontNames = Arrays.asList(new String[] { "Helventica", "Arial", + "Courier" }); private final int fontSize; private final int fontStyle; private int height = 0; /** Transient image data so that image only needs to be generated once per VM */ - private transient SoftReference imageData; + private transient SoftReference<byte[]> imageData; private final int margin; @@ -146,7 +147,7 @@ * Construct. * * @param challengeId - * The id of the challenge + * The id of the challenge */ public CaptchaImageResource(String challengeId) { @@ -157,46 +158,46 @@ * Construct. * * @param challengeId - * The id of the challenge + * The id of the challenge * @param fontSize - * The font size + * The font size * @param margin - * The image's margin + * The image's margin */ public CaptchaImageResource(String challengeId, int fontSize, int margin) { this.challengeId = challengeId; - this.fontStyle = 1; + fontStyle = 1; this.fontSize = fontSize; this.margin = margin; - this.width = this.margin * 2; - this.height = this.margin * 2; + width = this.margin * 2; + height = this.margin * 2; char[] chars = challengeId.toCharArray(); - charAttsList = new ArrayList(); + charAttsList = new ArrayList<CharAttributes>(); TextLayout text; AffineTransform textAt; Shape shape; for (int i = 0; i < chars.length; i++) { - String fontName = (String)fontNames.get(randomInt(0, fontNames.size())); + String fontName = fontNames.get(randomInt(0, fontNames.size())); double rotation = Math.toRadians(randomInt(-35, 35)); int rise = randomInt(margin / 2, margin); Random ran = new Random(); double shearX = ran.nextDouble() * 0.2; double shearY = ran.nextDouble() * 0.2; CharAttributes cf = new CharAttributes(chars[i], fontName, rotation, rise, shearX, - shearY); + shearY); charAttsList.add(cf); text = new TextLayout(chars[i] + "", getFont(fontName), new FontRenderContext(null, - false, false)); + false, false)); textAt = new AffineTransform(); textAt.rotate(rotation); textAt.shear(shearX, shearY); shape = text.getOutline(textAt); - this.width += (int)shape.getBounds2D().getWidth(); - if (this.height < (int)shape.getBounds2D().getHeight() + rise) + width += (int)shape.getBounds2D().getWidth(); + if (height < (int)shape.getBounds2D().getHeight() + rise) { - this.height = (int)shape.getBounds2D().getHeight() + rise; + height = (int)shape.getBounds2D().getHeight() + rise; } } } @@ -216,6 +217,7 @@ * * @see org.apache.wicket.Resource#invalidate() */ + @Override public final void invalidate() { imageData = null; @@ -224,18 +226,19 @@ /** * @see org.apache.wicket.markup.html.image.resource.DynamicImageResource#getImageData() */ + @Override protected final byte[] getImageData() { // get image data is always called in sync block byte[] data = null; if (imageData != null) { - data = (byte[])imageData.get(); + data = imageData.get(); } if (data == null) { data = render(); - imageData = new SoftReference(data); + imageData = new SoftReference<byte[]>(data); setLastModifiedTime(Time.now()); } return data; @@ -261,9 +264,9 @@ int curWidth = margin; for (int i = 0; i < charAttsList.size(); i++) { - CharAttributes cf = (CharAttributes)charAttsList.get(i); - TextLayout text = new TextLayout(cf.getChar() + "", getFont(cf.getName()), gfx - .getFontRenderContext()); + CharAttributes cf = charAttsList.get(i); + TextLayout text = new TextLayout(cf.getChar() + "", getFont(cf.getName()), + gfx.getFontRenderContext()); AffineTransform textAt = new AffineTransform(); textAt.translate(curWidth, height - cf.getRise()); textAt.rotate(cf.getRotation());