You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by kn...@apache.org on 2008/11/16 23:04:29 UTC
svn commit: r718123 [7/10] - in /wicket/sandbox/knopp/experimental/wicket:
./ .settings/ src/main/java/org/apache/wicket/
src/main/java/org/apache/wicket/ajax/
src/main/java/org/apache/wicket/ajax/form/
src/main/java/org/apache/wicket/ajax/markup/html/...
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/resource/PropertiesFactory.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/resource/PropertiesFactory.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/resource/PropertiesFactory.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/resource/PropertiesFactory.java Sun Nov 16 14:04:19 2008
@@ -53,9 +53,7 @@
/** Log. */
private static final Logger log = LoggerFactory.getLogger(PropertiesFactory.class);
- /**
- * Listeners will be invoked after changes to property file have been detected
- */
+ /** Listeners will be invoked after changes to property file have been detected */
private final List<IPropertiesChangeListener> afterReloadListeners = new ArrayList<IPropertiesChangeListener>();
/** Cache for all property files loaded */
@@ -64,7 +62,7 @@
/** Application */
private final Application application;
- /** LIst of Properties Loader */
+ /** List of Properties Loader */
private final List<IPropertiesLoader> propertiesLoader;
/**
@@ -79,7 +77,7 @@
propertiesLoader = new ArrayList<IPropertiesLoader>();
propertiesLoader.add(new PropertiesFilePropertiesLoader());
- propertiesLoader.add(new XmlFilePropertiesLoader());
+ propertiesLoader.add(new XmlFilePropertiesLoader("xml"));
}
/**
@@ -174,7 +172,7 @@
*
* @param clazz
* @param path
- * @return
+ * @return Properties
*/
Properties load(final Class<?> clazz, final String path);
}
@@ -193,14 +191,14 @@
/**
*
- * @return
+ * @return File extension
*/
abstract protected String getFileExtension();
/**
*
* @param in
- * @return
+ * @return java.util.Properties
* @throws IOException
*/
abstract protected java.util.Properties loadProperties(BufferedInputStream in)
@@ -334,7 +332,7 @@
/**
*
* @param in
- * @return
+ * @return java.util.Properties
* @throws IOException
*/
@Override
@@ -351,11 +349,16 @@
*/
public class XmlFilePropertiesLoader extends AbstractPropertiesLoader
{
+ private final String fileExtension;
+
/**
* Construct.
+ *
+ * @param fileExtension
*/
- public XmlFilePropertiesLoader()
+ public XmlFilePropertiesLoader(final String fileExtension)
{
+ this.fileExtension = fileExtension;
}
/**
@@ -365,13 +368,13 @@
@Override
protected String getFileExtension()
{
- return "xml";
+ return fileExtension;
}
/**
*
* @param in
- * @return
+ * @return java.util.Properties
* @throws IOException
*/
@Override
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/resource/loader/PackageStringResourceLoader.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/resource/loader/PackageStringResourceLoader.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/resource/loader/PackageStringResourceLoader.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/resource/loader/PackageStringResourceLoader.java Sun Nov 16 14:04:19 2008
@@ -19,7 +19,6 @@
import java.util.Locale;
import org.apache.wicket.Application;
-import org.apache.wicket.Component;
import org.apache.wicket.resource.IPropertiesFactory;
import org.apache.wicket.resource.Properties;
import org.apache.wicket.util.resource.locator.ResourceNameIterator;
@@ -41,8 +40,9 @@
* <p>
*
* @author Juergen Donnerstag
+ * @author igor.vaynberg
*/
-public class PackageStringResourceLoader implements IStringResourceLoader
+public class PackageStringResourceLoader extends ComponentStringResourceLoader
{
/** Log. */
private static final Logger log = LoggerFactory.getLogger(PackageStringResourceLoader.class);
@@ -62,6 +62,7 @@
* @see org.apache.wicket.resource.loader.IStringResourceLoader#loadStringResource(java.lang.Class,
* java.lang.String, java.util.Locale, java.lang.String)
*/
+ @Override
public String loadStringResource(final Class<?> clazz, final String key, final Locale locale,
final String style)
{
@@ -114,24 +115,6 @@
return null;
}
- /**
- *
- * @see org.apache.wicket.resource.loader.IStringResourceLoader#loadStringResource(org.apache.wicket.Component,
- * java.lang.String)
- */
- public String loadStringResource(final Component component, final String key)
- {
- if (component == null)
- {
- return null;
- }
-
- // The return value
- Locale locale = component.getLocale();
- String style = component.getStyle();
-
- return loadStringResource(component.getClass(), key, locale, style);
- }
/**
* Gets the properties file filename (without extension)
Added: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/resource/loader/ValidatorStringResourceLoader.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/resource/loader/ValidatorStringResourceLoader.java?rev=718123&view=auto
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/resource/loader/ValidatorStringResourceLoader.java (added)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/resource/loader/ValidatorStringResourceLoader.java Sun Nov 16 14:04:19 2008
@@ -0,0 +1,144 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.resource.loader;
+
+import java.util.Locale;
+
+import org.apache.wicket.Application;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.form.FormComponent;
+import org.apache.wicket.resource.IPropertiesFactory;
+import org.apache.wicket.resource.Properties;
+import org.apache.wicket.util.resource.locator.ResourceNameIterator;
+import org.apache.wicket.validation.IValidator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ * This is one of Wicket's default string resource loaders.
+ * <p>
+ * The validator string resource loader checks resource bundles attached to validators (eg
+ * MinimumValidator.properties). The validator list is pulled from the form component in error.
+ * <p>
+ * This implementation is fully aware of both locale and style values when trying to obtain the
+ * appropriate resources.
+ * <p>
+ *
+ * @author igor.vaynberg
+ */
+public class ValidatorStringResourceLoader implements IStringResourceLoader
+{
+ private static final Logger log = LoggerFactory.getLogger(ValidatorStringResourceLoader.class);
+
+ /**
+ * Create and initialize the resource loader.
+ */
+ public ValidatorStringResourceLoader()
+ {
+ }
+
+ /**
+ * @see org.apache.wicket.resource.loader.IStringResourceLoader#loadStringResource(java.lang.Class,
+ * java.lang.String, java.util.Locale, java.lang.String)
+ */
+ public String loadStringResource(Class<?> clazz, final String key, final Locale locale,
+ final String style)
+ {
+ // only care about IValidator subclasses
+ if (clazz == null || !IValidator.class.isAssignableFrom(clazz))
+ {
+ return null;
+ }
+
+ IPropertiesFactory propertiesFactory = Application.get()
+ .getResourceSettings()
+ .getPropertiesFactory();
+
+ while (true)
+ {
+ // figure out the base path for the class
+ String path = clazz.getName().replace('.', '/');
+
+ // iterate over all the combinations
+ ResourceNameIterator iter = new ResourceNameIterator(path, style, locale, null);
+ while (iter.hasNext())
+ {
+ String newPath = iter.next();
+
+ final Properties props = propertiesFactory.load(clazz, newPath);
+ if (props != null)
+ {
+ // Lookup the value
+ String value = props.getString(key);
+ if (value != null)
+ {
+ if (log.isDebugEnabled())
+ {
+ log.debug("Found resource from: " + props + "; key: " + key);
+ }
+
+ return value;
+ }
+ }
+ }
+
+ // Move to the next superclass
+ clazz = clazz.getSuperclass();
+
+ if (clazz == null || Object.class.equals(clazz))
+ {
+ // nothing more to search, done
+ break;
+ }
+ }
+
+ // not found
+ return null;
+ }
+
+ /**
+ *
+ * @see org.apache.wicket.resource.loader.IStringResourceLoader#loadStringResource(org.apache.wicket.Component,
+ * java.lang.String)
+ */
+ public String loadStringResource(final Component component, final String key)
+ {
+ if (component == null || !(component instanceof FormComponent))
+ {
+ return null;
+ }
+
+ FormComponent<?> fc = (FormComponent<?>)component;
+
+ Locale locale = component.getLocale();
+ String style = component.getStyle();
+
+ for (IValidator<?> validator : fc.getValidators())
+ {
+ String resource = loadStringResource(validator.getClass(), key, locale, style);
+ if (resource != null)
+ {
+ return resource;
+ }
+ }
+
+ // not found
+ return null;
+ }
+
+}
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/session/pagemap/AbstractPageMapEntry.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/session/pagemap/AbstractPageMapEntry.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/session/pagemap/AbstractPageMapEntry.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/session/pagemap/AbstractPageMapEntry.java Sun Nov 16 14:04:19 2008
@@ -52,10 +52,9 @@
*
* @see org.apache.wicket.session.pagemap.IPageMapEntry#getPageClass()
*/
- @SuppressWarnings("unchecked")
public Class<? extends Page> getPageClass()
{
- return (Class<? extends Page>)getPage().getClass();
+ return getPage().getClass();
}
/**
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/settings/IDebugSettings.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/settings/IDebugSettings.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/settings/IDebugSettings.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/settings/IDebugSettings.java Sun Nov 16 14:04:19 2008
@@ -32,6 +32,21 @@
public interface IDebugSettings
{
/**
+ * If set to <code>true</code> wicket will output component path in a <code>wicket:path</code>
+ * attribute of the component tag. This can be useful for debugging and automating tests.
+ *
+ * @param enabled
+ */
+ void setOutputComponentPath(boolean enabled);
+
+ /**
+ * @see #setOutputComponentPath(boolean)
+ * @return <code>true</code> if output component path feature is enabled, <code>false</code>
+ * otherwise
+ */
+ boolean isOutputComponentPath();
+
+ /**
* @return true if componentUseCheck is enabled
*/
boolean getComponentUseCheck();
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/settings/IMarkupSettings.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/settings/IMarkupSettings.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/settings/IMarkupSettings.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/settings/IMarkupSettings.java Sun Nov 16 14:04:19 2008
@@ -27,7 +27,7 @@
* removed. Whitespace stripping is not HTML or JavaScript savvy and can conceivably break pages,
* but should provide significant performance improvements.
* <p>
- * <i>stripComments </i> (defaults to false) - Set to true to strip HTML comments during markup
+ * <i>stripComments</i> (defaults to false) - Set to true to strip HTML comments during markup
* loading
*
* @author Igor Vaynberg (ivaynberg)
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/settings/Settings.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/settings/Settings.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/settings/Settings.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/settings/Settings.java Sun Nov 16 14:04:19 2008
@@ -50,6 +50,7 @@
import org.apache.wicket.resource.loader.ComponentStringResourceLoader;
import org.apache.wicket.resource.loader.IStringResourceLoader;
import org.apache.wicket.resource.loader.PackageStringResourceLoader;
+import org.apache.wicket.resource.loader.ValidatorStringResourceLoader;
import org.apache.wicket.session.DefaultPageFactory;
import org.apache.wicket.session.pagemap.IPageMapEvictionStrategy;
import org.apache.wicket.session.pagemap.LeastRecentlyAccessedEvictionStrategy;
@@ -92,6 +93,8 @@
IFrameworkSettings,
IRequestLoggerSettings
{
+ private boolean outputComponentPath = false;
+
/** Class of access denied page. */
private WeakReference<Class<? extends Page>> accessDeniedPage;
@@ -329,6 +332,7 @@
stringResourceLoaders.add(new ComponentStringResourceLoader());
stringResourceLoaders.add(new PackageStringResourceLoader());
stringResourceLoaders.add(new ClassStringResourceLoader(this.application.getClass()));
+ stringResourceLoaders.add(new ValidatorStringResourceLoader());
}
/**
@@ -1421,4 +1425,19 @@
{
parentFolderPlaceholder = sequence;
}
+
+
+ /** @see IDebugSettings#isOutputComponentPath() */
+ public boolean isOutputComponentPath()
+ {
+ return outputComponentPath;
+ }
+
+ /** @see IDebugSettings#setOutputComponentPath() */
+ public void setOutputComponentPath(boolean outputComponentPath)
+ {
+ this.outputComponentPath = outputComponentPath;
+ }
+
+
}
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/ConversionException.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/ConversionException.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/ConversionException.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/ConversionException.java Sun Nov 16 14:04:19 2008
@@ -35,7 +35,7 @@
private static final long serialVersionUID = 1L;
/** The converter that was used. */
- private IConverter< ? > converter;
+ private IConverter converter;
/** Pattern that was used for conversion. */
private Format format;
@@ -95,7 +95,7 @@
*
* @return the used converter.
*/
- public final IConverter< ? > getConverter()
+ public final IConverter getConverter()
{
return converter;
}
@@ -135,7 +135,7 @@
*
* @return the target property type.
*/
- public final Class< ? > getTargetType()
+ public final Class<?> getTargetType()
{
return Classes.resolveClass(targetTypeName);
}
@@ -147,7 +147,7 @@
* the converter.
* @return This
*/
- public final ConversionException setConverter(IConverter< ? > converter)
+ public final ConversionException setConverter(IConverter converter)
{
this.converter = converter;
return this;
@@ -199,7 +199,7 @@
* sets the target property type
* @return This
*/
- public final ConversionException setTargetType(Class< ? > targetType)
+ public final ConversionException setTargetType(Class<?> targetType)
{
targetTypeName = targetType.getName();
return this;
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/ConverterLocator.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/ConverterLocator.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/ConverterLocator.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/ConverterLocator.java Sun Nov 16 14:04:19 2008
@@ -58,33 +58,33 @@
* @param <X>
* The converter object type
*/
- private class DefaultConverter<X> implements IConverter<X>
+ private class DefaultConverter implements IConverter
{
private static final long serialVersionUID = 1L;
- private final WeakReference<Class<X>> type;
+ private final WeakReference<Class<?>> type;
/**
* Construct.
*
* @param type
*/
- private DefaultConverter(Class<X> type)
+ private DefaultConverter(Class<?> type)
{
- this.type = new WeakReference<Class<X>>(type);
+ this.type = new WeakReference<Class<?>>(type);
}
/**
* @see org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,
* java.util.Locale)
*/
- public X convertToObject(String value, Locale locale)
+ public Object convertToObject(String value, Locale locale)
{
if (value == null)
{
return null;
}
- Class<X> theType = type.get();
+ Class<?> theType = type.get();
if ("".equals(value))
{
if (theType.equals(String.class))
@@ -117,7 +117,7 @@
* @see org.apache.wicket.util.convert.IConverter#convertToString(java.lang.Object,
* java.util.Locale)
*/
- public String convertToString(X value, Locale locale)
+ public String convertToString(Object value, Locale locale)
{
if (value == null || "".equals(value))
{
@@ -131,7 +131,7 @@
private static final long serialVersionUID = 1L;
/** Maps Classes to ITypeConverters. */
- private final Map<String, IConverter<?>> classToConverter = new HashMap<String, IConverter<?>>();
+ private final Map<String, IConverter> classToConverter = new HashMap<String, IConverter>();
/**
* Constructor
@@ -173,9 +173,9 @@
* registered for class c
*/
@SuppressWarnings("unchecked")
- public final <T> IConverter<T> get(Class<T> c)
+ public final IConverter get(Class<?> c)
{
- return (IConverter<T>)classToConverter.get(c.getName());
+ return classToConverter.get(c.getName());
}
/**
@@ -189,20 +189,20 @@
* @see org.apache.wicket.util.convert.IConverter#convertToObject(String, java.util.Locale)
*/
@SuppressWarnings("unchecked")
- public final <T> IConverter<T> getConverter(Class<T> type)
+ public final IConverter getConverter(Class<?> type)
{
// Null is always converted to null
if (type == null)
{
- return (IConverter<T>)new DefaultConverter<String>(String.class);
+ return new DefaultConverter(String.class);
}
// Get type converter for class
- final IConverter<T> converter = get(type);
+ final IConverter converter = get(type);
if (converter == null)
{
- return new DefaultConverter<T>(type);
+ return new DefaultConverter(type);
}
return converter;
}
@@ -210,24 +210,24 @@
/**
* Removes the type converter currently registered for class c.
*
- * @param <C>
- * The type of the converter
+ * @param The
+ * type of the converter
* @param c
* The class for which the converter registration should be removed
* @return The converter that was registered for class c before removal or null if none was
* registered
*/
@SuppressWarnings("unchecked")
- public final <C> IConverter<C> remove(Class<C> c)
+ public final IConverter remove(Class<?> c)
{
- return (IConverter<C>)classToConverter.remove(c.getName());
+ return classToConverter.remove(c.getName());
}
/**
* Registers a converter for use with class c.
*
- * @param <C>
- * The type of the converter
+ * @param The
+ * type of the converter
*
* @param converter
* The converter to add
@@ -237,7 +237,7 @@
* class c
*/
@SuppressWarnings("unchecked")
- public final <C> IConverter<C> set(final Class<C> c, final IConverter<C> converter)
+ public final IConverter set(final Class c, final IConverter converter)
{
if (converter == null)
{
@@ -247,6 +247,6 @@
{
throw new IllegalArgumentException("Class cannot be null");
}
- return (IConverter<C>)classToConverter.put(c.getName(), converter);
+ return classToConverter.put(c.getName(), converter);
}
}
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/IConverter.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/IConverter.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/IConverter.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/IConverter.java Sun Nov 16 14:04:19 2008
@@ -43,10 +43,8 @@
* @author Eelco Hillenius
* @author Jonathan Locke
*
- * @param <T>
- * The converter object type
*/
-public interface IConverter<T> extends IClusterable
+public interface IConverter extends IClusterable
{
/**
* Converts the given {@link String} value
@@ -57,7 +55,7 @@
* The locale used to convert the value
* @return The converted value
*/
- T convertToObject(String value, Locale locale);
+ Object convertToObject(String value, Locale locale);
/**
* Converts the given value to a string.
@@ -69,5 +67,5 @@
*
* @return The converted string value
*/
- String convertToString(T value, Locale locale);
+ String convertToString(Object value, Locale locale);
}
\ No newline at end of file
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/MaskConverter.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/MaskConverter.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/MaskConverter.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/MaskConverter.java Sun Nov 16 14:04:19 2008
@@ -37,11 +37,9 @@
* <tr>
* <th>Character </th>
* <th>
- * <p align="left">
- * Description
+ * <p align="left"> Description
* </p>
- * </th>
- * </tr>
+ * </th> </tr>
* <tr>
* <td>#</td>
* <td>Any valid number, uses <code>Character.isDigit</code>.</td>
@@ -52,25 +50,24 @@
* </tr>
* <tr>
* <td>U</td>
- * <td>Any character (<code>Character.isLetter</code>). All lowercase letters are mapped to
- * upper case.</td>
+ * <td>Any character (<code>Character.isLetter</code>). All lowercase letters are mapped to upper
+ * case.</td>
* </tr>
* <tr>
* <td>L</td>
- * <td>Any character (<code>Character.isLetter</code>). All upper case letters are mapped to
- * lower case.</td>
+ * <td>Any character (<code>Character.isLetter</code>). All upper case letters are mapped to lower
+ * case.</td>
* </tr>
* <tr>
* <td>A</td>
- * <td>Any character or number (<code>Character.isLetter</code> or
- * <code>Character.isDigit</code>)</td>
+ * <td>Any character or number (<code>Character.isLetter</code> or <code>Character.isDigit</code>)</td>
* </tr>
* <tr>
* <td>?</td>
* <td>Any character (<code>Character.isLetter</code>).</td>
* </tr>
* <tr>
- * <td>*</td>
+ * <td></td>
* <td>Anything.</td>
* </tr>
* <tr>
@@ -90,7 +87,7 @@
*
* @author Eelco Hillenius
*/
-public class MaskConverter<T> implements IConverter<T>
+public class MaskConverter implements IConverter
{
private static final long serialVersionUID = 1L;
@@ -155,11 +152,11 @@
* @see org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String, Locale)
*/
@SuppressWarnings("unchecked")
- public T convertToObject(String value, Locale locale)
+ public Object convertToObject(String value, Locale locale)
{
try
{
- return (T)maskFormatter.stringToValue(value);
+ return maskFormatter.stringToValue(value);
}
catch (ParseException e)
{
@@ -172,7 +169,7 @@
*
* @see org.apache.wicket.util.convert.IConverter#convertToString(java.lang.Object, Locale)
*/
- public String convertToString(T value, Locale locale)
+ public String convertToString(Object value, Locale locale)
{
try
{
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractConverter.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractConverter.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractConverter.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractConverter.java Sun Nov 16 14:04:19 2008
@@ -29,10 +29,8 @@
*
* @author Eelco Hillenius
*
- * @param <T>
- * The converter object type
*/
-public abstract class AbstractConverter<T> implements IConverter<T>
+public abstract class AbstractConverter implements IConverter
{
/**
*
@@ -88,12 +86,12 @@
/**
* @return The target type of this type converter
*/
- protected abstract Class<T> getTargetType();
+ protected abstract Class<?> getTargetType();
/**
* @see org.apache.wicket.util.convert.IConverter#convertToString(java.lang.Object, Locale)
*/
- public String convertToString(T value, Locale locale)
+ public String convertToString(Object value, Locale locale)
{
if (value == null)
{
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractDecimalConverter.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractDecimalConverter.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractDecimalConverter.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractDecimalConverter.java Sun Nov 16 14:04:19 2008
@@ -27,10 +27,8 @@
*
* @author Jonathan Locke
*
- * @param <T>
- * The converter object type
*/
-public abstract class AbstractDecimalConverter<T extends Number> extends AbstractNumberConverter<T>
+public abstract class AbstractDecimalConverter extends AbstractNumberConverter
{
private static final long serialVersionUID = 1L;
@@ -57,6 +55,18 @@
}
/**
+ * Creates a new {@link NumberFormat} for the given locale. The instance is later cached and is
+ * accessible through {@link #getNumberFormat(Locale)}
+ *
+ * @param locale
+ * @return number format
+ */
+ protected NumberFormat newNumberFormat(Locale locale)
+ {
+ return NumberFormat.getInstance(locale);
+ }
+
+ /**
* @param locale
* The Locale that was used for this NumberFormat
* @param numberFormat
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractIntegerConverter.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractIntegerConverter.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractIntegerConverter.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractIntegerConverter.java Sun Nov 16 14:04:19 2008
@@ -26,10 +26,8 @@
*
* @author Jonathan Locke
*
- * @param <T>
- * The converter object type
*/
-public abstract class AbstractIntegerConverter<T extends Number> extends AbstractNumberConverter<T>
+public abstract class AbstractIntegerConverter extends AbstractNumberConverter
{
private static final long serialVersionUID = 1L;
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractNumberConverter.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractNumberConverter.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractNumberConverter.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractNumberConverter.java Sun Nov 16 14:04:19 2008
@@ -27,11 +27,8 @@
*
* @author Jonathan Locke
*
- * @param <T>
- * The converter object type
- *
*/
-public abstract class AbstractNumberConverter<T extends Number> extends AbstractConverter<T>
+public abstract class AbstractNumberConverter extends AbstractConverter
{
/**
*
@@ -106,7 +103,7 @@
* @see org.apache.wicket.util.convert.IConverter#convertToString(java.lang.Object, Locale)
*/
@Override
- public String convertToString(final T value, Locale locale)
+ public String convertToString(final Object value, Locale locale)
{
NumberFormat fmt = getNumberFormat(locale);
if (fmt != null)
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/BigDecimalConverter.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/BigDecimalConverter.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/BigDecimalConverter.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/BigDecimalConverter.java Sun Nov 16 14:04:19 2008
@@ -25,12 +25,12 @@
* see IConverter
*
*/
-public class BigDecimalConverter extends AbstractDecimalConverter<BigDecimal>
+public class BigDecimalConverter extends AbstractDecimalConverter
{
private static final long serialVersionUID = 1L;
@Override
- protected Class<BigDecimal> getTargetType()
+ protected Class<?> getTargetType()
{
return BigDecimal.class;
}
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/BooleanConverter.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/BooleanConverter.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/BooleanConverter.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/BooleanConverter.java Sun Nov 16 14:04:19 2008
@@ -29,19 +29,19 @@
* @author Eelco Hillenius
* @author Jonathan Locke
*/
-public final class BooleanConverter extends AbstractConverter<Boolean>
+public class BooleanConverter extends AbstractConverter
{
private static final long serialVersionUID = 1L;
/**
* The singleton instance for a boolean converter
*/
- public static final IConverter<Boolean> INSTANCE = new BooleanConverter();
+ public static final IConverter INSTANCE = new BooleanConverter();
/**
* @see org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,Locale)
*/
- public Boolean convertToObject(final String value, Locale locale)
+ public Object convertToObject(final String value, Locale locale)
{
try
{
@@ -57,7 +57,7 @@
* @see org.apache.wicket.util.convert.converters.AbstractConverter#getTargetType()
*/
@Override
- protected Class<Boolean> getTargetType()
+ protected Class<?> getTargetType()
{
return Boolean.class;
}
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/ByteConverter.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/ByteConverter.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/ByteConverter.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/ByteConverter.java Sun Nov 16 14:04:19 2008
@@ -27,19 +27,19 @@
* @author Eelco Hillenius
* @author Jonathan Locke
*/
-public final class ByteConverter extends AbstractIntegerConverter<Byte>
+public class ByteConverter extends AbstractIntegerConverter
{
private static final long serialVersionUID = 1L;
/**
* The singleton instance for a byte converter
*/
- public static final IConverter<Byte> INSTANCE = new ByteConverter();
+ public static final IConverter INSTANCE = new ByteConverter();
/**
* @see org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,Locale)
*/
- public Byte convertToObject(final String value, Locale locale)
+ public Object convertToObject(final String value, Locale locale)
{
final Number number = parse(value, Byte.MIN_VALUE, Byte.MAX_VALUE, locale);
@@ -55,7 +55,7 @@
* @see org.apache.wicket.util.convert.converters.AbstractConverter#getTargetType()
*/
@Override
- protected Class<Byte> getTargetType()
+ protected Class<?> getTargetType()
{
return Byte.class;
}
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/CharacterConverter.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/CharacterConverter.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/CharacterConverter.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/CharacterConverter.java Sun Nov 16 14:04:19 2008
@@ -27,19 +27,19 @@
* @author Eelco Hillenius
* @author Jonathan Locke
*/
-public final class CharacterConverter extends AbstractConverter<Character>
+public class CharacterConverter extends AbstractConverter
{
private static final long serialVersionUID = 1L;
/**
* The singleton instance for a character converter
*/
- public static final IConverter<Character> INSTANCE = new CharacterConverter();
+ public static final IConverter INSTANCE = new CharacterConverter();
/**
* @see org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,Locale)
*/
- public Character convertToObject(final String value, Locale locale)
+ public Object convertToObject(final String value, Locale locale)
{
int length = value.length();
if (length == 0)
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/DateConverter.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/DateConverter.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/DateConverter.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/DateConverter.java Sun Nov 16 14:04:19 2008
@@ -27,7 +27,7 @@
*
* @author Eelco Hillenius
*/
-public class DateConverter extends AbstractConverter<Date>
+public class DateConverter extends AbstractConverter
{
private static final long serialVersionUID = 1L;
@@ -50,7 +50,7 @@
* @see org.apache.wicket.util.convert.IConverter#convertToString(Object, java.util.Locale)
*/
@Override
- public String convertToString(final Date value, Locale locale)
+ public String convertToString(final Object value, Locale locale)
{
final DateFormat dateFormat = getDateFormat(locale);
if (dateFormat != null)
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/DoubleConverter.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/DoubleConverter.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/DoubleConverter.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/DoubleConverter.java Sun Nov 16 14:04:19 2008
@@ -27,14 +27,14 @@
* @author Eelco Hillenius
* @author Jonathan Locke
*/
-public final class DoubleConverter extends AbstractDecimalConverter<Double>
+public class DoubleConverter extends AbstractDecimalConverter
{
private static final long serialVersionUID = 1L;
/**
* The singleton instance for a double converter
*/
- public static final IConverter<Double> INSTANCE = new DoubleConverter();
+ public static final IConverter INSTANCE = new DoubleConverter();
/**
* @see org.apache.wicket.util.convert.IConverter#convertToObject(String, java.util.Locale)
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/FloatConverter.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/FloatConverter.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/FloatConverter.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/FloatConverter.java Sun Nov 16 14:04:19 2008
@@ -27,14 +27,14 @@
* @author Eelco Hillenius
* @author Jonathan Locke
*/
-public final class FloatConverter extends AbstractDecimalConverter<Float>
+public class FloatConverter extends AbstractDecimalConverter
{
private static final long serialVersionUID = 1L;
/**
* The singleton instance for a float converter
*/
- public static final IConverter<Float> INSTANCE = new FloatConverter();
+ public static final IConverter INSTANCE = new FloatConverter();
/**
* @see org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,Locale)
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/IntegerConverter.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/IntegerConverter.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/IntegerConverter.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/IntegerConverter.java Sun Nov 16 14:04:19 2008
@@ -27,14 +27,14 @@
* @author Eelco Hillenius
* @author Jonathan Locke
*/
-public final class IntegerConverter extends AbstractIntegerConverter<Integer>
+public class IntegerConverter extends AbstractIntegerConverter
{
private static final long serialVersionUID = 1L;
/**
* The singleton instance for a integer converter
*/
- public static final IConverter<Integer> INSTANCE = new IntegerConverter();
+ public static final IConverter INSTANCE = new IntegerConverter();
/**
* @see org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,Locale)
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/LongConverter.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/LongConverter.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/LongConverter.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/LongConverter.java Sun Nov 16 14:04:19 2008
@@ -27,14 +27,14 @@
* @author Eelco Hillenius
* @author Jonathan Locke
*/
-public final class LongConverter extends AbstractIntegerConverter<Long>
+public class LongConverter extends AbstractIntegerConverter
{
private static final long serialVersionUID = 1L;
/**
* The singleton instance for a long converter
*/
- public static final IConverter<Long> INSTANCE = new LongConverter();
+ public static final IConverter INSTANCE = new LongConverter();
/**
* @see org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,Locale)
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/ShortConverter.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/ShortConverter.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/ShortConverter.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/ShortConverter.java Sun Nov 16 14:04:19 2008
@@ -27,14 +27,14 @@
* @author Eelco Hillenius
* @author Jonathan Locke
*/
-public final class ShortConverter extends AbstractIntegerConverter<Short>
+public class ShortConverter extends AbstractIntegerConverter
{
private static final long serialVersionUID = 1L;
/**
* The singleton instance for a short converter
*/
- public static final IConverter<Short> INSTANCE = new ShortConverter();
+ public static final IConverter INSTANCE = new ShortConverter();
/**
* @see org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,Locale)
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/SqlDateConverter.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/SqlDateConverter.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/SqlDateConverter.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/SqlDateConverter.java Sun Nov 16 14:04:19 2008
@@ -25,7 +25,7 @@
/**
* Converts to {@link java.sql.Date}.
*/
-public class SqlDateConverter extends AbstractConverter<Date>
+public class SqlDateConverter extends AbstractConverter
{
private static final long serialVersionUID = 1L;
@@ -49,7 +49,7 @@
* java.util.Locale)
*/
@Override
- public String convertToString(final Date value, Locale locale)
+ public String convertToString(final Object value, Locale locale)
{
final DateFormat dateFormat = getDateFormat(locale);
if (dateFormat != null)
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/SqlTimeConverter.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/SqlTimeConverter.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/SqlTimeConverter.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/SqlTimeConverter.java Sun Nov 16 14:04:19 2008
@@ -27,7 +27,7 @@
/**
* Converts to {@link Time}.
*/
-public class SqlTimeConverter extends AbstractConverter<Time>
+public class SqlTimeConverter extends AbstractConverter
{
private static final long serialVersionUID = 1L;
@@ -56,13 +56,13 @@
}
@Override
- public String convertToString(final Time value, Locale locale)
+ public String convertToString(final Object value, Locale locale)
{
if (value == null)
return null;
if (locale == null)
locale = Locale.getDefault();
- Time time = value;
+ Time time = (Time)value;
DateFormat format = DateFormat.getTimeInstance(DateFormat.SHORT, locale);
return format.format(time);
}
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/SqlTimestampConverter.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/SqlTimestampConverter.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/SqlTimestampConverter.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/SqlTimestampConverter.java Sun Nov 16 14:04:19 2008
@@ -29,7 +29,7 @@
*
* @author eelcohillenius
*/
-public class SqlTimestampConverter extends AbstractConverter<Timestamp>
+public class SqlTimestampConverter extends AbstractConverter
{
private static final long serialVersionUID = 1L;
@@ -57,13 +57,13 @@
}
@Override
- public String convertToString(final Timestamp value, Locale locale)
+ public String convertToString(final Object value, Locale locale)
{
if (value == null)
return null;
if (locale == null)
locale = Locale.getDefault();
- Timestamp timestamp = value;
+ Timestamp timestamp = (Timestamp)value;
DateFormat format = DateFormat.getTimeInstance(DateFormat.SHORT, locale);
return format.format(timestamp);
}
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/ZeroPaddingIntegerConverter.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/ZeroPaddingIntegerConverter.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/ZeroPaddingIntegerConverter.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/convert/converters/ZeroPaddingIntegerConverter.java Sun Nov 16 14:04:19 2008
@@ -25,7 +25,7 @@
* @author Jonathan Locke
* @author Al Maw
*/
-public final class ZeroPaddingIntegerConverter extends AbstractIntegerConverter<Integer>
+public class ZeroPaddingIntegerConverter extends AbstractIntegerConverter
{
private static final long serialVersionUID = 1L;
@@ -47,7 +47,7 @@
* java.util.Locale)
*/
@Override
- public String convertToString(Integer value, Locale locale)
+ public String convertToString(Object value, Locale locale)
{
String result = super.convertToString(value, locale);
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/crypt/AbstractCrypt.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/crypt/AbstractCrypt.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/crypt/AbstractCrypt.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/crypt/AbstractCrypt.java Sun Nov 16 14:04:19 2008
@@ -68,7 +68,7 @@
}
catch (UnsupportedEncodingException ex)
{
- throw new WicketRuntimeException(ex.getMessage());
+ throw new WicketRuntimeException("Error decoding text: " + text, ex);
}
}
@@ -125,7 +125,7 @@
* @throws GeneralSecurityException
*/
protected abstract byte[] crypt(final byte[] input, final int mode)
- throws GeneralSecurityException;
+ throws GeneralSecurityException;
/**
* Decrypts an encrypted, but Base64 decoded byte array into a byte array.
@@ -142,8 +142,8 @@
}
catch (GeneralSecurityException e)
{
- throw new WicketRuntimeException("Unable to decrypt the text '" + encrypted.toString() +
- "'", e);
+ throw new WicketRuntimeException("Unable to decrypt the text '" +
+ new String(encrypted) + "'", e);
}
}
@@ -156,7 +156,7 @@
* @throws GeneralSecurityException
*/
private final byte[] encryptStringToByteArray(final String plainText)
- throws GeneralSecurityException
+ throws GeneralSecurityException
{
try
{
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/file/Files.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/file/Files.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/file/Files.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/file/Files.java Sun Nov 16 14:04:19 2008
@@ -76,7 +76,7 @@
public static String filename(final String path)
{
return Strings.lastPathComponent(path.replace('/', java.io.File.separatorChar),
- java.io.File.separatorChar);
+ java.io.File.separatorChar);
}
/**
@@ -92,7 +92,8 @@
if (!file.delete())
{
// NOTE: fix for java/win bug. see:
- // http://forum.java.sun.com/thread.jsp?forum=4&thread=158689&tstart=0&trange=15
+ // http://forum.java.sun.com/thread.jsp?forum=4&thread=158689&tstart=
+ // 0&trange=15
System.gc();
try
{
@@ -119,7 +120,7 @@
* @throws IOException
*/
public static final int writeTo(final java.io.File file, final InputStream input)
- throws IOException
+ throws IOException
{
final FileOutputStream out = new FileOutputStream(file);
try
@@ -132,10 +133,32 @@
}
}
+ private static String FORBIDDEN_IN_NAME = new String("\"*/:<>?\\|,");
+
+ /**
+ * <p>
+ * Replaces commonly unsupported characters with '_'
+ * </p>
+ *
+ * @param filename
+ * to be cleaned
+ * @return cleaned filename
+ */
+ public static final String cleanupFilename(final String filename)
+ {
+ String name = filename;
+ for (int i = 0; i < FORBIDDEN_IN_NAME.length(); i++)
+ {
+ name = name.replace(FORBIDDEN_IN_NAME.charAt(i), '_');
+ }
+ return name;
+ }
+
/**
* Private constructor to prevent instantiation.
*/
private Files()
{
}
+
}
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/io/WicketObjectOutputStream.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/io/WicketObjectOutputStream.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/io/WicketObjectOutputStream.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/io/WicketObjectOutputStream.java Sun Nov 16 14:04:19 2008
@@ -625,6 +625,7 @@
/**
* @see java.io.ObjectOutputStream#writeFields()
*/
+ @SuppressWarnings("deprecation")
@Override
public void writeFields() throws IOException
{
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolver.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolver.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolver.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolver.java Sun Nov 16 14:04:19 2008
@@ -36,23 +36,27 @@
* NOTE: THIS CLASS IS NOT PART OF THE WICKET PUBLIC API, DO NOT USE IT UNLESS YOU KNOW WHAT YOU ARE
* DOING.
* <p>
- * This class parses expressions to lookup or set a value on the object that is given. <br/> The
- * supported expressions are:
+ * This class parses expressions to lookup or set a value on the object that is given. <br/>
+ * The supported expressions are:
* <p>
* "property": This can can then be a bean property with get and set method. Or if a map is given as
* an object it will be lookup with the property as a key when there is not get method for that
- * property. <p/>
+ * property.
+ * <p/>
* <p>
* "property1.property2": Both properties are lookup as written above. If property1 evaluates to
* null then if there is a setMethod (or if it is a map) and the Class of the property has a default
- * constructor then the object will be constructed and set on the object. <p/>
+ * constructor then the object will be constructed and set on the object.
+ * <p/>
* <p>
* "property.index": If the property is a List or Array then the second property can be a index on
* that list like: 'mylist.0' this expression will also map on a getProperty(index) or
* setProperty(index,value) methods. If the object is a List then the list will grow automatically
- * if the index is greater then the size <p/>
+ * if the index is greater then the size
+ * <p/>
* <p>
- * Index or map properties can also be written as: "property[index]" or "property[key]" <p/>
+ * Index or map properties can also be written as: "property[index]" or "property[key]"
+ * <p/>
*
* @author jcompagner
*/
@@ -721,7 +725,7 @@
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#setValue( Object, Object,
+ * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#setValue(Object, Object,
* PropertyResolverConverter)
*/
@SuppressWarnings("unchecked")
@@ -759,7 +763,7 @@
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#setValue( Object, Object,
+ * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#setValue(Object, Object,
* PropertyResolverConverter)
*/
@SuppressWarnings("unchecked")
@@ -816,7 +820,7 @@
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#setValue( Object, Object,
+ * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#setValue(Object, Object,
* PropertyResolverConverter)
*/
public void setValue(Object object, Object value, PropertyResolverConverter converter)
@@ -869,7 +873,7 @@
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#setValue( Object, Object,
+ * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#setValue(Object, Object,
* PropertyResolverConverter)
*/
public void setValue(Object object, Object value, PropertyResolverConverter converter)
@@ -946,7 +950,7 @@
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#setValue( Object, Object,
+ * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#setValue(Object, Object,
* PropertyResolverConverter)
*/
public void setValue(Object object, Object value, PropertyResolverConverter converter)
@@ -1106,7 +1110,8 @@
else
{
throw new WicketRuntimeException("no set method defined for value: " + value +
- " on object: " + object);
+ " on object: " + object + " while respective getMethod being " +
+ getMethod.getName());
}
}
@@ -1274,7 +1279,7 @@
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#setValue( Object, Object,
+ * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#setValue(Object, Object,
* PropertyResolverConverter)
*/
public void setValue(Object object, Object value, PropertyResolverConverter converter)
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolverConverter.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolverConverter.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolverConverter.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolverConverter.java Sun Nov 16 14:04:19 2008
@@ -51,7 +51,8 @@
* @param clz
* @return The converted object
*/
- public Object convert(Object object, Class/* <?> */clz)
+ @SuppressWarnings("unchecked")
+ public Object convert(Object object, Class<?> clz)
{
if (object == null)
{
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/string/JavascriptStripper.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/string/JavascriptStripper.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/string/JavascriptStripper.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/string/JavascriptStripper.java Sun Nov 16 14:04:19 2008
@@ -19,7 +19,7 @@
/**
* Strips comments and whitespace from javascript
- *
+ *
* @author Matej Knopp
*/
public class JavascriptStripper
@@ -68,7 +68,7 @@
/**
* Removes javascript comments and whitespace from specified string.
- *
+ *
* @param original
* Source string
* @return String with removed comments and whitespace
@@ -122,7 +122,8 @@
idx--;
continue;
}
- if (tmp == '=' || tmp == '(' || tmp == '{' || tmp == ':' || tmp == ',')
+ if (tmp == '=' || tmp == '(' || tmp == '{' || tmp == ':' || tmp == ',' ||
+ tmp == '[')
{
state = REG_EXP;
break;
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/string/Strings.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/string/Strings.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/string/Strings.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/string/Strings.java Sun Nov 16 14:04:19 2008
@@ -889,6 +889,13 @@
if (ixSemiColon != -1)
{
int ixEnd = path.indexOf("?");
+
+ if (ixEnd <= ixSemiColon)
+ {
+ // ? is before ; - no jsessionid in the url
+ return url.toString();
+ }
+
if (ixEnd == -1)
{
ixEnd = path.length();
Added: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/string/UrlUtils.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/string/UrlUtils.java?rev=718123&view=auto
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/string/UrlUtils.java (added)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/string/UrlUtils.java Sun Nov 16 14:04:19 2008
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.util.string;
+
+import org.apache.wicket.Request;
+
+/**
+ * Various url utilities
+ *
+ * @author igor.vaynberg
+ */
+public class UrlUtils
+{
+ /**
+ * Constructor
+ */
+ private UrlUtils()
+ {
+
+ }
+
+ /**
+ * Checks if the url is relative or absolute
+ *
+ * @param url
+ * @return <code>true</code> if url is relative, <code>false</code> otherwise
+ */
+ public static boolean isRelative(String url)
+ {
+ if ((url != null) && (url.startsWith("/") == false) && (url.indexOf("://") < 0) &&
+ !(url.startsWith("#")))
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ /**
+ * Rewrites a relative url to be context relative, leaves absolute urls same.
+ *
+ * @param url
+ * @param request
+ * @return rewritten url
+ */
+ public static String rewriteToContextRelative(String url, Request request)
+ {
+ if (isRelative(url))
+ {
+ final String prefix = request.getRelativePathPrefixToContextRoot();
+ return prefix + url;
+ }
+ else
+ {
+ return url;
+ }
+ }
+}
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/template/TextTemplateLink.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/template/TextTemplateLink.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/template/TextTemplateLink.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/template/TextTemplateLink.java Sun Nov 16 14:04:19 2008
@@ -26,9 +26,11 @@
* useful for creating dynamic JNLP descriptors, among other things.
*
* @author Jonathan Locke
+ * @param <T>
+ * type of model object
* @since 1.2.6
*/
-public class TextTemplateLink extends ResourceLink
+public class TextTemplateLink<T> extends ResourceLink<T>
{
private static final long serialVersionUID = 1L;
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java Sun Nov 16 14:04:19 2008
@@ -72,8 +72,8 @@
/**
* A helper class to ease unit testing of Wicket applications without the need for a servlet
- * container. See javadoc of <code>WicketTester</code> for example usage. This class can be used
- * as is, but JUnit users should use derived class <code>WicketTester</code>.
+ * container. See javadoc of <code>WicketTester</code> for example usage. This class can be used as
+ * is, but JUnit users should use derived class <code>WicketTester</code>.
*
* @see WicketTester
*
@@ -139,8 +139,8 @@
}
/**
- * Creates <code>WicketTester</code> and automatically create a <code>WebApplication</code>,
- * but the tester will have no home page.
+ * Creates <code>WicketTester</code> and automatically create a <code>WebApplication</code>, but
+ * the tester will have no home page.
*/
public BaseWicketTester()
{
@@ -202,8 +202,8 @@
* @param application
* a <code>WicketTester</code> <code>WebApplication</code> object
* @param path
- * the absolute path on disk to the <code>WebApplication</code>'s contents (e.g.
- * war root) - may be <code>null</code>
+ * the absolute path on disk to the <code>WebApplication</code>'s contents (e.g. war
+ * root) - may be <code>null</code>
*
* @see org.apache.wicket.protocol.http.MockWebApplication#MockWebApplication(org.apache.wicket.protocol.http.WebApplication,
* String)
@@ -214,9 +214,9 @@
}
/**
- * Renders a <code>Page</code> defined in <code>TestPageSource</code>. This is usually used
- * when a page does not have default constructor. For example, a <code>ViewBook</code> page
- * requires a <code>Book</code> instance:
+ * Renders a <code>Page</code> defined in <code>TestPageSource</code>. This is usually used when
+ * a page does not have default constructor. For example, a <code>ViewBook</code> page requires
+ * a <code>Book</code> instance:
*
* <pre>
* tester.startPage(new TestPageSource()
@@ -350,9 +350,9 @@
}
/**
- * Renders a <code>Panel</code> defined in <code>TestPanelSource</code>. The usage is
- * similar to {@link #startPage(ITestPageSource)}. Please note that testing <code>Panel</code>
- * must use the supplied <code>panelId<code> as a <code>Component</code> id.
+ * Renders a <code>Panel</code> defined in <code>TestPanelSource</code>. The usage is similar to
+ * {@link #startPage(ITestPageSource)}. Please note that testing <code>Panel</code> must use the
+ * supplied <code>panelId<code> as a <code>Component</code> id.
*
* <pre>
* tester.startPanel(new TestPanelSource()
@@ -523,7 +523,7 @@
*/
public <C extends Page> Result isPageLink(String path, Class<C> expectedPageClass)
{
- PageLink pageLink = (PageLink)getComponentFromLastRenderedPage(path);
+ PageLink<?> pageLink = (PageLink<?>)getComponentFromLastRenderedPage(path);
try
{
Field iPageLinkField = pageLink.getClass().getDeclaredField("pageLink");
@@ -677,7 +677,7 @@
"not be invoked when AJAX (javascript) is disabled.");
}
- AjaxLink link = (AjaxLink)linkComponent;
+ AjaxLink<?> link = (AjaxLink<?>)linkComponent;
setupRequestAndResponse(true);
WebRequestCycle requestCycle = createRequestCycle();
@@ -695,7 +695,7 @@
// Link.
else if (linkComponent instanceof AjaxFallbackLink && isAjax)
{
- AjaxFallbackLink link = (AjaxFallbackLink)linkComponent;
+ AjaxFallbackLink<?> link = (AjaxFallbackLink<?>)linkComponent;
setupRequestAndResponse(true);
WebRequestCycle requestCycle = createRequestCycle();
@@ -769,7 +769,7 @@
*/
if (link instanceof BookmarkablePageLink)
{
- BookmarkablePageLink bookmarkablePageLink = (BookmarkablePageLink)link;
+ BookmarkablePageLink<?> bookmarkablePageLink = (BookmarkablePageLink<?>)link;
try
{
Field parametersField = BookmarkablePageLink.class.getDeclaredField("parameters");
@@ -810,8 +810,8 @@
}
/**
- * Sets a parameter for the <code>Component</code> with the given path to be used with the
- * next request.
+ * Sets a parameter for the <code>Component</code> with the given path to be used with the next
+ * request.
* <p>
* NOTE: this method only works when a <code>Page</code> was rendered first.
*
@@ -875,8 +875,8 @@
/**
* Asserts last rendered <code>Page</code> against an expected HTML document.
* <p>
- * Use <code>-Dwicket.replace.expected.results=true</code> to automatically replace the
- * expected output file.
+ * Use <code>-Dwicket.replace.expected.results=true</code> to automatically replace the expected
+ * output file.
* </p>
*
* @param pageClass
@@ -978,8 +978,8 @@
}
/**
- * Dumps the <code>Component</code> trees to log. Show only the <code>Component</code>s
- * whose paths contain the filter <code>String</code>.
+ * Dumps the <code>Component</code> trees to log. Show only the <code>Component</code>s whose
+ * paths contain the filter <code>String</code>.
*
* @param filter
* a filter <code>String</code>
@@ -999,13 +999,13 @@
}
/**
- * Tests that a <code>Component</code> has been added to a <code>AjaxRequestTarget</code>,
- * using {@link AjaxRequestTarget#addComponent(Component)}. This method actually tests that a
+ * Tests that a <code>Component</code> has been added to a <code>AjaxRequestTarget</code>, using
+ * {@link AjaxRequestTarget#addComponent(Component)}. This method actually tests that a
* <code>Component</code> is on the Ajax response sent back to the client.
* <p>
- * PLEASE NOTE! This method doesn't actually insert the <code>Component</code> in the client
- * DOM tree, using Javascript. But it shouldn't be needed because you have to trust that the
- * Wicket Ajax Javascript just works.
+ * PLEASE NOTE! This method doesn't actually insert the <code>Component</code> in the client DOM
+ * tree, using Javascript. But it shouldn't be needed because you have to trust that the Wicket
+ * Ajax Javascript just works.
*
* @param component
* the <code>Component</code> to test
@@ -1092,8 +1092,8 @@
* ...
* </pre>
*
- * You can then test that the code inside <code>onEvent</code> actually does what it's
- * supposed to, using the <code>WicketTester</code>:
+ * You can then test that the code inside <code>onEvent</code> actually does what it's supposed
+ * to, using the <code>WicketTester</code>:
*
* <pre>
* ...
@@ -1105,17 +1105,16 @@
* This also works with <code>AjaxFormSubmitBehavior</code>, where it will "submit" the
* <code>Form</code> before executing the command.
* <p>
- * PLEASE NOTE! This method doesn't actually insert the <code>Component</code> in the client
- * DOM tree, using Javascript.
+ * PLEASE NOTE! This method doesn't actually insert the <code>Component</code> in the client DOM
+ * tree, using Javascript.
*
*
* @param component
- * the <code>Component</code> that has the <code>AjaxEventBehavior</code> we want
- * to test. If the <code>Component</code> is <code>null</code>, the test will
- * fail.
+ * the <code>Component</code> that has the <code>AjaxEventBehavior</code> we want to
+ * test. If the <code>Component</code> is <code>null</code>, the test will fail.
* @param event
- * the event to simulate being fired. If <code>event</code> is <code>null</code>,
- * the test will fail.
+ * the event to simulate being fired. If <code>event</code> is <code>null</code>, the
+ * test will fail.
*/
public void executeAjaxEvent(Component component, String event)
{
@@ -1148,19 +1147,8 @@
failMessage = "No AjaxEventBehavior found on component: " + component.getId() +
" which matches the event: " + event;
notNull(failMessage, ajaxEventBehavior);
+ WebRequestCycle requestCycle = resolveRequestCycle();
- // initialize the request only if needed to allow the user to pass
- // request parameters, see
- // WICKET-254
- WebRequestCycle requestCycle;
- if (RequestCycle.get() == null)
- {
- requestCycle = setupRequestAndResponse(true);
- }
- else
- {
- requestCycle = (WebRequestCycle)RequestCycle.get();
- }
// when the requestcycle is not created via setupRequestAndResponse(true), it can happen
// that the request is not an ajax request -> we have to set the header manually
if (!requestCycle.getWebRequest().isAjax())
@@ -1185,10 +1173,27 @@
processRequestCycle(requestCycle);
}
+ protected WebRequestCycle resolveRequestCycle()
+ {
+ // initialize the request only if needed to allow the user to pass
+ // request parameters, see
+ // WICKET-254
+ WebRequestCycle requestCycle;
+ if (RequestCycle.get() == null)
+ {
+ requestCycle = setupRequestAndResponse(true);
+ }
+ else
+ {
+ requestCycle = (WebRequestCycle)RequestCycle.get();
+ }
+ return requestCycle;
+ }
+
/**
* Retrieves a <code>TagTester</code> based on a <code>wicket:id</code>. If more
- * <code>Component</code>s exist with the same <code>wicket:id</code> in the markup, only
- * the first one is returned.
+ * <code>Component</code>s exist with the same <code>wicket:id</code> in the markup, only the
+ * first one is returned.
*
* @param wicketId
* the <code>wicket:id</code> to search for
@@ -1201,8 +1206,8 @@
}
/**
- * Retrieves a <code>TagTester</code> based on an DOM id. If more <code>Component</code>s
- * exist with the same id in the markup, only the first one is returned.
+ * Retrieves a <code>TagTester</code> based on an DOM id. If more <code>Component</code>s exist
+ * with the same id in the markup, only the first one is returned.
*
* @param id
* the DOM id to search for.
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/tester/DummyHomePage.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/tester/DummyHomePage.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/tester/DummyHomePage.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/tester/DummyHomePage.java Sun Nov 16 14:04:19 2008
@@ -31,7 +31,7 @@
private transient ITestPageSource testPageSource;
- private final Link testPageLink;
+ private final Link<?> testPageLink;
/**
* Constructor.
@@ -59,7 +59,7 @@
*
* @return the test page <code>Link</code>
*/
- public Link getTestPageLink()
+ public Link<?> getTestPageLink()
{
return testPageLink;
}
@@ -67,7 +67,7 @@
/**
* <code>TestLink</code> class.
*/
- public class TestLink extends Link
+ public class TestLink extends Link<Void>
{
private static final long serialVersionUID = 1L;
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/tester/WicketTester.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/tester/WicketTester.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/tester/WicketTester.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/tester/WicketTester.java Sun Nov 16 14:04:19 2008
@@ -36,7 +36,6 @@
import org.apache.wicket.protocol.http.HttpSessionStore;
import org.apache.wicket.protocol.http.MockHttpServletResponse;
import org.apache.wicket.protocol.http.SecondLevelCacheSessionStore;
-import org.apache.wicket.protocol.http.UnitTestSettings;
import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.protocol.http.WebResponse;
import org.apache.wicket.protocol.http.SecondLevelCacheSessionStore.IPageStore;
@@ -114,8 +113,8 @@
* </pre>
*
* <code>tester.clickLink(path);</code> will simulate user click on the component (in this case,
- * it's a <code>Link</code>) and render the response page <code>YourPage</code>. Ok, unit test
- * of <code>MyPage</code> is completed. Now we test <code>YourPage</code> standalone:
+ * it's a <code>Link</code>) and render the response page <code>YourPage</code>. Ok, unit test of
+ * <code>MyPage</code> is completed. Now we test <code>YourPage</code> standalone:
*
* <pre>
* //test code
@@ -140,8 +139,8 @@
* {@link org.apache.wicket.util.tester.ITestPageSource} to provide testing page instance for
* <code>WicketTester</code>. This is necessary because <code>YourPage</code> uses a custom
* constructor, which is very common for transferring model data, but cannot be instantiated by
- * reflection. Finally, we use <code>assertInfoMessages</code> to assert there is a feedback
- * message "Wicket Rocks ;-)" at the INFO level.
+ * reflection. Finally, we use <code>assertInfoMessages</code> to assert there is a feedback message
+ * "Wicket Rocks ;-)" at the INFO level.
*
* TODO General: Example usage of FormTester
*
@@ -310,16 +309,12 @@
* the absolute path on disk to the web application's contents (e.g. war root) - may
* be <code>null</code>
*
- * @see org.apache.wicket.protocol.http.MockWebApplication#MockWebApplication(
- * org.apache.wicket.protocol.http.WebApplication, String)
+ * @see org.apache.wicket.protocol.http.MockWebApplication#MockWebApplication(org.apache.wicket.protocol.http.WebApplication,
+ * String)
*/
public WicketTester(final WebApplication application, final String path)
{
super(application, path);
-
- // We need to turn this on for unit testing so that url encoding will be
- // done on sorted maps of parameters and they will string compare
- UnitTestSettings.setSortUrlParameters(true);
}
@@ -361,13 +356,13 @@
}
/**
- * Tests that a <code>Component</code> has been added to a <code>AjaxRequestTarget</code>,
- * using {@link AjaxRequestTarget#addComponent(Component)}. This method actually tests that a
+ * Tests that a <code>Component</code> has been added to a <code>AjaxRequestTarget</code>, using
+ * {@link AjaxRequestTarget#addComponent(Component)}. This method actually tests that a
* <code>Component</code> is on the Ajax response sent back to the client.
* <p>
- * PLEASE NOTE! This method doesn't actually insert the <code>Component</code> in the client
- * DOM tree, using Javascript. But it shouldn't be needed because you just have to trust that
- * Wicket Ajax Javascript works.
+ * PLEASE NOTE! This method doesn't actually insert the <code>Component</code> in the client DOM
+ * tree, using Javascript. But it shouldn't be needed because you just have to trust that Wicket
+ * Ajax Javascript works.
*
* @param component
* a <code>Component</code> to be tested
@@ -379,13 +374,13 @@
}
/**
- * Tests that a <code>Component</code> has been added to a <code>AjaxRequestTarget</code>,
- * using {@link AjaxRequestTarget#addComponent(Component)}. This method actually tests that a
+ * Tests that a <code>Component</code> has been added to a <code>AjaxRequestTarget</code>, using
+ * {@link AjaxRequestTarget#addComponent(Component)}. This method actually tests that a
* <code>Component</code> is on the Ajax response sent back to the client.
* <p>
- * PLEASE NOTE! This method doesn't actually insert the <code>Component</code> in the client
- * DOM tree, using Javascript. But it shouldn't be needed because you just have to trust that
- * Wicket Ajax Javascript works.
+ * PLEASE NOTE! This method doesn't actually insert the <code>Component</code> in the client DOM
+ * tree, using Javascript. But it shouldn't be needed because you just have to trust that Wicket
+ * Ajax Javascript works.
*
* @param componentPath
* a <code>Component</code> path to test
@@ -485,7 +480,7 @@
@Override
public void assertListView(String path, List<?> expectedList)
{
- ListView listView = (ListView)getComponentFromLastRenderedPage(path);
+ ListView<?> listView = (ListView<?>)getComponentFromLastRenderedPage(path);
WicketTesterHelper.assertEquals(expectedList, listView.getList());
}
@@ -494,7 +489,7 @@
*/
public void assertNoErrorMessage()
{
- List messages = getMessages(FeedbackMessage.ERROR);
+ List<Serializable> messages = getMessages(FeedbackMessage.ERROR);
Assert.assertTrue("expect no error message, but contains\n" +
WicketTesterHelper.asLined(messages), messages.isEmpty());
}
@@ -504,7 +499,7 @@
*/
public void assertNoInfoMessage()
{
- List messages = getMessages(FeedbackMessage.INFO);
+ List<Serializable> messages = getMessages(FeedbackMessage.INFO);
Assert.assertTrue("expect no info message, but contains\n" +
WicketTesterHelper.asLined(messages), messages.isEmpty());
}
@@ -517,7 +512,7 @@
* @param expectedPageClass
* expected <code>Page</code> class to link
*/
- public void assertPageLink(String path, Class expectedPageClass)
+ public void assertPageLink(String path, Class<? extends Page> expectedPageClass)
{
assertResult(isPageLink(path, expectedPageClass));
}
@@ -528,7 +523,7 @@
* @param expectedRenderedPageClass
* expected class of last rendered <code>Page</code>
*/
- public void assertRenderedPage(Class expectedRenderedPageClass)
+ public void assertRenderedPage(Class<? extends Page> expectedRenderedPageClass)
{
assertResult(isRenderedPage(expectedRenderedPageClass));
}
@@ -536,18 +531,17 @@
/**
* Asserts last-rendered <code>Page</code> against an expected HTML document.
* <p>
- * Use <code>-Dwicket.replace.expected.results=true</code> to automatically replace the
- * expected output file.
+ * Use <code>-Dwicket.replace.expected.results=true</code> to automatically replace the expected
+ * output file.
*
* @param clazz
- * <code>Class</code> used to load the file (relative to <code>clazz</code>
- * package)
+ * <code>Class</code> used to load the file (relative to <code>clazz</code> package)
* @param filename
* expected output filename <code>String</code>
* @throws Exception
*/
@Override
- public void assertResultPage(final Class clazz, final String filename) throws Exception
+ public void assertResultPage(final Class<?> clazz, final String filename) throws Exception
{
String document = getServletResponse().getDocument();
setupRequestAndResponse();
Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/tester/WicketTesterHelper.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/tester/WicketTesterHelper.java?rev=718123&r1=718122&r2=718123&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/tester/WicketTesterHelper.java (original)
+++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/util/tester/WicketTesterHelper.java Sun Nov 16 14:04:19 2008
@@ -67,11 +67,11 @@
*/
public static List<WicketTesterHelper.ComponentData> getComponentData(final Page page)
{
- final List data = new ArrayList();
+ final List<ComponentData> data = new ArrayList<ComponentData>();
if (page != null)
{
- page.visitChildren(new IVisitor()
+ page.visitChildren(new IVisitor<Component>()
{
public Object component(final Component component)
{
@@ -114,7 +114,7 @@
* @param actuals
* a <code>Collection</code> object
*/
- public static void assertEquals(final Collection expects, final Collection actuals)
+ public static void assertEquals(final Collection<?> expects, final Collection<?> actuals)
{
if (!expects.containsAll(actuals) || !actuals.containsAll(expects))
{
@@ -130,7 +130,8 @@
* @param actuals
* a <code>Collection</code> object
*/
- public static void failWithVerboseMessage(final Collection expects, final Collection actuals)
+ public static void failWithVerboseMessage(final Collection<?> expects,
+ final Collection<?> actuals)
{
Assert.fail("\nexpect (" + expects.size() + "):\n" + asLined(expects) + "\nbut was (" +
actuals.size() + "):\n" + asLined(actuals));
@@ -143,10 +144,10 @@
* a <code>Collection</code> object
* @return a <code>String</code> representation of the <code>Collection</code>
*/
- public static String asLined(final Collection objects)
+ public static String asLined(final Collection<?> objects)
{
StringBuffer lined = new StringBuffer();
- for (Iterator iter = objects.iterator(); iter.hasNext();)
+ for (Iterator<?> iter = objects.iterator(); iter.hasNext();)
{
String objectString = iter.next().toString();
lined.append(" ");