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());


Reply via email to