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