WICKET-6105 Decommission wicket-datetime

Move DateLabel and all Date formatters from wicket-datetime to 
wicket-extensions module
WIP!

WIP: Move some more code from -datetime to -extensions while trying to keep old 
APIs (j.u.Date based ones) available for easier migration


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/2bb684c1
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/2bb684c1
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/2bb684c1

Branch: refs/heads/master
Commit: 2bb684c11a1d8b91db5c3d3040da734ed357a2bc
Parents: 9e3e167
Author: Martin Tzvetanov Grigorov <[email protected]>
Authored: Fri Feb 26 23:28:11 2016 +0100
Committer: Sven Meier <[email protected]>
Committed: Tue Oct 17 22:32:39 2017 +0200

----------------------------------------------------------------------
 NOTICE                                          |    6 -
 README.md                                       |    4 -
 pom.xml                                         |    6 -
 testing/wicket-common-tests/pom.xml             |    5 -
 testing/wicket-js-tests/Gruntfile.js            |    4 -
 .../markup/html/form/FormComponentPanel.java    |    3 +-
 wicket-datetime/pom.xml                         |   64 -
 .../apache/wicket/datetime/DateConverter.java   |  219 -
 .../wicket/datetime/PatternDateConverter.java   |  104 -
 .../wicket/datetime/StyleDateConverter.java     |  122 -
 .../datetime/markup/html/basic/DateLabel.java   |  304 -
 .../markup/html/form/DateTextField.java         |  243 -
 .../org/apache/wicket/extensions/yui/VERSION    |    2 -
 .../apache/wicket/extensions/yui/YuiLib.java    |   71 -
 .../extensions/yui/assets/skins/sam/sprite.png  |  Bin 3745 -> 0 bytes
 .../yui/calendar/AbstractCalendar.java          |  260 -
 .../extensions/yui/calendar/DateField.java      |   81 -
 .../extensions/yui/calendar/DatePicker.java     |  890 ---
 .../extensions/yui/calendar/DatePicker.js       |   21 -
 .../extensions/yui/calendar/DatePickerInit.js   |   57 -
 .../extensions/yui/calendar/DateTimeField.html  |   26 -
 .../extensions/yui/calendar/DateTimeField.java  |  616 --
 .../extensions/yui/calendar/TimeField.java      |   71 -
 .../yui/calendar/assets/skins/sam/calendar.css  |    8 -
 .../extensions/yui/calendar/calendar-min.js     |   18 -
 .../wicket/extensions/yui/calendar/calendar.js  | 7390 ------------------
 .../wicket/extensions/yui/calendar/icon1.gif    |  Bin 970 -> 0 bytes
 .../wicket/extensions/yui/calendar/icon2.gif    |  Bin 1083 -> 0 bytes
 .../wicket/extensions/yui/calendar/icon3.gif    |  Bin 1086 -> 0 bytes
 .../extensions/yui/calendar/wicket-date.js      |  432 -
 .../apache/wicket/extensions/yui/dom/dom-min.js |    9 -
 .../org/apache/wicket/extensions/yui/dom/dom.js | 1846 -----
 .../wicket/extensions/yui/event/event-min.js    |   11 -
 .../apache/wicket/extensions/yui/event/event.js | 2537 ------
 .../wicket/extensions/yui/yahoo/yahoo-min.js    |    8 -
 .../apache/wicket/extensions/yui/yahoo/yahoo.js | 1229 ---
 .../yui/yahoodomevent/yahoo-dom-event.js        |   14 -
 .../extensions/yui/yuiloader/yuiloader-min.js   |   11 -
 .../extensions/yui/yuiloader/yuiloader.js       | 4065 ----------
 .../src/main/resources/META-INF/NOTICE          |   14 -
 wicket-datetime/src/test/java/log4j.properties  |   18 -
 .../wicket/datetime/DateConverterTest.java      |   86 -
 .../extensions/yui/calendar/DatePickerTest.java |  763 --
 .../yui/calendar/DateTimeFieldTest.java         |   71 -
 .../extensions/yui/calendar/DatesPage1.html     |   25 -
 .../extensions/yui/calendar/DatesPage1.java     |  201 -
 .../yui/calendar/DatesPage1_ExpectedResult.html |  142 -
 .../extensions/yui/calendar/DatesPage2.html     |   11 -
 .../extensions/yui/calendar/DatesPage2.java     |   53 -
 .../util/license/ApacheLicenceHeaderTest.java   |   60 -
 .../util/markup/xhtml/WellFormedXmlTest.java    |   34 -
 wicket-examples/.tomcatplugin                   |    2 -
 wicket-examples/pom.xml                         |  124 +-
 .../ajax/builtin/modal/ModalContent1Page.html   |   12 +-
 .../ajax/builtin/modal/ModalContent1Page.java   |    9 +-
 .../ajax/builtin/modal/ModalContent2Page.java   |    1 +
 .../ajax/builtin/modal/ModalPanel1.java         |   21 +-
 .../ajax/builtin/modal/ModalWindowPage.java     |    6 +
 .../bean/validation/BeanValidationPage.html     |   21 +-
 .../bean/validation/BeanValidationPage.java     |   12 +-
 .../wicket/examples/bean/validation/Person.java |   12 +-
 .../wicket/examples/dates/DatesApplication.java |   32 -
 .../apache/wicket/examples/dates/DatesPage.html |   47 -
 .../apache/wicket/examples/dates/DatesPage.java |  217 -
 .../examples/datetime/DateTimeApplication.java  |   33 +
 .../wicket/examples/datetime/DateTimePage.html  |   34 +
 .../wicket/examples/datetime/DateTimePage.java  |   79 +
 .../src/main/resources/META-INF/NOTICE          |    3 -
 .../wicket/examples/homepage/HomePage.html      |    2 +-
 wicket-examples/src/main/webapp/WEB-INF/web.xml |   29 +-
 .../form/datetime/AbstractDateTimeField.html    |   23 +
 .../form/datetime/AbstractDateTimeField.java    |  244 +
 .../markup/html/form/datetime/DateField.java    |  252 +
 .../html/form/datetime/DateTimeField.java       |  123 +
 .../html/form/datetime/LocalDateConverter.java  |  104 +
 .../html/form/datetime/LocalTimeConverter.java  |  104 +
 .../form/datetime/PatternDateConverter.java     |   85 +
 .../form/datetime/PatternTimeConverter.java     |   85 +
 .../datetime/PatternZonedDateTimeConverter.java |   97 +
 .../html/form/datetime/StyleDateConverter.java  |  118 +
 .../html/form/datetime/StyleTimeConverter.java  |  114 +
 .../datetime/StyleZonedDateTimeConverter.java   |  168 +
 .../markup/html/form/datetime/TimeField.html    |   25 +
 .../markup/html/form/datetime/TimeField.java    |  520 ++
 .../form/datetime/ZonedDateTimeConverter.java   |  203 +
 .../html/form/datetime/ZonedDateTimeField.java  |  154 +
 .../html/form/datetime/DateConverterTest.java   |  109 +
 .../html/form/datetime/DateTimeFieldTest.java   |  172 +
 .../main/asciidoc/helloWorld/helloWorld_1.adoc  |    1 -
 89 files changed, 2970 insertions(+), 22662 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/2bb684c1/NOTICE
