MFHTML5-14 MyFaces HTML5 should be jdk 1.5 compatible

git-svn-id: https://svn.apache.org/repos/asf/myfaces/html5/trunk@1162961 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/behavior/DropTargetBehaviorRenderer.java b/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/behavior/DropTargetBehaviorRenderer.java
index 5cdc433..aa06ef1 100644
--- a/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/behavior/DropTargetBehaviorRenderer.java
+++ b/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/behavior/DropTargetBehaviorRenderer.java
@@ -106,13 +106,13 @@
 

         // get value of param set in fx:dragSource

         String param = requestParameterMap.get(MYFACES_HTML5_DND_PARAM_MIME_TYPE);

-        if (param == null || param.isEmpty())

+        if (param == null || param.length() == 0)

             param = null;

 

         // get other data values with accepted mime types

         Map<String, String> dropDataMap = null;

         String strReceivedDataMimeTypes = requestParameterMap.get(MYFACES_DND_FOUND_MIME_TYPES_KEY);

-        if (strReceivedDataMimeTypes != null && !strReceivedDataMimeTypes.isEmpty())

+        if (strReceivedDataMimeTypes != null && strReceivedDataMimeTypes.length() > 0)

         {

             dropDataMap = new HashMap<String, String>();

 

@@ -126,7 +126,7 @@
                     continue;

 

                 String data = requestParameterMap.get(mimeType);

-                if (data != null && !data.isEmpty())

+                if (data != null && data.length() > 0)

                 {

                     dropDataMap.put(mimeType, data);

                 }

@@ -236,7 +236,7 @@
 

     private void _checkAction(String action)

     {

-        if (action == null || action.isEmpty())

+        if (action == null || action.length() == 0)

             return;

 

         if (ALLOWED_ACTIONS.contains(action))

diff --git a/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/HtmlInputColorRenderer.java b/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/HtmlInputColorRenderer.java
index 9ea6a99..c6aa118 100644
--- a/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/HtmlInputColorRenderer.java
+++ b/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/HtmlInputColorRenderer.java
@@ -124,7 +124,7 @@
     public Object getAsObject(FacesContext context, UIComponent uiComponent, String value) throws ConverterException

     {

 

-        if (value == null || value.toString().isEmpty())

+        if (value == null || value.toString().length() == 0)

         {

             return null;

         }

@@ -140,7 +140,7 @@
             else

             {

                 String invalidColorMessage = component.getInvalidColorMessage();

-                if (invalidColorMessage != null && !invalidColorMessage.isEmpty())

+                if (invalidColorMessage != null && invalidColorMessage.length() > 0)

                 {

                     throw new ConverterException(new FacesMessage(FacesMessage.SEVERITY_ERROR, invalidColorMessage,

                             invalidColorMessage));

diff --git a/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/HtmlInputDateTimeRenderer.java b/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/HtmlInputDateTimeRenderer.java
index 74ba40f..b1d4890 100644
--- a/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/HtmlInputDateTimeRenderer.java
+++ b/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/HtmlInputDateTimeRenderer.java
@@ -233,7 +233,7 @@
         String type = component.getType();

         if (log.isLoggable(Level.FINE))

             log.fine("initial type is: " + type);

-        if (type == null || type.isEmpty())

+        if (type == null || type.length() == 0)

         { // if not set, set default value.

             if (log.isLoggable(Level.FINE))

                 log.fine("setting default type " + JsfProperties.INPUTDATETIME_TYPE_DATETIME);

diff --git a/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/HtmlInputTextRenderer.java b/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/HtmlInputTextRenderer.java
index de057cf..f74e143 100644
--- a/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/HtmlInputTextRenderer.java
+++ b/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/HtmlInputTextRenderer.java
@@ -168,7 +168,7 @@
         if (log.isLoggable(Level.FINE))

             log.fine("type is :" + type);

 

-        if (type == null || type.isEmpty())

+        if (type == null || type.length() == 0)

         {

             // set type to textarea, if no type is set and rows are set

             if (component.getRows() > HtmlInputText.ROWS_DEFAULT_VALUE)

diff --git a/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/delegate/HtmlInputTextRendererDelegate.java b/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/delegate/HtmlInputTextRendererDelegate.java
index 5958e8f..ebcb0a1 100644
--- a/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/delegate/HtmlInputTextRendererDelegate.java
+++ b/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/delegate/HtmlInputTextRendererDelegate.java
@@ -94,7 +94,7 @@
         String type = component.getType();

         if (log.isLoggable(Level.FINE))

             log.fine("initial type is: " + type);

-        if (type == null || type.isEmpty())

+        if (type == null || type.length() == 0)

         { // if not set, set default value.

             if (log.isLoggable(Level.FINE))

                 log.fine("setting default type " + HTML5.INPUT_TYPE_TEXT);

diff --git a/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/delegate/HtmlTextInputSuggestionRendererHelper.java b/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/delegate/HtmlTextInputSuggestionRendererHelper.java
index 48e1380..8b5614f 100644
--- a/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/delegate/HtmlTextInputSuggestionRendererHelper.java
+++ b/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/delegate/HtmlTextInputSuggestionRendererHelper.java
@@ -72,7 +72,7 @@
              * attribute) should not be used

              */

             String idOfDatalist = component.getDataList();

-            if (idOfDatalist != null && !idOfDatalist.isEmpty() && shouldGenerateDatalist(component))

+            if (idOfDatalist != null && idOfDatalist.length() > 0 && shouldGenerateDatalist(component))

             {

                 // WIKI: put a wiki page about this error

                 throw new FacesException(

diff --git a/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/util/Html5DateTimeFormatUtils.java b/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/util/Html5DateTimeFormatUtils.java
index c19b492..f11b734 100644
--- a/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/util/Html5DateTimeFormatUtils.java
+++ b/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/util/Html5DateTimeFormatUtils.java
@@ -44,7 +44,7 @@
      */

     public static Date parseDateTime(String value, String type) throws ParseException

     {

-        if (value == null || value.isEmpty())

+        if (value == null || value.length() == 0)

             return null;

         

         if (HTML5.INPUT_TYPE_DATETIME.equals(type))

@@ -150,7 +150,7 @@
     // http://www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#valid-global-date-and-time-string

     private static Date _parseGlobalDateTime(String value) throws ParseException

     {

-        if (value == null || value.isEmpty())

+        if (value == null || value.length() == 0)

             return null;

 

         boolean utcDateTime = value.charAt(value.length() - 1) == 'Z';

@@ -212,7 +212,7 @@
     // http://www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#valid-local-date-and-time-string

     private static Date _parseLocalDateTime(String value) throws ParseException

     {

-        if (value == null || value.isEmpty())

+        if (value == null || value.length() == 0)

             return null;

 

         boolean hasMillis = value.indexOf('.') != -1;

diff --git a/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/util/Html5EmailConverter.java b/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/util/Html5EmailConverter.java
index 364cf1d..247f814 100644
--- a/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/util/Html5EmailConverter.java
+++ b/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/util/Html5EmailConverter.java
@@ -42,7 +42,7 @@
         if (value == null)

             return null;

 

-        if (value.isEmpty())

+        if (value.length() == 0)

             return null;

 

         String[] emails = value.split(",");

diff --git a/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/media/AbstractMediaRenderer.java b/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/media/AbstractMediaRenderer.java
index baf0791..e4e8faf 100644
--- a/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/media/AbstractMediaRenderer.java
+++ b/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/media/AbstractMediaRenderer.java
@@ -75,7 +75,7 @@
         String src = RendererUtils.getStringValue(facesContext, component);

         if (log.isLoggable(Level.FINE))

             log.fine("writing src '" + src + "'");

-        if (src != null && !src.isEmpty())

+        if (src != null && src.length() > 0)

             writer.writeAttribute(HTML5.SRC_ATTR, src, "value");

 

         // no need to check the value of preload, it is bypassed anyway.

@@ -160,7 +160,7 @@
                 writer.startElement(HTML5.SOURCE_ELEM, null);

 

                 // src is reqired to be present and not empty!

-                if (mediaInfo.getSrc() == null || mediaInfo.getSrc().isEmpty())

+                if (mediaInfo.getSrc() == null || mediaInfo.getSrc().length() == 0)

                     // WIKI: add a wiki page

                     throw new FacesException("'src' field of MediaInfo has to be defined and nonempty for component " + ComponentUtils.getPathToComponent(uiComponent) + ".");

 

@@ -198,8 +198,8 @@
         String contentType = mediaInfo.getContentType();

         String codec = mediaInfo.getCodec();

 

-        boolean contentTypeDefined = contentType != null && !contentType.isEmpty();

-        boolean codecDefined = codec != null && !codec.isEmpty();

+        boolean contentTypeDefined = contentType != null && contentType.length() > 0;

+        boolean codecDefined = codec != null && codec.length() > 0;

 

         // if codec is set, then contentType should be set too!

         if (codecDefined && !contentTypeDefined)

diff --git a/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/util/Html5RendererUtils.java b/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/util/Html5RendererUtils.java
index 80e9c0a..22dbaeb 100644
--- a/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/util/Html5RendererUtils.java
+++ b/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/util/Html5RendererUtils.java
@@ -264,7 +264,7 @@
         {

 

             String strValues = (String) value;

-            if (strValues.isEmpty())

+            if (strValues.length() == 0)

                 return defaultValue;

 

             // if value is comma separated words, split it

@@ -276,7 +276,7 @@
             {

                 strValueElement = strValueElement.trim();

 

-                if (!strValueElement.isEmpty())

+                if (strValueElement.length() > 0)

                     valuesCollection.add(strValueElement);

             }

         }

diff --git a/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/validator/DateTimeRangeValidator.java b/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/validator/DateTimeRangeValidator.java
index 788772f..bd399b7 100644
--- a/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/validator/DateTimeRangeValidator.java
+++ b/myfaces-html5-core/src/main/java/org/apache/myfaces/html5/validator/DateTimeRangeValidator.java
@@ -115,7 +115,7 @@
                     {

                         if (dateValue.before(resolvedMinimum) || dateValue.after(resolvedMaximum))

                         {

-                            if (this.notInRangeMessage != null && !this.notInRangeMessage.isEmpty())

+                            if (this.notInRangeMessage != null && this.notInRangeMessage.length() > 0)

                                 throw new ValidatorException(new FacesMessage(this.notInRangeMessage));

                             else

                                 throw new ValidatorException(

@@ -128,7 +128,7 @@
 

                 if (resolvedMinimum != null && dateValue.before(resolvedMinimum))

                 {

-                    if (this.lessThanMinimumMessage != null && !this.lessThanMinimumMessage.isEmpty())

+                    if (this.lessThanMinimumMessage != null && this.lessThanMinimumMessage.length() > 0)

                         throw new ValidatorException(new FacesMessage(this.lessThanMinimumMessage));

                     else

                         throw new ValidatorException(new FacesMessage("Value is before minimum for component "

@@ -138,7 +138,7 @@
 

                 if (resolvedMaximum != null && dateValue.after(resolvedMaximum))

                 {

-                    if (this.exceedMaximumMessage != null && !this.exceedMaximumMessage.isEmpty())

+                    if (this.exceedMaximumMessage != null && this.exceedMaximumMessage.length() > 0)

                         throw new ValidatorException(new FacesMessage(this.exceedMaximumMessage));

                     else

                         throw new ValidatorException(new FacesMessage("Value is after maximum for component "

diff --git a/myfaces-html5-demo/pom.xml b/myfaces-html5-demo/pom.xml
index a3be126..974b4d7 100644
--- a/myfaces-html5-demo/pom.xml
+++ b/myfaces-html5-demo/pom.xml
@@ -121,6 +121,13 @@
         </dependency>

 

         <dependency>

+            <groupId>javax.annotation</groupId>

+            <artifactId>jsr250-api</artifactId>

+            <version>1.0</version>

+            <scope>provided</scope>

+        </dependency>

+        

+        <dependency>

             <groupId>commons-logging</groupId>

             <artifactId>commons-logging</artifactId>

             <version>1.1.1</version>

diff --git a/myfaces-html5-demo/src/main/java/org/apache/myfaces/html5/demo/bean/DndBean.java b/myfaces-html5-demo/src/main/java/org/apache/myfaces/html5/demo/bean/DndBean.java
index d02b105..a5e6147 100644
--- a/myfaces-html5-demo/src/main/java/org/apache/myfaces/html5/demo/bean/DndBean.java
+++ b/myfaces-html5-demo/src/main/java/org/apache/myfaces/html5/demo/bean/DndBean.java
@@ -112,7 +112,7 @@
     public void processJavaProjectDrop(DropEvent event) throws AbortProcessingException

     {

         String param = event.getParam();

-        if (param == null || param.isEmpty())

+        if (param == null || param.length() == 0)

             return;

 

         ApacheProject droppedProject = null;

@@ -140,7 +140,7 @@
     public void processCProjectDrop(DropEvent event) throws AbortProcessingException

     {

         String param = event.getParam();

-        if (param == null || param.isEmpty())

+        if (param == null || param.length() == 0)

             return;

 

         ApacheProject droppedProject = null;

@@ -168,7 +168,7 @@
     public void processProjectDrop(DropEvent event) throws AbortProcessingException

     {

         String param = event.getParam();

-        if (param == null || param.isEmpty())

+        if (param == null || param.length() == 0)

             return;

 

         ApacheProject droppedProject = null;