You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pivot.apache.org by Sandro Martini <sa...@gmail.com> on 2013/03/08 16:43:59 UTC

[VOTE] Release Pivot 2.0.3

Hi All,

the Pivot 2.0.3 release candidate has been tagged, packaged, and is
ready for a vote.
The artifacts, RAT reports, and KEYS file can be found here:
http://people.apache.org/~smartini/pivot-2.0.3_release/

Note that just for convenience there are even Maven bundles for
installing them in a real Maven Repository:
http://people.apache.org/~smartini/pivot-2.0.3_maven/


The tag from which the release artifacts were generated can be found here:
http://svn.apache.org/repos/asf/pivot/tags/2.0.3/

In addition, my PGP public code signing key can be found at the MIT
key server (http://pgp.mit.edu/), but just for convenience that key is
even here:
http://people.apache.org/~smartini/F9EDAF10.asc , and
smartini_apache.asc is only a copy of it with a better name.

Please vote to publish this release by Sunday , March 17 at 23:00 GMT.
Note that voting may conclude early if people have the time to look
earlier (but in any case, minimum 72 hours).

In your vote, please include the testing you performed to arrive at your vote.

[  ] +1 Publish
[  ] +0
[  ] -0
[  ] -1 Don't publish

Thanks,
Sandro

Re: [VOTE] Release Pivot 2.0.3

Posted by Sandro Martini <sa...@gmail.com>.
The vote did NOT passes with 2 binding -1, 0 non-binding +1, and no 0.

We'll start another vote soon.


Thank you very much to all who participated in this vote !!

Re: [VOTE] Release Pivot 2.0.3

Posted by Sandro Martini <sa...@gmail.com>.
Hi all,
sorry I have to change my vote:

[ X ] -1 Don't publish

For the same reasons seen by Roger, and for the (small but important)
fix I made this week with empty ListPuttons.

Sandro

Re: [VOTE] Release Pivot 2.0.3

Posted by Roger Whitcomb <Ro...@rbwhitcomb.com>.
No problem.

I will test the release artifacts, but I think I'm going to run into the same issue as Lukáš because we have lots of ListButtons that can be empty sometimes ....

So, yes, it will be better to drop the current vote, reset and start again next week.

Thanks,
~Roger


Re: [VOTE] Release Pivot 2.0.3

Posted by Sandro Martini <sa...@gmail.com>.
Just verified ...ok, it's the svn tag creation script (
/infra/bin/create-tag.sh ) which creates the tag from trunk, so it's
only the tag to be wrong, now I'll delete and redo by hand (for now).
We had trunk not aligned with 2.0.x branch, so in your diff you don't
see latest fixes.

But generated artifacts are ok because they are from the current svn
folder downloaded (and updated) in local.

Roger, I think that could be safe to withdraw your -1 vote , but for
better security/consistency I think we can drop the current vote, fix
all (even the small new issue just found by Lukáš), and restart the
vote next week, ok ?

Bye,
Sandro

Re: [VOTE] Release Pivot 2.0.3

Posted by Sandro Martini <sa...@gmail.com>.
Could be the release script that create the tag BUT from trunk (and
when I did it, trunk was not aligned to 2.0.x branch) ... I have to
verify. Release artifacts should be ok, but it's better to check them.

Let's update soon.

Sandro

RE: [VOTE] Release Pivot 2.0.3

Posted by "Roger L. Whitcomb" <Ro...@actian.com>.
My vote:
[ X ] -1 Don't publish

For the following reasons:
The tags/2.0.3 source differs from the branches\2.0.x source (as of
revision 1455351) in the following ways (some of these are important
fixes).  I would at the least think that the 2.0.3 tag would be a
snapshot of the current state of branches/2.0.x.  The top is
branches/2.0.x, then bottom tags/2.0.3.

Then I would expect a build either out of the (frozen) 2.0.3 code or out
of the tags/2.0.3 code.  But, because of this difference I don't have
any confidence that the build includes all the fixes in branches/2.0.x.