----------------------------------------------------------------------
diff --git a/NOTICE b/NOTICE
index c2b4544..7cc91f9 100644
--- a/NOTICE
+++ b/NOTICE
@@ -59,9 +59,6 @@ src/./wicket-examples
    This product includes ASM, released under a BSD style license 
(http://asm.objectweb.org).
    Copyright (c) 2000-2005 INRIA, France Telecom
 
-   This product includes software developed by
-   Joda.org (http://www.joda.org/).
-
    This product includes jhighlight (https://jhighlight.dev.java.net/)
    which is released under CDDL 1.0 license 
(http://www.opensource.org/licenses/cddl1.php).
 
@@ -114,9 +111,6 @@ src/./wicket-datetime
    http://developer.yahoo.net/yui/license.txt
    Copyright (c) 2010, Yahoo! Inc.
 
-   This product includes software developed by
-   Joda.org (http://www.joda.org/).
-
 ---------------------------------------------------------------------------
 src/./wicket-metrics
 ---------------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/wicket/blob/2bb684c1/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index 3ff8f95..a17dd27 100644
--- a/README.md
+++ b/README.md
@@ -157,10 +157,6 @@ the src/ folder.
        As the following projects all depend on wicket, they inherit these
     dependencies.
 
- - wicket-datetime:
-
-       Joda-Time 2.4 (http://joda-time.sourceforge.net/)
-
  - wicket-velocity:
 
     Apache Velocity 1.7 (http://velocity.apache.org/) and it's dependencies

http://git-wip-us.apache.org/repos/asf/wicket/blob/2bb684c1/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index a5cf4db..3c2657e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -89,7 +89,6 @@
                <module>wicket</module>
                <module>wicket-core</module>
                <module>wicket-util</module>
-               <module>wicket-datetime</module>
                <module>wicket-request</module>
                <module>wicket-devutils</module>
                <module>wicket-extensions</module>
@@ -248,11 +247,6 @@
                                <version>1</version>
                        </dependency>
                        <dependency>
-                               <groupId>joda-time</groupId>
-                               <artifactId>joda-time</artifactId>
-                               <version>${joda-time.version}</version>
-                       </dependency>
-                       <dependency>
                                <groupId>log4j</groupId>
                                <artifactId>log4j</artifactId>
                                <version>1.2.17</version>

http://git-wip-us.apache.org/repos/asf/wicket/blob/2bb684c1/testing/wicket-common-tests/pom.xml
----------------------------------------------------------------------
diff --git a/testing/wicket-common-tests/pom.xml 
b/testing/wicket-common-tests/pom.xml
index 62ccc61..a8a3750 100644
--- a/testing/wicket-common-tests/pom.xml
+++ b/testing/wicket-common-tests/pom.xml
@@ -59,11 +59,6 @@
                </dependency>
                <dependency>
                        <groupId>org.apache.wicket</groupId>
-                       <artifactId>wicket-datetime</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.wicket</groupId>
                        <artifactId>wicket-devutils</artifactId>
                        <scope>test</scope>
                </dependency>

http://git-wip-us.apache.org/repos/asf/wicket/blob/2bb684c1/testing/wicket-js-tests/Gruntfile.js
----------------------------------------------------------------------
diff --git a/testing/wicket-js-tests/Gruntfile.js 
b/testing/wicket-js-tests/Gruntfile.js
index 6cb79bd..29b746b 100644
--- a/testing/wicket-js-tests/Gruntfile.js
+++ b/testing/wicket-js-tests/Gruntfile.js
@@ -34,9 +34,6 @@ module.exports = function(grunt) {
                        
"../../wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js",
                        
"../../wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/wicket-filterform.js"
                ],
-               datetimeJs = [
-                       
"../../wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/wicket-date.js"
-               ],
                nativeWebSocketJs = [
                        
"../../wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/res/js/wicket-websocket-jquery.js"
                ],
@@ -75,7 +72,6 @@ module.exports = function(grunt) {
                jshint: {
                        core: coreJs,
                        extensions: extensionsJs,
-                       datetime: datetimeJs,
                        nativeWebSocket: nativeWebSocketJs,
                        testsJs: testsJs,
                        gymTestsJs: gymTestsJs,

http://git-wip-us.apache.org/repos/asf/wicket/blob/2bb684c1/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentPanel.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentPanel.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentPanel.java
index 0112614..c85772a 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentPanel.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentPanel.java
@@ -40,8 +40,7 @@ import org.apache.wicket.util.visit.IVisitor;
  * <p>
  * Here is a simple example of a panel with two components that multiplies and 
sets that as the
  * master model object. Note that for this simple example, setting the model 
value wouldn't make
- * sense, as the lhs and rhs cannot be known. For more complete examples of 
using this class, see
- * the wicket-datetime project.
+ * sense, as the lhs and rhs cannot be known.
  * </p>
  * 
  * <pre>

http://git-wip-us.apache.org/repos/asf/wicket/blob/2bb684c1/wicket-datetime/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-datetime/pom.xml b/wicket-datetime/pom.xml
deleted file mode 100644
index 26330c3..0000000
--- a/wicket-datetime/pom.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-   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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
-       <modelVersion>4.0.0</modelVersion>
-       <parent>
-               <groupId>org.apache.wicket</groupId>
-               <artifactId>wicket-parent</artifactId>
-               <version>8.0.0-SNAPSHOT</version>
-               <relativePath>../pom.xml</relativePath>
-       </parent>
-       <artifactId>wicket-datetime</artifactId>
-       <packaging>bundle</packaging>
-       <name>Wicket Date/Time</name>
-       <description>Date/Time components and utilities for Wicket</description>
-       <dependencies>
-               <dependency>
-                       <groupId>joda-time</groupId>
-                       <artifactId>joda-time</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.wicket</groupId>
-                       <artifactId>wicket-core</artifactId>
-               </dependency>
-       </dependencies>
-       <build>
-               <plugins>
-                       <plugin>
-                               <groupId>org.apache.felix</groupId>
-                               <artifactId>maven-bundle-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <id>bundle-manifest</id>
-                                               <phase>process-classes</phase>
-                                               <goals>
-                                                       <goal>manifest</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <instructions>
-                                                               <Export-Package>
-                                                                       
!org.apache.wicket.extensions.yui.yahoo-dom-event,* 
-                                                               
</Export-Package>
-                                                       </instructions>
-                                               </configuration>
-                                       </execution>
-                               </executions>
-                       </plugin>
-               </plugins>
-       </build>
-</project>

http://git-wip-us.apache.org/repos/asf/wicket/blob/2bb684c1/wicket-datetime/src/main/java/org/apache/wicket/datetime/DateConverter.java
----------------------------------------------------------------------
diff --git 
a/wicket-datetime/src/main/java/org/apache/wicket/datetime/DateConverter.java 
b/wicket-datetime/src/main/java/org/apache/wicket/datetime/DateConverter.java
deleted file mode 100644
index 1c752c6..0000000
--- 
a/wicket-datetime/src/main/java/org/apache/wicket/datetime/DateConverter.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * 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.datetime;
-
-import java.util.Date;
-import java.util.Locale;
-import java.util.TimeZone;
-
-import org.apache.wicket.Session;
-import org.apache.wicket.core.request.ClientInfo;
-import org.apache.wicket.protocol.http.request.WebClientInfo;
-import org.apache.wicket.util.convert.ConversionException;
-import org.apache.wicket.util.convert.IConverter;
-import org.apache.wicket.util.string.Strings;
-import org.joda.time.DateTime;
-import org.joda.time.DateTimeZone;
-import org.joda.time.format.DateTimeFormatter;
-
-
-/**
- * Base class for Joda Time based date converters. It contains the logic to 
parse and format,
- * optionally taking the time zone difference between clients and the server 
into account.
- * <p>
- * Converters of this class are best suited for per-component use.
- * </p>
- * 
- * @author eelcohillenius
- */
-public abstract class DateConverter implements IConverter<Date>
-{
-       private static final long serialVersionUID = 1L;
-
-       /**
-        * Whether to apply the time zone difference when interpreting dates.
-        */
-       private final boolean applyTimeZoneDifference;
-
-       /**
-        * Construct. </p> When applyTimeZoneDifference is true, the current 
time is applied on the
-        * parsed date, and the date will be corrected for the time zone 
difference between the server
-        * and the client. For instance, if I'm in Seattle and the server I'm 
working on is in
-        * Amsterdam, the server is 9 hours ahead. So, if I'm inputting say 
12/24 at a couple of hours
-        * before midnight, at the server it is already 12/25. If this boolean 
is true, it will be
-        * transformed to 12/25, while the client sees 12/24. </p>
-        * 
-        * @param applyTimeZoneDifference
-        *            whether to apply the difference in time zones between 
client and server
-        */
-       public DateConverter(boolean applyTimeZoneDifference)
-       {
-               this.applyTimeZoneDifference = applyTimeZoneDifference;
-       }
-
-       /**
-        * @see 
org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,
-        *      java.util.Locale)
-        */
-       @Override
-       public Date convertToObject(String value, Locale locale)
-       {
-               if (Strings.isEmpty(value))
-               {
-                       return null;
-               }
-
-               DateTimeFormatter format = getFormat(locale);
-               if (format == null)
-               {
-                       throw new IllegalStateException("format must be not 
null");
-               }
-
-               if (applyTimeZoneDifference)
-               {
-                       TimeZone zone = getClientTimeZone();
-                       DateTime dateTime;
-
-                       // set time zone for client
-                       format = format.withZone(getTimeZone());
-
-                       try
-                       {
-                               // parse date retaining the time of the 
submission
-                               dateTime = format.parseDateTime(value);
-                       }
-                       catch (RuntimeException e)
-                       {
-                               throw newConversionException(e, locale);
-                       }
-                       // apply the server time zone to the parsed value
-                       if (zone != null)
-                       {
-                               dateTime = 
dateTime.withZoneRetainFields(DateTimeZone.forTimeZone(zone));
-                       }
-
-                       return dateTime.toDate();
-               }
-               else
-               {
-                       try
-                       {
-                               DateTime date = format.parseDateTime(value);
-                               return date.toDate();
-                       }
-                       catch (RuntimeException e)
-                       {
-                               throw newConversionException(e, locale);
-                       }
-               }
-       }
-
-       /**
-        * Creates a ConversionException and sets additional context 
information to it.
-        *
-        * @param cause
-        *            - {@link RuntimeException} cause
-        * @param locale
-        *            - {@link Locale} used to set 'format' variable with 
localized pattern
-        * @return {@link ConversionException}
-        */
-       private ConversionException newConversionException(RuntimeException 
cause, Locale locale)
-       {
-               return new ConversionException(cause)
-                               .setVariable("format", getDatePattern(locale));
-       }
-
-       /**
-        * @see 
org.apache.wicket.util.convert.IConverter#convertToString(java.lang.Object,
-        *      java.util.Locale)
-        */
-       @Override
-       public String convertToString(Date value, Locale locale)
-       {
-               DateTime dt = new DateTime(value.getTime(), getTimeZone());
-               DateTimeFormatter format = getFormat(locale);
-
-               if (applyTimeZoneDifference)
-               {
-                       TimeZone zone = getClientTimeZone();
-                       if (zone != null)
-                       {
-                               // apply time zone to formatter
-                               format = 
format.withZone(DateTimeZone.forTimeZone(zone));
-                       }
-               }
-               return format.print(dt);
-       }
-
-       /**
-        * Gets whether to apply the time zone difference when interpreting 
dates.
-        * 
-        * </p> When true, the current time is applied on the parsed date, and 
the date will be
-        * corrected for the time zone difference between the server and the 
client. For instance, if
-        * I'm in Seattle and the server I'm working on is in Amsterdam, the 
server is 9 hours ahead.
-        * So, if I'm inputting say 12/24 at a couple of hours before midnight, 
at the server it is
-        * already 12/25. If this boolean is true, it will be transformed to 
12/25, while the client
-        * sees 12/24. </p>
-        * 
-        * @return whether to apply the difference in time zones between client 
and server
-        */
-       public final boolean getApplyTimeZoneDifference()
-       {
-               return applyTimeZoneDifference;
-       }
-
-       /**
-        * @param locale
-        *            The locale used to convert the value
-        * @return Gets the pattern that is used for printing and parsing
-        */
-       public abstract String getDatePattern(Locale locale);
-
-       /**
-        * Gets the client's time zone.
-        * 
-        * @return The client's time zone or null
-        */
-       protected TimeZone getClientTimeZone()
-       {
-               ClientInfo info = Session.get().getClientInfo();
-               if (info instanceof WebClientInfo)
-               {
-                       return 
((WebClientInfo)info).getProperties().getTimeZone();
-               }
-               return null;
-       }
-
-       /**
-        * @param locale
-        *            The locale used to convert the value
-        * 
-        * @return formatter The formatter for the current conversion
-        */
-       protected abstract DateTimeFormatter getFormat(Locale locale);
-
-       /**
-        * Gets the server time zone. Override this method if you want to fix 
to a certain time zone,
-        * regardless of what actual time zone the server is in.
-        * 
-        * @return The server time zone
-        */
-       protected DateTimeZone getTimeZone()
-       {
-               return DateTimeZone.getDefault();
-       }
-}

http://git-wip-us.apache.org/repos/asf/wicket/blob/2bb684c1/wicket-datetime/src/main/java/org/apache/wicket/datetime/PatternDateConverter.java
----------------------------------------------------------------------
diff --git 
a/wicket-datetime/src/main/java/org/apache/wicket/datetime/PatternDateConverter.java
 
b/wicket-datetime/src/main/java/org/apache/wicket/datetime/PatternDateConverter.java
deleted file mode 100644
index 7b257cb..0000000
--- 
a/wicket-datetime/src/main/java/org/apache/wicket/datetime/PatternDateConverter.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * 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.datetime;
-
-import java.text.SimpleDateFormat;
-import java.util.Locale;
-
-import org.apache.wicket.datetime.markup.html.form.DateTextField;
-import org.joda.time.DateTime;
-import org.joda.time.DateTimeZone;
-import org.joda.time.format.DateTimeFormat;
-import org.joda.time.format.DateTimeFormatter;
-
-
-/**
- * Date converter that uses Joda Time and can be configured to take the time 
zone difference between
- * clients and server into account. This converter is hard coded to use the 
provided custom date
- * pattern, no matter what current locale is used. See {@link 
SimpleDateFormat} for available
- * patterns.
- * <p>
- * This converter is especially suited on a per-component base.
- * </p>
- * 
- * @see SimpleDateFormat
- * @see StyleDateConverter
- * @see DateTextField
- * @see DateTime
- * @see DateTimeFormat
- * @see DateTimeZone
- * 
- * @author eelcohillenius
- */
-public class PatternDateConverter extends DateConverter
-{
-
-       private static final long serialVersionUID = 1L;
-
-       /** pattern to use. */
-       private final String datePattern;
-
-       /**
-        * Construct.
-        * </p>
-        * When applyTimeZoneDifference is true, the current time is applied on 
the parsed date, and the
-        * date will be corrected for the time zone difference between the 
server and the client. For
-        * instance, if I'm in Seattle and the server I'm working on is in 
Amsterdam, the server is 9
-        * hours ahead. So, if I'm inputting say 12/24 at a couple of hours 
before midnight, at the
-        * server it is already 12/25. If this boolean is true, it will be 
transformed to 12/25, while
-        * the client sees 12/24.
-        * </p>
-        * 
-        * @param datePattern
-        *            The pattern to use. Must be not null. See {@link 
SimpleDateFormat} for available
-        *            patterns.
-        * @param applyTimeZoneDifference
-        *            whether to apply the difference in time zones between 
client and server
-        * @throws IllegalArgumentException
-        *             in case the date pattern is null
-        */
-       public PatternDateConverter(String datePattern, boolean 
applyTimeZoneDifference)
-       {
-
-               super(applyTimeZoneDifference);
-               if (datePattern == null)
-               {
-                       throw new IllegalArgumentException("datePattern must be 
not null");
-               }
-               this.datePattern = datePattern;
-       }
-
-       /**
-        * Gets the optional date pattern.
-        * 
-        * @return datePattern
-        */
-       @Override
-       public final String getDatePattern(Locale locale)
-       {
-               return datePattern;
-       }
-
-       /**
-        * @return formatter The formatter for the current conversion
-        */
-       @Override
-       protected DateTimeFormatter getFormat(Locale locale)
-       {
-               return 
DateTimeFormat.forPattern(datePattern).withLocale(locale).withPivotYear(2000);
-       }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/wicket/blob/2bb684c1/wicket-datetime/src/main/java/org/apache/wicket/datetime/StyleDateConverter.java
----------------------------------------------------------------------
diff --git 
a/wicket-datetime/src/main/java/org/apache/wicket/datetime/StyleDateConverter.java
 
b/wicket-datetime/src/main/java/org/apache/wicket/datetime/StyleDateConverter.java
deleted file mode 100644
index 317026e..0000000
--- 
a/wicket-datetime/src/main/java/org/apache/wicket/datetime/StyleDateConverter.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * 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.datetime;
-
-import java.util.Locale;
-
-import org.apache.wicket.datetime.markup.html.form.DateTextField;
-import org.joda.time.DateTime;
-import org.joda.time.DateTimeZone;
-import org.joda.time.format.DateTimeFormat;
-import org.joda.time.format.DateTimeFormatter;
-
-
-/**
- * Date converter that uses Joda Time and can be configured to take the time 
zone difference between
- * clients and server into account, and that is configured for a certain date 
style. The pattern
- * will always be locale specific.
- * <p>
- * This converter is especially suited on a per-component base.
- * </p>
- * 
- * @see DateTextField
- * @see DateTime
- * @see DateTimeFormat
- * @see DateTimeZone
- * 
- * @author eelcohillenius
- */
-public class StyleDateConverter extends DateConverter
-{
-
-       private static final long serialVersionUID = 1L;
-
-       /**
-        * Date style to use. See {@link DateTimeFormat#forStyle(String)}.
-        */
-       private final String dateStyle;
-
-       /**
-        * Construct. The dateStyle 'S-' (which is the same as {@link 
DateTimeFormat#shortDate()}) will
-        * be used for constructing the date format for the current locale. 
</p> When
-        * applyTimeZoneDifference is true, the current time is applied on the 
parsed date, and the date
-        * will be corrected for the time zone difference between the server 
and the client. For
-        * instance, if I'm in Seattle and the server I'm working on is in 
Amsterdam, the server is 9
-        * hours ahead. So, if I'm inputting say 12/24 at a couple of hours 
before midnight, at the
-        * server it is already 12/25. If this boolean is true, it will be 
transformed to 12/25, while
-        * the client sees 12/24. </p>
-        * 
-        * @param applyTimeZoneDifference
-        *            whether to apply the difference in time zones between 
client and server
-        */
-       public StyleDateConverter(boolean applyTimeZoneDifference)
-       {
-               this("S-", applyTimeZoneDifference);
-       }
-
-       /**
-        * Construct. The provided pattern will be used as the base format (but 
they will be localized
-        * for the current locale) and if null, {@link 
DateTimeFormat#shortDate()} will be used. </p>
-        * When applyTimeZoneDifference is true, the current time is applied on 
the parsed date, and the
-        * date will be corrected for the time zone difference between the 
server and the client. For
-        * instance, if I'm in Seattle and the server I'm working on is in 
Amsterdam, the server is 9
-        * hours ahead. So, if I'm inputting say 12/24 at a couple of hours 
before midnight, at the
-        * server it is already 12/25. If this boolean is true, it will be 
transformed to 12/25, while
-        * the client sees 12/24. </p>
-        * 
-        * @param dateStyle
-        *            Date style to use. The first character is the date style, 
and the second character
-        *            is the time style. Specify a character of 'S' for short 
style, 'M' for medium, 'L'
-        *            for long, and 'F' for full. A date or time may be 
ommitted by specifying a style
-        *            character '-'. See {@link 
DateTimeFormat#forStyle(String)}.
-        * @param applyTimeZoneDifference
-        *            whether to apply the difference in time zones between 
client and server
-        * @throws IllegalArgumentException
-        *             in case dateStyle is null
-        */
-       public StyleDateConverter(String dateStyle, boolean 
applyTimeZoneDifference)
-       {
-               super(applyTimeZoneDifference);
-               if (dateStyle == null)
-               {
-                       throw new IllegalArgumentException("dateStyle must be 
not null");
-               }
-               this.dateStyle = dateStyle;
-       }
-
-       /**
-        * Gets the optional date pattern.
-        * 
-        * @return datePattern
-        */
-       @Override
-       public final String getDatePattern(Locale locale)
-       {
-               return DateTimeFormat.patternForStyle(dateStyle, locale);
-       }
-
-       /**
-        * @return formatter The formatter for the current conversion
-        */
-       @Override
-       protected DateTimeFormatter getFormat(Locale locale)
-       {
-               return DateTimeFormat.forPattern(getDatePattern(locale))
-                       .withLocale(locale)
-                       .withPivotYear(2000);
-       }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/wicket/blob/2bb684c1/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/basic/DateLabel.java
----------------------------------------------------------------------
diff --git 
a/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/basic/DateLabel.java
 
b/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/basic/DateLabel.java
deleted file mode 100644
index 3459397..0000000
--- 
a/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/basic/DateLabel.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*
- * 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.datetime.markup.html.basic;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.apache.wicket.IGenericComponent;
-import org.apache.wicket.datetime.DateConverter;
-import org.apache.wicket.datetime.PatternDateConverter;
-import org.apache.wicket.datetime.StyleDateConverter;
-import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.MarkupStream;
-import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.util.convert.IConverter;
-import org.joda.time.DateTime;
-import org.joda.time.DateTimeZone;
-import org.joda.time.format.DateTimeFormat;
-
-
-/**
- * A label that is mapped to a <code>java.util.Date</code> object and that 
uses Joda time to format
- * values.
- * <p>
- * You can provide a date pattern in two of the constructors. When not 
provided,
- * {@link DateTimeFormat#shortDate()} will be used.
- * </p>
- * <p>
- * A special option is applyTimeZoneDifference which is an option that says 
whether to correct for
- * the difference between the client's time zone and server's time zone. This 
is true by default.
- * </p>
- * 
- * @see DateTime
- * @see DateTimeFormat
- * @see DateTimeZone
- * 
- * @author eelcohillenius
- */
-public class DateLabel extends Label implements IGenericComponent<Date, 
DateLabel>
-{
-       private static final long serialVersionUID = 1L;
-
-       /**
-        * Creates a new DateLabel defaulting to using a short date pattern
-        * 
-        * @param id
-        *            The id of the text field
-        * @param model
-        *            The model
-        * @param datePattern
-        *            The pattern to use. Must be not null. See {@link 
SimpleDateFormat} for available
-        *            patterns.
-        * @return new instance
-        * 
-        * @see org.apache.wicket.markup.html.form.TextField
-        */
-       public static DateLabel forDatePattern(String id, IModel<Date> model, 
String datePattern)
-       {
-               return new DateLabel(id, model, new 
PatternDateConverter(datePattern, true));
-       }
-
-       /**
-        * Creates a new DateLabel defaulting to using a short date pattern
-        * 
-        * @param id
-        *            The id of the text field
-        * @param datePattern
-        *            The pattern to use. Must be not null. See {@link 
SimpleDateFormat} for available
-        *            patterns.
-        * @return new instance
-        * 
-        * @see org.apache.wicket.markup.html.form.TextField
-        */
-       public static DateLabel forDatePattern(String id, String datePattern)
-       {
-               return forDatePattern(id, null, datePattern);
-       }
-
-       /**
-        * Creates a new DateLabel defaulting to using a short date pattern
-        * 
-        * @param id
-        *            The id of the text field
-        * @param model
-        *            The model
-        * @param dateStyle
-        *            style to use in case no pattern is provided. Must be two 
characters from the set
-        *            {"S", "M", "L", "F", "-"}. Must be not null. See
-        *            {@link DateTimeFormat#forStyle(String)} for options.
-        * @return new instance
-        * 
-        * @see org.apache.wicket.markup.html.form.TextField
-        */
-       public static DateLabel forDateStyle(String id, IModel<Date> model, 
String dateStyle)
-       {
-               return new DateLabel(id, model, new 
StyleDateConverter(dateStyle, true));
-       }
-
-       /**
-        * Creates a new DateLabel defaulting to using a short date pattern
-        * 
-        * @param id
-        *            The id of the text field
-        * @param dateStyle
-        *            style to use in case no pattern is provided. Must be two 
characters from the set
-        *            {"S", "M", "L", "F", "-"}. Must be not null. See
-        *            {@link DateTimeFormat#forStyle(String)} for options.
-        * @return new instance
-        * 
-        * @see org.apache.wicket.markup.html.form.TextField
-        */
-       public static DateLabel forDateStyle(String id, String dateStyle)
-       {
-               return forDateStyle(id, null, dateStyle);
-       }
-
-       /**
-        * Creates a new DateLabel defaulting to using a short date pattern
-        * 
-        * @param id
-        *            The id of the text field
-        * @return new instance
-        * 
-        * @see org.apache.wicket.markup.html.form.TextField
-        */
-       public static DateLabel forShortStyle(String id)
-       {
-               return forShortStyle(id, null);
-       }
-
-       /**
-        * Creates a new DateLabel defaulting to using a short date pattern
-        * 
-        * @param id
-        *            The id of the text field
-        * @param model
-        *            The model
-        * @return new instance
-        * 
-        * @see org.apache.wicket.markup.html.form.TextField
-        */
-       public static DateLabel forShortStyle(String id, IModel<Date> model)
-       {
-               return new DateLabel(id, model, new StyleDateConverter(true));
-       }
-
-       /**
-        * Creates a new DateLabel using the provided converter.
-        * 
-        * @param id
-        *            The id of the text field
-        * @param converter
-        *            the date converter
-        * @return new instance
-        * 
-        * @see org.apache.wicket.markup.html.form.TextField
-        */
-       public static DateLabel withConverter(String id, DateConverter 
converter)
-       {
-               return withConverter(id, null, converter);
-       }
-
-       /**
-        * Creates a new DateLabel using the provided converter.
-        * 
-        * @param id
-        *            The id of the text field
-        * @param model
-        *            The model
-        * @param converter
-        *            the date converter
-        * @return new instance
-        * 
-        * @see org.apache.wicket.markup.html.form.TextField
-        */
-       public static DateLabel withConverter(String id, IModel<Date> model, 
DateConverter converter)
-       {
-               return new DateLabel(id, model, converter);
-       }
-
-       /** optionally prepend to label. */
-       private String after;
-
-       /** optionally append to label. */
-       private String before;
-
-       /**
-        * The converter for the Label
-        */
-       private final DateConverter converter;
-
-       /**
-        * Construct with a converter.
-        * 
-        * @param id
-        *            The component id
-        * @param converter
-        *            The converter to use
-        */
-       public DateLabel(String id, DateConverter converter)
-       {
-               this(id, null, converter);
-       }
-
-       /**
-        * Construct with a converter.
-        * 
-        * @param id
-        *            The component id
-        * @param model
-        *            The model
-        * @param converter
-        *            The converter to use
-        */
-       public DateLabel(String id, IModel<Date> model, DateConverter converter)
-       {
-               super(id, model);
-               if (converter == null)
-               {
-                       throw new IllegalStateException("converter may not be 
null");
-               }
-               this.converter = converter;
-       }
-
-       /**
-        * @return after append to label or null
-        */
-       public String getAfter()
-       {
-               return after;
-       }
-
-       /**
-        * @return before prepend to label or null
-        */
-       public String getBefore()
-       {
-               return before;
-       }
-
-       /**
-        * Returns the specialized converter.
-        */
-       @Override
-       protected IConverter<?> createConverter(Class<?> type)
-       {
-               if (Date.class.isAssignableFrom(type))
-               {
-                       return converter;
-               }
-               return null;
-       }
-
-       /**
-        * @param after
-        *            append to label
-        */
-       public void setAfter(String after)
-       {
-               this.after = after;
-       }
-
-       /**
-        * @param before
-        *            prepend to label
-        */
-       public void setBefore(String before)
-       {
-               this.before = before;
-       }
-
-       /**
-        * {@inheritDoc}
-        */
-       @Override
-       public void onComponentTagBody(MarkupStream markupStream, ComponentTag 
openTag)
-       {
-               String s = getDefaultModelObjectAsString();
-               if (before != null)
-               {
-                       s = before + s;
-               }
-               if (after != null)
-               {
-                       s = s + after;
-               }
-               replaceComponentTagBody(markupStream, openTag, s);
-       }
-}

http://git-wip-us.apache.org/repos/asf/wicket/blob/2bb684c1/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java
----------------------------------------------------------------------
diff --git 
a/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java
 
b/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java
deleted file mode 100644
index f537653..0000000
--- 
a/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*
- * 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.datetime.markup.html.form;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.apache.wicket.datetime.DateConverter;
-import org.apache.wicket.datetime.PatternDateConverter;
-import org.apache.wicket.datetime.StyleDateConverter;
-import 
org.apache.wicket.markup.html.form.AbstractTextComponent.ITextFormatProvider;
-import org.apache.wicket.markup.html.form.TextField;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.util.convert.IConverter;
-import org.apache.wicket.util.lang.Args;
-import org.joda.time.DateTime;
-import org.joda.time.DateTimeZone;
-import org.joda.time.format.DateTimeFormat;
-
-/**
- * A TextField that is mapped to a <code>java.util.Date</code> object and that 
uses Joda time to
- * parse and format values.
- * <p>
- * You should use on of the factory methods to construct the kind you want or 
use the public
- * constructor and pass in the converter to use.
- * </p>
- * <p>
- * This component tries to apply the time zone difference between the client 
and server. See the
- * {@link DateConverter#getApplyTimeZoneDifference() date converter} of this 
package for more
- * information on that.
- * </p>
- * 
- * @see StyleDateConverter
- * @see DateTime
- * @see DateTimeFormat
- * @see DateTimeZone
- * 
- * @author eelcohillenius
- */
-public class DateTextField extends TextField<Date> implements 
ITextFormatProvider
-{
-       private static final long serialVersionUID = 1L;
-
-       /**
-        * Creates a new DateTextField defaulting to using a short date pattern
-        * 
-        * @param id
-        *            The id of the text field
-        * @param model
-        *            The model
-        * @param datePattern
-        *            The pattern to use. Must be not null. See {@link 
SimpleDateFormat} for available
-        *            patterns.
-        * @return DateTextField
-        */
-       public static DateTextField forDatePattern(String id, IModel<Date> 
model, String datePattern)
-       {
-               return new DateTextField(id, model, new 
PatternDateConverter(datePattern, true));
-       }
-
-       /**
-        * Creates a new DateTextField defaulting to using a short date pattern
-        * 
-        * @param id
-        *            The id of the text field
-        * @param datePattern
-        *            The pattern to use. Must be not null. See {@link 
SimpleDateFormat} for available
-        *            patterns.
-        * @return DateTextField
-        */
-       public static DateTextField forDatePattern(String id, String 
datePattern)
-       {
-               return forDatePattern(id, null, datePattern);
-       }
-
-       /**
-        * Creates a new DateTextField using the provided date style.
-        * 
-        * @param id
-        *            The id of the text field
-        * @param model
-        *            The model
-        * @param dateStyle
-        *            Date style to use. The first character is the date style, 
and the second character
-        *            is the time style. Specify a character of 'S' for short 
style, 'M' for medium, 'L'
-        *            for long, and 'F' for full. A date or time may be 
ommitted by specifying a style
-        *            character '-'. See {@link 
DateTimeFormat#forStyle(String)}.
-        * @return DateTextField
-        */
-       public static DateTextField forDateStyle(String id, IModel<Date> model, 
String dateStyle)
-       {
-               return new DateTextField(id, model, new 
StyleDateConverter(dateStyle, true));
-       }
-
-       /**
-        * Creates a new DateTextField using the provided date style.
-        * 
-        * @param id
-        *            The id of the text field
-        * @param dateStyle
-        *            Date style to use. The first character is the date style, 
and the second character
-        *            is the time style. Specify a character of 'S' for short 
style, 'M' for medium, 'L'
-        *            for long, and 'F' for full. A date or time may be 
ommitted by specifying a style
-        *            character '-'. See {@link 
DateTimeFormat#forStyle(String)}.
-        * @return DateTextField
-        */
-       public static DateTextField forDateStyle(String id, String dateStyle)
-       {
-               return forDateStyle(id, null, dateStyle);
-       }
-
-       /**
-        * Creates a new DateTextField defaulting to using a short date pattern
-        * 
-        * @param id
-        *            The id of the text field
-        * @return DateTextField
-        */
-       public static DateTextField forShortStyle(String id)
-       {
-               return forShortStyle(id, null, true);
-       }
-
-       /**
-        * Creates a new DateTextField defaulting to using a short date pattern
-        * 
-        * @param id
-        *            The id of the text field
-        * @param model
-        *            The model
-        * @param applyTimeZoneDifference
-        *            Whether to apply the time zone difference between client 
and server
-        * @return DateTextField
-        */
-       public static DateTextField forShortStyle(String id, IModel<Date> model,
-               boolean applyTimeZoneDifference)
-       {
-               return new DateTextField(id, model, new 
StyleDateConverter(applyTimeZoneDifference));
-       }
-
-       /**
-        * Creates a new DateTextField using the provided converter.
-        * 
-        * @param id
-        *            The id of the text field
-        * @param converter
-        *            the date converter
-        * @return DateTextField
-        */
-       public static DateTextField withConverter(String id, DateConverter 
converter)
-       {
-               return withConverter(id, null, converter);
-       }
-
-       /**
-        * Creates a new DateTextField using the provided converter.
-        * 
-        * @param id
-        *            The id of the text field
-        * @param model
-        *            The model
-        * @param converter
-        *            the date converter
-        * @return DateTextField
-        */
-       public static DateTextField withConverter(String id, IModel<Date> 
model, DateConverter converter)
-       {
-               return new DateTextField(id, model, converter);
-       }
-
-       /**
-        * The converter for the TextField
-        */
-       private final DateConverter converter;
-
-       /**
-        * Construct with a converter.
-        * 
-        * @param id
-        *            The component id
-        * @param model
-        *            The model
-        * @param converter
-        *            The converter to use
-        */
-       public DateTextField(String id, IModel<Date> model, DateConverter 
converter)
-       {
-               super(id, model, Date.class);
-
-               Args.notNull(converter, "converter");
-               this.converter = converter;
-       }
-
-       /**
-        * Construct with a converter, and a null model.
-        * 
-        * @param id
-        *            The component id
-        * @param converter
-        *            The converter to use
-        */
-       public DateTextField(String id, DateConverter converter)
-       {
-               this(id, null, converter);
-       }
-
-       /**
-        * @return The specialized converter.
-        * @see org.apache.wicket.Component#createConverter(java.lang.Class)
-        */
-       @Override
-       protected IConverter<?> createConverter(Class<?> clazz)
-       {
-               if (Date.class.isAssignableFrom(clazz))
-               {
-                       return converter;
-               }
-               return null;
-       }
-
-       /**
-        * @see 
org.apache.wicket.markup.html.form.AbstractTextComponent.ITextFormatProvider#getTextFormat()
-        */
-       @Override
-       public final String getTextFormat()
-       {
-               return converter.getDatePattern(getLocale());
-       }
-}

http://git-wip-us.apache.org/repos/asf/wicket/blob/2bb684c1/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/VERSION
----------------------------------------------------------------------
diff --git 
a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/VERSION 
b/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/VERSION
deleted file mode 100644
index 094e00c..0000000
--- a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/VERSION
+++ /dev/null
@@ -1,2 +0,0 @@
-http://developer.yahoo.com/yui/
-this version: 2.8.2r1

http://git-wip-us.apache.org/repos/asf/wicket/blob/2bb684c1/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/YuiLib.java
----------------------------------------------------------------------
diff --git 
a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/YuiLib.java 
b/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/YuiLib.java
deleted file mode 100644
index f8cfec5..0000000
--- a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/YuiLib.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * 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.extensions.yui;
-
-import org.apache.wicket.Application;
-import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.markup.head.JavaScriptHeaderItem;
-import org.apache.wicket.request.resource.PackageResourceReference;
-import org.apache.wicket.request.resource.ResourceReference;
-
-/**
- * Use the {@link #load(org.apache.wicket.markup.head.IHeaderResponse)} method 
to initialize the YUI library using the YUI loader.
- * It is OK to call this multiple times.
- * 
- * By default the resource stream gets gzipped. You may disable it via
- * Application.get().getResourceSettings().getDisableGZipCompression()
- * 
- * @author eelcohillenius
- */
-public final class YuiLib
-{
-       private static ResourceReference YUILOADER;
-
-       /**
-        * Load the YUI loader script. After that, you can declare YUI 
dependencies using
-        * YAHOO.util.YUILoader.
-        * 
-        * @param response
-        *            header response
-        */
-       public static void load(IHeaderResponse response)
-       {
-               
response.render(JavaScriptHeaderItem.forReference(getYuiLoader()));
-       }
-
-       private static ResourceReference getYuiLoader()
-       {
-               if (YUILOADER == null)
-               {
-                       StringBuilder sb = new 
StringBuilder("yuiloader/yuiloader");
-                       if (Application.get().usesDeploymentConfig())
-                       {
-                               sb.append("-min");
-                       }
-                       sb.append(".js");
-                       YUILOADER = new PackageResourceReference(YuiLib.class, 
sb.toString());
-               }
-               return YUILOADER;
-       }
-
-       /**
-        * Prevent construction.
-        */
-       private YuiLib()
-       {
-       }
-}

http://git-wip-us.apache.org/repos/asf/wicket/blob/2bb684c1/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/assets/skins/sam/sprite.png
----------------------------------------------------------------------
diff --git 
a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/assets/skins/sam/sprite.png
 
b/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/assets/skins/sam/sprite.png
deleted file mode 100644
index 73634d6..0000000
Binary files 
a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/assets/skins/sam/sprite.png
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/wicket/blob/2bb684c1/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/AbstractCalendar.java
----------------------------------------------------------------------
diff --git 
a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/AbstractCalendar.java
 
b/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/AbstractCalendar.java
deleted file mode 100644
index b448196..0000000
--- 
a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/AbstractCalendar.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*
- * 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.extensions.yui.calendar;
-
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Properties;
-
-import org.apache.wicket.extensions.yui.YuiLib;
-import org.apache.wicket.markup.head.CssHeaderItem;
-import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.markup.head.JavaScriptHeaderItem;
-import org.apache.wicket.markup.html.WebComponent;
-import org.apache.wicket.request.resource.PackageResourceReference;
-
-
-/**
- * Abstract calendar component based on the YUI (Yahoo User Interface library) 
javascript widget.
- * <p>
- * Although this component by itself is fully functional, it doesn't do much 
other than just
- * displaying the calendar. Hence, this class is abstract.
- * </p>
- * <p>
- * An easy way to build upon this component is to override
- * {@link #appendToInit(String, String, String, StringBuffer)} and add event 
handlers etc. in the
- * YUI widget's initialization function.
- * </p>
- * See <a href="http://developer.yahoo.com/yui/calendar/";>YUI's calendar 
documentation</a> for more
- * info.
- * 
- * @author eelcohillenius
- * 
- * @see DatePicker
- */
-// TODO provide localization strings (base them on the messages of
-// JsDatePicker?)
-public abstract class AbstractCalendar extends WebComponent
-{
-       private static final long serialVersionUID = 1L;
-
-       private final boolean contributeDependencies;
-
-       /**
-        * Construct. Contributes packaged dependencies.
-        * 
-        * @param id
-        *            The component id
-        */
-       public AbstractCalendar(String id)
-       {
-               this(id, true);
-       }
-
-       /**
-        * Construct.
-        * 
-        * @param id
-        *            The component id
-        * @param contributeDependencies
-        *            Whether to contribute the packaged dependencies. Pass 
false in case you want to
-        *            include the dependencies manually in your own page, e.g. 
when you want to keep
-        *            them in your web application dir. To contribute yourself 
(in case you want to pass
-        *            false), your page header should look like:
-        * 
-        *            <pre>
-        *       &lt;script type=&quot;text/javascript&quot; 
src=&quot;yahoo.js&quot;&gt;&lt;/script&gt;
-        *       &lt;script type=&quot;text/javascript&quot; 
src=&quot;dom.js&quot;&gt;&lt;/script&gt;
-        *       &lt;script type=&quot;text/javascript&quot; 
src=&quot;event.js&quot;&gt;&lt;/script&gt;
-        *       &lt;script type=&quot;text/javascript&quot; 
src=&quot;calendar.js&quot;&gt;&lt;/script&gt;
-        *       &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; 
href=&quot;calendar.css&quot; /&gt;
-        * </pre>
-        */
-       public AbstractCalendar(String id, boolean contributeDependencies)
-       {
-
-               super(id);
-               setOutputMarkupId(true);
-               this.contributeDependencies = contributeDependencies;
-       }
-
-       /**
-        * Gets the id of the javascript widget. Note that this is the 
non-namespaced id, so depending
-        * on what you want to do with it, you may need to prepend 
'YAHOO.wicket.' to it. Or you can
-        * call {@link #getJavaScriptWidgetId()}.
-        * 
-        * @return The javascript id
-        * @see #getJavaScriptWidgetId()
-        */
-       public final String getJavaScriptId()
-       {
-               return getMarkupId() + "Js";
-       }
-
-       /**
-        * The name spaced id of the widget.
-        * 
-        * @return The widget id
-        * @see #getJavaScriptId()
-        */
-       public final String getJavaScriptWidgetId()
-       {
-               return "YAHOO.wicket." + getJavaScriptId();
-       }
-
-       /**
-        * add header contributions for packaged resources.
-        * 
-        * @param response
-        *            the header response to contribute to
-        */
-       private void contributeDependencies(IHeaderResponse response)
-       {
-               response.render(JavaScriptHeaderItem.forReference(new 
PackageResourceReference(
-                               YuiLib.class, 
"yahoodomevent/yahoo-dom-event.js")));
-               response.render(JavaScriptHeaderItem.forReference(new 
PackageResourceReference(
-                       AbstractCalendar.class, "calendar-min.js")));
-               response.render(CssHeaderItem.forReference(new 
PackageResourceReference(
-                       AbstractCalendar.class, 
"assets/skins/sam/calendar.css")));
-       }
-
-       /**
-        * Append javascript to the initialization function for the YUI widget. 
Can be used by
-        * subclasses to conveniently extend configuration without having to 
write a separate
-        * contribution.
-        * 
-        * @param markupId
-        *            The markup id of the calendar component
-        * @param javascriptId
-        *            the non-name spaced javascript id of the widget
-        * @param javascriptWidgetId
-        *            the name space id of the widget
-        * @param b
-        *            the buffer to append the script to
-        */
-       protected void appendToInit(String markupId, String javascriptId, 
String javascriptWidgetId,
-               StringBuilder b)
-       {
-       }
-
-       /**
-        * Gives overriding classes the option of adding (or even changing/ 
removing) configuration
-        * properties for the javascript widget. See <a
-        * href="http://developer.yahoo.com/yui/calendar/";>the widget's 
documentation</a> for the
-        * available options. If you want to override/ remove properties, you 
obviously should call
-        * <code>super.configureWidgetProperties(properties)</code>.
-        * 
-        * @param widgetProperties
-        *            the current widget properties
-        */
-       protected void configureWidgetProperties(Map<Object, Object> 
widgetProperties)
-       {
-       }
-
-       @Override
-       public void renderHead(IHeaderResponse response)
-       {
-               if (contributeDependencies)
-               {
-                       contributeDependencies(response);
-               }
-
-
-               // not pretty to look at, but cheaper than using a template
-               String markupId = AbstractCalendar.this.getMarkupId();
-               String javascriptId = getJavaScriptId();
-               String javascriptWidgetId = getJavaScriptWidgetId();
-               StringBuilder b = new StringBuilder();
-               // initialize wicket namespace and register the init function
-               // for the YUI widget
-               b.append("YAHOO.namespace(\"wicket\");\nfunction init");
-               b.append(javascriptId);
-               b.append("() {\n");
-
-               // instantiate the calendar object
-               b.append("  ");
-               b.append(javascriptWidgetId);
-               b.append(" = new YAHOO.widget.Calendar(\"");
-               b.append(javascriptId);
-               b.append("\",\"");
-               b.append(markupId);
-
-               Properties p = new Properties();
-               configureWidgetProperties(p);
-               b.append("\", { ");
-               for (Iterator<Entry<Object, Object>> i = 
p.entrySet().iterator(); i.hasNext();)
-               {
-                       Entry<Object, Object> entry = i.next();
-                       b.append(entry.getKey());
-                       Object value = entry.getValue();
-                       if (value instanceof CharSequence)
-                       {
-                               b.append(":\"");
-                               b.append(value);
-                               b.append("\"");
-                       }
-                       else if (value instanceof CharSequence[])
-                       {
-                               b.append(":[");
-                               CharSequence[] valueArray = 
(CharSequence[])value;
-                               for (int j = 0; j < valueArray.length; j++)
-                               {
-                                       CharSequence tmpValue = valueArray[j];
-                                       b.append("\"");
-                                       b.append(tmpValue);
-                                       b.append("\"");
-                                       if (j < valueArray.length - 1)
-                                       {
-                                               b.append(",");
-                                       }
-                               }
-                               b.append("]");
-                       }
-                       else
-                       {
-                               b.append(":");
-                               b.append(value);
-                       }
-                       // TODO handle arrays
-                       if (i.hasNext())
-                       {
-                               b.append(",");
-                       }
-               }
-
-               b.append(" });\n");
-
-               // append the javascript we want for our init function; call
-               // this in an overridable method so that clients can add their
-               // stuff without needing a big ass API
-               appendToInit(markupId, javascriptId, javascriptWidgetId, b);
-
-               // trigger rendering
-               b.append("  ");
-               b.append(javascriptWidgetId);
-               b.append(".render();\n");
-
-               b.append("}\n");
-               // register the function for execution when the page is loaded
-               b.append("YAHOO.util.Event.addListener(window, \"load\", init");
-               b.append(javascriptId);
-               b.append(");");
-
-               response.render(JavaScriptHeaderItem.forScript(b, null));
-       }
-}

http://git-wip-us.apache.org/repos/asf/wicket/blob/2bb684c1/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.java
----------------------------------------------------------------------
diff --git 
a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.java
 
b/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.java
deleted file mode 100644
index 5c08241..0000000
--- 
a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * 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.extensions.yui.calendar;
-
-import java.util.Date;
-
-import org.apache.wicket.datetime.markup.html.form.DateTextField;
-import org.apache.wicket.model.IModel;
-
-/**
- * Works on a {@link java.util.Date} object. Displays a {@link DateTextField} 
and a
- * {@link DatePicker calendar popup}.<br/>
- * <p>
- * Note: {@link DateField} must <strong>not</strong> be associated with an
- * <code>&lt;input&gt;</code> tag, as opposed to {@link DateTextField}! The 
corresponding tag is
- * typically either a <code>&lt;div&gt;</code> or a <code>&lt;span&gt;</code> 
tag.
- * </p>
- * 
- * Example:
- * <p>
- * <u>Java:</u>
- * 
- * <pre>
- * DateField dateField = new DateField(&quot;birthday&quot;);
- * </pre>
- * 
- * </p>
- * <p>
- * <u>Markup:</u>
- * 
- * <pre>
- * &lt;div wicket:id=&quot;birthday&quot;&gt;&lt;/div&gt;
- * </pre>
- * 
- * </p>
- * 
- * @author eelcohillenius
- */
-public class DateField extends DateTimeField
-{
-       private static final long serialVersionUID = 1L;
-
-       /**
-        * Construct.
-        * 
-        * @param id
-        */
-       public DateField(String id)
-       {
-               this(id, null);
-       }
-
-       /**
-        * Construct.
-        * 
-        * @param id
-        * @param model
-        */
-       public DateField(String id, IModel<Date> model)
-       {
-               super(id, model);
-
-               get(HOURS).setVisibilityAllowed(false);
-               get(MINUTES).setVisibilityAllowed(false);
-               get(AM_OR_PM_CHOICE).setVisibilityAllowed(false);
-       }
-}

Reply via email to