]> source.dussan.org Git - vaadin-framework.git/commitdiff
Merge from 6.2 to 6.3
authorHenri Sara <henri.sara@itmill.com>
Tue, 5 Jan 2010 07:55:14 +0000 (07:55 +0000)
committerHenri Sara <henri.sara@itmill.com>
Tue, 5 Jan 2010 07:55:14 +0000 (07:55 +0000)
svn changeset:10625/svn branch:6.3

1  2 
WebContent/release-notes.html
src/com/vaadin/data/util/FilesystemContainer.java
src/com/vaadin/data/util/IndexedContainer.java
src/com/vaadin/ui/AbstractComponent.java

index 74f84f96534ad0f94c6d982e96d500546a75304d,cc508c831e1a29569a588839ddd7fc3f61646fdf..0de559fda82782626e8bd53ae89389211f5f31a9
    <li><a href="#requirements">Requirements</a></li>
  </ul>
  
 -<p>Vaadin @version@ is a maintenance release for Vaadin 6.2,
 -containing a number of important fixes. In addition to the fixes listed in the <a
 -      href="#changelog">Change Log</a> below, the release includes the following fix or enhacements:</p>
 +<p>Vaadin @version@ is an update release for Vaadin 6. In addition to various fixes, it
 +contains a number of significant enhancements.</p>
  
  <ul>
 -  <li>Enhancements for the Portlet 2.0 support (<a href="http://dev.vaadin.com/ticket/3918">#3918</a>)</li>
 -  <ul>
 -    <li>Support for the edit and help modes</li>
 -    <li>Support for custom modes and changing modes programmatically</li>
 -    <li>See <a href="http://dev.vaadin.com/browser/versions/6.2/demo/src/com/vaadin/demo/portlet/PortletModeExample.java"><tt>com/vaadin/demo/portlet/PortletModeExample.java</tt></a> in the demo source code in the installation package for an example</li>
 -  </ul>
 -</ul>
 +    <li>Widget set definition and component-to-widget mapping has been redesigned</li>
 +    <ul>
 +        <li>Reuse of widgets is now much easier, as it is easier to package and use widget
 +        set JARs and otherwise combine widget sets.</li>
 +
 +        <li>A widget set definition class is no longer used. The Java
 +              code needed for widget instantiation and client-server mapping is now
 +              automatically generated by the GWT compiler. For the basic Vaadin
 +              user, a widget set is now defined only in a GWT module definition file
 +              (<tt>.gwt.xml</tt>).</li>
 +  
 +        <li>Server-side component is mapped to a client-side widget with an annotation:
 +            <pre>@ClientWidget(com.vaadin.demo.colorpicker.gwt.client.ui.VColorPicker.class)
 +public class ColorPicker extends AbstractField {</pre>
 +        </li>
 +
 +        <li>The <tt>getTag()</tt> method is no longer needed</li>
 +
 +        <li>The Vaadin Plugin for Eclipse can create new widget stubs, define the mapping,
 +        and create widget set definition files (<tt>.gwt.xml</tt>).</li>
  
 -<p>For recent major enhancements, see the <a
 -      href="http://vaadin.com/download/release/6.2/6.2.0/release-notes.html">Release
 -Notes for Vaadin 6.2.0</a>.</p>
 +        <li>See <tt>WebContent/docs/example-source/build-widgetset.xml</tt> for an example
 +        on how you can compile widget sets and widget set JARs with Ant.</li>
 +
 +        <li>A widget set builder allows automatic generation and maintenance of widget
 +        configurations, making use of widget set JARs easier.</li>
 +
 +        <li>See <a href="#widgetupgrade">notes below</a> for upgrading widget set
 +        definitions and widget mappings from earlier version of Vaadin 6.</li>
 +    </ul>
 +    <li>Other enhancements to development of new components</li>
 +    <ul>
 +          <li>On the server-side:</li>
 +          <ul>
 +              <li>Listeners for custom client side events are now easier to implement with
 +              <tt>ReflectTools.findMethod()</tt> and <tt>addListener(String eventIdentifier,
 +              Class&lt;?&gt; eventType, Object target, Method method)</tt> methods. The latter
 +                  automatically informs the client-side that a listener is registered on server side)</li>
 +              </ul>
 +        <li>On the client-side:</li>
 +        <ul>
 +            <li>Ability to check if a listener is registered on the server-side</li>
 +            <li>Typed arrays and maps can now be sent to server with <tt>updateVariable()</tt>
 +                              <ul>
 +                              <li><b>Note!</b> This change affects existing custom components that send object arrays to the server. 
 +                              Previously, an <tt>Object[]</tt> sent from client to server was converted into <tt>String[]</tt> on the server-side. 
 +                              This invalid behavior is now fixed and an <tt>Object[]</tt> sent from client-side is an
 +                              <tt>Object[]</tt> on the server-side.</li>
 +                              </ul>
 +            </li>
 +        </ul>
 +    </ul>
 +    <li>Portlet 2.0 (JSR 268) support</li>
 +    <ul>
 +      <li>A separate servlet for each portlet is no longer needed. 
 +       (no separate servlet, no session problems, portlet-to-portlet communication, etc)</li>
 +    </ul> 
 +    <li>OSGi support</li>
 +    <ul>
 +      <li>Vaadin now works as a OSGi bundle.</li>
 +    </ul>
 +    <li>Enhanced sorting of <b>IndexedContainer</b> and <b>BeanItemContainer</b></li>
 +    <ul>
 +             <li>Custom sort methods can now be used to sort container contents.</li>
 +      </ul>
 +    <li>Improved event support</li>
 +    <ul>
 +      <li>Client-side events are sent to the server only when a listener has been registered for the event</li>
 +      <li>All built-in layouts (<b>AbsoluteLayout</b>, <b>CssLayout</b>, <b>HorizontalLayout</b>, <b>GridLayout</b>, and <b>VerticalLayout</b>) now support click listeners.</li>
 +      <li>Click events for <b>Panel</b> and <b>Embedded</b>.</li>
 +        <li>Focus and blur events for <b>DateField</b>, <b>TextField</b>, and <b>Select</b></li>
 +    </ul>
 +    <li>JavaScript execution with <tt>Window.excecuteJavaScript()</tt></li>
 +    <ul>
 +          <li>You can execute JavaScript directly from the server-side with the new <tt>excecuteJavaScript()</tt> method. You can use it, for example, for integration with other systems or for implementing print functionality (<tt>window.print()</tt>). </li>
 +    </ul>
 +    <li>Additional Maven archetypes</li>
 +    <ul>
 +        <li><b>vaadin-archetype-clean</b> with a dependency to Vaadin and a minimal application skeleton, no client-side widgets</li>
 +        <li><b>vaadin-archetype-widget</b> for creation of Vaadin 6.2 widget packages</li>
 +        <li><b>vaadin-archetype-sample</b> has been updated for Vaadin 6.2 - use version 1.0.x for earlier versions of Vaadin</li>
 +    </ul>
 +    <li>Maven Vaadin plugin</li>
 +    <ul>
 +        <li><b>vaadin-maven-plugin</b> can automatically update Vaadin 6.2 widget sets based on Maven dependencies using the goal <tt>update-widgetset</tt></li>
 +    </ul>
 +    <li><b>HttpServletRequestListener</b></li>
 +    <ul>
 +      <li>Similar to <b>TransactionListener</b>, but only related to a single Application. Called before and after every servlet request and provides access to <b>HttpServletRequest</b> and <b>HttpServletResponse</b>.</li>
 +    </ul>
 +    <li><b>PortletRequestListener</b>
 +    <ul>
 +      <li>Similar to <b>HttpServletRequestListener</b>, but for portlets. Called before and after every portlet request and provides access to <b>PortletRequest</b> and <b>PortletResponse</b>.</li>
 +    </ul>
++    <li>Enhancements for the Portlet 2.0 support (<a href="http://dev.vaadin.com/ticket/3918">#3918</a>)</li>
++    <ul>
++      <li>Support for the edit and help modes</li>
++      <li>Support for custom modes and changing modes programmatically</li>
++      <li>See <a href="http://dev.vaadin.com/browser/versions/6.2/demo/src/com/vaadin/demo/portlet/PortletModeExample.java"><tt>com/vaadin/demo/portlet/PortletModeExample.java</tt></a> in the demo source code in the installation package for an example</li>
++    </ul>
 +    <li>Enhancements to various components:</li>
 +    <ul>
 +        <li><b>Window</b>: Additional control over a sub-window: close and drag prevention.</li>
 +      <li><b>Tree</b>: Item style generator enabling styling of individual tree items. Rendering optimizations.</li> 
 +      <li><b>Tabsheet</b>: Tabs can be marked as closable. The new <b>CloseHandler</b> can be used to ask for confirmation, prevent closing etc.</li>
 +      <li><b>SplitPanel</b>: Double-clicking the splitter sends an event which can be handled on server-side.</li>
 +      <li><b>MenuBar</b>: Many enhancements: individual items can be styled, support for separators, disabling of items, visibility of items.</li>
 +      <li><b>DateField</b>: Support for lenient/non-lenient mode. A <b>DateField</b> is now by default in non-lenient mode (only accepts valid dates). </li>
 +    </ul>
 +    <li>Automatic integration tests</li>
 +    <ul>
 +      <li>All Vaadin builds are now automatically tested on all supported servers.</li>
 +    </ul>
 +    <li>Dozens of other small enhancements and bug fixes</li> 
 +</ul>
  
  <p>Problem fixes and enhancements planned for upcoming releases can be found from the <a
  href="http://dev.vaadin.com/roadmap">Vaadin Roadmap</a> in Vaadin Trac.</p>
index adcfcfe3a7810de2ec30874dff674e060a02cce5,758c1444defe0562941d257dfb87eb169e5ba1c9..1c9671d52d63c2ffc4713da37319625f9dfcb040
@@@ -399,15 -395,14 +395,14 @@@ public class FilesystemContainer implem
          } else {
              l = f.listFiles();
          }
 -        final List ll = Arrays.asList(l);
 +        final List<File> ll = Arrays.asList(l);
          Collections.sort(ll);
  
 -        for (final Iterator i = ll.iterator(); i.hasNext();) {
 -            final File lf = (File) i.next();
 +        for (final Iterator<File> i = ll.iterator(); i.hasNext();) {
 +            final File lf = i.next();
+             col.add(lf);
              if (lf.isDirectory()) {
                  addItemIds(col, lf);
-             } else {
-                 col.add(lf);
              }
          }
      }