svn commit: r1821520 - in /pivot/trunk: tests/src/org/apache/pivot/tests/TextInputValidatorTest.java wtk/src/org/apache/pivot/wtk/validation/DecimalValidator.java wtk/src/org/apache/pivot/wtk/validati

2018-01-18 Thread rwhitcomb
Author: rwhitcomb
Date: Thu Jan 18 16:11:07 2018
New Revision: 1821520

URL: http://svn.apache.org/viewvc?rev=1821520&view=rev
Log:
PIVOT-1025: Fix the Decimal and Formatted Validators to allow a leading
"+" sign in the "isValid" and "parseNumber" methods.

Modified:
pivot/trunk/tests/src/org/apache/pivot/tests/TextInputValidatorTest.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/validation/DecimalValidator.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/validation/FormattedValidator.java

Modified: 
pivot/trunk/tests/src/org/apache/pivot/tests/TextInputValidatorTest.java
URL: 
http://svn.apache.org/viewvc/pivot/trunk/tests/src/org/apache/pivot/tests/TextInputValidatorTest.java?rev=1821520&r1=1821519&r2=1821520&view=diff
==
--- pivot/trunk/tests/src/org/apache/pivot/tests/TextInputValidatorTest.java 
(original)
+++ pivot/trunk/tests/src/org/apache/pivot/tests/TextInputValidatorTest.java 
Thu Jan 18 16:11:07 2018
@@ -123,7 +123,7 @@ public class TextInputValidatorTest exte
 });
 invalidComparableRangeLabel = (Label) 
namespace.get("invalidComparableRangeLabel");
 
-textinputDouble.setText("\u221E"); // infinite symbol
+textinputDouble.setText("+\u221E"); // positive infinity text
 textinputDouble.setValidator(new DoubleValidator());
 
 // textinputFloat.setText("123456.789");

Modified: 
pivot/trunk/wtk/src/org/apache/pivot/wtk/validation/DecimalValidator.java
URL: 
http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/validation/DecimalValidator.java?rev=1821520&r1=1821519&r2=1821520&view=diff
==
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/validation/DecimalValidator.java 
(original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/validation/DecimalValidator.java 
Thu Jan 18 16:11:07 2018
@@ -51,8 +51,15 @@ public class DecimalValidator extends Fo
 protected final Number parseNumber(final String text) {
 String textToParse;
 try {
+// The default DecimalFormat doesn't support leading "+" sign,
+// and there is no setting in DecimalFormatSymbols for a positive
+// sign either, so just do it ourselves.
 // We have to upper case because of the exponent symbol
-textToParse = text.toUpperCase(locale);
+if (text.length() > 1 && text.charAt(0) == '+') {
+textToParse = text.substring(1).toUpperCase(locale);
+} else {
+textToParse = text.toUpperCase(locale);
+}
 return format.parse(textToParse);
 } catch (ParseException ex) {
 // this should never happen

Modified: 
pivot/trunk/wtk/src/org/apache/pivot/wtk/validation/FormattedValidator.java
URL: 
http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/validation/FormattedValidator.java?rev=1821520&r1=1821519&r2=1821520&view=diff
==
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/validation/FormattedValidator.java 
(original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/validation/FormattedValidator.java 
Thu Jan 18 16:11:07 2018
@@ -48,17 +48,21 @@ public class FormattedValidator 1 && text.charAt(0) == '+') {
+textToParse = text.substring(1).toUpperCase(locale);
+} else {
+textToParse = text.toUpperCase(locale);
+}
+} else {
+textToParse = text;
 }
 Object obj = format.parseObject(textToParse, pos);
 
 // The text is only valid if we successfully parsed ALL of it. Don't
-// want trailing bits of
-// not-valid text.
-return obj != null && pos.getErrorIndex() == -1 && pos.getIndex() == 
text.length();
+// want trailing bits of not-valid text.
+return obj != null && pos.getErrorIndex() == -1 && pos.getIndex() == 
textToParse.length();
 }
 }




svn commit: r1821556 [1/2] - in /pivot/trunk: demos/src/org/apache/pivot/demos/decorator/ demos/src/org/apache/pivot/demos/dom/ demos/src/org/apache/pivot/demos/itunes/ demos/src/org/apache/pivot/demo

2018-01-18 Thread rwhitcomb
Author: rwhitcomb
Date: Thu Jan 18 20:51:26 2018
New Revision: 1821556

URL: http://svn.apache.org/viewvc?rev=1821556&view=rev
Log:
PIVOT-999:  Deprecate Application.Adapter in favor of default methods
for the Application interface itself.  This involves changing all the
uses of "extends Application.Adapter" into "implements Application"
throughout demos, tutorials and tests directories.