--- examples/src/org/apache/pivot/examples/svg/svg_example.bxml	Mon Jan
19 14:26:36 1970
+++ examples/src/org/apache/pivot/examples/svg/svg_example.bxml	Mon Jan
19 14:26:36 1970
@@ -26,38 +26,14 @@
             <BoxPane orientation="vertical" styles="{padding:12,
                 horizontalAlignment:'center',
verticalAlignment:'center'}">
                 <Label text="Welcome to Apache Pivot!"
styles="{font:{size:16}}"/>
-                <Label text="" styles="{font:{size:16}}"/> <!-- spacer
//-->
 
-                <ImageView image="@logo.svg"
styles="{verticalAlignment:'top'}"
-                     tooltipText="Pivot Logo as SVG Image"
-                />
-                <Label text="" styles="{font:{size:16}}"/> <!-- spacer
//-->
+                <ImageView image="@logo.svg"
styles="{verticalAlignment:'top'}"/>
 
                 <BoxPane>
-                    <PushButton tooltipText="Button with PNG Image
inside">
+                    <PushButton>
                         <dataRenderer>
-                            <content:ButtonDataRenderer
orientation="vertical"
-                                iconWidth="64" iconHeight="64"
-                                fillIcon="true"
-                            />
-                        </dataRenderer>
-
-                        <buttonData>
-                            <content:ButtonData icon="@logo-64x64.png"
text="Say Hello"/>
-                        </buttonData>
-
-                        <buttonPressListeners>
-                        function buttonPressed(button) {
-                            org.apache.pivot.wtk.Prompt.prompt("Hello
from Pivot", button.window);
-                        }
-                        </buttonPressListeners>
-                    </PushButton>
-                    <PushButton tooltipText="Button with SVG Image
inside">
-                        <dataRenderer>
-                            <content:ButtonDataRenderer
orientation="vertical"
-                                iconWidth="64" iconHeight="64"
-                                fillIcon="true"
-                            />
+                            <content:ButtonDataRenderer
orientation="vertical" iconWidth="64" iconHeight="64"
+                                fillIcon="true"/>
                         </dataRenderer>
 
                         <buttonData>
@@ -71,8 +47,6 @@
                         </buttonPressListeners>
                     </PushButton>
                 </BoxPane>
-                <Label text="" styles="{font:{size:16}}"/> <!-- spacer
//-->
-
             </BoxPane>
         </ScrollPane>
     </Border>
--- wtk/src/org/apache/pivot/wtk/content/ButtonDataRenderer.java
Mon Jan 19 14:26:36 1970
+++ wtk/src/org/apache/pivot/wtk/content/ButtonDataRenderer.java
Mon Jan 19 14:26:36 1970
@@ -23,7 +23,6 @@
 import org.apache.pivot.wtk.Button;
 import org.apache.pivot.wtk.HorizontalAlignment;
 import org.apache.pivot.wtk.ImageView;
-import org.apache.pivot.wtk.Insets;
 import org.apache.pivot.wtk.Label;
 import org.apache.pivot.wtk.VerticalAlignment;
 import org.apache.pivot.wtk.media.Image;
@@ -83,22 +82,15 @@
             imageView.getStyles().put("opacity", button.isEnabled() ?
1.0f : 0.5f);
 
             if (getFillIcon()) {
-                int buttonWidth = button.getWidth();
-                int buttonHeight = button.getHeight();
-                Insets padding = (Insets)
button.getStyles().get("padding");
-                if (buttonWidth > 0) {
-                    imageView.setPreferredWidth(Math.max(buttonWidth -
(padding.left + padding.right + 2), 0));
-                }
-                if (buttonHeight > 0) {
-                    imageView.setPreferredWidth(Math.max(buttonHeight -
(padding.top + padding.bottom + 2), 0));
-                }
+                imageView.setPreferredWidth(button.getWidth());
+                imageView.setPreferredHeight(button.getHeight());
             }
         }
 
         // Update the label
         label.setText(text != null ? text : "");
 
