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