Modified:
pivot/trunk/demos/src/org/apache/pivot/demos/decorator/DecoratorDemo.java

pivot/trunk/demos/src/org/apache/pivot/demos/decorator/ScaleDecoratorDemo.java
pivot/trunk/demos/src/org/apache/pivot/demos/dom/DOMInteractionDemo.java
pivot/trunk/demos/src/org/apache/pivot/demos/itunes/SearchDemo.java
pivot/trunk/demos/src/org/apache/pivot/demos/json/JSONViewer.java
pivot/trunk/demos/src/org/apache/pivot/demos/memorygame/MemGame.java
pivot/trunk/demos/src/org/apache/pivot/demos/million/LargeData.java
pivot/trunk/demos/src/org/apache/pivot/demos/roweditor/RowEditorDemo.java
pivot/trunk/demos/src/org/apache/pivot/demos/styles/ColorSchemeBuilder.java
pivot/trunk/demos/src/org/apache/pivot/demos/text/TextPaneDemo.java
pivot/trunk/demos/src/org/apache/pivot/demos/xml/XMLViewer.java

pivot/trunk/examples/src/org/apache/pivot/examples/builder/BuilderExample.java

pivot/trunk/examples/src/org/apache/pivot/examples/deployment/DeploymentExample.java
pivot/trunk/tests/src/org/apache/pivot/tests/ActionMappingTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/ApplicationHandlerTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/BaselineTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/BorderTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/ButtonGroupTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/CalendarTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/CardPaneTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/CheckedListViewTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/ColorListButtonTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/ColorPaletteTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/ContextMenuTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/DataBindingTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/DragDropTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/ExpanderTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/FormTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/GridPaneTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/HyperlinkButtonTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/HyperlinkButtonTest2.java
pivot/trunk/tests/src/org/apache/pivot/tests/JavascriptConsoleTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/LabelAntialiasTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/LabelTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/LinkButtonTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/ListViewSelectionTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/ListViewTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/ListViewTest2.java
pivot/trunk/tests/src/org/apache/pivot/tests/MenuBarTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/NamespaceTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/NativeDragDropTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/PanoramaTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/PromptTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/PushButtonTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/ResolveTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/SaturationDecoratorTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/SheetTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/ShutdownTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/SliderTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/SpinnerFocusTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/SplashScreenTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/SplitPaneTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/SuggestionPopupTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/TablePaneTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/TableViewTest2.java
pivot/trunk/tests/src/org/apache/pivot/tests/TagDecoratorTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/TextInputValidatorTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/VFSBrowserTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/WatermarkDecoratorTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/WindowFocusTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/WindowTest.java
pivot/trunk/tests/src/org/apache/pivot/tests/issues/Pivot686.java
pivot/trunk/tests/src/org/apache/pivot/tests/issues/Pivot694.java
pivot/trunk/tests/src/org/apache/pivot/tests/issues/Pivot714.java
pivot/trunk/tests/src/org/apache/pivo

svn commit: r1821556 [2/2] - in /pivot/trunk: demos/src/org/apache/pivot/demos/decorator/ demos/src/org/apache/pivot/demos/dom/ demos/src/org/apache/pivot/demos/itunes/ demos/src/org/apache/pivot/demo