-        if (text == null || text.length() == 0) {
+        if (text == null) {
             label.setVisible(false);
         } else {
             label.setVisible(true);
--- wtk/src/org/apache/pivot/wtk/media/Image.java	Mon Jan 19
14:26:36 1970
+++ wtk/src/org/apache/pivot/wtk/media/Image.java	Mon Jan 19
14:26:36 1970
@@ -140,11 +140,6 @@
         return imageListeners;
     }
 
-    @Override
-    public String toString() {
-        return getClass().getName() + " [" + getWidth() + "," +
getHeight() + "]";
-    }
-
     public static Image load(URL location) throws
TaskExecutionException {
         LoadTask loadTask = new LoadTask(location);
         return loadTask.execute();
--- wtk/src/org/apache/pivot/wtk/Label.java	Mon Jan 19 14:26:36 1970
+++ wtk/src/org/apache/pivot/wtk/Label.java	Mon Jan 19 14:26:36 1970
@@ -106,22 +106,10 @@
         installSkin(Label.class);
     }
 
-    /**
-     * Returns the label's text.
-     *
-     * @return
-     * The text.
-     */
     public String getText() {
         return text;
     }
 
-    /**
-     * Set the text of the Label.
-     *
-     * @param text
-     * The text to set, must be not null.
-     */
     public void setText(String text) {
         if (text == null) {
             throw new IllegalArgumentException();
@@ -139,20 +127,6 @@
     }
 
     /**
-     * Utility method to set text to the given value,
-     * or to an empty string if null (to avoid the setText throw an
IllegalArgumentException).
-     * This is useful to be called by code.
-     *
-     * @param text
-     * The text to set
-     *
-     * @see #setText
-     */
-    public void setTextOrEmpty(String text) {
-        this.setText(text != null ? text : "");
-    }
-
-    /**
      * Returns the label's text key.
      *
      * @return
@@ -282,10 +256,4 @@
     public ListenerList<LabelBindingListener>
getLabelBindingListeners() {
         return labelBindingListeners;
     }
-
-    @Override
-    public String toString() {
-        return getClass().getName() + " [\"" + getText() + "\"]";
-    }
-
 }
---
wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraPushButtonSkin.java
Mon Jan 19 14:26:36 1970
+++
wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraPushButtonSkin.java
Mon Jan 19 14:26:36 1970
@@ -93,11 +93,11 @@
             // Include padding in constraint
             int contentHeight = height;
             if (contentHeight != -1) {
-                contentHeight = Math.max(contentHeight -
paddingHeight(), 0);
+                contentHeight = Math.max(contentHeight - (padding.top +
padding.bottom + 2), 0);
             }
 
             preferredWidth =
dataRenderer.getPreferredWidth(contentHeight)
-                + paddingWidth();
+                + padding.left + padding.right + 2;
 
             // Adjust for preferred aspect ratio
             if (!Float.isNaN(minimumAspectRatio)
@@ -124,11 +124,11 @@
             // Include padding in constraint
             int contentWidth = width;
             if (contentWidth != -1) {
-                contentWidth = Math.max(contentWidth - paddingWidth(),
0);
+                contentWidth = Math.max(contentWidth - (padding.left +
padding.right + 2), 0);
             }
 
             preferredHeight =
dataRenderer.getPreferredHeight(contentWidth)
-                + paddingHeight();
+                + padding.top + padding.bottom + 2;
 
             // Adjust for preferred aspect ratio
             if (!Float.isNaN(maximumAspectRatio)
@@ -148,8 +148,12 @@
         dataRenderer.render(pushButton.getButtonData(), pushButton,
false);
 
         Dimensions preferredContentSize =
dataRenderer.getPreferredSize();
-        int preferredWidth = preferredContentSize.width +
paddingWidth();
-        int preferredHeight = preferredContentSize.height +
paddingHeight();
+
+        int preferredWidth = preferredContentSize.width
+            + padding.left + padding.right + 2;
+
+        int preferredHeight = preferredContentSize.height
+            + padding.top + padding.bottom + 2;
 
         // Adjust for preferred aspect ratio
         float aspectRatio = (float) preferredWidth / (float)
preferredHeight;
@@ -174,10 +178,11 @@
         Button.DataRenderer dataRenderer =
pushButton.getDataRenderer();
         dataRenderer.render(pushButton.getButtonData(), pushButton,
false);
 
-        int clientWidth = Math.max(width - paddingWidth(), 0);
-        int clientHeight = Math.max(height - paddingHeight(), 0);
+        int clientWidth = Math.max(width - (padding.left +
padding.right + 2), 0);
+        int clientHeight = Math.max(height - (padding.top +
padding.bottom + 2), 0);
 
         int baseline = dataRenderer.getBaseline(clientWidth,
clientHeight);
+
         if (baseline != -1) {
             baseline += padding.top + 1;
         }
@@ -229,10 +234,8 @@
 
         Button.DataRenderer dataRenderer =
pushButton.getDataRenderer();
         dataRenderer.render(pushButton.getButtonData(), pushButton,
highlighted);
-        dataRenderer.setSize(
-            Math.max(width - paddingWidth(), 0),
-            Math.max(getHeight() - paddingHeight(), 0)
-        );
+        dataRenderer.setSize(Math.max(width - (padding.left +
padding.right + 2), 0),
+            Math.max(getHeight() - (padding.top + padding.bottom + 2),
0));
 
         Graphics2D contentGraphics = (Graphics2D) graphics.create();
         contentGraphics.translate(padding.left + 1, padding.top + 1);
@@ -505,14 +508,6 @@
         setPadding(Insets.decode(padding));
     }
 
-    private int paddingWidth() {
-        return padding.left + padding.right + 2;
-    }
-
-    private int paddingHeight() {
-        return padding.top + padding.bottom + 2;
-    }
-
     public float getMinimumAspectRatio() {
         return minimumAspectRatio;
     }
@@ -590,5 +585,4 @@
 
         return super.mouseClick(component, button, x, y, count);
     }
-
 }
---
wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java
Mon Jan 19 14:26:36 1970
+++
wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java
Mon Jan 19 14:26:36 1970
@@ -589,11 +589,11 @@
             }
         } else {
             rowIndex = (y / (fixedRowHeight + 1));
-        }
 
-        List<Object> tableData =
(List<Object>)tableView.getTableData();
-        if (rowIndex >= tableData.getLength()) {
-            rowIndex = -1;
+            List<Object> tableData =
(List<Object>)tableView.getTableData();
+            if (rowIndex >= tableData.getLength()) {
+                rowIndex = -1;
+            }
         }
 
         return rowIndex;
--- build.properties	Mon Jan 19 14:26:36 1970
+++ build.properties	Mon Jan 19 14:26:36 1970
@@ -14,7 +14,7 @@
 # limitations under the License.
 
 # Pivot Version
-version=2.0.3
+version=2.1.0
 
 # set local server for downloading applications and data
 # (currently needed only for some pivot-demo, like LargeData)
--- README	Mon Jan 19 14:26:36 1970
+++ README	Mon Jan 19 14:26:36 1970
@@ -16,24 +16,24 @@
 Distribution JARs
 =================
 
-* Core (pivot-core-2.0.3.jar):
+* Core (pivot-core-2.0.2.jar):
   A set of common, non-UI-specific classes.
 
-* WTK (pivot-wtk-2.0.3.jar):
+* WTK (pivot-wtk-2.0.2.jar):
   Classes for user interface development, including windows, dialogs,
buttons,
   lists, text input, layout, drag and drop, XML markup, etc.
 
-* WTK Terra Theme (pivot-wtk-terra-2.0.3.jar):
+* WTK Terra Theme (pivot-wtk-terra-2.0.2.jar):
   The default WTK theme provider for Pivot, responsible for the look &
feel of
   the user interface components.
 
-* Web (pivot-web-2.0.3.jar):
+* Web (pivot-web-2.0.2.jar):
   Classes to facilitate communication with remote data services.
 
-* Web Server (pivot-web-server-2.0.3.jar):
+* Web Server (pivot-web-server-2.0.2.jar):
   Classes to facilitate implementation of server-side data services.
 
-* Charting (pivot-charts-2.0.3.jar):
+* Charting (pivot-charts-2.0.2.jar):
   Classes for adding interactive charting capabilities to Pivot
applications.
 
 To begin developing with Pivot, simply include the necessary libraries
on your
@@ -90,4 +90,4 @@
 Pivot home page: http://pivot.apache.org/
 Demos:           http://pivot.apache.org/demos/
 Tutorials:       http://pivot.apache.org/tutorials/
-Javadoc:         http://pivot.apache.org/2.0.3/docs/api/
+Javadoc:         http://pivot.apache.org/2.0.2/docs/api/
--- RELEASE-NOTES	Mon Jan 19 14:26:36 1970
+++ RELEASE-NOTES	Mon Jan 19 14:26:36 1970
@@ -15,47 +15,33 @@
   limitations under the License.
 
========================================================================
========
 
-Release Notes for Pivot 2.0.3:
+Release Notes for Pivot 2.0.2:
 
 ** New Feature
-    * [PIVOT-455] - Add an alignment style to TerraTextInputSkin
-    * [PIVOT-731] - Ignore Flag for controls within a Rollup Heading
-    * [PIVOT-834] - Form.getSection(Component) to return the section
for nested components
 
 ** Improvement
-    * [PIVOT-536] - BXMLSerializer should provide a structure error
object when a serializer error occurs
-    * [PIVOT-558] - BeanAdapter should have a putAll method to allow
multiple property set in one method call...especially useful when
setting properties from a JSON string
-    * [PIVOT-679] - TableViewImageCellRenderer should render disabled
rows with an opacity of 0.5f
-    * [PIVOT-783] - Calling setScale on scaleDecorator doesn't update
the display
-    * [PIVOT-784] - Improvement in clear() and clearSelection() methods
in some components
-    * [PIVOT-857] - Add activity indicator to file browser while
loading a directory
-    * [PIVOT-867] - Ability to selectively enable/disable a Tree node
-    * [PIVOT-870] - Small improvements in BXMLSerializer for
interacting with JavaScript (inside the JVM)
-    * [PIVOT-875] - JSON should support using pivot.collections.Map
directly
-    * [PIVOT-879] - Need access to Displays list in order to support
multiple host windows
-    * [PIVOT-883] - Update Javadoc for ComponentStateListener method
arguments
-    * [PIVOT-889] - Allow newline to do hard break in Label text when
wrapping
-    * [PIVOT-893] - Set lower default value for maximumLength in
TextInput and TextArea
-    * [PIVOT-896] - do not allow to set text to null in Labels
+    * [PIVOT-508] - TextArea displays blinking cursor even when it's in
read-only mode.
+    * [PIVOT-771] - getSelectedIndex()/getSelectedPath() in TreeView,
ListView and TableView should not throw Exception when in
SelectMode.MULTI
+    * [PIVOT-836] - Improve Performance of Graphics
+    * [PIVOT-839] - Czech localization
+    * [PIVOT-840] - Improve instructions on how to use BXML in an
application
+    * [PIVOT-842] - Disable volatile buffer even in unsigned Applets,
using the existing flag
+    * [PIVOT-845] - Russian localization
+    * [PIVOT-847] - Update SVGSalamander jars to the latest stable
version
+    * [PIVOT-852] - add methods for show/log info, callable even from
dynamic languages include files
+    * [PIVOT-854] - Improvements of Palette
 
 ** Bug
-    * [PIVOT-655] - FileBrowserSheet save dialog appends the saveas
field content to the selected folders/file
-    * [PIVOT-721] - ButtonDataRenderer#setFillIcon has no effect,
because its BoxPane doesn't have fill style
-    * [PIVOT-781] - Unable to get an initially maximized HostFrame in
DesktopApplicationContext due to bug in Java 6 under ubuntu/linux
-    * [PIVOT-843] - Copy Paste issues with CF_DIB clipboard type image
-    * [PIVOT-859] - Multi-page applet failed to route to respond
-    * [PIVOT-860] - CPU Usage at 100% when displaying an Expander
-    * [PIVOT-861] - Memory leak: Window icon ImageListenerList retains
reference to closed windows, preventing garbage collection
-    * [PIVOT-862] - FileBrowser [Sheet] display the contents of the
root instead of actual folder in some circumstancies
-    * [PIVOT-865] - Crash in Save, As dialog when path + filename
entered in text field
-    * [PIVOT-872] - Build error with JDK 7 Update 7
-    * [PIVOT-874] - StockTracker: removing multiple symbols may remove
unselected ones too
-    * [PIVOT-876] - When user presses the tab key the applet loses
focus and never regains it
-    * [PIVOT-880] - NPE when calling FileBrowser.setRootDirectory using
a UNC path
-    * [PIVOT-887] - Tutorial example code for NumericSpinnerData
doesn't work as shown
-    * [PIVOT-888] - Nullpointer Exception while editing TextArea with
text property two-way bounded
-    * [PIVOT-892] - DoubleValidator and FloatValidator do not allow
exponents to be entered
-    * [PIVOT-898] - fillIcon in buttons seems to let images display
with wrong dimension
+    * [PIVOT-707] - TextArea cant be edited when pivot applet loses
focus
+    * [PIVOT-738] - artefact problem with 2 scrollPane and TableView
+    * [PIVOT-751] - TabPaneSelectionListener#selectedIndexChanged
called twice when first tab is inserted
+    * [PIVOT-782] - java7 / applets : input fields not working
+    * [PIVOT-800] - FileBrowserSheet#setSelectedFile() does not take
effect
+    * [PIVOT-811] - ScrollPane painting lag / ListView focus issues
+    * [PIVOT-832] - FileBrowserSheet.setRootDirectory(...) fails the
first time on drives other than system volume
+    * [PIVOT-835] - TextPane is unusable in 2.0.1 release
+    * [PIVOT-837] - TabPane with vertical tabOrientation and corner's
content with top verticalAlignment
+    * [PIVOT-855] - Compilation errors with Java 7 (JDK 1.7)
 
 ** Task



~Roger Whitcomb

Re: [VOTE] Release Pivot 2.0.3

Posted by Sandro Martini <sa...@gmail.com>.
Hi all,
this is my vote:

> [x] +1 Publish

Test Platform: Windows XP,
Oracle JDK 6 Update 37 (32 bit), and Java Runtime 7 Update 15 (32 bit)
inside Chrome 25 , Firefox 19 , Internet Explorer 8

- review digital sign on all asc files, using PGP / GPG
- review RAT reports


Tests on Binary:

- check md5 on apache-pivot-2.0.3.zip

- check that root files are good (README, LICENSE, BUILD, RELEASE-NOTES, etc)
- open and inspect all pivot jars to ensure the content is right
- open javadoc index, and tested some random pages
- deploy demos and tutorials wars in a local tomcat 6.0.36 instance,
and verify that:
the two web applications are working,
that all links are good (pages, applets, web start applications),
and that all pages have the right content inside


Tests on Sources:

- check md5 on apache-pivot-2.0.3-src.zip

- check that root files are good (README, LICENSE, BUILD, RELEASE-NOTES, etc)
- build test environment: ant-1.8.4, junit-4.8.2, maven-3.0.4,
maven-ant-tasks-2.1.3
- execute the following ant commands with JDK 6 Update 37:
clean, dist, clean, install, maven-install, and ensure that all works good
- inspected generated artifacts (zip, jars)
- inspected installed artifacts in a local maven repository


Bye,
Sandro