2018-01-18 Thread rwhitcomb
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/Application.java
URL: 
http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/Application.java?rev=1821556&r1=1821555&r2=1821556&view=diff
==
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/Application.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/Application.java Thu Jan 18 
20:51:26 2018
@@ -27,7 +27,9 @@ import org.apache.pivot.wtk.Keyboard.Key
 public interface Application {
 /**
  * Application adapter.
+ * @deprecated Since 2.1 and Java 8 the interface itself has default 
implementations.
  */
+@Deprecated
 public static class Adapter implements Application {
 
 @Override
@@ -72,7 +74,9 @@ public interface Application {
 public interface UnprocessedKeyHandler {
 /**
  * UnprocessedKeyHandler adapter.
+ * @deprecated Since 2.1 and Java 8 the interface itself has default 
implementations.
  */
+@Deprecated
 public static class Adapter implements UnprocessedKeyHandler {
 @Override
 public void keyTyped(char character) {
@@ -90,11 +94,14 @@ public interface Application {
 }
 }
 
-public void keyTyped(char character);
+default public void keyTyped(char character) {
+}
 
-public void keyPressed(int keyCode, Keyboard.KeyLocation keyLocation);
+default public void keyPressed(int keyCode, Keyboard.KeyLocation 
keyLocation) {
+}
 
-public void keyReleased(int keyCode, Keyboard.KeyLocation keyLocation);
+default public void keyReleased(int keyCode, Keyboard.KeyLocation 
keyLocation) {
+}
 }
 
 /**
@@ -111,29 +118,34 @@ public interface Application {
  * @param properties Initialization properties passed to the application.
  * @throws Exception if there is any problem during startup.
  */
-public void startup(Display display, Map properties) 
throws Exception;
+default public void startup(Display display, Map 
properties) throws Exception {
+}
 
 /**
  * Called when the application is being shut down.
  *
  * @param optional If true, the shutdown may be cancelled by
  * returning a value of true.
- * @return true to cancel shutdown, false to continue.
+ * @return true to cancel shutdown, false to proceed 
with shutdown (default).
  * @throws Exception if there is a problem during shutdown.
  */
-public boolean shutdown(boolean optional) throws Exception;
+default public boolean shutdown(boolean optional) throws Exception {
+return false;
+}
 
 /**
  * Called to notify the application that it is being suspended.
  *
  * @throws Exception if there is a problem doing the suspend.
  */
-public void suspend() throws Exception;
+default public void suspend() throws Exception {
+}
 
 /**
  * Called when a suspended application has been resumed.
  *
  * @throws Exception if there is a problem doing the resume.
  */
-public void resume() throws Exception;
+default public void resume() throws Exception {
+}
 }

Modified: 
pivot/trunk/wtk/src/org/apache/pivot/wtk/ApplicationWithProperties.java
URL: 
http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/ApplicationWithProperties.java?rev=1821556&r1=1821555&r2=1821556&view=diff
==
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ApplicationWithProperties.java 
(original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ApplicationWithProperties.java Thu 
Jan 18 20:51:26 2018
@@ -25,13 +25,12 @@ import org.apache.pivot.collections.Map;
  * Application should not be invoked directly by the application.
  *
  * @see Application
- * @see Application.Adapter
  */
 public interface ApplicationWithProperties extends Application {
 /**
  * ApplicationWithProperties adapter.
  */
-public static class Adapter extends Application.Adapter implements 
ApplicationWithProperties {
+public static class Adapter implements Application, 
ApplicationWithProperties {
 // TODO: verify if change with something (but general) like
 // ResourceCacheDictionary, and then synchronize its methods ...
 private Map properties = new HashMap<>();




svn commit: r1821559 - /pivot/trunk/tests/src/org/apache/pivot/tests/TextInputValidatorTest.java

2018-01-18 Thread rwhitcomb
Author: rwhitcomb
Date: Thu Jan 18 21:57:56 2018
New Revision: 1821559

URL: http://svn.apache.org/viewvc?rev=1821559&view=rev
Log:
PIVOT-999: Revert changes to TextInputValidatorTest just made because they
are not ready for prime time yet.

Modified:
pivot/trunk/tests/src/org/apache/pivot/tests/TextInputValidatorTest.java

Modified: 
pivot/trunk/tests/src/org/apache/pivot/tests/TextInputValidatorTest.java
URL: 
http://svn.apache.org/viewvc/pivot/trunk/tests/src/org/apache/pivot/tests/TextInputValidatorTest.java?rev=1821559&r1=1821558&r2=1821559&view=diff
==
--- pivot/trunk/tests/src/org/apache/pivot/tests/TextInputValidatorTest.java 
(original)
+++ pivot/trunk/tests/src/org/apache/pivot/tests/TextInputValidatorTest.java 
Thu Jan 18 21:57:56 2018
@@ -115,7 +115,7 @@ public class TextInputValidatorTest impl
 bdCompRange.setAutoTrim(true); // enable auto-trim of input string, 
before validating
 System.out.println("ComparableRangeValidator: enable auto-trim of 
input string, before validating");
 textinputComparableRange.setValidator(bdCompRange);
-textinputComparableRange.getTextInputListeners().add(new 
TextInputListener() {
+textinputComparableRange.getTextInputListeners().add(new 
TextInputListener.Adapter() {
 @Override
 public void textValidChanged(TextInput textInput) {
 invalidComparableRangeLabel.setText(textInput.isTextValid() ? 
"valid" : "invalid");
@@ -145,7 +145,7 @@ public class TextInputValidatorTest impl
 textinputFloatRange.setValidator(new FloatRangeValidator(2.0f, 
123456789f));
 
 // test the listener by updating a label
-textinputFloatRange.getTextInputListeners().add(new 
TextInputListener() {
+textinputFloatRange.getTextInputListeners().add(new 
TextInputListener.Adapter() {
 @Override
 public void textValidChanged(TextInput textInput) {
 invalidLabel.setText(textInput.isTextValid() ? "valid" : 
"invalid");