summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--WebContent/release-notes.html27
-rw-r--r--build/VaadinApache2LicenseForJavaFiles.txt (renamed from build/ITMillApache2LicenseForJavaFiles.txt)0
-rw-r--r--build/build.xml23
-rw-r--r--build/maven/pom-template.xml2
-rw-r--r--src/com/google/gwt/dom/client/VaadinDOMImplSafari.java2
-rw-r--r--src/com/vaadin/Application.java4
-rw-r--r--src/com/vaadin/annotations/AutoGenerated.java4
-rw-r--r--src/com/vaadin/data/Buffered.java6
-rw-r--r--src/com/vaadin/data/BufferedValidatable.java4
-rw-r--r--src/com/vaadin/data/Container.java6
-rw-r--r--src/com/vaadin/data/Item.java4
-rw-r--r--src/com/vaadin/data/Property.java24
-rw-r--r--src/com/vaadin/data/Validatable.java4
-rw-r--r--src/com/vaadin/data/Validator.java8
-rw-r--r--src/com/vaadin/data/util/AbstractBeanContainer.java12
-rw-r--r--src/com/vaadin/data/util/AbstractContainer.java2
-rw-r--r--src/com/vaadin/data/util/AbstractInMemoryContainer.java2
-rw-r--r--src/com/vaadin/data/util/AbstractProperty.java2
-rw-r--r--src/com/vaadin/data/util/BeanContainer.java2
-rw-r--r--src/com/vaadin/data/util/BeanItem.java4
-rw-r--r--src/com/vaadin/data/util/BeanItemContainer.java2
-rw-r--r--src/com/vaadin/data/util/ContainerHierarchicalWrapper.java4
-rw-r--r--src/com/vaadin/data/util/ContainerOrderedWrapper.java4
-rw-r--r--src/com/vaadin/data/util/DefaultItemSorter.java2
-rw-r--r--src/com/vaadin/data/util/FilesystemContainer.java8
-rw-r--r--src/com/vaadin/data/util/HierarchicalContainer.java4
-rw-r--r--src/com/vaadin/data/util/IndexedContainer.java14
-rw-r--r--src/com/vaadin/data/util/ItemSorter.java2
-rw-r--r--src/com/vaadin/data/util/ListSet.java2
-rw-r--r--src/com/vaadin/data/util/MethodProperty.java6
-rw-r--r--src/com/vaadin/data/util/MethodPropertyDescriptor.java4
-rw-r--r--src/com/vaadin/data/util/NestedMethodProperty.java2
-rw-r--r--src/com/vaadin/data/util/NestedPropertyDescriptor.java2
-rw-r--r--src/com/vaadin/data/util/ObjectProperty.java4
-rw-r--r--src/com/vaadin/data/util/PropertyFormatter.java4
-rw-r--r--src/com/vaadin/data/util/PropertysetItem.java6
-rw-r--r--src/com/vaadin/data/util/QueryContainer.java6
-rw-r--r--src/com/vaadin/data/util/TextFileProperty.java2
-rw-r--r--src/com/vaadin/data/util/VaadinPropertyDescriptor.java4
-rw-r--r--src/com/vaadin/data/util/filter/AbstractJunctionFilter.java2
-rw-r--r--src/com/vaadin/data/util/filter/And.java2
-rw-r--r--src/com/vaadin/data/util/filter/Between.java2
-rw-r--r--src/com/vaadin/data/util/filter/Compare.java2
-rw-r--r--src/com/vaadin/data/util/filter/IsNull.java2
-rw-r--r--src/com/vaadin/data/util/filter/Like.java2
-rw-r--r--src/com/vaadin/data/util/filter/Not.java2
-rw-r--r--src/com/vaadin/data/util/filter/Or.java2
-rw-r--r--src/com/vaadin/data/util/filter/SimpleStringFilter.java2
-rw-r--r--src/com/vaadin/data/util/filter/UnsupportedFilterException.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/CacheFlushNotifier.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/CacheMap.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/ColumnProperty.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/OptimisticLockException.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/ReadOnlyRowId.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/Reference.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/RowId.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/RowItem.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/SQLContainer.java4
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/SQLUtil.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/TemporaryRowId.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/connection/J2EEConnectionPool.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/connection/JDBCConnectionPool.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/connection/SimpleJDBCConnectionPool.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/query/FreeformQuery.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/query/FreeformQueryDelegate.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/query/FreeformStatementDelegate.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/query/OrderBy.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/query/QueryDelegate.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/query/TableQuery.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/query/generator/DefaultSQLGenerator.java4
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/query/generator/MSSQLGenerator.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/query/generator/OracleGenerator.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/query/generator/SQLGenerator.java4
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/query/generator/StatementHelper.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/query/generator/filter/AndTranslator.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/query/generator/filter/BetweenTranslator.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/query/generator/filter/CompareTranslator.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/query/generator/filter/FilterTranslator.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/query/generator/filter/IsNullTranslator.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/query/generator/filter/LikeTranslator.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/query/generator/filter/NotTranslator.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/query/generator/filter/OrTranslator.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/query/generator/filter/QueryBuilder.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/query/generator/filter/SimpleStringTranslator.java2
-rw-r--r--src/com/vaadin/data/util/sqlcontainer/query/generator/filter/StringDecorator.java2
-rw-r--r--src/com/vaadin/data/validator/AbstractStringValidator.java4
-rw-r--r--src/com/vaadin/data/validator/AbstractValidator.java4
-rw-r--r--src/com/vaadin/data/validator/CompositeValidator.java4
-rw-r--r--src/com/vaadin/data/validator/DoubleValidator.java4
-rw-r--r--src/com/vaadin/data/validator/EmailValidator.java4
-rw-r--r--src/com/vaadin/data/validator/IntegerValidator.java4
-rw-r--r--src/com/vaadin/data/validator/NullValidator.java4
-rw-r--r--src/com/vaadin/data/validator/RegexpValidator.java4
-rw-r--r--src/com/vaadin/data/validator/StringLengthValidator.java4
-rw-r--r--src/com/vaadin/event/Action.java8
-rw-r--r--src/com/vaadin/event/ActionManager.java2
-rw-r--r--src/com/vaadin/event/ComponentEventListener.java2
-rw-r--r--src/com/vaadin/event/DataBoundTransferable.java2
-rw-r--r--src/com/vaadin/event/EventRouter.java4
-rw-r--r--src/com/vaadin/event/FieldEvents.java2
-rw-r--r--src/com/vaadin/event/ItemClickEvent.java2
-rw-r--r--src/com/vaadin/event/LayoutEvents.java2
-rw-r--r--src/com/vaadin/event/ListenerMethod.java6
-rw-r--r--src/com/vaadin/event/MethodEventSource.java4
-rw-r--r--src/com/vaadin/event/MouseEvents.java12
-rw-r--r--src/com/vaadin/event/ShortcutAction.java4
-rw-r--r--src/com/vaadin/event/ShortcutListener.java2
-rw-r--r--src/com/vaadin/event/Transferable.java2
-rw-r--r--src/com/vaadin/event/TransferableImpl.java2
-rw-r--r--src/com/vaadin/event/dd/DragAndDropEvent.java2
-rw-r--r--src/com/vaadin/event/dd/DragSource.java2
-rw-r--r--src/com/vaadin/event/dd/DropHandler.java2
-rw-r--r--src/com/vaadin/event/dd/DropTarget.java2
-rw-r--r--src/com/vaadin/event/dd/TargetDetails.java2
-rw-r--r--src/com/vaadin/event/dd/TargetDetailsImpl.java2
-rw-r--r--src/com/vaadin/event/dd/acceptcriteria/AcceptAll.java2
-rw-r--r--src/com/vaadin/event/dd/acceptcriteria/AcceptCriterion.java2
-rw-r--r--src/com/vaadin/event/dd/acceptcriteria/And.java2
-rw-r--r--src/com/vaadin/event/dd/acceptcriteria/ClientCriterion.java2
-rw-r--r--src/com/vaadin/event/dd/acceptcriteria/ClientSideCriterion.java2
-rw-r--r--src/com/vaadin/event/dd/acceptcriteria/ContainsDataFlavor.java2
-rw-r--r--src/com/vaadin/event/dd/acceptcriteria/Not.java2
-rw-r--r--src/com/vaadin/event/dd/acceptcriteria/Or.java2
-rw-r--r--src/com/vaadin/event/dd/acceptcriteria/ServerSideCriterion.java2
-rw-r--r--src/com/vaadin/event/dd/acceptcriteria/SourceIs.java2
-rw-r--r--src/com/vaadin/event/dd/acceptcriteria/SourceIsTarget.java2
-rw-r--r--src/com/vaadin/event/dd/acceptcriteria/TargetDetailIs.java2
-rw-r--r--src/com/vaadin/launcher/util/BrowserLauncher.java2
-rw-r--r--src/com/vaadin/service/ApplicationContext.java4
-rw-r--r--src/com/vaadin/service/FileTypeResolver.java4
-rw-r--r--src/com/vaadin/terminal/ApplicationResource.java4
-rw-r--r--src/com/vaadin/terminal/ClassResource.java4
-rw-r--r--src/com/vaadin/terminal/CompositeErrorMessage.java4
-rw-r--r--src/com/vaadin/terminal/DownloadStream.java4
-rw-r--r--src/com/vaadin/terminal/ErrorMessage.java4
-rw-r--r--src/com/vaadin/terminal/ExternalResource.java4
-rw-r--r--src/com/vaadin/terminal/FileResource.java4
-rw-r--r--src/com/vaadin/terminal/KeyMapper.java4
-rw-r--r--src/com/vaadin/terminal/PaintException.java4
-rw-r--r--src/com/vaadin/terminal/PaintTarget.java4
-rw-r--r--src/com/vaadin/terminal/Paintable.java4
-rw-r--r--src/com/vaadin/terminal/ParameterHandler.java59
-rw-r--r--src/com/vaadin/terminal/Resource.java4
-rw-r--r--src/com/vaadin/terminal/Scrollable.java4
-rw-r--r--src/com/vaadin/terminal/Sizeable.java4
-rw-r--r--src/com/vaadin/terminal/StreamResource.java6
-rw-r--r--src/com/vaadin/terminal/StreamVariable.java4
-rw-r--r--src/com/vaadin/terminal/SystemError.java4
-rw-r--r--src/com/vaadin/terminal/Terminal.java4
-rw-r--r--src/com/vaadin/terminal/ThemeResource.java4
-rw-r--r--src/com/vaadin/terminal/URIHandler.java48
-rw-r--r--src/com/vaadin/terminal/UserError.java4
-rw-r--r--src/com/vaadin/terminal/VariableOwner.java4
-rw-r--r--src/com/vaadin/terminal/gwt/client/ApplicationConfiguration.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ApplicationConnection.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/BrowserInfo.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/CSSRule.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ClientExceptionHandler.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ComponentDetail.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ComponentDetailMap.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ComponentLocator.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ComputedStyle.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/Console.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/Container.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ContainerResizedListener.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/DateTimeService.java4
-rw-r--r--src/com/vaadin/terminal/gwt/client/EventHelper.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/EventId.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/Focusable.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/HistoryImplIEVaadin.java192
-rw-r--r--src/com/vaadin/terminal/gwt/client/LocaleNotLoadedException.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/LocaleService.java4
-rw-r--r--src/com/vaadin/terminal/gwt/client/MouseEventDetails.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/NullConsole.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/Paintable.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/RenderInformation.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/RenderSpace.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/SimpleTree.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/StyleConstants.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/SynchronousXHR.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/TooltipInfo.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/UIDL.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/Util.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/VBrowserDetails.java4
-rw-r--r--src/com/vaadin/terminal/gwt/client/VCaption.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/VCaptionWrapper.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/VConsole.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/VDebugConsole.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/VErrorMessage.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/VSchedulerImpl.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/VTooltip.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/VUIDLBrowser.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ValueMap.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/WidgetInstantiator.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/WidgetLoader.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/WidgetMap.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/WidgetSet.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/Action.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/ActionOwner.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/AlignmentInfo.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/CalendarEntry.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/ClickEventHandler.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/Field.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/FocusElementPanel.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/FocusableFlexTable.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/FocusableFlowPanel.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/FocusableScrollPanel.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/Icon.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/LayoutClickEventHandler.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/MenuBar.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/MenuItem.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/ShortcutActionHandler.java4
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/SimpleFocusablePanel.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/SubPartAware.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/Table.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/TouchScrollDelegate.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/TreeAction.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/TreeImages.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/UploadIFrameOnloadStrategy.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/UploadIFrameOnloadStrategyIE.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VAbsoluteLayout.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VAccordion.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VAudio.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VButton.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VCalendarPanel.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VCheckBox.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VContextMenu.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VCssLayout.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VCustomComponent.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VCustomLayout.java4
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VDateField.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VDateFieldCalendar.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VDragAndDropWrapper.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VEmbedded.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VFilterSelect.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VForm.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VFormLayout.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VGridLayout.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VHorizontalLayout.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VLabel.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VLazyExecutor.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VLink.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VListSelect.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VMarginInfo.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VMediaBase.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VMenuBar.java4
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VNativeButton.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VNativeSelect.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VNotification.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VOptionGroup.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VOptionGroupBase.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VOrderedLayout.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VOverlay.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VPanel.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VPasswordField.java4
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VPopupCalendar.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VPopupView.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VProgressIndicator.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java109
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VSlider.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VSplitPanel.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VSplitPanelHorizontal.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VSplitPanelVertical.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VTablePaging.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VTabsheet.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VTabsheetBase.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VTabsheetPanel.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VTextArea.java4
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VTextField.java17
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VTextualDate.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VTree.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VTreeTable.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VTwinColSelect.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VUnknownComponent.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VUpload.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VUriFragmentUtility.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VVerticalLayout.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VVideo.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VView.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VWindow.java4
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/DDUtil.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/HorizontalDropLocation.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VAbstractDropHandler.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VAcceptAll.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VAcceptCallback.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VAcceptCriteria.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VAcceptCriterion.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VAcceptCriterionFactory.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VAnd.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VContainsDataFlavor.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VDragAndDropManager.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VDragEvent.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VDragEventServerCallback.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VDragSourceIs.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VDropHandler.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VHasDropHandler.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VHtml5DragEvent.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VHtml5File.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VIsOverId.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VItemIdIs.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VLazyInitItemIdentifiers.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VNot.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VOr.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VOverTreeNode.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VServerAccept.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VSourceIsTarget.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VTargetDetailIs.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VTargetInSubtree.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VTransferable.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VerticalDropLocation.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/layout/CellBasedLayout.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/layout/ChildComponentContainer.java34
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/layout/Margins.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/richtextarea/VRichTextArea.java4
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/richtextarea/VRichTextToolbar.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/AbstractApplicationServlet.java4
-rw-r--r--src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/AbstractStreamingEvent.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/AbstractWebApplicationContext.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/ApplicationPortlet.java250
-rw-r--r--src/com/vaadin/terminal/gwt/server/ApplicationPortlet2.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/ApplicationRunnerServlet.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/ApplicationServlet.java6
-rw-r--r--src/com/vaadin/terminal/gwt/server/ChangeVariablesErrorEvent.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/CommunicationManager.java4
-rw-r--r--src/com/vaadin/terminal/gwt/server/ComponentSizeValidator.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/Constants.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/DragAndDropService.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/GAEApplicationServlet.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/HttpServletRequestListener.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/JsonPaintTarget.java4
-rw-r--r--src/com/vaadin/terminal/gwt/server/NoInputStreamException.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/NoOutputStreamException.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/PortletApplicationContext.java186
-rw-r--r--src/com/vaadin/terminal/gwt/server/PortletApplicationContext2.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/PortletCommunicationManager.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/PortletRequestListener.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/RestrictedRenderResponse.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/SessionExpiredException.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/StreamingEndEventImpl.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/StreamingErrorEventImpl.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/StreamingProgressEventImpl.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/StreamingStartEventImpl.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/SystemMessageException.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/UploadException.java2
-rw-r--r--src/com/vaadin/terminal/gwt/server/WebApplicationContext.java4
-rw-r--r--src/com/vaadin/terminal/gwt/server/WebBrowser.java4
-rw-r--r--src/com/vaadin/terminal/gwt/widgetsetutils/AcceptCriteriaFactoryGenerator.java2
-rw-r--r--src/com/vaadin/terminal/gwt/widgetsetutils/ClassPathExplorer.java2
-rw-r--r--src/com/vaadin/terminal/gwt/widgetsetutils/CustomWidgetMapGenerator.java2
-rw-r--r--src/com/vaadin/terminal/gwt/widgetsetutils/EagerWidgetMapGenerator.java2
-rw-r--r--src/com/vaadin/terminal/gwt/widgetsetutils/LazyWidgetMapGenerator.java2
-rw-r--r--src/com/vaadin/terminal/gwt/widgetsetutils/WidgetMapGenerator.java2
-rw-r--r--src/com/vaadin/terminal/gwt/widgetsetutils/WidgetSetBuilder.java2
-rw-r--r--src/com/vaadin/tools/ReflectTools.java6
-rw-r--r--src/com/vaadin/tools/WidgetsetCompiler.java2
-rw-r--r--src/com/vaadin/ui/AbsoluteLayout.java2
-rw-r--r--src/com/vaadin/ui/AbstractComponent.java4
-rw-r--r--src/com/vaadin/ui/AbstractComponentContainer.java4
-rw-r--r--src/com/vaadin/ui/AbstractField.java6
-rw-r--r--src/com/vaadin/ui/AbstractLayout.java4
-rw-r--r--src/com/vaadin/ui/AbstractMedia.java2
-rw-r--r--src/com/vaadin/ui/AbstractOrderedLayout.java20
-rw-r--r--src/com/vaadin/ui/AbstractSelect.java6
-rw-r--r--src/com/vaadin/ui/AbstractSplitPanel.java2
-rw-r--r--src/com/vaadin/ui/AbstractTextField.java2
-rw-r--r--src/com/vaadin/ui/Accordion.java2
-rw-r--r--src/com/vaadin/ui/Alignment.java2
-rw-r--r--src/com/vaadin/ui/AlignmentUtils.java2
-rw-r--r--src/com/vaadin/ui/Audio.java2
-rw-r--r--src/com/vaadin/ui/BaseFieldFactory.java4
-rw-r--r--src/com/vaadin/ui/Button.java8
-rw-r--r--src/com/vaadin/ui/CheckBox.java2
-rw-r--r--src/com/vaadin/ui/ClientWidget.java2
-rw-r--r--src/com/vaadin/ui/ComboBox.java2
-rw-r--r--src/com/vaadin/ui/Component.java4
-rw-r--r--src/com/vaadin/ui/ComponentContainer.java4
-rw-r--r--src/com/vaadin/ui/CssLayout.java20
-rw-r--r--src/com/vaadin/ui/CustomComponent.java4
-rw-r--r--src/com/vaadin/ui/CustomLayout.java4
-rw-r--r--src/com/vaadin/ui/DateField.java4
-rw-r--r--src/com/vaadin/ui/DefaultFieldFactory.java2
-rw-r--r--src/com/vaadin/ui/DragAndDropWrapper.java2
-rw-r--r--src/com/vaadin/ui/Embedded.java4
-rw-r--r--src/com/vaadin/ui/ExpandLayout.java2
-rw-r--r--src/com/vaadin/ui/Field.java5
-rw-r--r--src/com/vaadin/ui/FieldFactory.java6
-rw-r--r--src/com/vaadin/ui/Form.java4
-rw-r--r--src/com/vaadin/ui/FormFieldFactory.java4
-rw-r--r--src/com/vaadin/ui/FormLayout.java2
-rw-r--r--src/com/vaadin/ui/GridLayout.java10
-rw-r--r--src/com/vaadin/ui/HorizontalLayout.java4
-rw-r--r--src/com/vaadin/ui/HorizontalSplitPanel.java2
-rw-r--r--src/com/vaadin/ui/Html5File.java2
-rw-r--r--src/com/vaadin/ui/InlineDateField.java4
-rw-r--r--src/com/vaadin/ui/Label.java6
-rw-r--r--src/com/vaadin/ui/Layout.java4
-rw-r--r--src/com/vaadin/ui/Link.java4
-rw-r--r--src/com/vaadin/ui/ListSelect.java2
-rw-r--r--src/com/vaadin/ui/LoginForm.java3
-rw-r--r--src/com/vaadin/ui/MenuBar.java4
-rw-r--r--src/com/vaadin/ui/NativeButton.java4
-rw-r--r--src/com/vaadin/ui/NativeSelect.java2
-rw-r--r--src/com/vaadin/ui/OptionGroup.java2
-rw-r--r--src/com/vaadin/ui/OrderedLayout.java4
-rw-r--r--src/com/vaadin/ui/Panel.java4
-rw-r--r--src/com/vaadin/ui/PasswordField.java2
-rw-r--r--src/com/vaadin/ui/PopupDateField.java4
-rw-r--r--src/com/vaadin/ui/PopupView.java4
-rw-r--r--src/com/vaadin/ui/ProgressIndicator.java4
-rw-r--r--src/com/vaadin/ui/RichTextArea.java2
-rw-r--r--src/com/vaadin/ui/Select.java4
-rw-r--r--src/com/vaadin/ui/Slider.java108
-rw-r--r--src/com/vaadin/ui/SplitPanel.java4
-rw-r--r--src/com/vaadin/ui/TabSheet.java10
-rw-r--r--src/com/vaadin/ui/Table.java17
-rw-r--r--src/com/vaadin/ui/TableFieldFactory.java4
-rw-r--r--src/com/vaadin/ui/TextArea.java2
-rw-r--r--src/com/vaadin/ui/TextField.java4
-rw-r--r--src/com/vaadin/ui/Tree.java12
-rw-r--r--src/com/vaadin/ui/TreeTable.java28
-rw-r--r--src/com/vaadin/ui/TwinColSelect.java2
-rw-r--r--src/com/vaadin/ui/Upload.java22
-rw-r--r--src/com/vaadin/ui/UriFragmentUtility.java153
-rw-r--r--src/com/vaadin/ui/VerticalLayout.java4
-rw-r--r--src/com/vaadin/ui/VerticalSplitPanel.java2
-rw-r--r--src/com/vaadin/ui/Video.java2
-rw-r--r--src/com/vaadin/ui/Window.java8
-rw-r--r--src/com/vaadin/ui/themes/BaseTheme.java2
-rw-r--r--src/com/vaadin/ui/themes/ChameleonTheme.java2
-rw-r--r--src/com/vaadin/ui/themes/LiferayTheme.java2
-rw-r--r--src/com/vaadin/ui/themes/Reindeer.java2
-rw-r--r--src/com/vaadin/ui/themes/Runo.java2
-rw-r--r--src/com/vaadin/ui/treetable/Collapsible.java2
-rw-r--r--src/com/vaadin/ui/treetable/HierarchicalContainerOrderedWrapper.java2
-rw-r--r--src/com/vaadin/util/SerializerHelper.java2
-rw-r--r--tests/server-side/com/vaadin/data/util/BeanContainerTest.java34
-rw-r--r--tests/server-side/com/vaadin/tests/server/LicenseInJavaFiles.java2
-rw-r--r--tests/server-side/com/vaadin/tests/server/component/abstractorderedlayout/AddComponentsTest.java115
-rw-r--r--tests/server-side/com/vaadin/tests/server/component/csslayout/AddComponentsTest.java109
-rw-r--r--tests/testbench/com/vaadin/launcher/DemoLauncher.java (renamed from src/com/vaadin/launcher/DemoLauncher.java)2
-rw-r--r--tests/testbench/com/vaadin/launcher/DevelopmentServerLauncher.java (renamed from src/com/vaadin/launcher/DevelopmentServerLauncher.java)2
-rw-r--r--tests/testbench/com/vaadin/launcher/jetty-webdefault.xml (renamed from src/com/vaadin/launcher/jetty-webdefault.xml)0
-rw-r--r--tests/testbench/com/vaadin/launcher/keystore (renamed from src/com/vaadin/launcher/keystore)bin1367 -> 1367 bytes
-rw-r--r--tests/testbench/com/vaadin/tests/CustomLayoutDemo.java4
-rw-r--r--tests/testbench/com/vaadin/tests/LayoutDemo.java4
-rw-r--r--tests/testbench/com/vaadin/tests/ModalWindow.java4
-rw-r--r--tests/testbench/com/vaadin/tests/NativeWindowing.java2
-rw-r--r--tests/testbench/com/vaadin/tests/OrderedLayoutSwapComponents.java4
-rw-r--r--tests/testbench/com/vaadin/tests/Parameters.java2
-rw-r--r--tests/testbench/com/vaadin/tests/PerformanceTestBasicComponentRendering.java2
-rw-r--r--tests/testbench/com/vaadin/tests/PerformanceTestLabelsAndOrderedLayouts.java2
-rw-r--r--tests/testbench/com/vaadin/tests/PerformanceTestSubTreeCaching.java2
-rw-r--r--tests/testbench/com/vaadin/tests/RandomLayoutStress.java4
-rw-r--r--tests/testbench/com/vaadin/tests/StressComponentsInTable.java2
-rw-r--r--tests/testbench/com/vaadin/tests/TableChangingDatasource.java2
-rw-r--r--tests/testbench/com/vaadin/tests/TableSelectTest.java2
-rw-r--r--tests/testbench/com/vaadin/tests/TestBench.java4
-rw-r--r--tests/testbench/com/vaadin/tests/TestCaptionWrapper.java2
-rw-r--r--tests/testbench/com/vaadin/tests/TestDateField.java4
-rw-r--r--tests/testbench/com/vaadin/tests/TestForAlignments.java2
-rw-r--r--tests/testbench/com/vaadin/tests/TestForApplicationLayoutThatUsesWholeBrosersSpace.java2
-rw-r--r--tests/testbench/com/vaadin/tests/TestForBasicApplicationLayout.java2
-rw-r--r--tests/testbench/com/vaadin/tests/TestForChildComponentRendering.java4
-rw-r--r--tests/testbench/com/vaadin/tests/TestForContainerFilterable.java2
-rw-r--r--tests/testbench/com/vaadin/tests/TestForGridLayoutChildComponentRendering.java4
-rw-r--r--tests/testbench/com/vaadin/tests/TestForMultipleStyleNames.java4
-rw-r--r--tests/testbench/com/vaadin/tests/TestForNativeWindowing.java2
-rw-r--r--tests/testbench/com/vaadin/tests/TestForPreconfiguredComponents.java4
-rw-r--r--tests/testbench/com/vaadin/tests/TestForRichTextEditor.java4
-rw-r--r--tests/testbench/com/vaadin/tests/TestForStyledUpload.java2
-rw-r--r--tests/testbench/com/vaadin/tests/TestForTablesInitialColumnWidthLogicRendering.java4
-rw-r--r--tests/testbench/com/vaadin/tests/TestForTrees.java4
-rw-r--r--tests/testbench/com/vaadin/tests/TestForUpload.java2
-rw-r--r--tests/testbench/com/vaadin/tests/TestForWindowOpen.java2
-rw-r--r--tests/testbench/com/vaadin/tests/TestForWindowing.java2
-rw-r--r--tests/testbench/com/vaadin/tests/TestIFrames.java2
-rw-r--r--tests/testbench/com/vaadin/tests/TestSelectAndDatefieldInDeepLayouts.java2
-rw-r--r--tests/testbench/com/vaadin/tests/TestSetVisibleAndCaching.java2
-rw-r--r--tests/testbench/com/vaadin/tests/TestSizeableIncomponents.java2
-rw-r--r--tests/testbench/com/vaadin/tests/TestSplitPanel.java2
-rw-r--r--tests/testbench/com/vaadin/tests/TreeFilesystem.java2
-rw-r--r--tests/testbench/com/vaadin/tests/TreeFilesystemContainer.java2
-rw-r--r--tests/testbench/com/vaadin/tests/UpgradingSample.java4
-rw-r--r--tests/testbench/com/vaadin/tests/UsingCustomNewItemHandlerInSelect.java2
-rw-r--r--tests/testbench/com/vaadin/tests/UsingObjectsInSelect.java2
-rw-r--r--tests/testbench/com/vaadin/tests/components/button/ButtonsInHorizontalLayout.html47
-rw-r--r--tests/testbench/com/vaadin/tests/components/button/ButtonsInHorizontalLayout.java37
-rw-r--r--tests/testbench/com/vaadin/tests/components/datefield/CustomDateFormat.java11
-rw-r--r--tests/testbench/com/vaadin/tests/components/media/Media.java2
-rw-r--r--tests/testbench/com/vaadin/tests/components/table/AddNonRenderedRow.java48
-rw-r--r--tests/testbench/com/vaadin/tests/components/table/EditableTableFocus.java35
-rw-r--r--tests/testbench/com/vaadin/tests/components/table/OddEvenRowStyling.java2
-rw-r--r--tests/testbench/com/vaadin/tests/components/table/ProgrammaticUnselectInRange.html57
-rw-r--r--tests/testbench/com/vaadin/tests/components/table/ProgrammaticUnselectInRange.java67
-rw-r--r--tests/testbench/com/vaadin/tests/components/table/TableClickValueChangeInteraction.html362
-rw-r--r--tests/testbench/com/vaadin/tests/components/table/TableClickValueChangeInteraction.java86
-rw-r--r--tests/testbench/com/vaadin/tests/components/table/TextFieldValueGoesMissing.java52
-rw-r--r--tests/testbench/com/vaadin/tests/components/textfield/MultipleTextChangeEvents.java57
-rw-r--r--tests/testbench/com/vaadin/tests/components/tree/TreeKeyboardNavigationScrolls.java2
-rw-r--r--tests/testbench/com/vaadin/tests/components/treetable/AddNodesOnExpand.html37
-rw-r--r--tests/testbench/com/vaadin/tests/components/treetable/AddNodesOnExpand.java55
-rw-r--r--tests/testbench/com/vaadin/tests/components/treetable/ProgrammaticCollapse.html112
-rw-r--r--tests/testbench/com/vaadin/tests/components/treetable/ProgrammaticCollapse.java74
-rw-r--r--tests/testbench/com/vaadin/tests/components/treetable/RemoveAllItemsRefresh.java2
-rw-r--r--tests/testbench/com/vaadin/tests/components/treetable/TreeTableModifyAndSetCollapsed.java57
-rw-r--r--tests/testbench/com/vaadin/tests/components/treetable/TreeTableOutOfSync.java2
-rw-r--r--tests/testbench/com/vaadin/tests/tickets/Ticket2742.java4
-rw-r--r--tests/testbench/com/vaadin/tests/util/SampleDirectory.java4
-rw-r--r--tests/testbench/com/vaadin/tests/validation/ValidationOfRequiredEmptyFields.html133
-rw-r--r--tests/testbench/com/vaadin/tests/validation/ValidationOfRequiredEmptyFields.java94
512 files changed, 3510 insertions, 810 deletions
diff --git a/WebContent/release-notes.html b/WebContent/release-notes.html
index 574c3792ef..6c26efd791 100644
--- a/WebContent/release-notes.html
+++ b/WebContent/release-notes.html
@@ -231,21 +231,18 @@
<h2 id="fixes">Fixes in Vaadin @version@</h2>
<p>
- #7788 Field.setProperyDatasource() does not reflect value for 6.7.0<br/>
- #7479 Vaadin apps cannot current be deployed on IBM WebSphere v8<br/>
- #7724 TextField with PropertyFormatter did not repaint in 6.7.0 (event with requestRepaint() call)<br/>
- #7731 Javascript error when adding an item to an empty Table when setColumnWidth is used<br/>
- #7776 AbstractField don't respect value change events from property during commit<br/>
- #7778 Table rendering problem<br/>
- #6588 Repainting in TextChangeListener will send wrong value to client.<br/>
- #7720 TreeTable doesn't get refreshed if all entries are removed<br/>
- #7738 Slashes or backslahes in ApplicationResources URLs should not be encoded<br/>
- #7753 TreeTable gets into a state that causes internal error when getChildren throws an exception.<br/>
- #3710 Width is miscalculated for the footer layouts in forms of undefined size<br/>
- #7548 TestBench pressSpecialKey (arrows) doesn't work on Tree in IE6<br/>
- #7708 DragAndDropWrapper.setDescription("foo") does not work<br/>
- #7736 Logging level of SqlContainer is too high<br/>
- #7755 Debug window "highlight component" does not work with sub windows<br/>
+ #7852 TreeTable partial update throws NegativeArraySizeException<br/>
+ #3125 Portlet size is not updated when window is resized<br/>
+ #7780 TreeTable rendering problem when adding or removing nodes<br/>
+ #7836 Table repaint throws ArrayIndexOutOfBounds when using FileSystemContainer<br/>
+ #5562 Widgetset build throws an exception while throwing an exception<br/>
+ #7698 FileSystemContainer throws NPE when a directory cannot be read<br/>
+ #7790 table.requestRepaint() does not invoke cellStylesGenerators<br/>
+ #7822 Loading Vaadin application in JBoss AS 7 throws java.lang.LinkageError<br/>
+ #7823 JBoss 7 AS can't load FlagSeResource<br/>
+ #7839 Out of Sync error when using Generated Columns with TreeTable<br/>
+ #7918 Test with Firefox 8
+ #7923 Shrinking browser window not detected if resizeLazy is enabled<br/>
</p>
<p>
The <a href="http://dev.vaadin.com/query?status=closed&type=defect&milestone=Vaadin%20@version@">full
diff --git a/build/ITMillApache2LicenseForJavaFiles.txt b/build/VaadinApache2LicenseForJavaFiles.txt
index ba72a29d84..ba72a29d84 100644
--- a/build/ITMillApache2LicenseForJavaFiles.txt
+++ b/build/VaadinApache2LicenseForJavaFiles.txt
diff --git a/build/build.xml b/build/build.xml
index bd0443fa55..d872ca767a 100644
--- a/build/build.xml
+++ b/build/build.xml
@@ -143,10 +143,6 @@
<include name="${toolkit-package}/tests/**/*" />
<include name="${toolkit-package}/launcher/**" />
</fileset>
- <fileset dir="${result-path}/src/core">
- <include name="${toolkit-package}/launcher/**" />
- <exclude name="${toolkit-package}/launcher/**/*.java" />
- </fileset>
<!-- test resources -->
<fileset dir="tests/testbench">
<include name="${toolkit-package}/tests/**/*" />
@@ -156,6 +152,12 @@
<exclude name="**/*.css" />
<exclude name="**/*.xml" />
</fileset>
+
+ <!-- Include files required by the DemoLauncher/DevelopmentServerLauncher -->
+ <fileset dir="tests/testbench">
+ <include name="${toolkit-package}/launcher/jetty-webdefault.xml" />
+ <include name="${toolkit-package}/launcher/keystore" />
+ </fileset>
</copy>
<war warfile="${result-path}/${test-war-filename}">
@@ -236,7 +238,7 @@
Other files are just copied.
-->
- <loadfile property="ITMillApache2LicenseForJavaFiles" srcFile="build/ITMillApache2LicenseForJavaFiles.txt" />
+ <loadfile property="VaadinApache2LicenseForJavaFiles" srcFile="build/VaadinApache2LicenseForJavaFiles.txt" />
<mkdir dir="${result-path}/src" />
<mkdir dir="${result-path}/src/core" />
@@ -257,7 +259,7 @@
<exclude name="**/*.xml" />
</patternset>
<filterset id="version-and-license">
- <filter token="ITMillApache2LicenseForJavaFiles" value="${ITMillApache2LicenseForJavaFiles}" />
+ <filter token="VaadinApache2LicenseForJavaFiles" value="${VaadinApache2LicenseForJavaFiles}" />
<filter token="VERSION" value="${version.full}" />
</filterset>
@@ -439,6 +441,9 @@
<target name="compile-widgetset" depends="init-deps" description="Compiles the widgetset given as the first parameter">
<fail unless="widgetset" message="No widgetset parameter set"/>
+ <property name="widgetset-style" value="OBF" />
+ <property name="widgetset-localWorkers" value="4" />
+ <property name="widgetset-extraParams" value="" />
<echo>Compiling widgetset ${widgetset}. Output directory: ${widgetsets-output-dir}</echo>
<mkdir dir="${widgetsets-output-dir}"/>
<java classname="com.google.gwt.dev.Compiler" failonerror="yes" fork="yes" maxmemory="512m">
@@ -450,9 +455,10 @@
<arg value="-war" />
<arg value="${widgetsets-output-dir}" />
<arg value="-style" />
- <arg value="OBF" />
+ <arg value="${widgetset-style}" />
<arg value="-localWorkers" />
- <arg value="4" />
+ <arg value="${widgetset-localWorkers}" />
+ <arg line="${widgetset-extraParams}" />
<arg value="${widgetset}" />
<jvmarg value="-Xss8M"/>
@@ -607,7 +613,6 @@
<jar file="${result-path}/${lib-sources-jar-name}" compress="true">
<fileset dir="${result-path}/src/core">
<patternset>
- <exclude name="${toolkit-package}/launcher/**" />
<include name="**/*.java" />
</patternset>
</fileset>
diff --git a/build/maven/pom-template.xml b/build/maven/pom-template.xml
index 851642dd3c..b3fe5119e9 100644
--- a/build/maven/pom-template.xml
+++ b/build/maven/pom-template.xml
@@ -5,7 +5,7 @@
<version>@MAVEN-VERSION@</version>
<name>Vaadin</name>
<organization>
- <name>Oy IT Mill Ltd</name>
+ <name>Vaadin Ltd</name>
<url>http://vaadin.com</url>
</organization>
<url>http://vaadin.com</url>
diff --git a/src/com/google/gwt/dom/client/VaadinDOMImplSafari.java b/src/com/google/gwt/dom/client/VaadinDOMImplSafari.java
index 1f6c600ca8..3975bf73d8 100644
--- a/src/com/google/gwt/dom/client/VaadinDOMImplSafari.java
+++ b/src/com/google/gwt/dom/client/VaadinDOMImplSafari.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.google.gwt.dom.client;
diff --git a/src/com/vaadin/Application.java b/src/com/vaadin/Application.java
index 42c4b572a1..7bbb12032d 100644
--- a/src/com/vaadin/Application.java
+++ b/src/com/vaadin/Application.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin;
@@ -105,7 +105,7 @@ import com.vaadin.ui.Window;
* always defines a default theme.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/annotations/AutoGenerated.java b/src/com/vaadin/annotations/AutoGenerated.java
index 90c3adc2cf..72c9b62a91 100644
--- a/src/com/vaadin/annotations/AutoGenerated.java
+++ b/src/com/vaadin/annotations/AutoGenerated.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.annotations;
@@ -8,7 +8,7 @@ package com.vaadin.annotations;
*
* These elements may be modified or removed by code generation.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 6.0
diff --git a/src/com/vaadin/data/Buffered.java b/src/com/vaadin/data/Buffered.java
index b818781145..7fc552f5d6 100644
--- a/src/com/vaadin/data/Buffered.java
+++ b/src/com/vaadin/data/Buffered.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data;
@@ -39,7 +39,7 @@ import com.vaadin.terminal.SystemError;
* the object is in read-through mode.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -144,7 +144,7 @@ public interface Buffered extends Serializable {
* buffered object tried to access its data source or if there is a problem
* in processing a data source.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/data/BufferedValidatable.java b/src/com/vaadin/data/BufferedValidatable.java
index 0130c2b929..ce1d44fce6 100644
--- a/src/com/vaadin/data/BufferedValidatable.java
+++ b/src/com/vaadin/data/BufferedValidatable.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data;
@@ -13,7 +13,7 @@ import java.io.Serializable;
* if the invalid data is committed to datasource.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/data/Container.java b/src/com/vaadin/data/Container.java
index 15b8a0a2d4..f722e07741 100644
--- a/src/com/vaadin/data/Container.java
+++ b/src/com/vaadin/data/Container.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data;
@@ -64,7 +64,7 @@ import com.vaadin.data.util.filter.UnsupportedFilterException;
* implement only the ones it needs.
* </p>
*
- * @author IT Mill Ltd
+ * @author Vaadin Ltd
* @version
* @VERSION@
* @since 3.0
@@ -1101,4 +1101,4 @@ public interface Container extends Serializable {
*/
public void removeListener(Container.PropertySetChangeListener listener);
}
-} \ No newline at end of file
+}
diff --git a/src/com/vaadin/data/Item.java b/src/com/vaadin/data/Item.java
index 6d1224ebcb..98b95aecff 100644
--- a/src/com/vaadin/data/Item.java
+++ b/src/com/vaadin/data/Item.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data;
@@ -14,7 +14,7 @@ import java.util.Collection;
* to enable a class to implement only the functionalities it needs.
* </p>
*
- * @author IT Mill Ltd
+ * @author Vaadin Ltd
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/data/Property.java b/src/com/vaadin/data/Property.java
index 4e711141e8..c8499722a2 100644
--- a/src/com/vaadin/data/Property.java
+++ b/src/com/vaadin/data/Property.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data;
@@ -33,7 +33,7 @@ import java.io.Serializable;
* @param T
* type of values of the property
*
- * @author IT Mill Ltd
+ * @author Vaadin Ltd
* @version
* @VERSION@
* @since 3.0
@@ -109,7 +109,7 @@ public interface Property<T> extends Serializable {
* <code>Exception</code> object that signals that a requested Property
* modification failed because it's in read-only mode.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -141,7 +141,7 @@ public interface Property<T> extends Serializable {
* <code>setValue</code> method couldn't be converted to the native type of
* the Property.
*
- * @author IT Mill Ltd
+ * @author Vaadin Ltd
* @version
* @VERSION@
* @since 3.0
@@ -196,7 +196,7 @@ public interface Property<T> extends Serializable {
* Interface implemented by the viewer classes capable of using a Property
* as a data source.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -230,7 +230,7 @@ public interface Property<T> extends Serializable {
* <code>ReadOnlyException</code> being thrown.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -245,7 +245,7 @@ public interface Property<T> extends Serializable {
* An <code>Event</code> object specifying the Property whose value has been
* changed.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -264,7 +264,7 @@ public interface Property<T> extends Serializable {
* The <code>listener</code> interface for receiving
* <code>ValueChangeEvent</code> objects.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -294,7 +294,7 @@ public interface Property<T> extends Serializable {
* be able to implement an interface.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -324,7 +324,7 @@ public interface Property<T> extends Serializable {
* An <code>Event</code> object specifying the Property whose read-only
* status has been changed.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -343,7 +343,7 @@ public interface Property<T> extends Serializable {
* The listener interface for receiving
* <code>ReadOnlyStatusChangeEvent</code> objects.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -375,7 +375,7 @@ public interface Property<T> extends Serializable {
* be able to implement an interface.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/data/Validatable.java b/src/com/vaadin/data/Validatable.java
index ea63dac9c9..4a7a0fda10 100644
--- a/src/com/vaadin/data/Validatable.java
+++ b/src/com/vaadin/data/Validatable.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data;
@@ -14,7 +14,7 @@ import java.util.Collection;
* the object.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/data/Validator.java b/src/com/vaadin/data/Validator.java
index 41a32d9d8a..f1e10c728d 100644
--- a/src/com/vaadin/data/Validator.java
+++ b/src/com/vaadin/data/Validator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data;
@@ -37,7 +37,7 @@ import com.vaadin.terminal.gwt.server.AbstractApplicationServlet;
* migration from earlier Vaadin versions.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -65,7 +65,7 @@ public interface Validator extends Serializable {
* {@link #getHtmlMessage()} and use the subclass in validators.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -253,7 +253,7 @@ public interface Validator extends Serializable {
* validation failed because the value was empty. What empty means is up to
* the thrower.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 5.3.0
diff --git a/src/com/vaadin/data/util/AbstractBeanContainer.java b/src/com/vaadin/data/util/AbstractBeanContainer.java
index a562edf8a6..bed3ca0450 100644
--- a/src/com/vaadin/data/util/AbstractBeanContainer.java
+++ b/src/com/vaadin/data/util/AbstractBeanContainer.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util;
@@ -627,9 +627,12 @@ public abstract class AbstractBeanContainer<IDTYPE, BEANTYPE> extends
* The collection of beans to add. Must not be null.
* @throws IllegalStateException
* if no bean identifier resolver has been set
+ * @throws IllegalArgumentException
+ * if the resolver returns a null itemId for one of the beans in
+ * the collection
*/
protected void addAll(Collection<? extends BEANTYPE> collection)
- throws IllegalStateException {
+ throws IllegalStateException, IllegalArgumentException {
boolean modified = false;
for (BEANTYPE bean : collection) {
// TODO skipping invalid beans - should not allow them in javadoc?
@@ -638,6 +641,11 @@ public abstract class AbstractBeanContainer<IDTYPE, BEANTYPE> extends
continue;
}
IDTYPE itemId = resolveBeanId(bean);
+ if (itemId == null) {
+ throw new IllegalArgumentException(
+ "Resolved identifier for a bean must not be null");
+ }
+
if (internalAddItemAtEnd(itemId, createBeanItem(bean), false) != null) {
modified = true;
}
diff --git a/src/com/vaadin/data/util/AbstractContainer.java b/src/com/vaadin/data/util/AbstractContainer.java
index a1d964704c..58a3a8687a 100644
--- a/src/com/vaadin/data/util/AbstractContainer.java
+++ b/src/com/vaadin/data/util/AbstractContainer.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util;
diff --git a/src/com/vaadin/data/util/AbstractInMemoryContainer.java b/src/com/vaadin/data/util/AbstractInMemoryContainer.java
index 75983d1e4f..cc7f469c0c 100644
--- a/src/com/vaadin/data/util/AbstractInMemoryContainer.java
+++ b/src/com/vaadin/data/util/AbstractInMemoryContainer.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util;
diff --git a/src/com/vaadin/data/util/AbstractProperty.java b/src/com/vaadin/data/util/AbstractProperty.java
index 15015337c1..5e90d11831 100644
--- a/src/com/vaadin/data/util/AbstractProperty.java
+++ b/src/com/vaadin/data/util/AbstractProperty.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util;
diff --git a/src/com/vaadin/data/util/BeanContainer.java b/src/com/vaadin/data/util/BeanContainer.java
index 6dd9915b9e..bc1ee3c39e 100644
--- a/src/com/vaadin/data/util/BeanContainer.java
+++ b/src/com/vaadin/data/util/BeanContainer.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util;
diff --git a/src/com/vaadin/data/util/BeanItem.java b/src/com/vaadin/data/util/BeanItem.java
index a69c23f377..69fc4b2d95 100644
--- a/src/com/vaadin/data/util/BeanItem.java
+++ b/src/com/vaadin/data/util/BeanItem.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util;
@@ -21,7 +21,7 @@ import java.util.Set;
/**
* A wrapper class for adding the Item interface to any Java Bean.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/data/util/BeanItemContainer.java b/src/com/vaadin/data/util/BeanItemContainer.java
index a1f8872da4..245a623d5d 100644
--- a/src/com/vaadin/data/util/BeanItemContainer.java
+++ b/src/com/vaadin/data/util/BeanItemContainer.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util;
diff --git a/src/com/vaadin/data/util/ContainerHierarchicalWrapper.java b/src/com/vaadin/data/util/ContainerHierarchicalWrapper.java
index bbccd37394..91950f5d4f 100644
--- a/src/com/vaadin/data/util/ContainerHierarchicalWrapper.java
+++ b/src/com/vaadin/data/util/ContainerHierarchicalWrapper.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util;
@@ -32,7 +32,7 @@ import com.vaadin.data.Property;
* with the {@link #updateHierarchicalWrapper()} method.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/data/util/ContainerOrderedWrapper.java b/src/com/vaadin/data/util/ContainerOrderedWrapper.java
index 51be30bf7e..f333edecf4 100644
--- a/src/com/vaadin/data/util/ContainerOrderedWrapper.java
+++ b/src/com/vaadin/data/util/ContainerOrderedWrapper.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util;
@@ -26,7 +26,7 @@ import com.vaadin.data.Property;
* with the {@link #updateOrderWrapper()} method.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/data/util/DefaultItemSorter.java b/src/com/vaadin/data/util/DefaultItemSorter.java
index 68886c8343..47db5d7507 100644
--- a/src/com/vaadin/data/util/DefaultItemSorter.java
+++ b/src/com/vaadin/data/util/DefaultItemSorter.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util;
diff --git a/src/com/vaadin/data/util/FilesystemContainer.java b/src/com/vaadin/data/util/FilesystemContainer.java
index c95eb4a8a1..7100286712 100644
--- a/src/com/vaadin/data/util/FilesystemContainer.java
+++ b/src/com/vaadin/data/util/FilesystemContainer.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util;
@@ -27,7 +27,7 @@ import com.vaadin.terminal.Resource;
/**
* A hierarchical container wrapper for a filesystem.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -586,7 +586,7 @@ public class FilesystemContainer implements Container.Hierarchical {
/**
* A Item wrapper for files in a filesystem.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -739,7 +739,7 @@ public class FilesystemContainer implements Container.Hierarchical {
* Generic file extension filter for displaying only files having certain
* extension.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/data/util/HierarchicalContainer.java b/src/com/vaadin/data/util/HierarchicalContainer.java
index 99de7a1352..1291c8fcc4 100644
--- a/src/com/vaadin/data/util/HierarchicalContainer.java
+++ b/src/com/vaadin/data/util/HierarchicalContainer.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util;
@@ -19,7 +19,7 @@ import com.vaadin.data.Item;
* A specialized Container whose contents can be accessed like it was a
* tree-like structure.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/data/util/IndexedContainer.java b/src/com/vaadin/data/util/IndexedContainer.java
index 1655238358..56ad2a929f 100644
--- a/src/com/vaadin/data/util/IndexedContainer.java
+++ b/src/com/vaadin/data/util/IndexedContainer.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util;
@@ -40,7 +40,7 @@ import com.vaadin.data.util.filter.UnsupportedFilterException;
*
* @see com.vaadin.data.Container
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -420,7 +420,7 @@ public class IndexedContainer extends
* An <code>event</code> object specifying the list whose Item set has
* changed.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -450,7 +450,7 @@ public class IndexedContainer extends
* An <code>event</code> object specifying the Property in a list whose
* value has changed.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -646,7 +646,7 @@ public class IndexedContainer extends
* A class implementing the com.vaadin.data.Item interface to be contained
* in the list.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
*
* @version @VERSION@
*
@@ -780,7 +780,7 @@ public class IndexedContainer extends
* the {@link IndexedContainerItem} contained in the
* {@link IndexedContainer}.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
*
* @version
* @VERSION@
@@ -1112,4 +1112,4 @@ public class IndexedContainer extends
removeFilter(filter);
}
-} \ No newline at end of file
+}
diff --git a/src/com/vaadin/data/util/ItemSorter.java b/src/com/vaadin/data/util/ItemSorter.java
index e84c17dcaa..7f9e3a3f13 100644
--- a/src/com/vaadin/data/util/ItemSorter.java
+++ b/src/com/vaadin/data/util/ItemSorter.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util;
diff --git a/src/com/vaadin/data/util/ListSet.java b/src/com/vaadin/data/util/ListSet.java
index 4c689ec361..b71cc46898 100644
--- a/src/com/vaadin/data/util/ListSet.java
+++ b/src/com/vaadin/data/util/ListSet.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util;
diff --git a/src/com/vaadin/data/util/MethodProperty.java b/src/com/vaadin/data/util/MethodProperty.java
index 092c72e5f1..1ba84300b7 100644
--- a/src/com/vaadin/data/util/MethodProperty.java
+++ b/src/com/vaadin/data/util/MethodProperty.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util;
@@ -41,7 +41,7 @@ import com.vaadin.util.SerializerHelper;
* called, without verifying what the getter returns.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -721,7 +721,7 @@ public class MethodProperty<T> extends AbstractProperty<T> {
* calling or finding the specified getter or setter methods of the
* property.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/data/util/MethodPropertyDescriptor.java b/src/com/vaadin/data/util/MethodPropertyDescriptor.java
index b56df34831..10faa7a0f3 100644
--- a/src/com/vaadin/data/util/MethodPropertyDescriptor.java
+++ b/src/com/vaadin/data/util/MethodPropertyDescriptor.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util;
@@ -128,4 +128,4 @@ public class MethodPropertyDescriptor<BT> implements
writeMethod);
}
-} \ No newline at end of file
+}
diff --git a/src/com/vaadin/data/util/NestedMethodProperty.java b/src/com/vaadin/data/util/NestedMethodProperty.java
index 1c636fd0c4..b6748c9434 100644
--- a/src/com/vaadin/data/util/NestedMethodProperty.java
+++ b/src/com/vaadin/data/util/NestedMethodProperty.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util;
diff --git a/src/com/vaadin/data/util/NestedPropertyDescriptor.java b/src/com/vaadin/data/util/NestedPropertyDescriptor.java
index 1a11263587..6404f6361d 100644
--- a/src/com/vaadin/data/util/NestedPropertyDescriptor.java
+++ b/src/com/vaadin/data/util/NestedPropertyDescriptor.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util;
diff --git a/src/com/vaadin/data/util/ObjectProperty.java b/src/com/vaadin/data/util/ObjectProperty.java
index fbae448f30..2bc1daad76 100644
--- a/src/com/vaadin/data/util/ObjectProperty.java
+++ b/src/com/vaadin/data/util/ObjectProperty.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util;
@@ -13,7 +13,7 @@ import com.vaadin.data.Property;
* straightforward implementation of the the {@link com.vaadin.data.Property}
* interface.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/data/util/PropertyFormatter.java b/src/com/vaadin/data/util/PropertyFormatter.java
index 419db59040..b778028613 100644
--- a/src/com/vaadin/data/util/PropertyFormatter.java
+++ b/src/com/vaadin/data/util/PropertyFormatter.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util;
@@ -33,7 +33,7 @@ import com.vaadin.data.Property;
* type of the underlying property (a PropertyFormatter is always a
* Property&lt;String&gt;)
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @since 5.3.0
*/
@SuppressWarnings("serial")
diff --git a/src/com/vaadin/data/util/PropertysetItem.java b/src/com/vaadin/data/util/PropertysetItem.java
index 6cef452653..3270fa31f9 100644
--- a/src/com/vaadin/data/util/PropertysetItem.java
+++ b/src/com/vaadin/data/util/PropertysetItem.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util;
@@ -20,7 +20,7 @@ import com.vaadin.data.Property;
* The class supports listeners who are interested in changes to the Property
* set managed by the class.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -158,7 +158,7 @@ public class PropertysetItem implements Item, Item.PropertySetChangeNotifier,
* An <code>event</code> object specifying an Item whose Property set has
* changed.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/data/util/QueryContainer.java b/src/com/vaadin/data/util/QueryContainer.java
index 28c511d32f..7fef63e7f1 100644
--- a/src/com/vaadin/data/util/QueryContainer.java
+++ b/src/com/vaadin/data/util/QueryContainer.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util;
@@ -41,7 +41,7 @@ import com.vaadin.data.Property;
*
* @see com.vaadin.data.Container
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @since 4.0
*
@@ -495,7 +495,7 @@ public class QueryContainer implements Container, Container.Ordered,
/**
* The <code>Row</code> class implements methods of Item.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @since 4.0
*/
diff --git a/src/com/vaadin/data/util/TextFileProperty.java b/src/com/vaadin/data/util/TextFileProperty.java
index a2e1a32986..77325e141d 100644
--- a/src/com/vaadin/data/util/TextFileProperty.java
+++ b/src/com/vaadin/data/util/TextFileProperty.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util;
diff --git a/src/com/vaadin/data/util/VaadinPropertyDescriptor.java b/src/com/vaadin/data/util/VaadinPropertyDescriptor.java
index 50ca939b3a..ee1e525540 100644
--- a/src/com/vaadin/data/util/VaadinPropertyDescriptor.java
+++ b/src/com/vaadin/data/util/VaadinPropertyDescriptor.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util;
@@ -40,4 +40,4 @@ public interface VaadinPropertyDescriptor<BT> extends Serializable {
* @return
*/
public Property<?> createProperty(BT bean);
-} \ No newline at end of file
+}
diff --git a/src/com/vaadin/data/util/filter/AbstractJunctionFilter.java b/src/com/vaadin/data/util/filter/AbstractJunctionFilter.java
index a3514aa353..0f20e28586 100644
--- a/src/com/vaadin/data/util/filter/AbstractJunctionFilter.java
+++ b/src/com/vaadin/data/util/filter/AbstractJunctionFilter.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.filter;
diff --git a/src/com/vaadin/data/util/filter/And.java b/src/com/vaadin/data/util/filter/And.java
index 8611a71e65..08182794a8 100644
--- a/src/com/vaadin/data/util/filter/And.java
+++ b/src/com/vaadin/data/util/filter/And.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.filter;
diff --git a/src/com/vaadin/data/util/filter/Between.java b/src/com/vaadin/data/util/filter/Between.java
index 6ee6e6f330..dd47d36c7f 100644
--- a/src/com/vaadin/data/util/filter/Between.java
+++ b/src/com/vaadin/data/util/filter/Between.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.filter;
diff --git a/src/com/vaadin/data/util/filter/Compare.java b/src/com/vaadin/data/util/filter/Compare.java
index 6fefb9fde2..111d95f055 100644
--- a/src/com/vaadin/data/util/filter/Compare.java
+++ b/src/com/vaadin/data/util/filter/Compare.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.filter;
diff --git a/src/com/vaadin/data/util/filter/IsNull.java b/src/com/vaadin/data/util/filter/IsNull.java
index 38d25df06a..aad71a7c80 100644
--- a/src/com/vaadin/data/util/filter/IsNull.java
+++ b/src/com/vaadin/data/util/filter/IsNull.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.filter;
diff --git a/src/com/vaadin/data/util/filter/Like.java b/src/com/vaadin/data/util/filter/Like.java
index 243b66555b..723623bb69 100644
--- a/src/com/vaadin/data/util/filter/Like.java
+++ b/src/com/vaadin/data/util/filter/Like.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.filter;
diff --git a/src/com/vaadin/data/util/filter/Not.java b/src/com/vaadin/data/util/filter/Not.java
index edd78091f4..1731dcc2b5 100644
--- a/src/com/vaadin/data/util/filter/Not.java
+++ b/src/com/vaadin/data/util/filter/Not.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.filter;
diff --git a/src/com/vaadin/data/util/filter/Or.java b/src/com/vaadin/data/util/filter/Or.java
index 56605e972b..194afbc7da 100644
--- a/src/com/vaadin/data/util/filter/Or.java
+++ b/src/com/vaadin/data/util/filter/Or.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.filter;
diff --git a/src/com/vaadin/data/util/filter/SimpleStringFilter.java b/src/com/vaadin/data/util/filter/SimpleStringFilter.java
index cffe10afd6..6203251045 100644
--- a/src/com/vaadin/data/util/filter/SimpleStringFilter.java
+++ b/src/com/vaadin/data/util/filter/SimpleStringFilter.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.filter;
diff --git a/src/com/vaadin/data/util/filter/UnsupportedFilterException.java b/src/com/vaadin/data/util/filter/UnsupportedFilterException.java
index bc4fa2f152..c09cc474e9 100644
--- a/src/com/vaadin/data/util/filter/UnsupportedFilterException.java
+++ b/src/com/vaadin/data/util/filter/UnsupportedFilterException.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.filter;
diff --git a/src/com/vaadin/data/util/sqlcontainer/CacheFlushNotifier.java b/src/com/vaadin/data/util/sqlcontainer/CacheFlushNotifier.java
index b457d4e70b..ac6efaa49b 100644
--- a/src/com/vaadin/data/util/sqlcontainer/CacheFlushNotifier.java
+++ b/src/com/vaadin/data/util/sqlcontainer/CacheFlushNotifier.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer;
diff --git a/src/com/vaadin/data/util/sqlcontainer/CacheMap.java b/src/com/vaadin/data/util/sqlcontainer/CacheMap.java
index acff6ccd0c..44921dd12d 100644
--- a/src/com/vaadin/data/util/sqlcontainer/CacheMap.java
+++ b/src/com/vaadin/data/util/sqlcontainer/CacheMap.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer;
diff --git a/src/com/vaadin/data/util/sqlcontainer/ColumnProperty.java b/src/com/vaadin/data/util/sqlcontainer/ColumnProperty.java
index c1474fc760..f9b07f8c4c 100644
--- a/src/com/vaadin/data/util/sqlcontainer/ColumnProperty.java
+++ b/src/com/vaadin/data/util/sqlcontainer/ColumnProperty.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer;
diff --git a/src/com/vaadin/data/util/sqlcontainer/OptimisticLockException.java b/src/com/vaadin/data/util/sqlcontainer/OptimisticLockException.java
index ecf7c5b0ad..248b159aa9 100644
--- a/src/com/vaadin/data/util/sqlcontainer/OptimisticLockException.java
+++ b/src/com/vaadin/data/util/sqlcontainer/OptimisticLockException.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer;
diff --git a/src/com/vaadin/data/util/sqlcontainer/ReadOnlyRowId.java b/src/com/vaadin/data/util/sqlcontainer/ReadOnlyRowId.java
index 124a1726f2..c73ffce63a 100644
--- a/src/com/vaadin/data/util/sqlcontainer/ReadOnlyRowId.java
+++ b/src/com/vaadin/data/util/sqlcontainer/ReadOnlyRowId.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer;
diff --git a/src/com/vaadin/data/util/sqlcontainer/Reference.java b/src/com/vaadin/data/util/sqlcontainer/Reference.java
index 55940d8415..6e863fa040 100644
--- a/src/com/vaadin/data/util/sqlcontainer/Reference.java
+++ b/src/com/vaadin/data/util/sqlcontainer/Reference.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer;
diff --git a/src/com/vaadin/data/util/sqlcontainer/RowId.java b/src/com/vaadin/data/util/sqlcontainer/RowId.java
index 028bbaeb88..ed01b72e06 100644
--- a/src/com/vaadin/data/util/sqlcontainer/RowId.java
+++ b/src/com/vaadin/data/util/sqlcontainer/RowId.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer;
diff --git a/src/com/vaadin/data/util/sqlcontainer/RowItem.java b/src/com/vaadin/data/util/sqlcontainer/RowItem.java
index fac0292efa..adededb65c 100644
--- a/src/com/vaadin/data/util/sqlcontainer/RowItem.java
+++ b/src/com/vaadin/data/util/sqlcontainer/RowItem.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer;
diff --git a/src/com/vaadin/data/util/sqlcontainer/SQLContainer.java b/src/com/vaadin/data/util/sqlcontainer/SQLContainer.java
index 66639a7579..3bf33defd5 100644
--- a/src/com/vaadin/data/util/sqlcontainer/SQLContainer.java
+++ b/src/com/vaadin/data/util/sqlcontainer/SQLContainer.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer;
@@ -1640,4 +1640,4 @@ public class SQLContainer implements Container, Container.Filterable,
}
}
-} \ No newline at end of file
+}
diff --git a/src/com/vaadin/data/util/sqlcontainer/SQLUtil.java b/src/com/vaadin/data/util/sqlcontainer/SQLUtil.java
index d36a114e69..4a48dbf499 100644
--- a/src/com/vaadin/data/util/sqlcontainer/SQLUtil.java
+++ b/src/com/vaadin/data/util/sqlcontainer/SQLUtil.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer;
diff --git a/src/com/vaadin/data/util/sqlcontainer/TemporaryRowId.java b/src/com/vaadin/data/util/sqlcontainer/TemporaryRowId.java
index f748b715f3..b4bca75a2a 100644
--- a/src/com/vaadin/data/util/sqlcontainer/TemporaryRowId.java
+++ b/src/com/vaadin/data/util/sqlcontainer/TemporaryRowId.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer;
diff --git a/src/com/vaadin/data/util/sqlcontainer/connection/J2EEConnectionPool.java b/src/com/vaadin/data/util/sqlcontainer/connection/J2EEConnectionPool.java
index 12a2c6cd9f..9e4bb772f5 100644
--- a/src/com/vaadin/data/util/sqlcontainer/connection/J2EEConnectionPool.java
+++ b/src/com/vaadin/data/util/sqlcontainer/connection/J2EEConnectionPool.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer.connection;
diff --git a/src/com/vaadin/data/util/sqlcontainer/connection/JDBCConnectionPool.java b/src/com/vaadin/data/util/sqlcontainer/connection/JDBCConnectionPool.java
index c765c26de5..cf12461588 100644
--- a/src/com/vaadin/data/util/sqlcontainer/connection/JDBCConnectionPool.java
+++ b/src/com/vaadin/data/util/sqlcontainer/connection/JDBCConnectionPool.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer.connection;
diff --git a/src/com/vaadin/data/util/sqlcontainer/connection/SimpleJDBCConnectionPool.java b/src/com/vaadin/data/util/sqlcontainer/connection/SimpleJDBCConnectionPool.java
index d39f06739d..c1a7c61eab 100644
--- a/src/com/vaadin/data/util/sqlcontainer/connection/SimpleJDBCConnectionPool.java
+++ b/src/com/vaadin/data/util/sqlcontainer/connection/SimpleJDBCConnectionPool.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer.connection;
diff --git a/src/com/vaadin/data/util/sqlcontainer/query/FreeformQuery.java b/src/com/vaadin/data/util/sqlcontainer/query/FreeformQuery.java
index 5fa3d7be54..7dcab29611 100644
--- a/src/com/vaadin/data/util/sqlcontainer/query/FreeformQuery.java
+++ b/src/com/vaadin/data/util/sqlcontainer/query/FreeformQuery.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer.query;
diff --git a/src/com/vaadin/data/util/sqlcontainer/query/FreeformQueryDelegate.java b/src/com/vaadin/data/util/sqlcontainer/query/FreeformQueryDelegate.java
index cbfb0f149f..433d742be8 100644
--- a/src/com/vaadin/data/util/sqlcontainer/query/FreeformQueryDelegate.java
+++ b/src/com/vaadin/data/util/sqlcontainer/query/FreeformQueryDelegate.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer.query;
diff --git a/src/com/vaadin/data/util/sqlcontainer/query/FreeformStatementDelegate.java b/src/com/vaadin/data/util/sqlcontainer/query/FreeformStatementDelegate.java
index 6cb66f79ad..2ea151c578 100644
--- a/src/com/vaadin/data/util/sqlcontainer/query/FreeformStatementDelegate.java
+++ b/src/com/vaadin/data/util/sqlcontainer/query/FreeformStatementDelegate.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer.query;
diff --git a/src/com/vaadin/data/util/sqlcontainer/query/OrderBy.java b/src/com/vaadin/data/util/sqlcontainer/query/OrderBy.java
index 87046c2711..8ebe10067e 100644
--- a/src/com/vaadin/data/util/sqlcontainer/query/OrderBy.java
+++ b/src/com/vaadin/data/util/sqlcontainer/query/OrderBy.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer.query;
diff --git a/src/com/vaadin/data/util/sqlcontainer/query/QueryDelegate.java b/src/com/vaadin/data/util/sqlcontainer/query/QueryDelegate.java
index 6ff3dc9999..6e4396fad1 100644
--- a/src/com/vaadin/data/util/sqlcontainer/query/QueryDelegate.java
+++ b/src/com/vaadin/data/util/sqlcontainer/query/QueryDelegate.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer.query;
diff --git a/src/com/vaadin/data/util/sqlcontainer/query/TableQuery.java b/src/com/vaadin/data/util/sqlcontainer/query/TableQuery.java
index 624eba9b55..7e546309f6 100644
--- a/src/com/vaadin/data/util/sqlcontainer/query/TableQuery.java
+++ b/src/com/vaadin/data/util/sqlcontainer/query/TableQuery.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer.query;
diff --git a/src/com/vaadin/data/util/sqlcontainer/query/generator/DefaultSQLGenerator.java b/src/com/vaadin/data/util/sqlcontainer/query/generator/DefaultSQLGenerator.java
index 740501c714..24d283c9ab 100644
--- a/src/com/vaadin/data/util/sqlcontainer/query/generator/DefaultSQLGenerator.java
+++ b/src/com/vaadin/data/util/sqlcontainer/query/generator/DefaultSQLGenerator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer.query.generator;
@@ -19,7 +19,7 @@ import com.vaadin.data.util.sqlcontainer.query.generator.filter.StringDecorator;
/**
* Generates generic SQL that is supported by HSQLDB, MySQL and PostgreSQL.
*
- * @author Jonatan Kronqvist / IT Mill Ltd
+ * @author Jonatan Kronqvist / Vaadin Ltd
*/
@SuppressWarnings("serial")
public class DefaultSQLGenerator implements SQLGenerator {
diff --git a/src/com/vaadin/data/util/sqlcontainer/query/generator/MSSQLGenerator.java b/src/com/vaadin/data/util/sqlcontainer/query/generator/MSSQLGenerator.java
index 5083959f28..52c13feecb 100644
--- a/src/com/vaadin/data/util/sqlcontainer/query/generator/MSSQLGenerator.java
+++ b/src/com/vaadin/data/util/sqlcontainer/query/generator/MSSQLGenerator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer.query.generator;
diff --git a/src/com/vaadin/data/util/sqlcontainer/query/generator/OracleGenerator.java b/src/com/vaadin/data/util/sqlcontainer/query/generator/OracleGenerator.java
index 3d435456bc..8e33211154 100644
--- a/src/com/vaadin/data/util/sqlcontainer/query/generator/OracleGenerator.java
+++ b/src/com/vaadin/data/util/sqlcontainer/query/generator/OracleGenerator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer.query.generator;
diff --git a/src/com/vaadin/data/util/sqlcontainer/query/generator/SQLGenerator.java b/src/com/vaadin/data/util/sqlcontainer/query/generator/SQLGenerator.java
index eb269fb443..dde7077eee 100644
--- a/src/com/vaadin/data/util/sqlcontainer/query/generator/SQLGenerator.java
+++ b/src/com/vaadin/data/util/sqlcontainer/query/generator/SQLGenerator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer.query.generator;
@@ -15,7 +15,7 @@ import com.vaadin.data.util.sqlcontainer.query.OrderBy;
* syntax that is to be supported. By default there are implementations for
* HSQLDB, MySQL, PostgreSQL, MSSQL and Oracle syntaxes.
*
- * @author Jonatan Kronqvist / IT Mill Ltd
+ * @author Jonatan Kronqvist / Vaadin Ltd
*/
public interface SQLGenerator extends Serializable {
/**
diff --git a/src/com/vaadin/data/util/sqlcontainer/query/generator/StatementHelper.java b/src/com/vaadin/data/util/sqlcontainer/query/generator/StatementHelper.java
index 696aa086f6..888f1ec501 100644
--- a/src/com/vaadin/data/util/sqlcontainer/query/generator/StatementHelper.java
+++ b/src/com/vaadin/data/util/sqlcontainer/query/generator/StatementHelper.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer.query.generator;
diff --git a/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/AndTranslator.java b/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/AndTranslator.java
index 320d3ffa48..02d6671b60 100644
--- a/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/AndTranslator.java
+++ b/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/AndTranslator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer.query.generator.filter;
diff --git a/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/BetweenTranslator.java b/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/BetweenTranslator.java
index 64a61cfad9..e8a87a82d8 100644
--- a/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/BetweenTranslator.java
+++ b/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/BetweenTranslator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer.query.generator.filter;
diff --git a/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/CompareTranslator.java b/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/CompareTranslator.java
index 74795dbf5b..72d72dd069 100644
--- a/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/CompareTranslator.java
+++ b/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/CompareTranslator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer.query.generator.filter;
diff --git a/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/FilterTranslator.java b/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/FilterTranslator.java
index b459d2db3e..84af9d5c97 100644
--- a/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/FilterTranslator.java
+++ b/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/FilterTranslator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer.query.generator.filter;
diff --git a/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/IsNullTranslator.java b/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/IsNullTranslator.java
index e8fdc8e57e..2593bbae57 100644
--- a/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/IsNullTranslator.java
+++ b/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/IsNullTranslator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer.query.generator.filter;
diff --git a/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/LikeTranslator.java b/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/LikeTranslator.java
index 7203305fa3..b1c779ae73 100644
--- a/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/LikeTranslator.java
+++ b/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/LikeTranslator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer.query.generator.filter;
diff --git a/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/NotTranslator.java b/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/NotTranslator.java
index 62162c39dc..7c1bba2bb5 100644
--- a/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/NotTranslator.java
+++ b/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/NotTranslator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer.query.generator.filter;
diff --git a/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/OrTranslator.java b/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/OrTranslator.java
index 83c5080aae..9724ee7944 100644
--- a/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/OrTranslator.java
+++ b/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/OrTranslator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer.query.generator.filter;
diff --git a/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/QueryBuilder.java b/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/QueryBuilder.java
index 7cda2a967c..24be8963e0 100644
--- a/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/QueryBuilder.java
+++ b/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/QueryBuilder.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer.query.generator.filter;
diff --git a/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/SimpleStringTranslator.java b/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/SimpleStringTranslator.java
index 624b216991..1aae68abc0 100644
--- a/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/SimpleStringTranslator.java
+++ b/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/SimpleStringTranslator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer.query.generator.filter;
diff --git a/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/StringDecorator.java b/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/StringDecorator.java
index d1294330b3..8d2eabb5bc 100644
--- a/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/StringDecorator.java
+++ b/src/com/vaadin/data/util/sqlcontainer/query/generator/filter/StringDecorator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.util.sqlcontainer.query.generator.filter;
diff --git a/src/com/vaadin/data/validator/AbstractStringValidator.java b/src/com/vaadin/data/validator/AbstractStringValidator.java
index 3b7ef75419..46db5bc1e0 100644
--- a/src/com/vaadin/data/validator/AbstractStringValidator.java
+++ b/src/com/vaadin/data/validator/AbstractStringValidator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.validator;
@@ -14,7 +14,7 @@ package com.vaadin.data.validator;
* null.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 5.4
diff --git a/src/com/vaadin/data/validator/AbstractValidator.java b/src/com/vaadin/data/validator/AbstractValidator.java
index a43e8f7f7a..3cb52b6bdb 100644
--- a/src/com/vaadin/data/validator/AbstractValidator.java
+++ b/src/com/vaadin/data/validator/AbstractValidator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.validator;
@@ -27,7 +27,7 @@ import com.vaadin.data.Validator;
* applications. To check validity, {@link #validate(Object)} should be used.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 5.4
diff --git a/src/com/vaadin/data/validator/CompositeValidator.java b/src/com/vaadin/data/validator/CompositeValidator.java
index 95a7ae554b..29219ca6b5 100644
--- a/src/com/vaadin/data/validator/CompositeValidator.java
+++ b/src/com/vaadin/data/validator/CompositeValidator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.validator;
@@ -19,7 +19,7 @@ import com.vaadin.data.validator.CompositeValidator.CombinationMode;
* validator validates the value. This behaviour is controlled by the modes
* <code>AND</code> and <code>OR</code>.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/data/validator/DoubleValidator.java b/src/com/vaadin/data/validator/DoubleValidator.java
index db639f3856..e90919c17d 100644
--- a/src/com/vaadin/data/validator/DoubleValidator.java
+++ b/src/com/vaadin/data/validator/DoubleValidator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.validator;
@@ -8,7 +8,7 @@ package com.vaadin.data.validator;
* {@link com.vaadin.data.validator.AbstractStringValidator} for more
* information.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 5.4
diff --git a/src/com/vaadin/data/validator/EmailValidator.java b/src/com/vaadin/data/validator/EmailValidator.java
index 4fc09dadc5..c76d7e13dc 100644
--- a/src/com/vaadin/data/validator/EmailValidator.java
+++ b/src/com/vaadin/data/validator/EmailValidator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.validator;
@@ -11,7 +11,7 @@ package com.vaadin.data.validator;
* See {@link com.vaadin.data.validator.AbstractStringValidator} for more
* information.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 5.4
diff --git a/src/com/vaadin/data/validator/IntegerValidator.java b/src/com/vaadin/data/validator/IntegerValidator.java
index 1475caf312..50b45b90ce 100644
--- a/src/com/vaadin/data/validator/IntegerValidator.java
+++ b/src/com/vaadin/data/validator/IntegerValidator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.validator;
@@ -8,7 +8,7 @@ package com.vaadin.data.validator;
* {@link com.vaadin.data.validator.AbstractStringValidator} for more
* information.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 5.4
diff --git a/src/com/vaadin/data/validator/NullValidator.java b/src/com/vaadin/data/validator/NullValidator.java
index 06869066a2..62b2580d48 100644
--- a/src/com/vaadin/data/validator/NullValidator.java
+++ b/src/com/vaadin/data/validator/NullValidator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.validator;
@@ -10,7 +10,7 @@ import com.vaadin.data.Validator;
* This validator is used for validating properties that do or do not allow null
* values. By default, nulls are not allowed.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/data/validator/RegexpValidator.java b/src/com/vaadin/data/validator/RegexpValidator.java
index 3c455e587b..684de7697c 100644
--- a/src/com/vaadin/data/validator/RegexpValidator.java
+++ b/src/com/vaadin/data/validator/RegexpValidator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.validator;
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
* information.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 5.4
diff --git a/src/com/vaadin/data/validator/StringLengthValidator.java b/src/com/vaadin/data/validator/StringLengthValidator.java
index e73a1f618c..6b03379bac 100644
--- a/src/com/vaadin/data/validator/StringLengthValidator.java
+++ b/src/com/vaadin/data/validator/StringLengthValidator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.data.validator;
@@ -8,7 +8,7 @@ package com.vaadin.data.validator;
* This <code>StringLengthValidator</code> is used to validate the length of
* strings.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/event/Action.java b/src/com/vaadin/event/Action.java
index b0af0de4be..6c218c25dc 100644
--- a/src/com/vaadin/event/Action.java
+++ b/src/com/vaadin/event/Action.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.event;
@@ -13,7 +13,7 @@ import com.vaadin.terminal.Resource;
* handling and listing, and for action handler registrations and
* unregistration.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -104,7 +104,7 @@ public class Action implements Serializable {
/**
* Interface implemented by classes who wish to handle actions.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -147,7 +147,7 @@ public class Action implements Serializable {
* should loop all action handlers registered to it and let them handle the
* action.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/event/ActionManager.java b/src/com/vaadin/event/ActionManager.java
index 46ba235041..13496c1deb 100644
--- a/src/com/vaadin/event/ActionManager.java
+++ b/src/com/vaadin/event/ActionManager.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.event;
diff --git a/src/com/vaadin/event/ComponentEventListener.java b/src/com/vaadin/event/ComponentEventListener.java
index 215db4f991..21fe8683f6 100644
--- a/src/com/vaadin/event/ComponentEventListener.java
+++ b/src/com/vaadin/event/ComponentEventListener.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.event;
diff --git a/src/com/vaadin/event/DataBoundTransferable.java b/src/com/vaadin/event/DataBoundTransferable.java
index 8fb3143e7a..6f742e68d3 100644
--- a/src/com/vaadin/event/DataBoundTransferable.java
+++ b/src/com/vaadin/event/DataBoundTransferable.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.event;
diff --git a/src/com/vaadin/event/EventRouter.java b/src/com/vaadin/event/EventRouter.java
index 6332e4dd52..49b29de9bb 100644
--- a/src/com/vaadin/event/EventRouter.java
+++ b/src/com/vaadin/event/EventRouter.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.event;
@@ -17,7 +17,7 @@ import java.util.List;
* model. For more information on the event model see the
* {@link com.vaadin.event package documentation}.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/event/FieldEvents.java b/src/com/vaadin/event/FieldEvents.java
index 3d539be3ee..202abba078 100644
--- a/src/com/vaadin/event/FieldEvents.java
+++ b/src/com/vaadin/event/FieldEvents.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.event;
diff --git a/src/com/vaadin/event/ItemClickEvent.java b/src/com/vaadin/event/ItemClickEvent.java
index 94540aa174..c503f8f9c9 100644
--- a/src/com/vaadin/event/ItemClickEvent.java
+++ b/src/com/vaadin/event/ItemClickEvent.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.event;
diff --git a/src/com/vaadin/event/LayoutEvents.java b/src/com/vaadin/event/LayoutEvents.java
index 5c7fc0db28..2dda15fbf5 100644
--- a/src/com/vaadin/event/LayoutEvents.java
+++ b/src/com/vaadin/event/LayoutEvents.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.event;
diff --git a/src/com/vaadin/event/ListenerMethod.java b/src/com/vaadin/event/ListenerMethod.java
index 2c5e89921f..c11f3b1424 100644
--- a/src/com/vaadin/event/ListenerMethod.java
+++ b/src/com/vaadin/event/ListenerMethod.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.event;
@@ -35,7 +35,7 @@ import java.util.logging.Logger;
* calling of the trigger method.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -609,7 +609,7 @@ public class ListenerMethod implements EventListener, Serializable {
* arbitrary exception. The original exception is wrapped into
* MethodException instance and rethrown by the <code>ListenerMethod</code>.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/event/MethodEventSource.java b/src/com/vaadin/event/MethodEventSource.java
index e6c16ab054..fb2e7b029b 100644
--- a/src/com/vaadin/event/MethodEventSource.java
+++ b/src/com/vaadin/event/MethodEventSource.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.event;
@@ -17,7 +17,7 @@ import java.lang.reflect.Method;
* {@link com.vaadin.event com.vaadin.event package documentation}.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/event/MouseEvents.java b/src/com/vaadin/event/MouseEvents.java
index 547a56a9ea..2327b78f64 100644
--- a/src/com/vaadin/event/MouseEvents.java
+++ b/src/com/vaadin/event/MouseEvents.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.event;
@@ -13,7 +13,7 @@ import com.vaadin.ui.Component;
/**
* Interface that serves as a wrapper for mouse related events.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @see ClickListener
* @version
* @VERSION@
@@ -29,7 +29,7 @@ public interface MouseEvents {
* The information available for click events are terminal dependent.
* Correct values for all event details cannot be guaranteed.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @see ClickListener
* @version
* @VERSION@
@@ -168,7 +168,7 @@ public interface MouseEvents {
* {@link Component}.
*
* @see ClickEvent
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 6.2
@@ -193,7 +193,7 @@ public interface MouseEvents {
* Fired when the user double-clicks on a <code>Component</code>.
*
* @see ClickEvent
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 6.2
@@ -210,7 +210,7 @@ public interface MouseEvents {
* {@link Component}.
*
* @see DoubleClickEvent
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 6.2
diff --git a/src/com/vaadin/event/ShortcutAction.java b/src/com/vaadin/event/ShortcutAction.java
index c722d2e80e..c42dd731c8 100644
--- a/src/com/vaadin/event/ShortcutAction.java
+++ b/src/com/vaadin/event/ShortcutAction.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.event;
@@ -35,7 +35,7 @@ import com.vaadin.ui.Window;
* to the shortcut.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @since 4.0.1
*/
diff --git a/src/com/vaadin/event/ShortcutListener.java b/src/com/vaadin/event/ShortcutListener.java
index a21dacd730..0656ed0e1f 100644
--- a/src/com/vaadin/event/ShortcutListener.java
+++ b/src/com/vaadin/event/ShortcutListener.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.event;
diff --git a/src/com/vaadin/event/Transferable.java b/src/com/vaadin/event/Transferable.java
index c9e7aec814..838d8ad7e2 100644
--- a/src/com/vaadin/event/Transferable.java
+++ b/src/com/vaadin/event/Transferable.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.event;
diff --git a/src/com/vaadin/event/TransferableImpl.java b/src/com/vaadin/event/TransferableImpl.java
index ebbbf08cd4..621ea95bc1 100644
--- a/src/com/vaadin/event/TransferableImpl.java
+++ b/src/com/vaadin/event/TransferableImpl.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.event;
diff --git a/src/com/vaadin/event/dd/DragAndDropEvent.java b/src/com/vaadin/event/dd/DragAndDropEvent.java
index 321d6002b1..b920d43469 100644
--- a/src/com/vaadin/event/dd/DragAndDropEvent.java
+++ b/src/com/vaadin/event/dd/DragAndDropEvent.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.event.dd;
diff --git a/src/com/vaadin/event/dd/DragSource.java b/src/com/vaadin/event/dd/DragSource.java
index ea58f48952..4daf0dcb18 100644
--- a/src/com/vaadin/event/dd/DragSource.java
+++ b/src/com/vaadin/event/dd/DragSource.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.event.dd;
diff --git a/src/com/vaadin/event/dd/DropHandler.java b/src/com/vaadin/event/dd/DropHandler.java
index c0176207ed..7a15ea5b68 100644
--- a/src/com/vaadin/event/dd/DropHandler.java
+++ b/src/com/vaadin/event/dd/DropHandler.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.event.dd;
diff --git a/src/com/vaadin/event/dd/DropTarget.java b/src/com/vaadin/event/dd/DropTarget.java
index 0d88bf2893..c18aa60b19 100644
--- a/src/com/vaadin/event/dd/DropTarget.java
+++ b/src/com/vaadin/event/dd/DropTarget.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.event.dd;
diff --git a/src/com/vaadin/event/dd/TargetDetails.java b/src/com/vaadin/event/dd/TargetDetails.java
index bd2e41c63c..a352fbec60 100644
--- a/src/com/vaadin/event/dd/TargetDetails.java
+++ b/src/com/vaadin/event/dd/TargetDetails.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.event.dd;
diff --git a/src/com/vaadin/event/dd/TargetDetailsImpl.java b/src/com/vaadin/event/dd/TargetDetailsImpl.java
index 5b23a2a64f..27afc32680 100644
--- a/src/com/vaadin/event/dd/TargetDetailsImpl.java
+++ b/src/com/vaadin/event/dd/TargetDetailsImpl.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.event.dd;
diff --git a/src/com/vaadin/event/dd/acceptcriteria/AcceptAll.java b/src/com/vaadin/event/dd/acceptcriteria/AcceptAll.java
index b4199b5924..87193e8b3e 100644
--- a/src/com/vaadin/event/dd/acceptcriteria/AcceptAll.java
+++ b/src/com/vaadin/event/dd/acceptcriteria/AcceptAll.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/event/dd/acceptcriteria/AcceptCriterion.java b/src/com/vaadin/event/dd/acceptcriteria/AcceptCriterion.java
index 6370ddad01..c0f04d362f 100644
--- a/src/com/vaadin/event/dd/acceptcriteria/AcceptCriterion.java
+++ b/src/com/vaadin/event/dd/acceptcriteria/AcceptCriterion.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/event/dd/acceptcriteria/And.java b/src/com/vaadin/event/dd/acceptcriteria/And.java
index 90240ac2ed..89c8cb377b 100644
--- a/src/com/vaadin/event/dd/acceptcriteria/And.java
+++ b/src/com/vaadin/event/dd/acceptcriteria/And.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/event/dd/acceptcriteria/ClientCriterion.java b/src/com/vaadin/event/dd/acceptcriteria/ClientCriterion.java
index 1592820ad6..920112360e 100644
--- a/src/com/vaadin/event/dd/acceptcriteria/ClientCriterion.java
+++ b/src/com/vaadin/event/dd/acceptcriteria/ClientCriterion.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.event.dd.acceptcriteria;
diff --git a/src/com/vaadin/event/dd/acceptcriteria/ClientSideCriterion.java b/src/com/vaadin/event/dd/acceptcriteria/ClientSideCriterion.java
index 11e642bf23..0f4ae2990c 100644
--- a/src/com/vaadin/event/dd/acceptcriteria/ClientSideCriterion.java
+++ b/src/com/vaadin/event/dd/acceptcriteria/ClientSideCriterion.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.event.dd.acceptcriteria;
diff --git a/src/com/vaadin/event/dd/acceptcriteria/ContainsDataFlavor.java b/src/com/vaadin/event/dd/acceptcriteria/ContainsDataFlavor.java
index c35baf059b..298a50a1d5 100644
--- a/src/com/vaadin/event/dd/acceptcriteria/ContainsDataFlavor.java
+++ b/src/com/vaadin/event/dd/acceptcriteria/ContainsDataFlavor.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/event/dd/acceptcriteria/Not.java b/src/com/vaadin/event/dd/acceptcriteria/Not.java
index 94a6e83ec4..774dcc642e 100644
--- a/src/com/vaadin/event/dd/acceptcriteria/Not.java
+++ b/src/com/vaadin/event/dd/acceptcriteria/Not.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/event/dd/acceptcriteria/Or.java b/src/com/vaadin/event/dd/acceptcriteria/Or.java
index 3ccdff4854..2e7cdf45a3 100644
--- a/src/com/vaadin/event/dd/acceptcriteria/Or.java
+++ b/src/com/vaadin/event/dd/acceptcriteria/Or.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/event/dd/acceptcriteria/ServerSideCriterion.java b/src/com/vaadin/event/dd/acceptcriteria/ServerSideCriterion.java
index 2ff65bfd31..b3f4702c51 100644
--- a/src/com/vaadin/event/dd/acceptcriteria/ServerSideCriterion.java
+++ b/src/com/vaadin/event/dd/acceptcriteria/ServerSideCriterion.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.event.dd.acceptcriteria;
diff --git a/src/com/vaadin/event/dd/acceptcriteria/SourceIs.java b/src/com/vaadin/event/dd/acceptcriteria/SourceIs.java
index 8e81f99b9d..8562bc70ec 100644
--- a/src/com/vaadin/event/dd/acceptcriteria/SourceIs.java
+++ b/src/com/vaadin/event/dd/acceptcriteria/SourceIs.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/event/dd/acceptcriteria/SourceIsTarget.java b/src/com/vaadin/event/dd/acceptcriteria/SourceIsTarget.java
index 0dfb8d6725..8303809140 100644
--- a/src/com/vaadin/event/dd/acceptcriteria/SourceIsTarget.java
+++ b/src/com/vaadin/event/dd/acceptcriteria/SourceIsTarget.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/event/dd/acceptcriteria/TargetDetailIs.java b/src/com/vaadin/event/dd/acceptcriteria/TargetDetailIs.java
index 74d5b22955..25371938d2 100644
--- a/src/com/vaadin/event/dd/acceptcriteria/TargetDetailIs.java
+++ b/src/com/vaadin/event/dd/acceptcriteria/TargetDetailIs.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/launcher/util/BrowserLauncher.java b/src/com/vaadin/launcher/util/BrowserLauncher.java
index 0edfa78f8a..55692cb251 100644
--- a/src/com/vaadin/launcher/util/BrowserLauncher.java
+++ b/src/com/vaadin/launcher/util/BrowserLauncher.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.launcher.util;
diff --git a/src/com/vaadin/service/ApplicationContext.java b/src/com/vaadin/service/ApplicationContext.java
index 76685cc215..71bff7b865 100644
--- a/src/com/vaadin/service/ApplicationContext.java
+++ b/src/com/vaadin/service/ApplicationContext.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.service;
@@ -19,7 +19,7 @@ import com.vaadin.terminal.gwt.server.AbstractCommunicationManager;
* are open for one user. In a web-environment this corresponds to a
* HttpSession.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.1
diff --git a/src/com/vaadin/service/FileTypeResolver.java b/src/com/vaadin/service/FileTypeResolver.java
index dcb2045f57..c457c16eb4 100644
--- a/src/com/vaadin/service/FileTypeResolver.java
+++ b/src/com/vaadin/service/FileTypeResolver.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.service;
@@ -21,7 +21,7 @@ import com.vaadin.terminal.ThemeResource;
* a custom icon accessible with this class.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/terminal/ApplicationResource.java b/src/com/vaadin/terminal/ApplicationResource.java
index 85da38cc93..da92642d02 100644
--- a/src/com/vaadin/terminal/ApplicationResource.java
+++ b/src/com/vaadin/terminal/ApplicationResource.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal;
@@ -18,7 +18,7 @@ import com.vaadin.Application;
* common resources for an application.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/terminal/ClassResource.java b/src/com/vaadin/terminal/ClassResource.java
index 7f61036e04..fa196e90d9 100644
--- a/src/com/vaadin/terminal/ClassResource.java
+++ b/src/com/vaadin/terminal/ClassResource.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal;
@@ -17,7 +17,7 @@ import com.vaadin.service.FileTypeResolver;
*
* @see java.lang.Class#getResource(java.lang.String)
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/terminal/CompositeErrorMessage.java b/src/com/vaadin/terminal/CompositeErrorMessage.java
index f44454294e..94f4e3a5d5 100644
--- a/src/com/vaadin/terminal/CompositeErrorMessage.java
+++ b/src/com/vaadin/terminal/CompositeErrorMessage.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal;
@@ -13,7 +13,7 @@ import java.util.List;
/**
* Class for combining multiple error messages together.
*
- * @author IT Mill Ltd
+ * @author Vaadin Ltd
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/terminal/DownloadStream.java b/src/com/vaadin/terminal/DownloadStream.java
index 9bbf2691b4..9853b0eee2 100644
--- a/src/com/vaadin/terminal/DownloadStream.java
+++ b/src/com/vaadin/terminal/DownloadStream.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal;
@@ -19,7 +19,7 @@ import com.vaadin.terminal.gwt.server.Constants;
/**
* Downloadable stream.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/terminal/ErrorMessage.java b/src/com/vaadin/terminal/ErrorMessage.java
index 6436b0b472..5e55bfbcf6 100644
--- a/src/com/vaadin/terminal/ErrorMessage.java
+++ b/src/com/vaadin/terminal/ErrorMessage.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal;
@@ -10,7 +10,7 @@ import java.io.Serializable;
* Interface for rendering error messages to terminal. All the visible errors
* shown to user must implement this interface.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/terminal/ExternalResource.java b/src/com/vaadin/terminal/ExternalResource.java
index 056b5b376e..0abff91638 100644
--- a/src/com/vaadin/terminal/ExternalResource.java
+++ b/src/com/vaadin/terminal/ExternalResource.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal;
@@ -14,7 +14,7 @@ import com.vaadin.service.FileTypeResolver;
* location specified by URL:s. The resources are fetched directly by the client
* terminal and are not fetched trough the terminal adapter.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/terminal/FileResource.java b/src/com/vaadin/terminal/FileResource.java
index e1c866189d..8dc3b00fd0 100644
--- a/src/com/vaadin/terminal/FileResource.java
+++ b/src/com/vaadin/terminal/FileResource.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal;
@@ -18,7 +18,7 @@ import com.vaadin.terminal.Terminal.ErrorEvent;
* thus must be registered to an URI context before they can be used. The
* resource is automatically registered to the application when it is created.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/terminal/KeyMapper.java b/src/com/vaadin/terminal/KeyMapper.java
index d5e3a0863e..d44cd0de3a 100644
--- a/src/com/vaadin/terminal/KeyMapper.java
+++ b/src/com/vaadin/terminal/KeyMapper.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal;
@@ -11,7 +11,7 @@ import java.util.Hashtable;
* <code>KeyMapper</code> is the simple two-way map for generating textual keys
* for objects and retrieving the objects later with the key.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/terminal/PaintException.java b/src/com/vaadin/terminal/PaintException.java
index af025bfcaa..02b138035c 100644
--- a/src/com/vaadin/terminal/PaintException.java
+++ b/src/com/vaadin/terminal/PaintException.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal;
@@ -10,7 +10,7 @@ import java.io.Serializable;
/**
* <code>PaintExcepection</code> is thrown if painting of a component fails.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/terminal/PaintTarget.java b/src/com/vaadin/terminal/PaintTarget.java
index b38b65e8dc..68f68e2b51 100644
--- a/src/com/vaadin/terminal/PaintTarget.java
+++ b/src/com/vaadin/terminal/PaintTarget.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal;
@@ -13,7 +13,7 @@ import com.vaadin.terminal.gwt.client.ApplicationConnection;
/**
* This interface defines the methods for painting XML to the UIDL stream.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/terminal/Paintable.java b/src/com/vaadin/terminal/Paintable.java
index d5528495c2..d043cb2606 100644
--- a/src/com/vaadin/terminal/Paintable.java
+++ b/src/com/vaadin/terminal/Paintable.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal;
@@ -12,7 +12,7 @@ import java.util.EventObject;
* implementing this interface know how to output themselves to a UIDL stream
* and that way describing to the terminal how it should be displayed in the UI.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/terminal/ParameterHandler.java b/src/com/vaadin/terminal/ParameterHandler.java
new file mode 100644
index 0000000000..ef8a952e0e
--- /dev/null
+++ b/src/com/vaadin/terminal/ParameterHandler.java
@@ -0,0 +1,59 @@
+/*
+@VaadinApache2LicenseForJavaFiles@
+ */
+
+package com.vaadin.terminal;
+
+import java.io.Serializable;
+import java.util.Map;
+
+import com.vaadin.ui.Window;
+
+/**
+ * {@code ParameterHandler} is implemented by classes capable of handling
+ * external parameters.
+ *
+ * <p>
+ * What parameters are provided depend on what the {@link Terminal} provides and
+ * if the application is deployed as a servlet or portlet. URL GET parameters
+ * are typically provided to the {@link #handleParameters(Map)} method.
+ * </p>
+ * <p>
+ * A {@code ParameterHandler} must be registered to a {@code Window} using
+ * {@link Window#addParameterHandler(ParameterHandler)} to be called when
+ * parameters are available.
+ * </p>
+ *
+ * @author Vaadin Ltd.
+ * @version
+ * @VERSION@
+ * @since 3.0
+ */
+public interface ParameterHandler extends Serializable {
+
+ /**
+ * Handles the given parameters. All parameters names are of type
+ * {@link String} and the values are {@link String} arrays.
+ *
+ * @param parameters
+ * an unmodifiable map which contains the parameter names and
+ * values
+ *
+ */
+ public void handleParameters(Map<String, String[]> parameters);
+
+ /**
+ * An ErrorEvent implementation for ParameterHandler.
+ */
+ public interface ErrorEvent extends Terminal.ErrorEvent {
+
+ /**
+ * Gets the ParameterHandler that caused the error.
+ *
+ * @return the ParameterHandler that caused the error
+ */
+ public ParameterHandler getParameterHandler();
+
+ }
+
+}
diff --git a/src/com/vaadin/terminal/Resource.java b/src/com/vaadin/terminal/Resource.java
index 2aee741f01..58dc4fea9d 100644
--- a/src/com/vaadin/terminal/Resource.java
+++ b/src/com/vaadin/terminal/Resource.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal;
@@ -10,7 +10,7 @@ import java.io.Serializable;
* <code>Resource</code> provided to the client terminal. Support for actually
* displaying the resource type is left to the terminal.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/terminal/Scrollable.java b/src/com/vaadin/terminal/Scrollable.java
index 7f3a0cbd33..dac35c7704 100644
--- a/src/com/vaadin/terminal/Scrollable.java
+++ b/src/com/vaadin/terminal/Scrollable.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal;
@@ -13,7 +13,7 @@ import java.io.Serializable;
* the scroll position on the server-side. The unit of scrolling is pixel.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/terminal/Sizeable.java b/src/com/vaadin/terminal/Sizeable.java
index 32e0cfd2d6..74fb8eefbb 100644
--- a/src/com/vaadin/terminal/Sizeable.java
+++ b/src/com/vaadin/terminal/Sizeable.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal;
@@ -10,7 +10,7 @@ import java.io.Serializable;
* Interface to be implemented by components wishing to display some object that
* may be dynamically resized during runtime.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/terminal/StreamResource.java b/src/com/vaadin/terminal/StreamResource.java
index 7fefd0119c..1e13169292 100644
--- a/src/com/vaadin/terminal/StreamResource.java
+++ b/src/com/vaadin/terminal/StreamResource.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal;
@@ -16,7 +16,7 @@ import com.vaadin.service.FileTypeResolver;
* in the context of the application or window. The resource is automatically
* registered to window in creation.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -162,7 +162,7 @@ public class StreamResource implements ApplicationResource {
/**
* Interface implemented by the source of a StreamResource.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/terminal/StreamVariable.java b/src/com/vaadin/terminal/StreamVariable.java
index d786415124..63763a5751 100644
--- a/src/com/vaadin/terminal/StreamVariable.java
+++ b/src/com/vaadin/terminal/StreamVariable.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal;
@@ -23,7 +23,7 @@ import com.vaadin.terminal.StreamVariable.StreamingStartEvent;
* output stream, developer must handle synchronization manually.
* <p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 6.5
diff --git a/src/com/vaadin/terminal/SystemError.java b/src/com/vaadin/terminal/SystemError.java
index 7f9aebac17..7f2464c9b9 100644
--- a/src/com/vaadin/terminal/SystemError.java
+++ b/src/com/vaadin/terminal/SystemError.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal;
@@ -19,7 +19,7 @@ import com.vaadin.terminal.gwt.server.AbstractApplicationServlet;
* messages are required, use {@link UserError} or a custom implementation of
* {@link ErrorMessage}.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/terminal/Terminal.java b/src/com/vaadin/terminal/Terminal.java
index 7b8612d2db..9dc6ced6a7 100644
--- a/src/com/vaadin/terminal/Terminal.java
+++ b/src/com/vaadin/terminal/Terminal.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal;
@@ -11,7 +11,7 @@ import java.io.Serializable;
* Implementors typically provide additional information using methods not in
* this interface. </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/terminal/ThemeResource.java b/src/com/vaadin/terminal/ThemeResource.java
index 995ae0170d..d456047653 100644
--- a/src/com/vaadin/terminal/ThemeResource.java
+++ b/src/com/vaadin/terminal/ThemeResource.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal;
@@ -12,7 +12,7 @@ import com.vaadin.service.FileTypeResolver;
* comply with the used theme by the terminal adapter. This is commonly used to
* provide static images, flash, java-applets, etc for the terminals.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/terminal/URIHandler.java b/src/com/vaadin/terminal/URIHandler.java
new file mode 100644
index 0000000000..b3fea0e3bf
--- /dev/null
+++ b/src/com/vaadin/terminal/URIHandler.java
@@ -0,0 +1,48 @@
+/*
+@VaadinApache2LicenseForJavaFiles@
+ */
+
+package com.vaadin.terminal;
+
+import java.io.Serializable;
+import java.net.URL;
+
+/**
+ * A URIHandler is used for handling URI:s requested by the user and can
+ * optionally provide a {@link DownloadStream}. If a {@link DownloadStream} is
+ * returned by {@link #handleURI(URL, String)}, the stream is sent to the
+ * client.
+ *
+ * @author Vaadin Ltd.
+ * @version
+ * @VERSION@
+ * @since 3.0
+ */
+public interface URIHandler extends Serializable {
+
+ /**
+ * Handles a given URI. If the URI handler to emit a downloadable stream it
+ * should return a {@code DownloadStream} object.
+ *
+ * @param context
+ * the base URL
+ * @param relativeUri
+ * a URI relative to {@code context}
+ * @return A downloadable stream or null if no stream is provided
+ */
+ public DownloadStream handleURI(URL context, String relativeUri);
+
+ /**
+ * An {@code ErrorEvent} implementation for URIHandler.
+ */
+ public interface ErrorEvent extends Terminal.ErrorEvent {
+
+ /**
+ * Gets the URIHandler that caused this error.
+ *
+ * @return the URIHandler that caused the error
+ */
+ public URIHandler getURIHandler();
+
+ }
+}
diff --git a/src/com/vaadin/terminal/UserError.java b/src/com/vaadin/terminal/UserError.java
index 7cf46dad46..1cb79c146a 100644
--- a/src/com/vaadin/terminal/UserError.java
+++ b/src/com/vaadin/terminal/UserError.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal;
@@ -10,7 +10,7 @@ import com.vaadin.terminal.gwt.server.AbstractApplicationServlet;
* <code>UserError</code> is a controlled error occurred in application. User
* errors are occur in normal usage of the application and guide the user.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/terminal/VariableOwner.java b/src/com/vaadin/terminal/VariableOwner.java
index 1507726b7d..49e2179ece 100644
--- a/src/com/vaadin/terminal/VariableOwner.java
+++ b/src/com/vaadin/terminal/VariableOwner.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal;
@@ -16,7 +16,7 @@ import java.util.Map;
* changes.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/terminal/gwt/client/ApplicationConfiguration.java b/src/com/vaadin/terminal/gwt/client/ApplicationConfiguration.java
index 4b8ce6d15b..62339f970d 100644
--- a/src/com/vaadin/terminal/gwt/client/ApplicationConfiguration.java
+++ b/src/com/vaadin/terminal/gwt/client/ApplicationConfiguration.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/ApplicationConnection.java b/src/com/vaadin/terminal/gwt/client/ApplicationConnection.java
index 7bc39e7df1..d87a85e978 100644
--- a/src/com/vaadin/terminal/gwt/client/ApplicationConnection.java
+++ b/src/com/vaadin/terminal/gwt/client/ApplicationConnection.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/BrowserInfo.java b/src/com/vaadin/terminal/gwt/client/BrowserInfo.java
index 4c9be79787..94192513a0 100644
--- a/src/com/vaadin/terminal/gwt/client/BrowserInfo.java
+++ b/src/com/vaadin/terminal/gwt/client/BrowserInfo.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/CSSRule.java b/src/com/vaadin/terminal/gwt/client/CSSRule.java
index 97604d242e..4d9196c8d6 100644
--- a/src/com/vaadin/terminal/gwt/client/CSSRule.java
+++ b/src/com/vaadin/terminal/gwt/client/CSSRule.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/ClientExceptionHandler.java b/src/com/vaadin/terminal/gwt/client/ClientExceptionHandler.java
index e1078bf57a..002c73343a 100644
--- a/src/com/vaadin/terminal/gwt/client/ClientExceptionHandler.java
+++ b/src/com/vaadin/terminal/gwt/client/ClientExceptionHandler.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/ComponentDetail.java b/src/com/vaadin/terminal/gwt/client/ComponentDetail.java
index 87d54c41ec..7fc93b2a3e 100644
--- a/src/com/vaadin/terminal/gwt/client/ComponentDetail.java
+++ b/src/com/vaadin/terminal/gwt/client/ComponentDetail.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/ComponentDetailMap.java b/src/com/vaadin/terminal/gwt/client/ComponentDetailMap.java
index a8860dd7b4..3405d838a7 100644
--- a/src/com/vaadin/terminal/gwt/client/ComponentDetailMap.java
+++ b/src/com/vaadin/terminal/gwt/client/ComponentDetailMap.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/ComponentLocator.java b/src/com/vaadin/terminal/gwt/client/ComponentLocator.java
index e6d2e59020..b4489df81e 100644
--- a/src/com/vaadin/terminal/gwt/client/ComponentLocator.java
+++ b/src/com/vaadin/terminal/gwt/client/ComponentLocator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/ComputedStyle.java b/src/com/vaadin/terminal/gwt/client/ComputedStyle.java
index 1e014fd905..662cb5fc34 100644
--- a/src/com/vaadin/terminal/gwt/client/ComputedStyle.java
+++ b/src/com/vaadin/terminal/gwt/client/ComputedStyle.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/Console.java b/src/com/vaadin/terminal/gwt/client/Console.java
index 145af40ce1..ebf4b07e5d 100644
--- a/src/com/vaadin/terminal/gwt/client/Console.java
+++ b/src/com/vaadin/terminal/gwt/client/Console.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/Container.java b/src/com/vaadin/terminal/gwt/client/Container.java
index 28c31fa101..83f104886f 100644
--- a/src/com/vaadin/terminal/gwt/client/Container.java
+++ b/src/com/vaadin/terminal/gwt/client/Container.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/ContainerResizedListener.java b/src/com/vaadin/terminal/gwt/client/ContainerResizedListener.java
index bfefb5dd05..569080d9ad 100644
--- a/src/com/vaadin/terminal/gwt/client/ContainerResizedListener.java
+++ b/src/com/vaadin/terminal/gwt/client/ContainerResizedListener.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/DateTimeService.java b/src/com/vaadin/terminal/gwt/client/DateTimeService.java
index 5202872730..d368d655af 100644
--- a/src/com/vaadin/terminal/gwt/client/DateTimeService.java
+++ b/src/com/vaadin/terminal/gwt/client/DateTimeService.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
@@ -14,7 +14,7 @@ import com.vaadin.terminal.gwt.client.ui.VDateField;
* This class provides date/time parsing services to all components on the
* client side.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
*
*/
@SuppressWarnings("deprecation")
diff --git a/src/com/vaadin/terminal/gwt/client/EventHelper.java b/src/com/vaadin/terminal/gwt/client/EventHelper.java
index e4fbbb7ea3..600baf8c9d 100644
--- a/src/com/vaadin/terminal/gwt/client/EventHelper.java
+++ b/src/com/vaadin/terminal/gwt/client/EventHelper.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/EventId.java b/src/com/vaadin/terminal/gwt/client/EventId.java
index 822d2fdc86..ae2f5ddeb3 100644
--- a/src/com/vaadin/terminal/gwt/client/EventId.java
+++ b/src/com/vaadin/terminal/gwt/client/EventId.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/Focusable.java b/src/com/vaadin/terminal/gwt/client/Focusable.java
index bae13fc8b7..e8916bce40 100644
--- a/src/com/vaadin/terminal/gwt/client/Focusable.java
+++ b/src/com/vaadin/terminal/gwt/client/Focusable.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/HistoryImplIEVaadin.java b/src/com/vaadin/terminal/gwt/client/HistoryImplIEVaadin.java
new file mode 100644
index 0000000000..217013095a
--- /dev/null
+++ b/src/com/vaadin/terminal/gwt/client/HistoryImplIEVaadin.java
@@ -0,0 +1,192 @@
+/*
+@VaadinApache2LicenseForJavaFiles@
+ */
+/*
+ * Copyright 2008 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.terminal.gwt.client;
+
+import com.google.gwt.user.client.DOM;
+import com.google.gwt.user.client.Element;
+import com.google.gwt.user.client.impl.HistoryImpl;
+
+/**
+ * A slightly modified version of GWT's HistoryImplIE6 to bypass bug #2931. Also
+ * combined with HistoryImplFrame.
+ *
+ * This class should be removed if GWT issue 3890 gets resolved. (Also remember
+ * to removed deferred binding rule from .gwt.xml file).
+ */
+public class HistoryImplIEVaadin extends HistoryImpl {
+
+ private static native Element findHistoryFrame()
+ /*-{
+ return $doc.getElementById('__gwt_historyFrame');
+ }-*/;
+
+ private static native Element getTokenElement(Element historyFrame)
+ /*-{
+ // Initialize the history iframe. If '__gwt_historyToken' already exists, then
+ // we're probably backing into the app, so _don't_ set the iframe's location.
+ if (historyFrame.contentWindow) {
+ var doc = historyFrame.contentWindow.document;
+ return doc.getElementById('__gwt_historyToken');
+ }
+ }-*/;
+
+ protected Element historyFrame;
+
+ @Override
+ protected final void nativeUpdate(String historyToken) {
+ /*
+ * Must update the location hash since it isn't already correct.
+ */
+ updateHash(historyToken);
+ navigateFrame(historyToken);
+ }
+
+ @Override
+ protected final void nativeUpdateOnEvent(String historyToken) {
+ updateHash(historyToken);
+ }
+
+ /**
+ * Sanitizes an untrusted string to be used in an HTML context. NOTE: This
+ * method of escaping strings should only be used on Internet Explorer.
+ *
+ * @param maybeHtml
+ * untrusted string that may contain html
+ * @return sanitized string
+ */
+ private static String escapeHtml(String maybeHtml) {
+ final Element div = DOM.createDiv();
+ DOM.setInnerText(div, maybeHtml);
+ return DOM.getInnerHTML(div);
+ }
+
+ /**
+ * For IE6, reading from $wnd.location.hash drops part of the fragment if
+ * the fragment contains a '?'. To avoid this bug, we use location.href
+ * instead.
+ */
+ private static native String getLocationHash()
+ /*-{
+ var href = $wnd.location.href;
+ var hashLoc = href.lastIndexOf("#");
+ return (hashLoc > 0) ? href.substring(hashLoc) : "";
+ }-*/;
+
+ @Override
+ public boolean init() {
+ historyFrame = findHistoryFrame();
+ if (historyFrame == null) {
+ return false;
+ }
+
+ initHistoryToken();
+
+ // Initialize the history iframe. If a token element already exists,
+ // then
+ // we're probably backing into the app, so _don't_ create a new item.
+ Element tokenElement = getTokenElement(historyFrame);
+ if (tokenElement != null) {
+ setToken(getTokenElementContent(tokenElement));
+ } else {
+ navigateFrame(getToken());
+ }
+
+ injectGlobalHandler();
+
+ initUrlCheckTimer();
+ return true;
+ }
+
+ protected native String getTokenElementContent(Element tokenElement)
+ /*-{
+ return tokenElement.innerText;
+ }-*/;
+
+ protected native void initHistoryToken()
+ /*-{
+ // Assume an empty token.
+ var token = '';
+ // Get the initial token from the url's hash component.
+ var hash = @com.vaadin.terminal.gwt.client.HistoryImplIEVaadin::getLocationHash()();
+ if (hash.length > 0) {
+ try {
+ token = this.@com.google.gwt.user.client.impl.HistoryImpl::decodeFragment(Ljava/lang/String;)(hash.substring(1));
+ } catch (e) {
+ // Clear the bad hash (this can't have been a valid token).
+ $wnd.location.hash = '';
+ }
+ }
+ @com.google.gwt.user.client.impl.HistoryImpl::setToken(Ljava/lang/String;)(token);
+ }-*/;
+
+ protected native void injectGlobalHandler()
+ /*-{
+ var historyImplRef = this;
+
+ $wnd.__gwt_onHistoryLoad = function(token) {
+ historyImplRef.@com.google.gwt.user.client.impl.HistoryImpl::newItemOnEvent(Ljava/lang/String;)(token);
+ };
+ }-*/;
+
+ protected native void navigateFrame(String token)
+ /*-{
+ var escaped = @com.vaadin.terminal.gwt.client.HistoryImplIEVaadin::escapeHtml(Ljava/lang/String;)(token);
+ var doc = this.@com.vaadin.terminal.gwt.client.HistoryImplIEVaadin::historyFrame.contentWindow.document;
+ doc.open();
+ doc.write('<html><body onload="if(parent.__gwt_onHistoryLoad)parent.__gwt_onHistoryLoad(__gwt_historyToken.innerText)"><div id="__gwt_historyToken">' + escaped + '</div></body></html>');
+ doc.close();
+ }-*/;
+
+ protected native void updateHash(String token)
+ /*-{
+ $wnd.location.hash = this.@com.google.gwt.user.client.impl.HistoryImpl::encodeFragment(Ljava/lang/String;)(token);
+ }-*/;
+
+ private native void initUrlCheckTimer()
+ /*-{
+ // This is the URL check timer. It detects when an unexpected change
+ // occurs in the document's URL (e.g. when the user enters one manually
+ // or selects a 'favorite', but only the #hash part changes). When this
+ // occurs, we _must_ reload the page. This is because IE has a really
+ // nasty bug that totally mangles its history stack and causes the location
+ // bar in the UI to stop working under these circumstances.
+ var historyImplRef = this;
+ var urlChecker = function() {
+ $wnd.setTimeout(urlChecker, 250);
+ var hash = @com.vaadin.terminal.gwt.client.HistoryImplIEVaadin::getLocationHash()();
+ if (hash.length > 0) {
+ var token = '';
+ try {
+ token = historyImplRef.@com.google.gwt.user.client.impl.HistoryImpl::decodeFragment(Ljava/lang/String;)(hash.substring(1));
+ } catch (e) {
+ // If there's a bad hash, always reload. This could only happen if
+ // if someone entered or linked to a bad url.
+ $wnd.location.reload();
+ }
+
+ var historyToken = @com.google.gwt.user.client.impl.HistoryImpl::getToken()();
+ if (token != historyToken) {
+ $wnd.location.reload();
+ }
+ }
+ };
+ urlChecker();
+ }-*/;
+
+}
diff --git a/src/com/vaadin/terminal/gwt/client/LocaleNotLoadedException.java b/src/com/vaadin/terminal/gwt/client/LocaleNotLoadedException.java
index 6312801daf..4d0a9faf97 100644
--- a/src/com/vaadin/terminal/gwt/client/LocaleNotLoadedException.java
+++ b/src/com/vaadin/terminal/gwt/client/LocaleNotLoadedException.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/LocaleService.java b/src/com/vaadin/terminal/gwt/client/LocaleService.java
index 4b15bd04cd..9ae1b04118 100644
--- a/src/com/vaadin/terminal/gwt/client/LocaleService.java
+++ b/src/com/vaadin/terminal/gwt/client/LocaleService.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
@@ -14,7 +14,7 @@ import com.google.gwt.core.client.JsArray;
* Date / time etc. localisation service for all widgets. Caches all loaded
* locales as JSONObjects.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
*
*/
public class LocaleService {
diff --git a/src/com/vaadin/terminal/gwt/client/MouseEventDetails.java b/src/com/vaadin/terminal/gwt/client/MouseEventDetails.java
index 4e125c05b9..260dfa6fff 100644
--- a/src/com/vaadin/terminal/gwt/client/MouseEventDetails.java
+++ b/src/com/vaadin/terminal/gwt/client/MouseEventDetails.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/NullConsole.java b/src/com/vaadin/terminal/gwt/client/NullConsole.java
index 1c0790ab75..8f907e5aef 100644
--- a/src/com/vaadin/terminal/gwt/client/NullConsole.java
+++ b/src/com/vaadin/terminal/gwt/client/NullConsole.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/Paintable.java b/src/com/vaadin/terminal/gwt/client/Paintable.java
index 0cf5571829..62abeab5a0 100644
--- a/src/com/vaadin/terminal/gwt/client/Paintable.java
+++ b/src/com/vaadin/terminal/gwt/client/Paintable.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/RenderInformation.java b/src/com/vaadin/terminal/gwt/client/RenderInformation.java
index a1dd1f32ad..83d8abfd2f 100644
--- a/src/com/vaadin/terminal/gwt/client/RenderInformation.java
+++ b/src/com/vaadin/terminal/gwt/client/RenderInformation.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/RenderSpace.java b/src/com/vaadin/terminal/gwt/client/RenderSpace.java
index 2eba415418..fa28b0de95 100644
--- a/src/com/vaadin/terminal/gwt/client/RenderSpace.java
+++ b/src/com/vaadin/terminal/gwt/client/RenderSpace.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/SimpleTree.java b/src/com/vaadin/terminal/gwt/client/SimpleTree.java
index 01ccb21054..017884c94f 100644
--- a/src/com/vaadin/terminal/gwt/client/SimpleTree.java
+++ b/src/com/vaadin/terminal/gwt/client/SimpleTree.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/StyleConstants.java b/src/com/vaadin/terminal/gwt/client/StyleConstants.java
index 9d8f228d3d..0809580076 100644
--- a/src/com/vaadin/terminal/gwt/client/StyleConstants.java
+++ b/src/com/vaadin/terminal/gwt/client/StyleConstants.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/SynchronousXHR.java b/src/com/vaadin/terminal/gwt/client/SynchronousXHR.java
index 3a50516146..6d9ad4a083 100644
--- a/src/com/vaadin/terminal/gwt/client/SynchronousXHR.java
+++ b/src/com/vaadin/terminal/gwt/client/SynchronousXHR.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/TooltipInfo.java b/src/com/vaadin/terminal/gwt/client/TooltipInfo.java
index b5cc0382de..6f8ddd5237 100644
--- a/src/com/vaadin/terminal/gwt/client/TooltipInfo.java
+++ b/src/com/vaadin/terminal/gwt/client/TooltipInfo.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/UIDL.java b/src/com/vaadin/terminal/gwt/client/UIDL.java
index 6fb4a629b8..a6298af8d1 100644
--- a/src/com/vaadin/terminal/gwt/client/UIDL.java
+++ b/src/com/vaadin/terminal/gwt/client/UIDL.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/Util.java b/src/com/vaadin/terminal/gwt/client/Util.java
index 3601f385b1..af5ad0616f 100644
--- a/src/com/vaadin/terminal/gwt/client/Util.java
+++ b/src/com/vaadin/terminal/gwt/client/Util.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/VBrowserDetails.java b/src/com/vaadin/terminal/gwt/client/VBrowserDetails.java
index 1e1fc5380a..b56a7d20a2 100644
--- a/src/com/vaadin/terminal/gwt/client/VBrowserDetails.java
+++ b/src/com/vaadin/terminal/gwt/client/VBrowserDetails.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
@@ -12,7 +12,7 @@ import com.vaadin.terminal.gwt.server.WebBrowser;
* information about the browser. Used internally by {@link BrowserInfo} and
* {@link WebBrowser}. Should not be used directly.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version @VERSION@
* @since 6.3
*/
diff --git a/src/com/vaadin/terminal/gwt/client/VCaption.java b/src/com/vaadin/terminal/gwt/client/VCaption.java
index 59f1a5c437..16d18f93f6 100644
--- a/src/com/vaadin/terminal/gwt/client/VCaption.java
+++ b/src/com/vaadin/terminal/gwt/client/VCaption.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/VCaptionWrapper.java b/src/com/vaadin/terminal/gwt/client/VCaptionWrapper.java
index fb7c7ce5d1..dbecf96dd0 100644
--- a/src/com/vaadin/terminal/gwt/client/VCaptionWrapper.java
+++ b/src/com/vaadin/terminal/gwt/client/VCaptionWrapper.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/VConsole.java b/src/com/vaadin/terminal/gwt/client/VConsole.java
index b66254c311..a01fa16558 100644
--- a/src/com/vaadin/terminal/gwt/client/VConsole.java
+++ b/src/com/vaadin/terminal/gwt/client/VConsole.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/VDebugConsole.java b/src/com/vaadin/terminal/gwt/client/VDebugConsole.java
index 2eddd51008..e180c05aaa 100644
--- a/src/com/vaadin/terminal/gwt/client/VDebugConsole.java
+++ b/src/com/vaadin/terminal/gwt/client/VDebugConsole.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/VErrorMessage.java b/src/com/vaadin/terminal/gwt/client/VErrorMessage.java
index 09f3b87691..58bdccaf55 100644
--- a/src/com/vaadin/terminal/gwt/client/VErrorMessage.java
+++ b/src/com/vaadin/terminal/gwt/client/VErrorMessage.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/VSchedulerImpl.java b/src/com/vaadin/terminal/gwt/client/VSchedulerImpl.java
index 9888809952..6bef0c409c 100644
--- a/src/com/vaadin/terminal/gwt/client/VSchedulerImpl.java
+++ b/src/com/vaadin/terminal/gwt/client/VSchedulerImpl.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/VTooltip.java b/src/com/vaadin/terminal/gwt/client/VTooltip.java
index 1f2ee809ed..ed8bd2eedd 100644
--- a/src/com/vaadin/terminal/gwt/client/VTooltip.java
+++ b/src/com/vaadin/terminal/gwt/client/VTooltip.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/VUIDLBrowser.java b/src/com/vaadin/terminal/gwt/client/VUIDLBrowser.java
index c4e7cb19bb..95d2fd0b5f 100644
--- a/src/com/vaadin/terminal/gwt/client/VUIDLBrowser.java
+++ b/src/com/vaadin/terminal/gwt/client/VUIDLBrowser.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/terminal/gwt/client/ValueMap.java b/src/com/vaadin/terminal/gwt/client/ValueMap.java
index 2b32e897b2..8d14ef57ce 100644
--- a/src/com/vaadin/terminal/gwt/client/ValueMap.java
+++ b/src/com/vaadin/terminal/gwt/client/ValueMap.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/terminal/gwt/client/WidgetInstantiator.java b/src/com/vaadin/terminal/gwt/client/WidgetInstantiator.java
index d7fc777ced..a5c75d27dd 100644
--- a/src/com/vaadin/terminal/gwt/client/WidgetInstantiator.java
+++ b/src/com/vaadin/terminal/gwt/client/WidgetInstantiator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/WidgetLoader.java b/src/com/vaadin/terminal/gwt/client/WidgetLoader.java
index 70f0bc95aa..16e99716a0 100644
--- a/src/com/vaadin/terminal/gwt/client/WidgetLoader.java
+++ b/src/com/vaadin/terminal/gwt/client/WidgetLoader.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/WidgetMap.java b/src/com/vaadin/terminal/gwt/client/WidgetMap.java
index 4573a28b96..51dac20132 100644
--- a/src/com/vaadin/terminal/gwt/client/WidgetMap.java
+++ b/src/com/vaadin/terminal/gwt/client/WidgetMap.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/WidgetSet.java b/src/com/vaadin/terminal/gwt/client/WidgetSet.java
index 1c09709bfd..9a11dd9f0d 100644
--- a/src/com/vaadin/terminal/gwt/client/WidgetSet.java
+++ b/src/com/vaadin/terminal/gwt/client/WidgetSet.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/Action.java b/src/com/vaadin/terminal/gwt/client/ui/Action.java
index 20d58c69f8..ca13cfc7f3 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/Action.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/Action.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/ActionOwner.java b/src/com/vaadin/terminal/gwt/client/ui/ActionOwner.java
index 6dab495c23..5e0f431f49 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/ActionOwner.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/ActionOwner.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/AlignmentInfo.java b/src/com/vaadin/terminal/gwt/client/ui/AlignmentInfo.java
index 28d06c0cc2..041ab6c1ad 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/AlignmentInfo.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/AlignmentInfo.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/CalendarEntry.java b/src/com/vaadin/terminal/gwt/client/ui/CalendarEntry.java
index 52d53bef78..cf18c693c6 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/CalendarEntry.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/CalendarEntry.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/ClickEventHandler.java b/src/com/vaadin/terminal/gwt/client/ui/ClickEventHandler.java
index cbc3467d09..3deb140d30 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/ClickEventHandler.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/ClickEventHandler.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/Field.java b/src/com/vaadin/terminal/gwt/client/ui/Field.java
index 8d13e70d61..010892b0e9 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/Field.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/Field.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/terminal/gwt/client/ui/FocusElementPanel.java b/src/com/vaadin/terminal/gwt/client/ui/FocusElementPanel.java
index 76e6edcc43..4984c4ce3b 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/FocusElementPanel.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/FocusElementPanel.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/FocusableFlexTable.java b/src/com/vaadin/terminal/gwt/client/ui/FocusableFlexTable.java
index 2810d62a2c..fc97bafc46 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/FocusableFlexTable.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/FocusableFlexTable.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/FocusableFlowPanel.java b/src/com/vaadin/terminal/gwt/client/ui/FocusableFlowPanel.java
index c7ef5ae918..0ca97d2bf8 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/FocusableFlowPanel.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/FocusableFlowPanel.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/FocusableScrollPanel.java b/src/com/vaadin/terminal/gwt/client/ui/FocusableScrollPanel.java
index 2452190d9d..6b22f3c9f3 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/FocusableScrollPanel.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/FocusableScrollPanel.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/Icon.java b/src/com/vaadin/terminal/gwt/client/ui/Icon.java
index bf24f6dac2..b64605aac9 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/Icon.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/Icon.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/LayoutClickEventHandler.java b/src/com/vaadin/terminal/gwt/client/ui/LayoutClickEventHandler.java
index ca6938f8c6..3a4048907f 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/LayoutClickEventHandler.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/LayoutClickEventHandler.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/MenuBar.java b/src/com/vaadin/terminal/gwt/client/ui/MenuBar.java
index ebb5ef5c54..f0857f48c1 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/MenuBar.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/MenuBar.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/MenuItem.java b/src/com/vaadin/terminal/gwt/client/ui/MenuItem.java
index 7ef8b6dff6..ec02db1c70 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/MenuItem.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/MenuItem.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/ShortcutActionHandler.java b/src/com/vaadin/terminal/gwt/client/ui/ShortcutActionHandler.java
index 01f7187aa1..934fcaa8b7 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/ShortcutActionHandler.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/ShortcutActionHandler.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
@@ -29,7 +29,7 @@ import com.vaadin.terminal.gwt.client.ui.richtextarea.VRichTextArea;
* actions and fires actions to server. User class needs to delegate keyboard
* events to handleKeyboardEvents function.
*
- * @author IT Mill ltd
+ * @author Vaadin Ltd
*/
public class ShortcutActionHandler {
diff --git a/src/com/vaadin/terminal/gwt/client/ui/SimpleFocusablePanel.java b/src/com/vaadin/terminal/gwt/client/ui/SimpleFocusablePanel.java
index aa096d08a2..9baa1db007 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/SimpleFocusablePanel.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/SimpleFocusablePanel.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/SubPartAware.java b/src/com/vaadin/terminal/gwt/client/ui/SubPartAware.java
index f14a14e2c6..e7fcf8d424 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/SubPartAware.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/SubPartAware.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/Table.java b/src/com/vaadin/terminal/gwt/client/ui/Table.java
index ac59bc0064..4b3ba0422e 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/Table.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/Table.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/TouchScrollDelegate.java b/src/com/vaadin/terminal/gwt/client/ui/TouchScrollDelegate.java
index 7352d927fc..3c08741de5 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/TouchScrollDelegate.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/TouchScrollDelegate.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/TreeAction.java b/src/com/vaadin/terminal/gwt/client/ui/TreeAction.java
index 31d2ea749a..9efe369644 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/TreeAction.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/TreeAction.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/TreeImages.java b/src/com/vaadin/terminal/gwt/client/ui/TreeImages.java
index f266f0de8c..8a153da98c 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/TreeImages.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/TreeImages.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/UploadIFrameOnloadStrategy.java b/src/com/vaadin/terminal/gwt/client/ui/UploadIFrameOnloadStrategy.java
index afe22887bf..eabb21eb4f 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/UploadIFrameOnloadStrategy.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/UploadIFrameOnloadStrategy.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/UploadIFrameOnloadStrategyIE.java b/src/com/vaadin/terminal/gwt/client/ui/UploadIFrameOnloadStrategyIE.java
index e267baac2d..f4b41b0646 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/UploadIFrameOnloadStrategyIE.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/UploadIFrameOnloadStrategyIE.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VAbsoluteLayout.java b/src/com/vaadin/terminal/gwt/client/ui/VAbsoluteLayout.java
index cace2105c5..dbcfbc26db 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VAbsoluteLayout.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VAbsoluteLayout.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VAccordion.java b/src/com/vaadin/terminal/gwt/client/ui/VAccordion.java
index 6faf82446a..8b1fc91185 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VAccordion.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VAccordion.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VAudio.java b/src/com/vaadin/terminal/gwt/client/ui/VAudio.java
index 8aadf1bb90..1fdfaca831 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VAudio.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VAudio.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VButton.java b/src/com/vaadin/terminal/gwt/client/ui/VButton.java
index 5c940eab12..de35a46474 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VButton.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VButton.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VCalendarPanel.java b/src/com/vaadin/terminal/gwt/client/ui/VCalendarPanel.java
index 1f9bffac66..3b1ee273d5 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VCalendarPanel.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VCalendarPanel.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VCheckBox.java b/src/com/vaadin/terminal/gwt/client/ui/VCheckBox.java
index 3f5973d804..883c144783 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VCheckBox.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VCheckBox.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VContextMenu.java b/src/com/vaadin/terminal/gwt/client/ui/VContextMenu.java
index 4c1d644756..e46a74346b 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VContextMenu.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VContextMenu.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VCssLayout.java b/src/com/vaadin/terminal/gwt/client/ui/VCssLayout.java
index 5eae0ed3d2..585180f8f4 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VCssLayout.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VCssLayout.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VCustomComponent.java b/src/com/vaadin/terminal/gwt/client/ui/VCustomComponent.java
index cf8a27fa7c..1fb3f297ad 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VCustomComponent.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VCustomComponent.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VCustomLayout.java b/src/com/vaadin/terminal/gwt/client/ui/VCustomLayout.java
index e92e6e2960..2a40cd0fe3 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VCustomLayout.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VCustomLayout.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
@@ -31,7 +31,7 @@ import com.vaadin.terminal.gwt.client.VCaptionWrapper;
/**
* Custom Layout implements complex layout defined with HTML template.
*
- * @author IT Mill
+ * @author Vaadin Ltd
*
*/
public class VCustomLayout extends ComplexPanel implements Paintable,
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VDateField.java b/src/com/vaadin/terminal/gwt/client/ui/VDateField.java
index 0537026b73..1ac697baa9 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VDateField.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VDateField.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VDateFieldCalendar.java b/src/com/vaadin/terminal/gwt/client/ui/VDateFieldCalendar.java
index c8da86f206..73bfe27700 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VDateFieldCalendar.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VDateFieldCalendar.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VDragAndDropWrapper.java b/src/com/vaadin/terminal/gwt/client/ui/VDragAndDropWrapper.java
index 05d69d7dec..072754e0ce 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VDragAndDropWrapper.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VDragAndDropWrapper.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VEmbedded.java b/src/com/vaadin/terminal/gwt/client/ui/VEmbedded.java
index 80dc2ef015..3ea4a9254d 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VEmbedded.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VEmbedded.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VFilterSelect.java b/src/com/vaadin/terminal/gwt/client/ui/VFilterSelect.java
index 7be01a1195..9a2caca554 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VFilterSelect.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VFilterSelect.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VForm.java b/src/com/vaadin/terminal/gwt/client/ui/VForm.java
index 67be713e1a..a73ac5cad3 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VForm.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VForm.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VFormLayout.java b/src/com/vaadin/terminal/gwt/client/ui/VFormLayout.java
index 378286381f..a8559d1d5c 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VFormLayout.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VFormLayout.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VGridLayout.java b/src/com/vaadin/terminal/gwt/client/ui/VGridLayout.java
index 4fd5e67a71..82b3eabf40 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VGridLayout.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VGridLayout.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VHorizontalLayout.java b/src/com/vaadin/terminal/gwt/client/ui/VHorizontalLayout.java
index 9adc60014f..b3a036f748 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VHorizontalLayout.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VHorizontalLayout.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VLabel.java b/src/com/vaadin/terminal/gwt/client/ui/VLabel.java
index 05017f22e8..39d682d404 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VLabel.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VLabel.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VLazyExecutor.java b/src/com/vaadin/terminal/gwt/client/ui/VLazyExecutor.java
index 879380fea9..018df57327 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VLazyExecutor.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VLazyExecutor.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VLink.java b/src/com/vaadin/terminal/gwt/client/ui/VLink.java
index 22a30f6041..b8030de421 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VLink.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VLink.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VListSelect.java b/src/com/vaadin/terminal/gwt/client/ui/VListSelect.java
index 7ebc5d02ec..cebc4600a2 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VListSelect.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VListSelect.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VMarginInfo.java b/src/com/vaadin/terminal/gwt/client/ui/VMarginInfo.java
index 2fb047c007..7ba1f4708c 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VMarginInfo.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VMarginInfo.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VMediaBase.java b/src/com/vaadin/terminal/gwt/client/ui/VMediaBase.java
index 0468a29e52..53638917b2 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VMediaBase.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VMediaBase.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VMenuBar.java b/src/com/vaadin/terminal/gwt/client/ui/VMenuBar.java
index 5081734c7e..b77ebcbbc5 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VMenuBar.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VMenuBar.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
@@ -1091,7 +1091,7 @@ public class VMenuBar extends SimpleFocusablePanel implements Paintable,
}
/**
- * @author Jouni Koivuviita / IT Mill Ltd.
+ * @author Jouni Koivuviita / Vaadin Ltd.
*/
private int paddingWidth = -1;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VNativeButton.java b/src/com/vaadin/terminal/gwt/client/ui/VNativeButton.java
index d295ec86ee..d76f12436c 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VNativeButton.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VNativeButton.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VNativeSelect.java b/src/com/vaadin/terminal/gwt/client/ui/VNativeSelect.java
index a441fb24bd..b212506e00 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VNativeSelect.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VNativeSelect.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VNotification.java b/src/com/vaadin/terminal/gwt/client/ui/VNotification.java
index 34a8229d8e..128e3bd597 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VNotification.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VNotification.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VOptionGroup.java b/src/com/vaadin/terminal/gwt/client/ui/VOptionGroup.java
index f33b905dea..d110d90e25 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VOptionGroup.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VOptionGroup.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VOptionGroupBase.java b/src/com/vaadin/terminal/gwt/client/ui/VOptionGroupBase.java
index 1f3789239d..8be0aff3f0 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VOptionGroupBase.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VOptionGroupBase.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VOrderedLayout.java b/src/com/vaadin/terminal/gwt/client/ui/VOrderedLayout.java
index fe8f6ab6b3..84a22bc272 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VOrderedLayout.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VOrderedLayout.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VOverlay.java b/src/com/vaadin/terminal/gwt/client/ui/VOverlay.java
index 260aa1123e..3d462fb0c6 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VOverlay.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VOverlay.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VPanel.java b/src/com/vaadin/terminal/gwt/client/ui/VPanel.java
index 20cfdd7ad4..f1298090da 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VPanel.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VPanel.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VPasswordField.java b/src/com/vaadin/terminal/gwt/client/ui/VPasswordField.java
index db863e4b70..945f0d85e6 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VPasswordField.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VPasswordField.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
@@ -9,7 +9,7 @@ import com.google.gwt.user.client.DOM;
/**
* This class represents a password field.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
*
*/
public class VPasswordField extends VTextField {
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VPopupCalendar.java b/src/com/vaadin/terminal/gwt/client/ui/VPopupCalendar.java
index 06d58fe733..920f3fdb76 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VPopupCalendar.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VPopupCalendar.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VPopupView.java b/src/com/vaadin/terminal/gwt/client/ui/VPopupView.java
index 72846e85cf..907e11ac2d 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VPopupView.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VPopupView.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VProgressIndicator.java b/src/com/vaadin/terminal/gwt/client/ui/VProgressIndicator.java
index ffc551e148..d5eac590ad 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VProgressIndicator.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VProgressIndicator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java b/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java
index 7575a84fee..58d0fd12aa 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
@@ -1094,6 +1094,11 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
}
if (selected != row.isSelected()) {
row.toggleSelection();
+ if (!isSingleSelectMode() && !selected) {
+ // Update selection range in case a row is
+ // unselected from the middle of a range - #8076
+ removeRowFromUnsentSelectionRanges(row);
+ }
}
}
}
@@ -4121,7 +4126,7 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
VScrollTableRow r = (VScrollTableRow) renderedRows.get(ix);
r.setIndex(r.getIndex() + rows);
}
- fixSpacers();
+ setContainerHeight();
return inserted;
}
@@ -4129,6 +4134,7 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
int rows) {
unlinkAllRowsStartingAt(firstIndex);
insertRows(rowData, firstIndex, rows);
+ setContainerHeight();
}
/**
@@ -4247,7 +4253,7 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
VScrollTableRow r = (VScrollTableRow) renderedRows.get(ix);
r.setIndex(r.getIndex() - count);
}
- fixSpacers();
+ setContainerHeight();
}
protected void unlinkAllRowsStartingAt(int index) {
@@ -4840,44 +4846,44 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
}
}
- private void handleClickEvent(Event event, Element targetTdOrTr) {
- if (client.hasEventListeners(VScrollTable.this,
+ /**
+ * If there are registered click listeners, sends a click event and
+ * returns true. Otherwise, does nothing and returns false.
+ *
+ * @param event
+ * @param targetTdOrTr
+ * @param immediate
+ * Whether the event is sent immediately
+ * @return Whether a click event was sent
+ */
+ private boolean handleClickEvent(Event event, Element targetTdOrTr,
+ boolean immediate) {
+ if (!client.hasEventListeners(VScrollTable.this,
ITEM_CLICK_EVENT_ID)) {
- boolean doubleClick = (DOM.eventGetType(event) == Event.ONDBLCLICK);
-
- /* This row was clicked */
- client.updateVariable(paintableId, "clickedKey", ""
- + rowKey, false);
-
- if (getElement() == targetTdOrTr.getParentElement()) {
- /* A specific column was clicked */
- int childIndex = DOM.getChildIndex(getElement(),
- targetTdOrTr);
- String colKey = null;
- colKey = tHead.getHeaderCell(childIndex).getColKey();
- client.updateVariable(paintableId, "clickedColKey",
- colKey, false);
- }
-
- MouseEventDetails details = new MouseEventDetails(event);
+ // Don't send an event if nobody is listening
+ return false;
+ }
- boolean imm = true;
- if (immediate && event.getButton() == Event.BUTTON_LEFT
- && !doubleClick && isSelectable() && !isSelected()) {
- /*
- * A left click when the table is selectable and in
- * immediate mode on a row that is not currently
- * selected will cause a selection event to be fired
- * after this click event. By making the click event
- * non-immediate we avoid sending two separate messages
- * to the server.
- */
- imm = false;
- }
+ // This row was clicked
+ client.updateVariable(paintableId, "clickedKey", "" + rowKey,
+ false);
- client.updateVariable(paintableId, "clickEvent",
- details.toString(), imm);
+ if (getElement() == targetTdOrTr.getParentElement()) {
+ // A specific column was clicked
+ int childIndex = DOM.getChildIndex(getElement(),
+ targetTdOrTr);
+ String colKey = null;
+ colKey = tHead.getHeaderCell(childIndex).getColKey();
+ client.updateVariable(paintableId, "clickedColKey", colKey,
+ false);
}
+
+ MouseEventDetails details = new MouseEventDetails(event);
+
+ client.updateVariable(paintableId, "clickEvent",
+ details.toString(), immediate);
+
+ return true;
}
private void handleTooltips(final Event event, Element target) {
@@ -4929,9 +4935,11 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
&& (actionKeys != null || client
.hasEventListeners(VScrollTable.this,
ITEM_CLICK_EVENT_ID))) {
- // Prevent browser context menu only if there are
- // action handlers or item click listeners
- // registered
+ /*
+ * Prevent browser context menu only if there are
+ * action handlers or item click listeners
+ * registered
+ */
event.stopPropagation();
event.preventDefault();
}
@@ -4946,13 +4954,19 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
switch (type) {
case Event.ONDBLCLICK:
if (targetCellOrRowFound) {
- handleClickEvent(event, targetTdOrTr);
+ handleClickEvent(event, targetTdOrTr, true);
}
break;
case Event.ONMOUSEUP:
if (targetCellOrRowFound) {
mDown = false;
- handleClickEvent(event, targetTdOrTr);
+ /*
+ * Queue here, send at the same time as the
+ * corresponding value change event - see #7127
+ */
+ boolean clickEventSent = handleClickEvent(event,
+ targetTdOrTr, false);
+
if (event.getButton() == Event.BUTTON_LEFT
&& isSelectable()) {
@@ -5041,7 +5055,16 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
.setPropertyJSO("onselectstart",
null);
}
- sendSelectedRows();
+ // Queue value change
+ sendSelectedRows(false);
+ }
+ /*
+ * Send queued click and value change events if any
+ * If a click event is sent, send value change with
+ * it regardless of the immediate flag, see #7127
+ */
+ if (immediate || clickEventSent) {
+ client.sendPendingVariableChanges();
}
}
break;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VSlider.java b/src/com/vaadin/terminal/gwt/client/ui/VSlider.java
index 3fc9d5f2bb..6322837e73 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VSlider.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VSlider.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
//
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VSplitPanel.java b/src/com/vaadin/terminal/gwt/client/ui/VSplitPanel.java
index 2841099198..c41bf98b7e 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VSplitPanel.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VSplitPanel.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VSplitPanelHorizontal.java b/src/com/vaadin/terminal/gwt/client/ui/VSplitPanelHorizontal.java
index 98002e9fd3..ff1e2e6b78 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VSplitPanelHorizontal.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VSplitPanelHorizontal.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VSplitPanelVertical.java b/src/com/vaadin/terminal/gwt/client/ui/VSplitPanelVertical.java
index 4bbf662053..dcf7622e50 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VSplitPanelVertical.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VSplitPanelVertical.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VTablePaging.java b/src/com/vaadin/terminal/gwt/client/ui/VTablePaging.java
index 39f271c25e..d3cb3130b0 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VTablePaging.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VTablePaging.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VTabsheet.java b/src/com/vaadin/terminal/gwt/client/ui/VTabsheet.java
index 049e81e59a..5414b96acd 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VTabsheet.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VTabsheet.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VTabsheetBase.java b/src/com/vaadin/terminal/gwt/client/ui/VTabsheetBase.java
index 5e7f7c4fb4..7304f62f41 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VTabsheetBase.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VTabsheetBase.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VTabsheetPanel.java b/src/com/vaadin/terminal/gwt/client/ui/VTabsheetPanel.java
index 30ad5f327b..c33daed440 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VTabsheetPanel.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VTabsheetPanel.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VTextArea.java b/src/com/vaadin/terminal/gwt/client/ui/VTextArea.java
index 842be7ce05..a74fd9f5dc 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VTextArea.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VTextArea.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
@@ -18,7 +18,7 @@ import com.vaadin.terminal.gwt.client.UIDL;
* TODO consider replacing this with a RichTextArea based implementation. IE
* does not support CSS height for textareas in Strict mode :-(
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
*
*/
public class VTextArea extends VTextField {
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VTextField.java b/src/com/vaadin/terminal/gwt/client/ui/VTextField.java
index d0aebaf1de..b4a73bbada 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VTextField.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VTextField.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
@@ -33,7 +33,7 @@ import com.vaadin.terminal.gwt.client.ui.ShortcutActionHandler.BeforeShortcutAct
/**
* This class represents a basic text input field with one row.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
*
*/
public class VTextField extends TextBoxBase implements Paintable, Field,
@@ -554,7 +554,20 @@ public class VTextField extends TextBoxBase implements Paintable, Field,
}
public void onBeforeShortcutAction(Event e) {
+ // Remember current value to detect changes
+ String oldValue = valueBeforeEdit;
+
valueChange(false);
+
+ /*
+ * The valueChange method updates valueBeforeEdit when a "text" variable
+ * is sent. This will cause a text change event to be simulated on the
+ * server. In that case, we should avoid sending the same text as a
+ * normal text change event. (#8035)
+ */
+ if (oldValue != valueBeforeEdit) {
+ lastTextChangeString = valueBeforeEdit;
+ }
}
// Here for backward compatibility; to be moved to TextArea
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VTextualDate.java b/src/com/vaadin/terminal/gwt/client/ui/VTextualDate.java
index caa9c67dd1..562b080dc6 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VTextualDate.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VTextualDate.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VTree.java b/src/com/vaadin/terminal/gwt/client/ui/VTree.java
index e959038374..66943591b4 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VTree.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VTree.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VTreeTable.java b/src/com/vaadin/terminal/gwt/client/ui/VTreeTable.java
index fc6ec46d64..77dd1cc39e 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VTreeTable.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VTreeTable.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VTwinColSelect.java b/src/com/vaadin/terminal/gwt/client/ui/VTwinColSelect.java
index de2a903187..b1018783df 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VTwinColSelect.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VTwinColSelect.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VUnknownComponent.java b/src/com/vaadin/terminal/gwt/client/ui/VUnknownComponent.java
index 17821ab3f0..c7442e4436 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VUnknownComponent.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VUnknownComponent.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VUpload.java b/src/com/vaadin/terminal/gwt/client/ui/VUpload.java
index 77d7a7f762..4e3b9843dc 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VUpload.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VUpload.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VUriFragmentUtility.java b/src/com/vaadin/terminal/gwt/client/ui/VUriFragmentUtility.java
index 3da85e1b2b..88eb00a450 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VUriFragmentUtility.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VUriFragmentUtility.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VVerticalLayout.java b/src/com/vaadin/terminal/gwt/client/ui/VVerticalLayout.java
index 40151726a3..fe5749ec8b 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VVerticalLayout.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VVerticalLayout.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VVideo.java b/src/com/vaadin/terminal/gwt/client/ui/VVideo.java
index 2c186da979..92b93ac96b 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VVideo.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VVideo.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VView.java b/src/com/vaadin/terminal/gwt/client/ui/VView.java
index f2b5dd2e2e..5029382881 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VView.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VView.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VWindow.java b/src/com/vaadin/terminal/gwt/client/ui/VWindow.java
index 80ad712fa1..9645aebb2e 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VWindow.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VWindow.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui;
@@ -47,7 +47,7 @@ import com.vaadin.terminal.gwt.client.ui.ShortcutActionHandler.ShortcutActionHan
/**
* "Sub window" component.
*
- * @author IT Mill Ltd
+ * @author Vaadin Ltd
*/
public class VWindow extends VOverlay implements Container,
ShortcutActionHandlerOwner, ScrollHandler, KeyDownHandler,
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/DDUtil.java b/src/com/vaadin/terminal/gwt/client/ui/dd/DDUtil.java
index 5b312bb3d2..02c1fe5061 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/DDUtil.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/DDUtil.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui.dd;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/HorizontalDropLocation.java b/src/com/vaadin/terminal/gwt/client/ui/dd/HorizontalDropLocation.java
index 6d91eef1ef..5e90acd6f1 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/HorizontalDropLocation.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/HorizontalDropLocation.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui.dd;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VAbstractDropHandler.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VAbstractDropHandler.java
index cea6944944..6280031d84 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VAbstractDropHandler.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VAbstractDropHandler.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui.dd;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VAcceptAll.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VAcceptAll.java
index f110d50e80..51782c002d 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VAcceptAll.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VAcceptAll.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VAcceptCallback.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VAcceptCallback.java
index 1f0823c5c4..cd9ade88c2 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VAcceptCallback.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VAcceptCallback.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui.dd;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VAcceptCriteria.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VAcceptCriteria.java
index 726d31bdd0..2deed95915 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VAcceptCriteria.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VAcceptCriteria.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui.dd;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VAcceptCriterion.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VAcceptCriterion.java
index da77d03293..0d71e23903 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VAcceptCriterion.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VAcceptCriterion.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui.dd;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VAcceptCriterionFactory.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VAcceptCriterionFactory.java
index 4f6ef67b9e..fe627665c5 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VAcceptCriterionFactory.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VAcceptCriterionFactory.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui.dd;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VAnd.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VAnd.java
index 72baa811ed..65c67e6b8a 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VAnd.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VAnd.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VContainsDataFlavor.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VContainsDataFlavor.java
index 6f3b053d58..4a95034d4a 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VContainsDataFlavor.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VContainsDataFlavor.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VDragAndDropManager.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VDragAndDropManager.java
index a7e738621d..dbeff243a8 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VDragAndDropManager.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VDragAndDropManager.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui.dd;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VDragEvent.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VDragEvent.java
index bba9bf3d5e..cece2720d0 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VDragEvent.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VDragEvent.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui.dd;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VDragEventServerCallback.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VDragEventServerCallback.java
index b6b00b2746..e2547dbf52 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VDragEventServerCallback.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VDragEventServerCallback.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui.dd;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VDragSourceIs.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VDragSourceIs.java
index 50c743928a..1278ed7fdb 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VDragSourceIs.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VDragSourceIs.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui.dd;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VDropHandler.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VDropHandler.java
index de45d5ba86..a597e9ed30 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VDropHandler.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VDropHandler.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui.dd;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VHasDropHandler.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VHasDropHandler.java
index 5137048909..0195862431 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VHasDropHandler.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VHasDropHandler.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui.dd;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VHtml5DragEvent.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VHtml5DragEvent.java
index dd5852247a..7bdb291e44 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VHtml5DragEvent.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VHtml5DragEvent.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui.dd;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VHtml5File.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VHtml5File.java
index 0a74fa22a2..434ae732c1 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VHtml5File.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VHtml5File.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui.dd;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VIsOverId.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VIsOverId.java
index 73591493ea..58dc0d3956 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VIsOverId.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VIsOverId.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VItemIdIs.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VItemIdIs.java
index a00c6fdd98..ada7a3c78a 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VItemIdIs.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VItemIdIs.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VLazyInitItemIdentifiers.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VLazyInitItemIdentifiers.java
index eae6179a16..b824c1cb65 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VLazyInitItemIdentifiers.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VLazyInitItemIdentifiers.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VNot.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VNot.java
index 77dbff9ab0..f4ba868497 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VNot.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VNot.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VOr.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VOr.java
index cdb23af69b..e47447b7fc 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VOr.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VOr.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VOverTreeNode.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VOverTreeNode.java
index 5236ecc5b1..1539054c88 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VOverTreeNode.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VOverTreeNode.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VServerAccept.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VServerAccept.java
index 163396d846..bccb6656aa 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VServerAccept.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VServerAccept.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VSourceIsTarget.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VSourceIsTarget.java
index 19a82062f7..ff4c4f1d35 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VSourceIsTarget.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VSourceIsTarget.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VTargetDetailIs.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VTargetDetailIs.java
index 8878b297ea..713a0d6646 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VTargetDetailIs.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VTargetDetailIs.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VTargetInSubtree.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VTargetInSubtree.java
index 8cd3507566..e1f2e34063 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VTargetInSubtree.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VTargetInSubtree.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VTransferable.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VTransferable.java
index bb726586e2..fe51ea82e4 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VTransferable.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VTransferable.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui.dd;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VerticalDropLocation.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VerticalDropLocation.java
index afd1699278..de392a0e98 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VerticalDropLocation.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VerticalDropLocation.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui.dd;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/layout/CellBasedLayout.java b/src/com/vaadin/terminal/gwt/client/ui/layout/CellBasedLayout.java
index d585cf8eb7..2ca58a38c2 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/layout/CellBasedLayout.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/layout/CellBasedLayout.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui.layout;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/layout/ChildComponentContainer.java b/src/com/vaadin/terminal/gwt/client/ui/layout/ChildComponentContainer.java
index ebb8bd41ea..cb46b109e5 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/layout/ChildComponentContainer.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/layout/ChildComponentContainer.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui.layout;
@@ -9,6 +9,8 @@ import java.util.NoSuchElementException;
import com.google.gwt.dom.client.DivElement;
import com.google.gwt.dom.client.Document;
import com.google.gwt.dom.client.Element;
+import com.google.gwt.dom.client.Style;
+import com.google.gwt.dom.client.Style.BorderStyle;
import com.google.gwt.user.client.ui.Panel;
import com.google.gwt.user.client.ui.Widget;
import com.vaadin.terminal.gwt.client.ApplicationConnection;
@@ -204,6 +206,36 @@ public class ChildComponentContainer extends Panel {
* does not include
*/
int w = Util.getRequiredWidth(widgetDIV);
+
+ // IE7 ignores the width of the content if there's a border (#3915)
+ if (BrowserInfo.get().isIE7()) {
+ // Also read the inner width of the target element
+ int clientWidth = widget.getElement().getClientWidth();
+
+ // If the widths are different, there might be a border involved and
+ // then the width should be calculated without borders
+ if (w != clientWidth) {
+ // Remember old border style and remove current border
+ Style style = widget.getElement().getStyle();
+ String oldBorderStyle = style.getBorderStyle();
+ style.setBorderStyle(BorderStyle.NONE);
+
+ // Calculate width without borders
+ int newWidth = Util.getRequiredWidth(widgetDIV);
+
+ // Restore old border style
+ style.setProperty("borderStyle", oldBorderStyle);
+
+ // Borders triggered the bug if the element is wider without
+ // borders
+ if (newWidth > w) {
+ // Use new measured width + the border width calculated as
+ // the difference between previous inner and outer widths
+ w = newWidth + (w - clientWidth);
+ }
+ }
+ }
+
int h = Util.getRequiredHeight(widgetDIV);
widgetSize.setWidth(w);
diff --git a/src/com/vaadin/terminal/gwt/client/ui/layout/Margins.java b/src/com/vaadin/terminal/gwt/client/ui/layout/Margins.java
index d4b216dbee..37ca7fef37 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/layout/Margins.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/layout/Margins.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui.layout;
diff --git a/src/com/vaadin/terminal/gwt/client/ui/richtextarea/VRichTextArea.java b/src/com/vaadin/terminal/gwt/client/ui/richtextarea/VRichTextArea.java
index 59370b6dfc..bf0a423474 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/richtextarea/VRichTextArea.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/richtextarea/VRichTextArea.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.client.ui.richtextarea;
@@ -38,7 +38,7 @@ import com.vaadin.terminal.gwt.client.ui.ShortcutActionHandler.ShortcutActionHan
/**
* This class implements a basic client side rich text editor component.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
*
*/
public class VRichTextArea extends Composite implements Paintable, Field,
diff --git a/src/com/vaadin/terminal/gwt/client/ui/richtextarea/VRichTextToolbar.java b/src/com/vaadin/terminal/gwt/client/ui/richtextarea/VRichTextToolbar.java
index 7f05439b59..1e1805efdf 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/richtextarea/VRichTextToolbar.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/richtextarea/VRichTextToolbar.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/*
* Copyright 2007 Google Inc.
diff --git a/src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java b/src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java
index da912de753..f9268292eb 100644
--- a/src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java
+++ b/src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
diff --git a/src/com/vaadin/terminal/gwt/server/AbstractApplicationServlet.java b/src/com/vaadin/terminal/gwt/server/AbstractApplicationServlet.java
index 951b9a85bb..0d3b7cd754 100644
--- a/src/com/vaadin/terminal/gwt/server/AbstractApplicationServlet.java
+++ b/src/com/vaadin/terminal/gwt/server/AbstractApplicationServlet.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
@@ -52,7 +52,7 @@ import com.vaadin.ui.Root;
* cases this is unnecessary.
*
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 6.0
diff --git a/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java b/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java
index 5255ed1c3e..91906fe103 100644
--- a/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java
+++ b/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
diff --git a/src/com/vaadin/terminal/gwt/server/AbstractStreamingEvent.java b/src/com/vaadin/terminal/gwt/server/AbstractStreamingEvent.java
index 4279adf476..43b175cc36 100644
--- a/src/com/vaadin/terminal/gwt/server/AbstractStreamingEvent.java
+++ b/src/com/vaadin/terminal/gwt/server/AbstractStreamingEvent.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
diff --git a/src/com/vaadin/terminal/gwt/server/AbstractWebApplicationContext.java b/src/com/vaadin/terminal/gwt/server/AbstractWebApplicationContext.java
index 44fe7c8e2a..c8335a8607 100644
--- a/src/com/vaadin/terminal/gwt/server/AbstractWebApplicationContext.java
+++ b/src/com/vaadin/terminal/gwt/server/AbstractWebApplicationContext.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
diff --git a/src/com/vaadin/terminal/gwt/server/ApplicationPortlet.java b/src/com/vaadin/terminal/gwt/server/ApplicationPortlet.java
new file mode 100644
index 0000000000..f971bcbc90
--- /dev/null
+++ b/src/com/vaadin/terminal/gwt/server/ApplicationPortlet.java
@@ -0,0 +1,250 @@
+/*
+@VaadinApache2LicenseForJavaFiles@
+ */
+package com.vaadin.terminal.gwt.server;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.PrintWriter;
+import java.io.Serializable;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.PortalContext;
+import javax.portlet.Portlet;
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletException;
+import javax.portlet.PortletRequestDispatcher;
+import javax.portlet.PortletSession;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+
+import com.liferay.portal.kernel.util.PropsUtil;
+import com.vaadin.Application;
+
+/**
+ * Portlet main class for Portlet 1.0 (JSR-168) portlets which consist of a
+ * portlet and a servlet. For Portlet 2.0 (JSR-286, no servlet required), use
+ * {@link ApplicationPortlet2} instead.
+ */
+@SuppressWarnings("serial")
+public class ApplicationPortlet implements Portlet, Serializable {
+ // portlet configuration parameters
+ private static final String PORTLET_PARAMETER_APPLICATION = "application";
+ private static final String PORTLET_PARAMETER_STYLE = "style";
+ private static final String PORTLET_PARAMETER_WIDGETSET = "widgetset";
+
+ // The application to show
+ protected String app = null;
+ // some applications might require forced height (and, more seldom, width)
+ protected String style = null; // e.g "height:500px;"
+ // force the portlet to use this widgetset - portlet level setting
+ protected String portletWidgetset = null;
+
+ public void destroy() {
+
+ }
+
+ public void init(PortletConfig config) throws PortletException {
+ app = config.getInitParameter(PORTLET_PARAMETER_APPLICATION);
+ if (app == null) {
+ throw new PortletException(
+ "No porlet application url defined in portlet.xml. Define the '"
+ + PORTLET_PARAMETER_APPLICATION
+ + "' init parameter to be the servlet deployment path.");
+ }
+ style = config.getInitParameter(PORTLET_PARAMETER_STYLE);
+ // enable forcing the selection of the widgetset in portlet
+ // configuration for a single portlet (backwards compatibility)
+ portletWidgetset = config.getInitParameter(PORTLET_PARAMETER_WIDGETSET);
+ }
+
+ public void processAction(ActionRequest request, ActionResponse response)
+ throws PortletException, IOException {
+ PortletApplicationContext.dispatchRequest(this, request, response);
+ }
+
+ public void render(RenderRequest request, RenderResponse response)
+ throws PortletException, IOException {
+
+ // display the Vaadin application
+ writeAjaxWindow(request, response);
+ }
+
+ protected void writeAjaxWindow(RenderRequest request,
+ RenderResponse response) throws IOException {
+
+ response.setContentType("text/html");
+ if (app != null) {
+ PortletSession sess = request.getPortletSession();
+ PortletApplicationContext ctx = PortletApplicationContext
+ .getApplicationContext(sess);
+
+ PortletRequestDispatcher dispatcher = sess.getPortletContext()
+ .getRequestDispatcher("/" + app);
+
+ try {
+ // portal-wide settings
+ PortalContext portalCtx = request.getPortalContext();
+
+ boolean isLifeRay = portalCtx.getPortalInfo().toLowerCase()
+ .contains("liferay");
+
+ request.setAttribute(ApplicationServlet.REQUEST_FRAGMENT,
+ "true");
+
+ // fixed base theme to use - all portal pages with Vaadin
+ // applications will load this exactly once
+ String portalTheme = getPortalProperty(
+ Constants.PORTAL_PARAMETER_VAADIN_THEME, portalCtx);
+
+ String portalWidgetset = getPortalProperty(
+ Constants.PORTAL_PARAMETER_VAADIN_WIDGETSET, portalCtx);
+
+ // location of the widgetset(s) and default theme (to which
+ // /VAADIN/widgetsets/...
+ // is appended)
+ String portalResourcePath = getPortalProperty(
+ Constants.PORTAL_PARAMETER_VAADIN_RESOURCE_PATH,
+ portalCtx);
+
+ if (portalResourcePath != null) {
+ // if portalResourcePath is defined, set it as a request
+ // parameter which will override the default location in
+ // servlet
+ request.setAttribute(
+ ApplicationServlet.REQUEST_VAADIN_STATIC_FILE_PATH,
+ portalResourcePath);
+ }
+
+ // - if the user has specified a widgetset for this portlet, use
+ // it from the portlet (not fully supported)
+ // - otherwise, if specified, use the portal-wide widgetset
+ // and widgetset path settings (recommended)
+ // - finally, default to use the default widgetset if nothing
+ // else is found
+ if (portletWidgetset != null) {
+ request.setAttribute(ApplicationServlet.REQUEST_WIDGETSET,
+ portletWidgetset);
+ }
+ if (portalWidgetset != null) {
+ request.setAttribute(
+ ApplicationServlet.REQUEST_SHARED_WIDGETSET,
+ portalWidgetset);
+ }
+
+ if (style != null) {
+ request.setAttribute(ApplicationServlet.REQUEST_APPSTYLE,
+ style);
+ }
+
+ // portalTheme is only used if the shared portal resource
+ // directory is defined
+ if (portalTheme != null && portalResourcePath != null) {
+ request.setAttribute(
+ ApplicationServlet.REQUEST_DEFAULT_THEME,
+ portalTheme);
+
+ String defaultThemeUri = null;
+ defaultThemeUri = portalResourcePath + "/"
+ + AbstractApplicationServlet.THEME_DIRECTORY_PATH
+ + portalTheme;
+ /*
+ * Make sure portal default Vaadin theme is included in DOM.
+ * Vaadin portlet themes do not "inherit" base theme, so we
+ * need to force loading of the common base theme.
+ */
+ OutputStream out = response.getPortletOutputStream();
+
+ // Using portal-wide theme
+ String loadDefaultTheme = ("<script type=\"text/javascript\">\n"
+ + "if(!vaadin) { var vaadin = {} } \n"
+ + "if(!vaadin.themesLoaded) { vaadin.themesLoaded = {} } \n"
+ + "if(!vaadin.themesLoaded['"
+ + portalTheme
+ + "']) {\n"
+ + "var stylesheet = document.createElement('link');\n"
+ + "stylesheet.setAttribute('rel', 'stylesheet');\n"
+ + "stylesheet.setAttribute('type', 'text/css');\n"
+ + "stylesheet.setAttribute('href', '"
+ + defaultThemeUri
+ + "/styles.css');\n"
+ + "document.getElementsByTagName('head')[0].appendChild(stylesheet);\n"
+ + "vaadin.themesLoaded['"
+ + portalTheme
+ + "'] = true;\n}\n" + "</script>\n");
+ out.write(loadDefaultTheme.getBytes());
+ }
+
+ dispatcher.include(request, response);
+
+ if (isLifeRay) {
+ /*
+ * Temporary support to heartbeat Liferay session when using
+ * Vaadin based portlet. We hit an extra xhr to liferay
+ * servlet to extend the session lifetime after each Vaadin
+ * request. This hack can be removed when supporting portlet
+ * 2.0 and resourceRequests.
+ *
+ * TODO make this configurable, this is not necessary with
+ * some custom session configurations.
+ */
+ OutputStream out = response.getPortletOutputStream();
+
+ String lifeRaySessionHearbeatHack = ("<script type=\"text/javascript\">"
+ + "if(!vaadin.postRequestHooks) {"
+ + " vaadin.postRequestHooks = {};"
+ + "}"
+ + "vaadin.postRequestHooks.liferaySessionHeartBeat = function() {"
+ + " if (Liferay && Liferay.Session && Liferay.Session.setCookie) {"
+ + " Liferay.Session.setCookie();"
+ + " }"
+ + "};" + "</script>");
+ out.write(lifeRaySessionHearbeatHack.getBytes());
+ }
+
+ } catch (PortletException e) {
+ PrintWriter out = response.getWriter();
+ out.print("<h1>Servlet include failed!</h1>");
+ Logger.getLogger(AbstractApplicationPortlet.class.getName())
+ .log(Level.WARNING, "Servlet include failed", e);
+ ctx.setPortletApplication(this, null);
+ return;
+ }
+
+ Application app = (Application) request
+ .getAttribute(Application.class.getName());
+ ctx.setPortletApplication(this, app);
+ ctx.firePortletRenderRequest(this, request, response);
+
+ }
+ }
+
+ private String getPortalProperty(String name, PortalContext context) {
+ boolean isLifeRay = context.getPortalInfo().toLowerCase()
+ .contains("liferay");
+
+ // TODO test on non-LifeRay platforms
+
+ String value;
+ if (isLifeRay) {
+ value = getLifeRayPortalProperty(name);
+ } else {
+ value = context.getProperty(name);
+ }
+
+ return value;
+ }
+
+ private String getLifeRayPortalProperty(String name) {
+ String value;
+ try {
+ value = PropsUtil.get(name);
+ } catch (Exception e) {
+ value = null;
+ }
+ return value;
+ }
+}
diff --git a/src/com/vaadin/terminal/gwt/server/ApplicationPortlet2.java b/src/com/vaadin/terminal/gwt/server/ApplicationPortlet2.java
index ec373908f7..3e15c1cf8f 100644
--- a/src/com/vaadin/terminal/gwt/server/ApplicationPortlet2.java
+++ b/src/com/vaadin/terminal/gwt/server/ApplicationPortlet2.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
diff --git a/src/com/vaadin/terminal/gwt/server/ApplicationRunnerServlet.java b/src/com/vaadin/terminal/gwt/server/ApplicationRunnerServlet.java
index bdfe8e3a25..8809346f57 100644
--- a/src/com/vaadin/terminal/gwt/server/ApplicationRunnerServlet.java
+++ b/src/com/vaadin/terminal/gwt/server/ApplicationRunnerServlet.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
diff --git a/src/com/vaadin/terminal/gwt/server/ApplicationServlet.java b/src/com/vaadin/terminal/gwt/server/ApplicationServlet.java
index 763117f3dd..724977b409 100644
--- a/src/com/vaadin/terminal/gwt/server/ApplicationServlet.java
+++ b/src/com/vaadin/terminal/gwt/server/ApplicationServlet.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
@@ -13,7 +13,7 @@ import com.vaadin.ui.Root;
/**
* This servlet connects a Vaadin Application to Web.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 5.0
@@ -117,4 +117,4 @@ public class ApplicationServlet extends AbstractApplicationServlet {
throws ClassNotFoundException {
return applicationClass;
}
-} \ No newline at end of file
+}
diff --git a/src/com/vaadin/terminal/gwt/server/ChangeVariablesErrorEvent.java b/src/com/vaadin/terminal/gwt/server/ChangeVariablesErrorEvent.java
index 089b811662..b6576dce9f 100644
--- a/src/com/vaadin/terminal/gwt/server/ChangeVariablesErrorEvent.java
+++ b/src/com/vaadin/terminal/gwt/server/ChangeVariablesErrorEvent.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
diff --git a/src/com/vaadin/terminal/gwt/server/CommunicationManager.java b/src/com/vaadin/terminal/gwt/server/CommunicationManager.java
index 62e6ed81b3..bd31e0aa56 100644
--- a/src/com/vaadin/terminal/gwt/server/CommunicationManager.java
+++ b/src/com/vaadin/terminal/gwt/server/CommunicationManager.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
@@ -25,7 +25,7 @@ import com.vaadin.ui.Component;
*
* @see AbstractCommunicationManager
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 5.0
diff --git a/src/com/vaadin/terminal/gwt/server/ComponentSizeValidator.java b/src/com/vaadin/terminal/gwt/server/ComponentSizeValidator.java
index fd51d66d7c..7889968e63 100644
--- a/src/com/vaadin/terminal/gwt/server/ComponentSizeValidator.java
+++ b/src/com/vaadin/terminal/gwt/server/ComponentSizeValidator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
diff --git a/src/com/vaadin/terminal/gwt/server/Constants.java b/src/com/vaadin/terminal/gwt/server/Constants.java
index e3d7dfa8e2..7c467aa7f4 100644
--- a/src/com/vaadin/terminal/gwt/server/Constants.java
+++ b/src/com/vaadin/terminal/gwt/server/Constants.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
diff --git a/src/com/vaadin/terminal/gwt/server/DragAndDropService.java b/src/com/vaadin/terminal/gwt/server/DragAndDropService.java
index 61e1fcad11..3a923c1840 100644
--- a/src/com/vaadin/terminal/gwt/server/DragAndDropService.java
+++ b/src/com/vaadin/terminal/gwt/server/DragAndDropService.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
diff --git a/src/com/vaadin/terminal/gwt/server/GAEApplicationServlet.java b/src/com/vaadin/terminal/gwt/server/GAEApplicationServlet.java
index 86dbd910d5..485c98f036 100644
--- a/src/com/vaadin/terminal/gwt/server/GAEApplicationServlet.java
+++ b/src/com/vaadin/terminal/gwt/server/GAEApplicationServlet.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
diff --git a/src/com/vaadin/terminal/gwt/server/HttpServletRequestListener.java b/src/com/vaadin/terminal/gwt/server/HttpServletRequestListener.java
index 6e4c0db869..d811cadf86 100644
--- a/src/com/vaadin/terminal/gwt/server/HttpServletRequestListener.java
+++ b/src/com/vaadin/terminal/gwt/server/HttpServletRequestListener.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
diff --git a/src/com/vaadin/terminal/gwt/server/JsonPaintTarget.java b/src/com/vaadin/terminal/gwt/server/JsonPaintTarget.java
index b1d6f8ab13..d6c53a2da6 100644
--- a/src/com/vaadin/terminal/gwt/server/JsonPaintTarget.java
+++ b/src/com/vaadin/terminal/gwt/server/JsonPaintTarget.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
@@ -44,7 +44,7 @@ import com.vaadin.ui.CustomLayout;
* TODO document better: role of this class, UIDL format, attributes, variables,
* etc.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 5.0
diff --git a/src/com/vaadin/terminal/gwt/server/NoInputStreamException.java b/src/com/vaadin/terminal/gwt/server/NoInputStreamException.java
index 4447fb888d..70c3add858 100644
--- a/src/com/vaadin/terminal/gwt/server/NoInputStreamException.java
+++ b/src/com/vaadin/terminal/gwt/server/NoInputStreamException.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
diff --git a/src/com/vaadin/terminal/gwt/server/NoOutputStreamException.java b/src/com/vaadin/terminal/gwt/server/NoOutputStreamException.java
index f502750bc4..e4db8453b0 100644
--- a/src/com/vaadin/terminal/gwt/server/NoOutputStreamException.java
+++ b/src/com/vaadin/terminal/gwt/server/NoOutputStreamException.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
diff --git a/src/com/vaadin/terminal/gwt/server/PortletApplicationContext.java b/src/com/vaadin/terminal/gwt/server/PortletApplicationContext.java
new file mode 100644
index 0000000000..362fee1cc7
--- /dev/null
+++ b/src/com/vaadin/terminal/gwt/server/PortletApplicationContext.java
@@ -0,0 +1,186 @@
+/*
+@VaadinApache2LicenseForJavaFiles@
+ */
+/**
+ *
+ */
+package com.vaadin.terminal.gwt.server;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashSet;
+import java.util.Map;
+import java.util.Set;
+
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.Portlet;
+import javax.portlet.PortletSession;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.servlet.http.HttpSession;
+
+import com.vaadin.Application;
+
+/**
+ * @author marc
+ */
+public class PortletApplicationContext extends WebApplicationContext implements
+ Serializable {
+
+ protected transient PortletSession portletSession;
+
+ protected Map<Application, Set<PortletListener>> portletListeners = new HashMap<Application, Set<PortletListener>>();
+
+ protected Map<Portlet, Application> portletToApplication = new HashMap<Portlet, Application>();
+
+ PortletApplicationContext() {
+
+ }
+
+ static public PortletApplicationContext getApplicationContext(
+ PortletSession session) {
+ WebApplicationContext cx = (WebApplicationContext) session
+ .getAttribute(WebApplicationContext.class.getName(),
+ PortletSession.APPLICATION_SCOPE);
+ if (cx == null) {
+ cx = new PortletApplicationContext();
+ }
+ if (!(cx instanceof PortletApplicationContext)) {
+ // TODO Should we even try this? And should we leave original as-is?
+ PortletApplicationContext pcx = new PortletApplicationContext();
+ pcx.applications.addAll(cx.applications);
+ cx.applications.clear();
+ pcx.browser = cx.browser;
+ cx.browser = null;
+ pcx.listeners = cx.listeners;
+ cx.listeners = null;
+ pcx.session = cx.session;
+ cx = pcx;
+ }
+ if (((PortletApplicationContext) cx).portletSession == null) {
+ ((PortletApplicationContext) cx).portletSession = session;
+ }
+ session.setAttribute(WebApplicationContext.class.getName(), cx,
+ PortletSession.APPLICATION_SCOPE);
+ return (PortletApplicationContext) cx;
+ }
+
+ static public WebApplicationContext getApplicationContext(
+ HttpSession session) {
+ WebApplicationContext cx = (WebApplicationContext) session
+ .getAttribute(WebApplicationContext.class.getName());
+ if (cx == null) {
+ cx = new PortletApplicationContext();
+ }
+ if (cx.session == null) {
+ cx.session = session;
+ }
+ session.setAttribute(WebApplicationContext.class.getName(), cx);
+ return cx;
+ }
+
+ @Override
+ protected void removeApplication(Application application) {
+ portletListeners.remove(application);
+ for (Iterator<Application> it = portletToApplication.values()
+ .iterator(); it.hasNext();) {
+ Application value = it.next();
+ if (value == application) {
+ // values().iterator() is backed by the map
+ it.remove();
+ }
+ }
+ super.removeApplication(application);
+ }
+
+ /**
+ * Reinitializing the session is not supported from portlets.
+ *
+ * @see com.vaadin.terminal.gwt.server.WebApplicationContext#reinitializeSession()
+ */
+ @Override
+ public void reinitializeSession() {
+ throw new UnsupportedOperationException(
+ "Reinitializing the session is not supported from portlets");
+ }
+
+ public void setPortletApplication(Portlet portlet, Application app) {
+ portletToApplication.put(portlet, app);
+ }
+
+ public Application getPortletApplication(Portlet portlet) {
+ return portletToApplication.get(portlet);
+ }
+
+ public PortletSession getPortletSession() {
+ return portletSession;
+ }
+
+ public void addPortletListener(Application app, PortletListener listener) {
+ Set<PortletListener> l = portletListeners.get(app);
+ if (l == null) {
+ l = new LinkedHashSet<PortletListener>();
+ portletListeners.put(app, l);
+ }
+ l.add(listener);
+ }
+
+ public void removePortletListener(Application app, PortletListener listener) {
+ Set<PortletListener> l = portletListeners.get(app);
+ if (l != null) {
+ l.remove(listener);
+ }
+ }
+
+ public static void dispatchRequest(Portlet portlet, RenderRequest request,
+ RenderResponse response) {
+ PortletApplicationContext ctx = getApplicationContext(request
+ .getPortletSession());
+ if (ctx != null) {
+ ctx.firePortletRenderRequest(portlet, request, response);
+ }
+ }
+
+ public static void dispatchRequest(Portlet portlet, ActionRequest request,
+ ActionResponse response) {
+ PortletApplicationContext ctx = getApplicationContext(request
+ .getPortletSession());
+ if (ctx != null) {
+ ctx.firePortletActionRequest(portlet, request, response);
+ }
+ }
+
+ public void firePortletRenderRequest(Portlet portlet,
+ RenderRequest request, RenderResponse response) {
+ Application app = getPortletApplication(portlet);
+ Set<PortletListener> listeners = portletListeners.get(app);
+ if (listeners != null) {
+ for (PortletListener l : listeners) {
+ l.handleRenderRequest(request, new RestrictedRenderResponse(
+ response));
+ }
+ }
+ }
+
+ public void firePortletActionRequest(Portlet portlet,
+ ActionRequest request, ActionResponse response) {
+ Application app = getPortletApplication(portlet);
+ Set<PortletListener> listeners = portletListeners.get(app);
+ if (listeners != null) {
+ for (PortletListener l : listeners) {
+ l.handleActionRequest(request, response);
+ }
+ }
+ }
+
+ public interface PortletListener extends Serializable {
+ public void handleRenderRequest(RenderRequest request,
+ RenderResponse response);
+
+ public void handleActionRequest(ActionRequest request,
+ ActionResponse response);
+ }
+
+}
diff --git a/src/com/vaadin/terminal/gwt/server/PortletApplicationContext2.java b/src/com/vaadin/terminal/gwt/server/PortletApplicationContext2.java
index fc281d90f9..661da57af6 100644
--- a/src/com/vaadin/terminal/gwt/server/PortletApplicationContext2.java
+++ b/src/com/vaadin/terminal/gwt/server/PortletApplicationContext2.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
diff --git a/src/com/vaadin/terminal/gwt/server/PortletCommunicationManager.java b/src/com/vaadin/terminal/gwt/server/PortletCommunicationManager.java
index 3368f87ef2..1762e0f1cf 100644
--- a/src/com/vaadin/terminal/gwt/server/PortletCommunicationManager.java
+++ b/src/com/vaadin/terminal/gwt/server/PortletCommunicationManager.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
diff --git a/src/com/vaadin/terminal/gwt/server/PortletRequestListener.java b/src/com/vaadin/terminal/gwt/server/PortletRequestListener.java
index bde55dae12..8a30f5c1d4 100644
--- a/src/com/vaadin/terminal/gwt/server/PortletRequestListener.java
+++ b/src/com/vaadin/terminal/gwt/server/PortletRequestListener.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
diff --git a/src/com/vaadin/terminal/gwt/server/RestrictedRenderResponse.java b/src/com/vaadin/terminal/gwt/server/RestrictedRenderResponse.java
index 7422c8abec..c4ef3fc8e5 100644
--- a/src/com/vaadin/terminal/gwt/server/RestrictedRenderResponse.java
+++ b/src/com/vaadin/terminal/gwt/server/RestrictedRenderResponse.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
diff --git a/src/com/vaadin/terminal/gwt/server/SessionExpiredException.java b/src/com/vaadin/terminal/gwt/server/SessionExpiredException.java
index e17360baa9..37b76de443 100644
--- a/src/com/vaadin/terminal/gwt/server/SessionExpiredException.java
+++ b/src/com/vaadin/terminal/gwt/server/SessionExpiredException.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
diff --git a/src/com/vaadin/terminal/gwt/server/StreamingEndEventImpl.java b/src/com/vaadin/terminal/gwt/server/StreamingEndEventImpl.java
index 1fb7db6a6f..0d4963bd7d 100644
--- a/src/com/vaadin/terminal/gwt/server/StreamingEndEventImpl.java
+++ b/src/com/vaadin/terminal/gwt/server/StreamingEndEventImpl.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
diff --git a/src/com/vaadin/terminal/gwt/server/StreamingErrorEventImpl.java b/src/com/vaadin/terminal/gwt/server/StreamingErrorEventImpl.java
index 087572b6a1..7418867fc8 100644
--- a/src/com/vaadin/terminal/gwt/server/StreamingErrorEventImpl.java
+++ b/src/com/vaadin/terminal/gwt/server/StreamingErrorEventImpl.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
diff --git a/src/com/vaadin/terminal/gwt/server/StreamingProgressEventImpl.java b/src/com/vaadin/terminal/gwt/server/StreamingProgressEventImpl.java
index 230065337a..cfa7a1b98d 100644
--- a/src/com/vaadin/terminal/gwt/server/StreamingProgressEventImpl.java
+++ b/src/com/vaadin/terminal/gwt/server/StreamingProgressEventImpl.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
diff --git a/src/com/vaadin/terminal/gwt/server/StreamingStartEventImpl.java b/src/com/vaadin/terminal/gwt/server/StreamingStartEventImpl.java
index d0d167efa7..6a7844abd0 100644
--- a/src/com/vaadin/terminal/gwt/server/StreamingStartEventImpl.java
+++ b/src/com/vaadin/terminal/gwt/server/StreamingStartEventImpl.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
diff --git a/src/com/vaadin/terminal/gwt/server/SystemMessageException.java b/src/com/vaadin/terminal/gwt/server/SystemMessageException.java
index 3fdba28c06..d15ff8a7ef 100644
--- a/src/com/vaadin/terminal/gwt/server/SystemMessageException.java
+++ b/src/com/vaadin/terminal/gwt/server/SystemMessageException.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
diff --git a/src/com/vaadin/terminal/gwt/server/UploadException.java b/src/com/vaadin/terminal/gwt/server/UploadException.java
index 47e6b5f44a..58253da0fb 100644
--- a/src/com/vaadin/terminal/gwt/server/UploadException.java
+++ b/src/com/vaadin/terminal/gwt/server/UploadException.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
diff --git a/src/com/vaadin/terminal/gwt/server/WebApplicationContext.java b/src/com/vaadin/terminal/gwt/server/WebApplicationContext.java
index 89b6773815..8a1ea792f5 100644
--- a/src/com/vaadin/terminal/gwt/server/WebApplicationContext.java
+++ b/src/com/vaadin/terminal/gwt/server/WebApplicationContext.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
@@ -21,7 +21,7 @@ import com.vaadin.Application;
* This is automatically added as a {@link HttpSessionBindingListener} when
* added to a {@link HttpSession}.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.1
diff --git a/src/com/vaadin/terminal/gwt/server/WebBrowser.java b/src/com/vaadin/terminal/gwt/server/WebBrowser.java
index 4ac9cb77b2..419373afd4 100644
--- a/src/com/vaadin/terminal/gwt/server/WebBrowser.java
+++ b/src/com/vaadin/terminal/gwt/server/WebBrowser.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.server;
@@ -15,7 +15,7 @@ import com.vaadin.terminal.gwt.client.VBrowserDetails;
* Provides information such as browser name and version, screen resolution and
* IP address.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version @VERSION@
*/
public class WebBrowser implements Terminal {
diff --git a/src/com/vaadin/terminal/gwt/widgetsetutils/AcceptCriteriaFactoryGenerator.java b/src/com/vaadin/terminal/gwt/widgetsetutils/AcceptCriteriaFactoryGenerator.java
index 1ba954c611..d8d3c23e0c 100644
--- a/src/com/vaadin/terminal/gwt/widgetsetutils/AcceptCriteriaFactoryGenerator.java
+++ b/src/com/vaadin/terminal/gwt/widgetsetutils/AcceptCriteriaFactoryGenerator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.widgetsetutils;
diff --git a/src/com/vaadin/terminal/gwt/widgetsetutils/ClassPathExplorer.java b/src/com/vaadin/terminal/gwt/widgetsetutils/ClassPathExplorer.java
index 5bf6df1ea3..2e4ce39513 100644
--- a/src/com/vaadin/terminal/gwt/widgetsetutils/ClassPathExplorer.java
+++ b/src/com/vaadin/terminal/gwt/widgetsetutils/ClassPathExplorer.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.widgetsetutils;
diff --git a/src/com/vaadin/terminal/gwt/widgetsetutils/CustomWidgetMapGenerator.java b/src/com/vaadin/terminal/gwt/widgetsetutils/CustomWidgetMapGenerator.java
index e67a429ee3..4ea4cbb8fe 100644
--- a/src/com/vaadin/terminal/gwt/widgetsetutils/CustomWidgetMapGenerator.java
+++ b/src/com/vaadin/terminal/gwt/widgetsetutils/CustomWidgetMapGenerator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.widgetsetutils;
diff --git a/src/com/vaadin/terminal/gwt/widgetsetutils/EagerWidgetMapGenerator.java b/src/com/vaadin/terminal/gwt/widgetsetutils/EagerWidgetMapGenerator.java
index a5d1963a5f..6381a3b4cb 100644
--- a/src/com/vaadin/terminal/gwt/widgetsetutils/EagerWidgetMapGenerator.java
+++ b/src/com/vaadin/terminal/gwt/widgetsetutils/EagerWidgetMapGenerator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.widgetsetutils;
diff --git a/src/com/vaadin/terminal/gwt/widgetsetutils/LazyWidgetMapGenerator.java b/src/com/vaadin/terminal/gwt/widgetsetutils/LazyWidgetMapGenerator.java
index b3fd921e2f..7de72f09ce 100644
--- a/src/com/vaadin/terminal/gwt/widgetsetutils/LazyWidgetMapGenerator.java
+++ b/src/com/vaadin/terminal/gwt/widgetsetutils/LazyWidgetMapGenerator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.widgetsetutils;
diff --git a/src/com/vaadin/terminal/gwt/widgetsetutils/WidgetMapGenerator.java b/src/com/vaadin/terminal/gwt/widgetsetutils/WidgetMapGenerator.java
index 7ad790e25e..c1f9134e7b 100644
--- a/src/com/vaadin/terminal/gwt/widgetsetutils/WidgetMapGenerator.java
+++ b/src/com/vaadin/terminal/gwt/widgetsetutils/WidgetMapGenerator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.widgetsetutils;
diff --git a/src/com/vaadin/terminal/gwt/widgetsetutils/WidgetSetBuilder.java b/src/com/vaadin/terminal/gwt/widgetsetutils/WidgetSetBuilder.java
index 2fa90f3e5f..4c6e334a33 100644
--- a/src/com/vaadin/terminal/gwt/widgetsetutils/WidgetSetBuilder.java
+++ b/src/com/vaadin/terminal/gwt/widgetsetutils/WidgetSetBuilder.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal.gwt.widgetsetutils;
diff --git a/src/com/vaadin/tools/ReflectTools.java b/src/com/vaadin/tools/ReflectTools.java
index 1fe36bd5e7..9f0667f90e 100644
--- a/src/com/vaadin/tools/ReflectTools.java
+++ b/src/com/vaadin/tools/ReflectTools.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tools;
@@ -15,8 +15,8 @@ import java.lang.reflect.Method;
public class ReflectTools {
/**
* Locates the method in the given class. Returns null if the method is not
- * found. This method never throws exceptions. Errors in locating methods
- * are considered serious problems and are output to standard error.
+ * found. Throws an ExceptionInInitializerError if there is a problem
+ * locating the method as this is mainly called from static blocks.
*
* @param cls
* Class that contains the method
diff --git a/src/com/vaadin/tools/WidgetsetCompiler.java b/src/com/vaadin/tools/WidgetsetCompiler.java
index 9fe97ba12a..323fb17e32 100644
--- a/src/com/vaadin/tools/WidgetsetCompiler.java
+++ b/src/com/vaadin/tools/WidgetsetCompiler.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tools;
diff --git a/src/com/vaadin/ui/AbsoluteLayout.java b/src/com/vaadin/ui/AbsoluteLayout.java
index c7a1583d28..7872e05774 100644
--- a/src/com/vaadin/ui/AbsoluteLayout.java
+++ b/src/com/vaadin/ui/AbsoluteLayout.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
diff --git a/src/com/vaadin/ui/AbstractComponent.java b/src/com/vaadin/ui/AbstractComponent.java
index 3038d4f334..70d7fe32a9 100644
--- a/src/com/vaadin/ui/AbstractComponent.java
+++ b/src/com/vaadin/ui/AbstractComponent.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -37,7 +37,7 @@ import com.vaadin.tools.ReflectTools;
* external component can inherit this class to easily qualify as Vaadin
* components. Most components in Vaadin do just that.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/ui/AbstractComponentContainer.java b/src/com/vaadin/ui/AbstractComponentContainer.java
index 73093c4123..5d5218307a 100644
--- a/src/com/vaadin/ui/AbstractComponentContainer.java
+++ b/src/com/vaadin/ui/AbstractComponentContainer.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -18,7 +18,7 @@ import com.vaadin.terminal.gwt.server.ComponentSizeValidator;
* components that need to contain other components inherit this class to easily
* qualify as a component container.
*
- * @author IT Mill Ltd
+ * @author Vaadin Ltd
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/ui/AbstractField.java b/src/com/vaadin/ui/AbstractField.java
index 44fb71ac84..34c7be3bf1 100644
--- a/src/com/vaadin/ui/AbstractField.java
+++ b/src/com/vaadin/ui/AbstractField.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -49,7 +49,7 @@ import com.vaadin.terminal.PaintTarget;
* sure the value contained in the field is valid.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -1073,7 +1073,7 @@ public abstract class AbstractField<T> extends AbstractComponent implements
* An <code>Event</code> object specifying the Property whose read-only
* status has changed.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/ui/AbstractLayout.java b/src/com/vaadin/ui/AbstractLayout.java
index d0cc549138..378a59a4ad 100644
--- a/src/com/vaadin/ui/AbstractLayout.java
+++ b/src/com/vaadin/ui/AbstractLayout.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -18,7 +18,7 @@ import com.vaadin.ui.Layout.MarginHandler;
* An abstract class that defines default implementation for the {@link Layout}
* interface.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 5.0
diff --git a/src/com/vaadin/ui/AbstractMedia.java b/src/com/vaadin/ui/AbstractMedia.java
index 44f4fefcc7..9117bce997 100644
--- a/src/com/vaadin/ui/AbstractMedia.java
+++ b/src/com/vaadin/ui/AbstractMedia.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
diff --git a/src/com/vaadin/ui/AbstractOrderedLayout.java b/src/com/vaadin/ui/AbstractOrderedLayout.java
index 0b0fff2a34..8bba9fc46d 100644
--- a/src/com/vaadin/ui/AbstractOrderedLayout.java
+++ b/src/com/vaadin/ui/AbstractOrderedLayout.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -53,6 +53,8 @@ public abstract class AbstractOrderedLayout extends AbstractLayout implements
*/
@Override
public void addComponent(Component c) {
+ // Add to components before calling super.addComponent
+ // so that it is available to AttachListeners
components.add(c);
try {
super.addComponent(c);
@@ -71,6 +73,11 @@ public abstract class AbstractOrderedLayout extends AbstractLayout implements
* the component to be added.
*/
public void addComponentAsFirst(Component c) {
+ // If c is already in this, we must remove it before proceeding
+ // see ticket #7668
+ if (c.getParent() == this) {
+ removeComponent(c);
+ }
components.addFirst(c);
try {
super.addComponent(c);
@@ -87,10 +94,19 @@ public abstract class AbstractOrderedLayout extends AbstractLayout implements
* @param c
* the component to be added.
* @param index
- * the Index of the component position. The components currently
+ * the index of the component position. The components currently
* in and after the position are shifted forwards.
*/
public void addComponent(Component c, int index) {
+ // If c is already in this, we must remove it before proceeding
+ // see ticket #7668
+ if (c.getParent() == this) {
+ // When c is removed, all components after it are shifted down
+ if (index > getComponentIndex(c)) {
+ index--;
+ }
+ removeComponent(c);
+ }
components.add(index, c);
try {
super.addComponent(c);
diff --git a/src/com/vaadin/ui/AbstractSelect.java b/src/com/vaadin/ui/AbstractSelect.java
index 4361e1e9dd..8b6def08a6 100644
--- a/src/com/vaadin/ui/AbstractSelect.java
+++ b/src/com/vaadin/ui/AbstractSelect.java
@@ -1,5 +1,5 @@
/*
- * @ITMillApache2LicenseForJavaFiles@
+ * @VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -49,7 +49,7 @@ import com.vaadin.terminal.gwt.client.ui.dd.VerticalDropLocation;
* simultaneously.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 5.0
@@ -1628,7 +1628,7 @@ public abstract class AbstractSelect extends AbstractField<Object> implements
*
* <p>
* Data interface does not support nulls as item ids. Selecting the item
- * idetified by this id is the same as selecting no items at all. This
+ * identified by this id is the same as selecting no items at all. This
* setting only affects the single select mode.
* </p>
*
diff --git a/src/com/vaadin/ui/AbstractSplitPanel.java b/src/com/vaadin/ui/AbstractSplitPanel.java
index 799a2df6e2..adb84f9d9d 100644
--- a/src/com/vaadin/ui/AbstractSplitPanel.java
+++ b/src/com/vaadin/ui/AbstractSplitPanel.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
diff --git a/src/com/vaadin/ui/AbstractTextField.java b/src/com/vaadin/ui/AbstractTextField.java
index 9eb2ff076d..e843cf43b4 100644
--- a/src/com/vaadin/ui/AbstractTextField.java
+++ b/src/com/vaadin/ui/AbstractTextField.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
diff --git a/src/com/vaadin/ui/Accordion.java b/src/com/vaadin/ui/Accordion.java
index 1f31009f91..5cf805615c 100644
--- a/src/com/vaadin/ui/Accordion.java
+++ b/src/com/vaadin/ui/Accordion.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
diff --git a/src/com/vaadin/ui/Alignment.java b/src/com/vaadin/ui/Alignment.java
index 2c228e88f1..eb9e75e4d2 100644
--- a/src/com/vaadin/ui/Alignment.java
+++ b/src/com/vaadin/ui/Alignment.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
diff --git a/src/com/vaadin/ui/AlignmentUtils.java b/src/com/vaadin/ui/AlignmentUtils.java
index 72c7b9e2de..029fc8c9b5 100644
--- a/src/com/vaadin/ui/AlignmentUtils.java
+++ b/src/com/vaadin/ui/AlignmentUtils.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
diff --git a/src/com/vaadin/ui/Audio.java b/src/com/vaadin/ui/Audio.java
index 322b0a720f..574c1f4186 100644
--- a/src/com/vaadin/ui/Audio.java
+++ b/src/com/vaadin/ui/Audio.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
diff --git a/src/com/vaadin/ui/BaseFieldFactory.java b/src/com/vaadin/ui/BaseFieldFactory.java
index d1dcf940e5..5e92c0c239 100644
--- a/src/com/vaadin/ui/BaseFieldFactory.java
+++ b/src/com/vaadin/ui/BaseFieldFactory.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -17,7 +17,7 @@ import com.vaadin.data.Property;
* <b>default field type</b>: TextField.
* <p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.1
diff --git a/src/com/vaadin/ui/Button.java b/src/com/vaadin/ui/Button.java
index 69b1ce993a..6d9ef0b59d 100644
--- a/src/com/vaadin/ui/Button.java
+++ b/src/com/vaadin/ui/Button.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -30,7 +30,7 @@ import com.vaadin.ui.Component.Focusable;
/**
* A generic button component.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -137,7 +137,7 @@ public class Button extends AbstractComponent implements
/**
* Click event. This event is thrown, when the button is clicked.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -298,7 +298,7 @@ public class Button extends AbstractComponent implements
* Interface for listening for a {@link ClickEvent} fired by a
* {@link Component}.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/ui/CheckBox.java b/src/com/vaadin/ui/CheckBox.java
index 250ab5f095..0d5f1ecdc1 100644
--- a/src/com/vaadin/ui/CheckBox.java
+++ b/src/com/vaadin/ui/CheckBox.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
diff --git a/src/com/vaadin/ui/ClientWidget.java b/src/com/vaadin/ui/ClientWidget.java
index 1bfe58da66..8817f8f776 100644
--- a/src/com/vaadin/ui/ClientWidget.java
+++ b/src/com/vaadin/ui/ClientWidget.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
/**
*
diff --git a/src/com/vaadin/ui/ComboBox.java b/src/com/vaadin/ui/ComboBox.java
index bea6e61a3f..0fb8b9d873 100644
--- a/src/com/vaadin/ui/ComboBox.java
+++ b/src/com/vaadin/ui/ComboBox.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
diff --git a/src/com/vaadin/ui/Component.java b/src/com/vaadin/ui/Component.java
index e5e1bb473e..53fdfdb4ff 100644
--- a/src/com/vaadin/ui/Component.java
+++ b/src/com/vaadin/ui/Component.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -47,7 +47,7 @@ import com.vaadin.terminal.VariableOwner;
* main window of the application through its containment hierarchy.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/ui/ComponentContainer.java b/src/com/vaadin/ui/ComponentContainer.java
index d7254932ca..1e1f0796ca 100644
--- a/src/com/vaadin/ui/ComponentContainer.java
+++ b/src/com/vaadin/ui/ComponentContainer.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -12,7 +12,7 @@ import java.util.Iterator;
* contain other components. All UI elements that can have child elements
* implement this interface.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/ui/CssLayout.java b/src/com/vaadin/ui/CssLayout.java
index 5789a65ed3..b952609b20 100644
--- a/src/com/vaadin/ui/CssLayout.java
+++ b/src/com/vaadin/ui/CssLayout.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -76,6 +76,8 @@ public class CssLayout extends AbstractLayout implements LayoutClickNotifier {
*/
@Override
public void addComponent(Component c) {
+ // Add to components before calling super.addComponent
+ // so that it is available to AttachListeners
components.add(c);
try {
super.addComponent(c);
@@ -94,6 +96,11 @@ public class CssLayout extends AbstractLayout implements LayoutClickNotifier {
* the component to be added.
*/
public void addComponentAsFirst(Component c) {
+ // If c is already in this, we must remove it before proceeding
+ // see ticket #7668
+ if (c.getParent() == this) {
+ removeComponent(c);
+ }
components.addFirst(c);
try {
super.addComponent(c);
@@ -110,10 +117,19 @@ public class CssLayout extends AbstractLayout implements LayoutClickNotifier {
* @param c
* the component to be added.
* @param index
- * the Index of the component position. The components currently
+ * the index of the component position. The components currently
* in and after the position are shifted forwards.
*/
public void addComponent(Component c, int index) {
+ // If c is already in this, we must remove it before proceeding
+ // see ticket #7668
+ if (c.getParent() == this) {
+ // When c is removed, all components after it are shifted down
+ if (index > components.indexOf(c)) {
+ index--;
+ }
+ removeComponent(c);
+ }
components.add(index, c);
try {
super.addComponent(c);
diff --git a/src/com/vaadin/ui/CustomComponent.java b/src/com/vaadin/ui/CustomComponent.java
index c638e01fa5..0f891ac0fa 100644
--- a/src/com/vaadin/ui/CustomComponent.java
+++ b/src/com/vaadin/ui/CustomComponent.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -21,7 +21,7 @@ import com.vaadin.ui.ClientWidget.LoadStyle;
* contain more components, but their interfaces are hidden from the users.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/ui/CustomLayout.java b/src/com/vaadin/ui/CustomLayout.java
index 47d1a970ac..dc473fb549 100644
--- a/src/com/vaadin/ui/CustomLayout.java
+++ b/src/com/vaadin/ui/CustomLayout.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -36,7 +36,7 @@ import com.vaadin.terminal.gwt.client.ui.VCustomLayout;
* subcomponents just as in OrderedLayout.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @author Duy B. Vo (<a
* href="mailto:devduy@gmail.com?subject=Vaadin">devduy@gmail.com</a>)
* @version
diff --git a/src/com/vaadin/ui/DateField.java b/src/com/vaadin/ui/DateField.java
index 2daac4a613..9e72a671f1 100644
--- a/src/com/vaadin/ui/DateField.java
+++ b/src/com/vaadin/ui/DateField.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -41,7 +41,7 @@ import com.vaadin.terminal.gwt.client.ui.VPopupCalendar;
* enable buffering.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/ui/DefaultFieldFactory.java b/src/com/vaadin/ui/DefaultFieldFactory.java
index 3fd7f169ba..029174d3d1 100644
--- a/src/com/vaadin/ui/DefaultFieldFactory.java
+++ b/src/com/vaadin/ui/DefaultFieldFactory.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
diff --git a/src/com/vaadin/ui/DragAndDropWrapper.java b/src/com/vaadin/ui/DragAndDropWrapper.java
index 9e06382eac..c6522f15c7 100644
--- a/src/com/vaadin/ui/DragAndDropWrapper.java
+++ b/src/com/vaadin/ui/DragAndDropWrapper.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
diff --git a/src/com/vaadin/ui/Embedded.java b/src/com/vaadin/ui/Embedded.java
index 55991eafb2..dc14cc6ef8 100644
--- a/src/com/vaadin/ui/Embedded.java
+++ b/src/com/vaadin/ui/Embedded.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -19,7 +19,7 @@ import com.vaadin.terminal.gwt.client.ui.VEmbedded;
/**
* Component for embedding external objects.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/ui/ExpandLayout.java b/src/com/vaadin/ui/ExpandLayout.java
index a0d03fa3e5..55ee2ffdcf 100644
--- a/src/com/vaadin/ui/ExpandLayout.java
+++ b/src/com/vaadin/ui/ExpandLayout.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
diff --git a/src/com/vaadin/ui/Field.java b/src/com/vaadin/ui/Field.java
index b4fb6047a7..6cc11daf08 100644
--- a/src/com/vaadin/ui/Field.java
+++ b/src/com/vaadin/ui/Field.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -10,6 +10,7 @@ import com.vaadin.ui.Component.Focusable;
/**
* TODO document
+ * @author Vaadin Ltd.
*
* @param T
* the type of values in the field, which might not be the same type
@@ -63,7 +64,7 @@ public interface Field<T> extends Component, BufferedValidatable, Property<T>,
* An <code>Event</code> object specifying the Field whose value has been
* changed.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/ui/FieldFactory.java b/src/com/vaadin/ui/FieldFactory.java
index 4c32b827b6..a021870612 100644
--- a/src/com/vaadin/ui/FieldFactory.java
+++ b/src/com/vaadin/ui/FieldFactory.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -10,7 +10,7 @@ import com.vaadin.data.Property;
* Factory for creating new Field-instances based on type, datasource and/or
* context.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.1
@@ -43,4 +43,4 @@ public interface FieldFactory extends FormFieldFactory, TableFieldFactory {
*/
Field<?> createField(Property property, Component uiContext);
-} \ No newline at end of file
+}
diff --git a/src/com/vaadin/ui/Form.java b/src/com/vaadin/ui/Form.java
index 10a4427b9b..8cc21d5a82 100644
--- a/src/com/vaadin/ui/Form.java
+++ b/src/com/vaadin/ui/Form.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -54,7 +54,7 @@ import com.vaadin.terminal.gwt.client.ui.VForm;
* {@link com.vaadin.data.util.BeanItem}.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/ui/FormFieldFactory.java b/src/com/vaadin/ui/FormFieldFactory.java
index 99254d975f..1efa05c5f5 100644
--- a/src/com/vaadin/ui/FormFieldFactory.java
+++ b/src/com/vaadin/ui/FormFieldFactory.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -15,7 +15,7 @@ import com.vaadin.data.Item;
*
* <p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 6.0
diff --git a/src/com/vaadin/ui/FormLayout.java b/src/com/vaadin/ui/FormLayout.java
index 97b5b0c7fc..f61f5d544e 100644
--- a/src/com/vaadin/ui/FormLayout.java
+++ b/src/com/vaadin/ui/FormLayout.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
diff --git a/src/com/vaadin/ui/GridLayout.java b/src/com/vaadin/ui/GridLayout.java
index 83fd5f2a01..24a57d462b 100644
--- a/src/com/vaadin/ui/GridLayout.java
+++ b/src/com/vaadin/ui/GridLayout.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -35,7 +35,7 @@ import com.vaadin.terminal.gwt.client.ui.VGridLayout;
* with cursor automatically extends the grid by increasing the grid height.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -666,7 +666,7 @@ public class GridLayout extends AbstractLayout implements
* its upper left corner (column1,row1) and lower right corner
* (column2,row2).
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -852,7 +852,7 @@ public class GridLayout extends AbstractLayout implements
* <code>OverlapsException</code> is thrown when a component already exists
* (even partly) at the same space on a grid with the new component.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -910,7 +910,7 @@ public class GridLayout extends AbstractLayout implements
* An <code>Exception</code> object which is thrown when an area exceeds the
* bounds of the grid.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/ui/HorizontalLayout.java b/src/com/vaadin/ui/HorizontalLayout.java
index 7840d50027..ed1cad8184 100644
--- a/src/com/vaadin/ui/HorizontalLayout.java
+++ b/src/com/vaadin/ui/HorizontalLayout.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -12,7 +12,7 @@ import com.vaadin.ui.ClientWidget.LoadStyle;
* <code>HorizontalLayout</code> is a component container, which shows the
* subcomponents in the order of their addition (horizontally).
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 5.3
diff --git a/src/com/vaadin/ui/HorizontalSplitPanel.java b/src/com/vaadin/ui/HorizontalSplitPanel.java
index 381678dfed..d9368635df 100644
--- a/src/com/vaadin/ui/HorizontalSplitPanel.java
+++ b/src/com/vaadin/ui/HorizontalSplitPanel.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
diff --git a/src/com/vaadin/ui/Html5File.java b/src/com/vaadin/ui/Html5File.java
index 760855aca1..aa3fb558fa 100644
--- a/src/com/vaadin/ui/Html5File.java
+++ b/src/com/vaadin/ui/Html5File.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
diff --git a/src/com/vaadin/ui/InlineDateField.java b/src/com/vaadin/ui/InlineDateField.java
index d1066dc28a..0bf7924d34 100644
--- a/src/com/vaadin/ui/InlineDateField.java
+++ b/src/com/vaadin/ui/InlineDateField.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -17,7 +17,7 @@ import com.vaadin.terminal.gwt.client.ui.VDateFieldCalendar;
*
* @see DateField
* @see PopupDateField
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 5.0
diff --git a/src/com/vaadin/ui/Label.java b/src/com/vaadin/ui/Label.java
index 5397875e60..96aa332ab4 100644
--- a/src/com/vaadin/ui/Label.java
+++ b/src/com/vaadin/ui/Label.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -33,7 +33,7 @@ import com.vaadin.ui.ClientWidget.LoadStyle;
* the list recursively.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -413,7 +413,7 @@ public class Label extends AbstractComponent implements Property,
/**
* Value change event
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/ui/Layout.java b/src/com/vaadin/ui/Layout.java
index df4798b0c2..a7cd0abdb4 100644
--- a/src/com/vaadin/ui/Layout.java
+++ b/src/com/vaadin/ui/Layout.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -15,7 +15,7 @@ import com.vaadin.terminal.gwt.client.ui.VMarginInfo;
* various layout components to enable them to place other components in
* specific locations in the UI.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/ui/Link.java b/src/com/vaadin/ui/Link.java
index c9aed3294a..99d742ec17 100644
--- a/src/com/vaadin/ui/Link.java
+++ b/src/com/vaadin/ui/Link.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -12,7 +12,7 @@ import com.vaadin.terminal.gwt.client.ui.VLink;
/**
* Link is used to create external or internal URL links.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/ui/ListSelect.java b/src/com/vaadin/ui/ListSelect.java
index 9aabc7514a..5c879f00f5 100644
--- a/src/com/vaadin/ui/ListSelect.java
+++ b/src/com/vaadin/ui/ListSelect.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
diff --git a/src/com/vaadin/ui/LoginForm.java b/src/com/vaadin/ui/LoginForm.java
index 122f495b97..369bc45fe4 100644
--- a/src/com/vaadin/ui/LoginForm.java
+++ b/src/com/vaadin/ui/LoginForm.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -35,7 +35,6 @@ import com.vaadin.terminal.gwt.client.ApplicationConnection;
* Login page html can be overridden by replacing protected getLoginHTML method.
* As the login page is actually an iframe, styles must be handled manually. By
* default component tries to guess the right place for theme css.
- * <p>
*
* @since 5.3
*/
diff --git a/src/com/vaadin/ui/MenuBar.java b/src/com/vaadin/ui/MenuBar.java
index 4aae9b2621..3469f77ebb 100644
--- a/src/com/vaadin/ui/MenuBar.java
+++ b/src/com/vaadin/ui/MenuBar.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -511,7 +511,7 @@ public class MenuBar extends AbstractComponent {
* items in a menu, to make it easier for users to find what they are
* looking for in the menu.
*
- * @author Jouni Koivuviita / IT Mill Ltd.
+ * @author Jouni Koivuviita / Vaadin Ltd.
* @since 6.2.0
*/
public MenuBar.MenuItem addSeparator() {
diff --git a/src/com/vaadin/ui/NativeButton.java b/src/com/vaadin/ui/NativeButton.java
index 3a781c8ec2..46d13c4150 100644
--- a/src/com/vaadin/ui/NativeButton.java
+++ b/src/com/vaadin/ui/NativeButton.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -21,4 +21,4 @@ public class NativeButton extends Button {
super(caption, listener);
}
-} \ No newline at end of file
+}
diff --git a/src/com/vaadin/ui/NativeSelect.java b/src/com/vaadin/ui/NativeSelect.java
index a99373dae8..e701d212b4 100644
--- a/src/com/vaadin/ui/NativeSelect.java
+++ b/src/com/vaadin/ui/NativeSelect.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
diff --git a/src/com/vaadin/ui/OptionGroup.java b/src/com/vaadin/ui/OptionGroup.java
index 8daf6b6f99..884e58824a 100644
--- a/src/com/vaadin/ui/OptionGroup.java
+++ b/src/com/vaadin/ui/OptionGroup.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
diff --git a/src/com/vaadin/ui/OrderedLayout.java b/src/com/vaadin/ui/OrderedLayout.java
index 4718c839ba..474fc89867 100644
--- a/src/com/vaadin/ui/OrderedLayout.java
+++ b/src/com/vaadin/ui/OrderedLayout.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -14,7 +14,7 @@ import com.vaadin.ui.ClientWidget.LoadStyle;
* <code>OrderedLayout</code> is a component container, which shows the
* subcomponents in the order of their addition in specified orientation.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/ui/Panel.java b/src/com/vaadin/ui/Panel.java
index 999b45cfa3..a69413c28b 100644
--- a/src/com/vaadin/ui/Panel.java
+++ b/src/com/vaadin/ui/Panel.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -24,7 +24,7 @@ import com.vaadin.ui.themes.Runo;
/**
* Panel - a simple single component container.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/ui/PasswordField.java b/src/com/vaadin/ui/PasswordField.java
index 609108c62f..99874147d5 100644
--- a/src/com/vaadin/ui/PasswordField.java
+++ b/src/com/vaadin/ui/PasswordField.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
diff --git a/src/com/vaadin/ui/PopupDateField.java b/src/com/vaadin/ui/PopupDateField.java
index 7501c9fe15..d25608a4c4 100644
--- a/src/com/vaadin/ui/PopupDateField.java
+++ b/src/com/vaadin/ui/PopupDateField.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -18,7 +18,7 @@ import com.vaadin.terminal.PaintTarget;
*
* @see DateField
* @see InlineDateField
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 5.0
diff --git a/src/com/vaadin/ui/PopupView.java b/src/com/vaadin/ui/PopupView.java
index 4e1f387504..fcad727510 100644
--- a/src/com/vaadin/ui/PopupView.java
+++ b/src/com/vaadin/ui/PopupView.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -19,7 +19,7 @@ import com.vaadin.terminal.gwt.client.ui.VPopupView;
* view is displayed on a popup. The inner class {@link PopupView.Content} is
* used to deliver contents to this component.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
*/
@SuppressWarnings("serial")
@ClientWidget(VPopupView.class)
diff --git a/src/com/vaadin/ui/ProgressIndicator.java b/src/com/vaadin/ui/ProgressIndicator.java
index 7bf4bc56af..30555f9427 100644
--- a/src/com/vaadin/ui/ProgressIndicator.java
+++ b/src/com/vaadin/ui/ProgressIndicator.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -19,7 +19,7 @@ import com.vaadin.terminal.gwt.client.ui.VProgressIndicator;
*
* May view an other property that indicates progress 0...1
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 4
diff --git a/src/com/vaadin/ui/RichTextArea.java b/src/com/vaadin/ui/RichTextArea.java
index 545a0e0a21..1ef843b789 100644
--- a/src/com/vaadin/ui/RichTextArea.java
+++ b/src/com/vaadin/ui/RichTextArea.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
diff --git a/src/com/vaadin/ui/Select.java b/src/com/vaadin/ui/Select.java
index 439efdb864..0ea331dc40 100644
--- a/src/com/vaadin/ui/Select.java
+++ b/src/com/vaadin/ui/Select.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -38,7 +38,7 @@ import com.vaadin.terminal.gwt.client.ui.VFilterSelect;
* simultaneously.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/ui/Slider.java b/src/com/vaadin/ui/Slider.java
index ae10e91e22..35ced877bb 100644
--- a/src/com/vaadin/ui/Slider.java
+++ b/src/com/vaadin/ui/Slider.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -44,9 +44,8 @@ import com.vaadin.terminal.gwt.client.ui.VSlider;
*
* </code>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
*/
-@SuppressWarnings("serial")
@ClientWidget(VSlider.class)
public class Slider extends AbstractField<Number> {
@@ -110,7 +109,7 @@ public class Slider extends AbstractField<Number> {
private final boolean arrows = false;
/**
- * Default Slider constructor. Sets all values to defaults and the slide
+ * Default slider constructor. Sets all values to defaults and the slide
* handle at minimum value.
*
*/
@@ -120,11 +119,13 @@ public class Slider extends AbstractField<Number> {
}
/**
- * Create a new slider with the caption given as parameter. All slider
- * values set to defaults.
+ * Create a new slider with the caption given as parameter.
+ *
+ * The range of the slider is set to 0-100 and only integer values are
+ * allowed.
*
* @param caption
- * The caption for this Slider (e.g. "Volume").
+ * The caption for this slider (e.g. "Volume").
*/
public Slider(String caption) {
this();
@@ -132,11 +133,14 @@ public class Slider extends AbstractField<Number> {
}
/**
- * Create a new slider with given range and resolution
+ * Create a new slider with the given range and resolution.
*
* @param min
+ * The minimum value of the slider
* @param max
+ * The maximum value of the slider
* @param resolution
+ * The number of digits after the decimal point.
*/
public Slider(double min, double max, int resolution) {
this();
@@ -146,10 +150,12 @@ public class Slider extends AbstractField<Number> {
}
/**
- * Create a new slider with given range
+ * Create a new slider with the given range that only allows integer values.
*
* @param min
+ * The minimum value of the slider
* @param max
+ * The maximum value of the slider
*/
public Slider(int min, int max) {
this();
@@ -159,11 +165,15 @@ public class Slider extends AbstractField<Number> {
}
/**
- * Create a new slider with given caption and range
+ * Create a new slider with the given caption and range that only allows
+ * integer values.
*
* @param caption
+ * The caption for the slider
* @param min
+ * The minimum value of the slider
* @param max
+ * The maximum value of the slider
*/
public Slider(String caption, int min, int max) {
this(min, max);
@@ -171,20 +181,20 @@ public class Slider extends AbstractField<Number> {
}
/**
- * Gets the biggest possible value in Sliders range.
+ * Gets the maximum slider value
*
- * @return the biggest value slider can have
+ * @return the largest value the slider can have
*/
public double getMax() {
return max;
}
/**
- * Set the maximum value of the Slider. If the current value of the Slider
- * is out of new bounds, the value is set to new minimum.
+ * Set the maximum slider value. If the current value of the slider is
+ * larger than this, the value is set to the new maximum.
*
* @param max
- * New maximum value of the Slider.
+ * The new maximum slider value
*/
public void setMax(double max) {
this.max = max;
@@ -204,20 +214,20 @@ public class Slider extends AbstractField<Number> {
}
/**
- * Gets the minimum value in Sliders range.
+ * Gets the minimum slider value
*
- * @return the smalles value slider can have
+ * @return the smallest value the slider can have
*/
public double getMin() {
return min;
}
/**
- * Set the minimum value of the Slider. If the current value of the Slider
- * is out of new bounds, the value is set to new minimum.
+ * Set the minimum slider value. If the current value of the slider is
+ * smaller than this, the value is set to the new minimum.
*
- * @param min
- * New minimum value of the Slider.
+ * @param max
+ * The new minimum slider value
*/
public void setMin(double min) {
this.min = min;
@@ -237,18 +247,21 @@ public class Slider extends AbstractField<Number> {
}
/**
- * Get the current orientation of the Slider (horizontal or vertical).
+ * Get the current orientation of the slider (horizontal or vertical).
*
- * @return orientation
+ * @return {@link #ORIENTATION_HORIZONTAL} or
+ * {@link #ORIENTATION_HORIZONTAL}
*/
public int getOrientation() {
return orientation;
}
/**
- * Set the orientation of the Slider.
+ * Set the orientation of the slider.
*
- * @param int new orientation
+ * @param The
+ * new orientation, either {@link #ORIENTATION_HORIZONTAL} or
+ * {@link #ORIENTATION_VERTICAL}
*/
public void setOrientation(int orientation) {
this.orientation = orientation;
@@ -256,7 +269,8 @@ public class Slider extends AbstractField<Number> {
}
/**
- * Get the current resolution of the Slider.
+ * Get the current resolution of the slider. The resolution is the number of
+ * digits after the decimal point.
*
* @return resolution
*/
@@ -265,7 +279,8 @@ public class Slider extends AbstractField<Number> {
}
/**
- * Set a new resolution for the Slider.
+ * Set a new resolution for the slider. The resolution is the number of
+ * digits after the decimal point.
*
* @param resolution
*/
@@ -278,14 +293,15 @@ public class Slider extends AbstractField<Number> {
}
/**
- * Set the value of this Slider.
+ * Sets the value of the slider.
*
* @param value
- * New value of Slider. Must be within Sliders range (min - max),
- * otherwise throws an exception.
+ * The new value of the slider.
* @param repaintIsNotNeeded
* If true, client-side is not requested to repaint itself.
* @throws ValueOutOfBoundsException
+ * If the given value is not inside the range of the slider.
+ * @see #setMin(double) {@link #setMax(double)}
*/
public void setValue(Double value, boolean repaintIsNotNeeded)
throws ValueOutOfBoundsException {
@@ -308,31 +324,33 @@ public class Slider extends AbstractField<Number> {
}
/**
- * Set the value of this Slider.
+ * Sets the value of the slider.
*
* @param value
- * New value of Slider. Must be within Sliders range (min - max),
- * otherwise throws an exception.
+ * The new value of the slider.
* @throws ValueOutOfBoundsException
+ * If the given value is not inside the range of the slider.
+ * @see #setMin(double) {@link #setMax(double)}
*/
public void setValue(Double value) throws ValueOutOfBoundsException {
setValue(value, false);
}
/**
- * Set the value of this Slider.
+ * Sets the value of the slider.
*
* @param value
- * New value of Slider. Must be within Sliders range (min - max),
- * otherwise throws an exception.
+ * The new value of the slider.
* @throws ValueOutOfBoundsException
+ * If the given value is not inside the range of the slider.
+ * @see #setMin(double) {@link #setMax(double)}
*/
public void setValue(double value) throws ValueOutOfBoundsException {
setValue(new Double(value), false);
}
/**
- * Get the current Slider size.
+ * Get the current slider size.
*
* @return size in pixels or -1 for auto sizing.
* @deprecated use standard getWidth/getHeight instead
@@ -343,7 +361,7 @@ public class Slider extends AbstractField<Number> {
}
/**
- * Set the size for this Slider.
+ * Set the size for this slider.
*
* @param size
* in pixels, or -1 auto sizing.
@@ -364,7 +382,7 @@ public class Slider extends AbstractField<Number> {
}
/**
- * Get the handle size of this Slider.
+ * Get the handle size of this slider.
*
* @return handle size in percentages.
* @deprecated The size is dictated by the current theme.
@@ -375,7 +393,7 @@ public class Slider extends AbstractField<Number> {
}
/**
- * Set the handle size of this Slider.
+ * Set the handle size of this slider.
*
* @param handleSize
* in percentages relative to slider base size.
@@ -466,9 +484,10 @@ public class Slider extends AbstractField<Number> {
}
/**
- * ValueOutOfBoundsException
+ * Thrown when the value of the slider is about to be set to a value that is
+ * outside the valid range of the slider.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
*
*/
public class ValueOutOfBoundsException extends Exception {
@@ -485,6 +504,11 @@ public class Slider extends AbstractField<Number> {
value = valueOutOfBounds;
}
+ /**
+ * Gets the value that is outside the valid range of the slider.
+ *
+ * @return the value that is out of bounds
+ */
public Double getValue() {
return value;
}
diff --git a/src/com/vaadin/ui/SplitPanel.java b/src/com/vaadin/ui/SplitPanel.java
index 246a77c896..bae1bf7ce0 100644
--- a/src/com/vaadin/ui/SplitPanel.java
+++ b/src/com/vaadin/ui/SplitPanel.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -15,7 +15,7 @@ import com.vaadin.ui.ClientWidget.LoadStyle;
* <code>SplitPanel</code> is a component container, that can contain two
* components (possibly containers) which are split by divider element.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 5.0
diff --git a/src/com/vaadin/ui/TabSheet.java b/src/com/vaadin/ui/TabSheet.java
index a7db4cdbd3..a13c336943 100644
--- a/src/com/vaadin/ui/TabSheet.java
+++ b/src/com/vaadin/ui/TabSheet.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -48,7 +48,7 @@ import com.vaadin.ui.themes.Runo;
* The current implementation does not load the tabs to the UI before the first
* time they are shown, but this may change in future releases.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -774,7 +774,7 @@ public class TabSheet extends AbstractComponentContainer {
* Selected tab change event. This event is sent when the selected (shown)
* tab in the tab sheet is changed.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -806,7 +806,7 @@ public class TabSheet extends AbstractComponentContainer {
* another tab is selected, including when adding the first tab to a
* tabsheet.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
*
* @version
* @VERSION@
@@ -1165,7 +1165,7 @@ public class TabSheet extends AbstractComponentContainer {
* CloseHandler is used to process tab closing events. Default behavior is
* to remove the tab from the TabSheet.
*
- * @author Jouni Koivuviita / IT Mill Ltd.
+ * @author Jouni Koivuviita / Vaadin Ltd.
* @since 6.2.0
*
*/
diff --git a/src/com/vaadin/ui/Table.java b/src/com/vaadin/ui/Table.java
index 759a667259..574704d3bf 100644
--- a/src/com/vaadin/ui/Table.java
+++ b/src/com/vaadin/ui/Table.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -67,7 +67,7 @@ import com.vaadin.terminal.gwt.client.ui.dd.VLazyInitItemIdentifiers;
* Components in a Table will not have their caption nor icon rendered.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -2716,7 +2716,7 @@ public class Table extends AbstractSelect implements Action.Container,
rowCacheInvalidated = invalidated;
}
- private boolean isRowCacheInvalidated() {
+ protected boolean isRowCacheInvalidated() {
return rowCacheInvalidated;
}
@@ -3834,8 +3834,12 @@ public class Table extends AbstractSelect implements Action.Container,
final LinkedList<Object> visible = new LinkedList<Object>();
final Object[][] cells = getVisibleCells();
- for (int i = 0; i < cells[CELL_ITEMID].length; i++) {
- visible.add(cells[CELL_ITEMID][i]);
+ // may be null if the table has not been rendered yet (e.g. not attached
+ // to a layout)
+ if (null != cells) {
+ for (int i = 0; i < cells[CELL_ITEMID].length; i++) {
+ visible.add(cells[CELL_ITEMID][i]);
+ }
}
return visible;
@@ -4027,6 +4031,9 @@ public class Table extends AbstractSelect implements Action.Container,
*/
public void setTableFieldFactory(TableFieldFactory fieldFactory) {
this.fieldFactory = fieldFactory;
+
+ // Assure visual refresh
+ refreshRowCache();
}
/**
diff --git a/src/com/vaadin/ui/TableFieldFactory.java b/src/com/vaadin/ui/TableFieldFactory.java
index 56539ef004..6c9a641aa8 100644
--- a/src/com/vaadin/ui/TableFieldFactory.java
+++ b/src/com/vaadin/ui/TableFieldFactory.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -16,7 +16,7 @@ import com.vaadin.data.Container;
*
* <p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 6.0
diff --git a/src/com/vaadin/ui/TextArea.java b/src/com/vaadin/ui/TextArea.java
index 5d1136d2c6..e1e5aeabd4 100644
--- a/src/com/vaadin/ui/TextArea.java
+++ b/src/com/vaadin/ui/TextArea.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
diff --git a/src/com/vaadin/ui/TextField.java b/src/com/vaadin/ui/TextField.java
index 5702c47770..0d719efd12 100644
--- a/src/com/vaadin/ui/TextField.java
+++ b/src/com/vaadin/ui/TextField.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -25,7 +25,7 @@ import com.vaadin.ui.ClientWidget.LoadStyle;
* to enable buffering.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/ui/Tree.java b/src/com/vaadin/ui/Tree.java
index ede37f2c60..554afda97c 100644
--- a/src/com/vaadin/ui/Tree.java
+++ b/src/com/vaadin/ui/Tree.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -54,7 +54,7 @@ import com.vaadin.tools.ReflectTools;
* Tree component. A Tree can be used to select an item (or multiple items) from
* a hierarchical set of items.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -834,7 +834,7 @@ public class Tree extends AbstractSelect implements Container.Hierarchical,
* is to be expanded. it can me used to dynamically fill the sub-nodes of
* the node.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -868,7 +868,7 @@ public class Tree extends AbstractSelect implements Container.Hierarchical,
/**
* Expand event listener.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -923,7 +923,7 @@ public class Tree extends AbstractSelect implements Container.Hierarchical,
/**
* Collapse event
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -957,7 +957,7 @@ public class Tree extends AbstractSelect implements Container.Hierarchical,
/**
* Collapse event listener.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/ui/TreeTable.java b/src/com/vaadin/ui/TreeTable.java
index fb12ffe323..43bc7a80fe 100644
--- a/src/com/vaadin/ui/TreeTable.java
+++ b/src/com/vaadin/ui/TreeTable.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -385,7 +385,7 @@ public class TreeTable extends Table implements Hierarchical {
String object = (String) variables.get("toggleCollapsed");
Object itemId = itemIdMapper.get(object);
toggledItemId = itemId;
- toggleChildVisibility(itemId);
+ toggleChildVisibility(itemId, false);
if (variables.containsKey("selectCollapsed")) {
// ensure collapsed is selected unless opened with selection
// head
@@ -470,7 +470,8 @@ public class TreeTable extends Table implements Hierarchical {
@Override
protected boolean isPartialRowUpdate() {
- return toggledItemId != null && containerSupportsPartialUpdates;
+ return toggledItemId != null && containerSupportsPartialUpdates
+ && !isRowCacheInvalidated();
}
@Override
@@ -516,7 +517,7 @@ public class TreeTable extends Table implements Hierarchical {
return !getContainerStrategy().isNodeOpen(toggledItemId);
}
- private void toggleChildVisibility(Object itemId) {
+ private void toggleChildVisibility(Object itemId, boolean forceFullRefresh) {
getContainerStrategy().toggleChildVisibility(itemId);
// ensure that page still has first item in page, DON'T clear the
// caches.
@@ -528,7 +529,7 @@ public class TreeTable extends Table implements Hierarchical {
fireExpandEvent(itemId);
}
- if (containerSupportsPartialUpdates) {
+ if (containerSupportsPartialUpdates && !forceFullRefresh) {
requestRepaint();
} else {
// For containers that do not send item set change events, always do
@@ -646,8 +647,8 @@ public class TreeTable extends Table implements Hierarchical {
}
/**
- * Sets the Item specified by given identifier collapsed or expanded. If the
- * Item is collapsed, its children is not displayed in for the user.
+ * Sets the Item specified by given identifier as collapsed or expanded. If
+ * the Item is collapsed, its children are not displayed to the user.
*
* @param itemId
* the identifier of the Item
@@ -656,7 +657,18 @@ public class TreeTable extends Table implements Hierarchical {
*/
public void setCollapsed(Object itemId, boolean collapsed) {
if (isCollapsed(itemId) != collapsed) {
- toggleChildVisibility(itemId);
+ if (null == toggledItemId && !isRowCacheInvalidated()
+ && getVisibleItemIds().contains(itemId)) {
+ // optimization: partial refresh if only one item is
+ // collapsed/expanded
+ toggledItemId = itemId;
+ toggleChildVisibility(itemId, false);
+ } else {
+ // make sure a full refresh takes place - otherwise neither
+ // partial nor full repaint of table content is performed
+ toggledItemId = null;
+ toggleChildVisibility(itemId, true);
+ }
}
}
diff --git a/src/com/vaadin/ui/TwinColSelect.java b/src/com/vaadin/ui/TwinColSelect.java
index 848aae7244..1c1fe07a5c 100644
--- a/src/com/vaadin/ui/TwinColSelect.java
+++ b/src/com/vaadin/ui/TwinColSelect.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
diff --git a/src/com/vaadin/ui/Upload.java b/src/com/vaadin/ui/Upload.java
index 0a8227699a..9d684291a5 100644
--- a/src/com/vaadin/ui/Upload.java
+++ b/src/com/vaadin/ui/Upload.java
@@ -1,5 +1,5 @@
/*
- * @ITMillApache2LicenseForJavaFiles@
+ * @VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -55,7 +55,7 @@ import com.vaadin.ui.ClientWidget.LoadStyle;
* element, setting size for Upload component is not supported. For some
* browsers setting size may work to some extend.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -182,7 +182,7 @@ public class Upload extends AbstractComponent implements Component.Focusable {
* Interface that must be implemented by the upload receivers to provide the
* Upload component an output stream to write the uploaded data.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -237,7 +237,7 @@ public class Upload extends AbstractComponent implements Component.Focusable {
* distinguish between the two cases, use either SucceededEvent or
* FailedEvent, which are both subclasses of the FinishedEvent.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -320,7 +320,7 @@ public class Upload extends AbstractComponent implements Component.Focusable {
* Upload.FailedEvent event is sent when the upload is received, but the
* reception is interrupted for some reason.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -408,7 +408,7 @@ public class Upload extends AbstractComponent implements Component.Focusable {
* Upload.SucceededEvent event is sent when the upload is received
* successfully.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -432,7 +432,7 @@ public class Upload extends AbstractComponent implements Component.Focusable {
/**
* Upload.StartedEvent event is sent when the upload is started to received.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 5.0
@@ -500,7 +500,7 @@ public class Upload extends AbstractComponent implements Component.Focusable {
/**
* Receives the events when the upload starts.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 5.0
@@ -519,7 +519,7 @@ public class Upload extends AbstractComponent implements Component.Focusable {
/**
* Receives the events when the uploads are ready.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -538,7 +538,7 @@ public class Upload extends AbstractComponent implements Component.Focusable {
/**
* Receives events when the uploads are finished, but unsuccessful.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -557,7 +557,7 @@ public class Upload extends AbstractComponent implements Component.Focusable {
/**
* Receives events when the uploads are successfully finished.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
diff --git a/src/com/vaadin/ui/UriFragmentUtility.java b/src/com/vaadin/ui/UriFragmentUtility.java
new file mode 100644
index 0000000000..5eaffbde6f
--- /dev/null
+++ b/src/com/vaadin/ui/UriFragmentUtility.java
@@ -0,0 +1,153 @@
+/*
+@VaadinApache2LicenseForJavaFiles@
+ */
+package com.vaadin.ui;
+
+import java.io.Serializable;
+import java.lang.reflect.Method;
+import java.util.Map;
+
+import com.vaadin.terminal.PaintException;
+import com.vaadin.terminal.PaintTarget;
+import com.vaadin.terminal.gwt.client.ui.VUriFragmentUtility;
+import com.vaadin.ui.ClientWidget.LoadStyle;
+
+/**
+ * Experimental web browser dependent component for URI fragment (part after
+ * hash mark "#") reading and writing.
+ *
+ * Component can be used to workaround common ajax web applications pitfalls:
+ * bookmarking a program state and back button.
+ *
+ */
+@SuppressWarnings("serial")
+@ClientWidget(value = VUriFragmentUtility.class, loadStyle = LoadStyle.EAGER)
+public class UriFragmentUtility extends AbstractComponent {
+
+ /**
+ * Listener that listens changes in URI fragment.
+ */
+ public interface FragmentChangedListener extends Serializable {
+
+ public void fragmentChanged(FragmentChangedEvent source);
+
+ }
+
+ /**
+ * Event fired when uri fragment changes.
+ */
+ public class FragmentChangedEvent extends Component.Event {
+
+ /**
+ * Creates a new instance of UriFragmentReader change event.
+ *
+ * @param source
+ * the Source of the event.
+ */
+ public FragmentChangedEvent(Component source) {
+ super(source);
+ }
+
+ /**
+ * Gets the UriFragmentReader where the event occurred.
+ *
+ * @return the Source of the event.
+ */
+ public UriFragmentUtility getUriFragmentUtility() {
+ return (UriFragmentUtility) getSource();
+ }
+ }
+
+ private static final Method FRAGMENT_CHANGED_METHOD;
+
+ static {
+ try {
+ FRAGMENT_CHANGED_METHOD = FragmentChangedListener.class
+ .getDeclaredMethod("fragmentChanged",
+ new Class[] { FragmentChangedEvent.class });
+ } catch (final java.lang.NoSuchMethodException e) {
+ // This should never happen
+ throw new java.lang.RuntimeException(
+ "Internal error finding methods in FragmentChangedListener");
+ }
+ }
+
+ public void addListener(FragmentChangedListener listener) {
+ addListener(FragmentChangedEvent.class, listener,
+ FRAGMENT_CHANGED_METHOD);
+ }
+
+ public void removeListener(FragmentChangedListener listener) {
+ removeListener(FragmentChangedEvent.class, listener,
+ FRAGMENT_CHANGED_METHOD);
+ }
+
+ private String fragment;
+
+ public UriFragmentUtility() {
+ // immediate by default
+ setImmediate(true);
+ }
+
+ @Override
+ public void paintContent(PaintTarget target) throws PaintException {
+ super.paintContent(target);
+ target.addVariable(this, "fragment", fragment);
+ }
+
+ @Override
+ public void changeVariables(Object source, Map<String, Object> variables) {
+ super.changeVariables(source, variables);
+ fragment = (String) variables.get("fragment");
+ fireEvent(new FragmentChangedEvent(this));
+ }
+
+ /**
+ * Gets currently set URI fragment.
+ * <p>
+ * To listen changes in fragment, hook a {@link FragmentChangedListener}.
+ * <p>
+ * Note that initial URI fragment that user used to enter the application
+ * will be read after application init. It fires FragmentChangedEvent only
+ * if it is not the same as on server side.
+ *
+ * @return the current fragment in browser uri or null if not known
+ */
+ public String getFragment() {
+ return fragment;
+ }
+
+ /**
+ * Sets URI fragment. Optionally fires a {@link FragmentChangedEvent}
+ *
+ * @param newFragment
+ * id of the new fragment
+ * @param fireEvent
+ * true to fire event
+ * @see FragmentChangedEvent
+ * @see FragmentChangedListener
+ */
+ public void setFragment(String newFragment, boolean fireEvent) {
+ if ((newFragment == null && fragment != null)
+ || (newFragment != null && !newFragment.equals(fragment))) {
+ fragment = newFragment;
+ if (fireEvent) {
+ fireEvent(new FragmentChangedEvent(this));
+ }
+ requestRepaint();
+ }
+ }
+
+ /**
+ * Sets URI fragment. This method fires a {@link FragmentChangedEvent}
+ *
+ * @param newFragment
+ * id of the new fragment
+ * @see FragmentChangedEvent
+ * @see FragmentChangedListener
+ */
+ public void setFragment(String newFragment) {
+ setFragment(newFragment, true);
+ }
+
+}
diff --git a/src/com/vaadin/ui/VerticalLayout.java b/src/com/vaadin/ui/VerticalLayout.java
index 40ea05b697..c40aeaea30 100644
--- a/src/com/vaadin/ui/VerticalLayout.java
+++ b/src/com/vaadin/ui/VerticalLayout.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -13,7 +13,7 @@ import com.vaadin.ui.ClientWidget.LoadStyle;
* subcomponents in the order of their addition (vertically). A vertical layout
* is by default 100% wide.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 5.3
diff --git a/src/com/vaadin/ui/VerticalSplitPanel.java b/src/com/vaadin/ui/VerticalSplitPanel.java
index bb4edc4c2c..699bd9287c 100644
--- a/src/com/vaadin/ui/VerticalSplitPanel.java
+++ b/src/com/vaadin/ui/VerticalSplitPanel.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
diff --git a/src/com/vaadin/ui/Video.java b/src/com/vaadin/ui/Video.java
index 26d79a438f..ed6588f96a 100644
--- a/src/com/vaadin/ui/Video.java
+++ b/src/com/vaadin/ui/Video.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
diff --git a/src/com/vaadin/ui/Window.java b/src/com/vaadin/ui/Window.java
index 037bb64873..46e16eb986 100644
--- a/src/com/vaadin/ui/Window.java
+++ b/src/com/vaadin/ui/Window.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
@@ -65,7 +65,7 @@ import com.vaadin.terminal.gwt.client.ui.VWindow;
* Sub window is to be split into a separate component in Vaadin 7.
* </p>
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
@@ -436,8 +436,8 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier {
* user closes the window.
*
* <p>
- * Since Vaadin 6.5, removing windows using {@link #removeWindow(Window)}
- * does fire the CloseListener.
+ * Since Vaadin 6.5, removing a window using {@link #removeWindow(Window)}
+ * fires the CloseListener.
* </p>
*/
public interface CloseListener extends Serializable {
diff --git a/src/com/vaadin/ui/themes/BaseTheme.java b/src/com/vaadin/ui/themes/BaseTheme.java
index b501f8a05c..c652a8a675 100644
--- a/src/com/vaadin/ui/themes/BaseTheme.java
+++ b/src/com/vaadin/ui/themes/BaseTheme.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui.themes;
diff --git a/src/com/vaadin/ui/themes/ChameleonTheme.java b/src/com/vaadin/ui/themes/ChameleonTheme.java
index b750b668fc..bfb9686018 100644
--- a/src/com/vaadin/ui/themes/ChameleonTheme.java
+++ b/src/com/vaadin/ui/themes/ChameleonTheme.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui.themes;
diff --git a/src/com/vaadin/ui/themes/LiferayTheme.java b/src/com/vaadin/ui/themes/LiferayTheme.java
index 458a6af784..9b48306ac2 100644
--- a/src/com/vaadin/ui/themes/LiferayTheme.java
+++ b/src/com/vaadin/ui/themes/LiferayTheme.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui.themes;
diff --git a/src/com/vaadin/ui/themes/Reindeer.java b/src/com/vaadin/ui/themes/Reindeer.java
index b2d588d9bd..7aaae8faa2 100644
--- a/src/com/vaadin/ui/themes/Reindeer.java
+++ b/src/com/vaadin/ui/themes/Reindeer.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui.themes;
diff --git a/src/com/vaadin/ui/themes/Runo.java b/src/com/vaadin/ui/themes/Runo.java
index bc36dbc1cf..28a19e8dcd 100644
--- a/src/com/vaadin/ui/themes/Runo.java
+++ b/src/com/vaadin/ui/themes/Runo.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui.themes;
diff --git a/src/com/vaadin/ui/treetable/Collapsible.java b/src/com/vaadin/ui/treetable/Collapsible.java
index e14192ccf5..bec0ba9ae9 100644
--- a/src/com/vaadin/ui/treetable/Collapsible.java
+++ b/src/com/vaadin/ui/treetable/Collapsible.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui.treetable;
diff --git a/src/com/vaadin/ui/treetable/HierarchicalContainerOrderedWrapper.java b/src/com/vaadin/ui/treetable/HierarchicalContainerOrderedWrapper.java
index 73bc8ee07c..f826c59bf7 100644
--- a/src/com/vaadin/ui/treetable/HierarchicalContainerOrderedWrapper.java
+++ b/src/com/vaadin/ui/treetable/HierarchicalContainerOrderedWrapper.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui.treetable;
diff --git a/src/com/vaadin/util/SerializerHelper.java b/src/com/vaadin/util/SerializerHelper.java
index a059ababc6..5b7b388dd6 100644
--- a/src/com/vaadin/util/SerializerHelper.java
+++ b/src/com/vaadin/util/SerializerHelper.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.util;
diff --git a/tests/server-side/com/vaadin/data/util/BeanContainerTest.java b/tests/server-side/com/vaadin/data/util/BeanContainerTest.java
index 5a753e19d0..d9fa8d896e 100644
--- a/tests/server-side/com/vaadin/data/util/BeanContainerTest.java
+++ b/tests/server-side/com/vaadin/data/util/BeanContainerTest.java
@@ -1,7 +1,9 @@
package com.vaadin.data.util;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedHashMap;
+import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
@@ -10,7 +12,6 @@ import junit.framework.Assert;
import com.vaadin.data.Container;
import com.vaadin.data.Item;
import com.vaadin.data.util.AbstractBeanContainer.BeanIdResolver;
-import com.vaadin.data.util.BeanContainer;
public class BeanContainerTest extends AbstractBeanContainerTest {
@@ -324,6 +325,37 @@ public class BeanContainerTest extends AbstractBeanContainerTest {
assertEquals(0, container.size());
}
+ public void testAddAllWithNullItemId() {
+ BeanContainer<String, Person> container = new BeanContainer<String, Person>(
+ Person.class);
+ // resolver that returns null as item id
+ container
+ .setBeanIdResolver(new BeanIdResolver<String, AbstractBeanContainerTest.Person>() {
+
+ public String getIdForBean(Person bean) {
+ return bean.getName();
+ }
+ });
+
+ List<Person> persons = new ArrayList<Person>();
+ persons.add(new Person("John"));
+ persons.add(new Person("Marc"));
+ persons.add(new Person(null));
+ persons.add(new Person("foo"));
+
+ try {
+ container.addAll(persons);
+ fail();
+ } catch (IllegalArgumentException e) {
+ // should get exception
+ }
+
+ container.removeAllItems();
+ persons.remove(2);
+ container.addAll(persons);
+ assertEquals(3, container.size());
+ }
+
public void testAddBeanWithNullResolver() {
BeanContainer<String, Person> container = new BeanContainer<String, Person>(
Person.class);
diff --git a/tests/server-side/com/vaadin/tests/server/LicenseInJavaFiles.java b/tests/server-side/com/vaadin/tests/server/LicenseInJavaFiles.java
index bb462a0f97..abde241451 100644
--- a/tests/server-side/com/vaadin/tests/server/LicenseInJavaFiles.java
+++ b/tests/server-side/com/vaadin/tests/server/LicenseInJavaFiles.java
@@ -49,7 +49,7 @@ public class LicenseInJavaFiles extends TestCase {
private void checkForLicenseInFile(File f, HashSet<String> missing)
throws IOException {
String contents = IOUtils.toString(new FileInputStream(f));
- if (!contents.contains("@" + "ITMillApache2LicenseForJavaFiles" + "@")) {
+ if (!contents.contains("@" + "VaadinApache2LicenseForJavaFiles" + "@")) {
missing.add(f.getPath());
}
diff --git a/tests/server-side/com/vaadin/tests/server/component/abstractorderedlayout/AddComponentsTest.java b/tests/server-side/com/vaadin/tests/server/component/abstractorderedlayout/AddComponentsTest.java
new file mode 100644
index 0000000000..ba5ea62181
--- /dev/null
+++ b/tests/server-side/com/vaadin/tests/server/component/abstractorderedlayout/AddComponentsTest.java
@@ -0,0 +1,115 @@
+package com.vaadin.tests.server.component.abstractorderedlayout;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.fail;
+
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+
+import org.junit.Test;
+
+import com.vaadin.ui.AbstractOrderedLayout;
+import com.vaadin.ui.Component;
+import com.vaadin.ui.HorizontalLayout;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.Layout;
+import com.vaadin.ui.VerticalLayout;
+
+public class AddComponentsTest {
+
+ Component[] children = new Component[] { new Label("A"), new Label("B"),
+ new Label("C"), new Label("D") };
+
+ @Test
+ public void moveComponentsBetweenLayouts() {
+ AbstractOrderedLayout layout1 = new HorizontalLayout();
+ AbstractOrderedLayout layout2 = new VerticalLayout();
+
+ layout1.addComponent(children[0]);
+ layout1.addComponent(children[1]);
+
+ layout2.addComponent(children[2]);
+ layout2.addComponent(children[3]);
+
+ layout2.addComponent(children[1], 1);
+ assertOrder(layout1, new int[] { 0 });
+ assertOrder(layout2, new int[] { 2, 1, 3 });
+
+ layout1.addComponent(children[3], 0);
+ assertOrder(layout1, new int[] { 3, 0 });
+ assertOrder(layout2, new int[] { 2, 1 });
+
+ layout2.addComponent(children[0]);
+ assertOrder(layout1, new int[] { 3 });
+ assertOrder(layout2, new int[] { 2, 1, 0 });
+
+ layout1.addComponentAsFirst(children[1]);
+ assertOrder(layout1, new int[] { 1, 3 });
+ assertOrder(layout2, new int[] { 2, 0 });
+ }
+
+ @Test
+ public void shuffleChildComponents() {
+ shuffleChildComponents(new HorizontalLayout());
+ shuffleChildComponents(new VerticalLayout());
+ }
+
+ private void shuffleChildComponents(AbstractOrderedLayout layout) {
+
+ for (int i = 0; i < children.length; ++i) {
+ layout.addComponent(children[i], i);
+ }
+
+ assertOrder(layout, new int[] { 0, 1, 2, 3 });
+
+ // Move C from #2 to #1
+ // Exhibits defect #7668
+ layout.addComponent(children[2], 1);
+ assertOrder(layout, new int[] { 0, 2, 1, 3 });
+
+ // Move C from #1 to #4 (which becomes #3 when #1 is erased)
+ layout.addComponent(children[2], 4);
+ assertOrder(layout, new int[] { 0, 1, 3, 2 });
+
+ // Keep everything in place
+ layout.addComponent(children[1], 1);
+ assertOrder(layout, new int[] { 0, 1, 3, 2 });
+
+ // Move D from #2 to #0
+ layout.addComponent(children[3], 0);
+ assertOrder(layout, new int[] { 3, 0, 1, 2 });
+
+ // Move A from #1 to end (#4 which becomes #3)
+ layout.addComponent(children[0]);
+ assertOrder(layout, new int[] { 3, 1, 2, 0 });
+
+ // Keep everything in place
+ layout.addComponent(children[0]);
+ assertOrder(layout, new int[] { 3, 1, 2, 0 });
+
+ // Move C from #2 to #0
+ layout.addComponentAsFirst(children[2]);
+ assertOrder(layout, new int[] { 2, 3, 1, 0 });
+
+ // Keep everything in place
+ layout.addComponentAsFirst(children[2]);
+ assertOrder(layout, new int[] { 2, 3, 1, 0 });
+ }
+
+ /**
+ * Asserts that layout has the components in children in the order specified
+ * by indices.
+ */
+ private void assertOrder(Layout layout, int[] indices) {
+ Iterator<?> i = layout.getComponentIterator();
+ try {
+ for (int index : indices) {
+ assertSame(children[index], i.next());
+ }
+ assertFalse("Too many components in layout", i.hasNext());
+ } catch (NoSuchElementException e) {
+ fail("Too few components in layout");
+ }
+ }
+}
diff --git a/tests/server-side/com/vaadin/tests/server/component/csslayout/AddComponentsTest.java b/tests/server-side/com/vaadin/tests/server/component/csslayout/AddComponentsTest.java
new file mode 100644
index 0000000000..29657830e8
--- /dev/null
+++ b/tests/server-side/com/vaadin/tests/server/component/csslayout/AddComponentsTest.java
@@ -0,0 +1,109 @@
+package com.vaadin.tests.server.component.csslayout;
+
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.fail;
+
+import com.vaadin.ui.Component;
+import com.vaadin.ui.CssLayout;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.Layout;
+
+public class AddComponentsTest {
+
+ private Component[] children = new Component[] { new Label("A"),
+ new Label("B"), new Label("C"), new Label("D") };
+
+ @Test
+ public void moveComponentsBetweenLayouts() {
+ CssLayout layout1 = new CssLayout();
+ CssLayout layout2 = new CssLayout();
+
+ layout1.addComponent(children[0]);
+ layout1.addComponent(children[1]);
+
+ layout2.addComponent(children[2]);
+ layout2.addComponent(children[3]);
+
+ layout2.addComponent(children[1], 1);
+ assertOrder(layout1, new int[] { 0 });
+ assertOrder(layout2, new int[] { 2, 1, 3 });
+
+ layout1.addComponent(children[3], 0);
+ assertOrder(layout1, new int[] { 3, 0 });
+ assertOrder(layout2, new int[] { 2, 1 });
+
+ layout2.addComponent(children[0]);
+ assertOrder(layout1, new int[] { 3 });
+ assertOrder(layout2, new int[] { 2, 1, 0 });
+
+ layout1.addComponentAsFirst(children[1]);
+ assertOrder(layout1, new int[] { 1, 3 });
+ assertOrder(layout2, new int[] { 2, 0 });
+ }
+
+ @Test
+ public void shuffleChildComponents() {
+ CssLayout layout = new CssLayout();
+
+ for (int i = 0; i < children.length; ++i) {
+ layout.addComponent(children[i], i);
+ }
+
+ assertOrder(layout, new int[] { 0, 1, 2, 3 });
+
+ // Move C from #2 to #1
+ // Exhibits defect #7668
+ layout.addComponent(children[2], 1);
+ assertOrder(layout, new int[] { 0, 2, 1, 3 });
+
+ // Move C from #1 to #4 (which becomes #3 when #1 is erased)
+ layout.addComponent(children[2], 4);
+ assertOrder(layout, new int[] { 0, 1, 3, 2 });
+
+ // Keep everything in place
+ layout.addComponent(children[1], 1);
+ assertOrder(layout, new int[] { 0, 1, 3, 2 });
+
+ // Move D from #2 to #0
+ layout.addComponent(children[3], 0);
+ assertOrder(layout, new int[] { 3, 0, 1, 2 });
+
+ // Move A from #1 to end (#4 which becomes #3)
+ layout.addComponent(children[0]);
+ assertOrder(layout, new int[] { 3, 1, 2, 0 });
+
+ // Keep everything in place
+ layout.addComponent(children[0]);
+ assertOrder(layout, new int[] { 3, 1, 2, 0 });
+
+ // Move C from #2 to #0
+ layout.addComponentAsFirst(children[2]);
+ assertOrder(layout, new int[] { 2, 3, 1, 0 });
+
+ // Keep everything in place
+ layout.addComponentAsFirst(children[2]);
+ assertOrder(layout, new int[] { 2, 3, 1, 0 });
+ }
+
+ /**
+ * Asserts that layout has the components in children in the order specified
+ * by indices.
+ */
+ private void assertOrder(Layout layout, int[] indices) {
+ Iterator<?> i = layout.getComponentIterator();
+ try {
+ for (int index : indices) {
+ assertSame(children[index], i.next());
+ }
+ assertFalse("Too many components in layout", i.hasNext());
+ } catch (NoSuchElementException e) {
+ fail("Too few components in layout");
+ }
+ }
+}
diff --git a/src/com/vaadin/launcher/DemoLauncher.java b/tests/testbench/com/vaadin/launcher/DemoLauncher.java
index f18cdf636f..2b2f73abd6 100644
--- a/src/com/vaadin/launcher/DemoLauncher.java
+++ b/tests/testbench/com/vaadin/launcher/DemoLauncher.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.launcher;
diff --git a/src/com/vaadin/launcher/DevelopmentServerLauncher.java b/tests/testbench/com/vaadin/launcher/DevelopmentServerLauncher.java
index 8a4b356ae7..2146d8472b 100644
--- a/src/com/vaadin/launcher/DevelopmentServerLauncher.java
+++ b/tests/testbench/com/vaadin/launcher/DevelopmentServerLauncher.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.launcher;
diff --git a/src/com/vaadin/launcher/jetty-webdefault.xml b/tests/testbench/com/vaadin/launcher/jetty-webdefault.xml
index 5a2465af5a..5a2465af5a 100644
--- a/src/com/vaadin/launcher/jetty-webdefault.xml
+++ b/tests/testbench/com/vaadin/launcher/jetty-webdefault.xml
diff --git a/src/com/vaadin/launcher/keystore b/tests/testbench/com/vaadin/launcher/keystore
index 1314185e2a..1314185e2a 100644
--- a/src/com/vaadin/launcher/keystore
+++ b/tests/testbench/com/vaadin/launcher/keystore
Binary files differ
diff --git a/tests/testbench/com/vaadin/tests/CustomLayoutDemo.java b/tests/testbench/com/vaadin/tests/CustomLayoutDemo.java
index 2830102626..af06e1cfb8 100644
--- a/tests/testbench/com/vaadin/tests/CustomLayoutDemo.java
+++ b/tests/testbench/com/vaadin/tests/CustomLayoutDemo.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
@@ -26,7 +26,7 @@ import com.vaadin.ui.Tree;
* contents are changed when menu items are clicked. Contents are HTML pages
* located at themes/example/layout directory.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @since 4.0.0
*
*/
diff --git a/tests/testbench/com/vaadin/tests/LayoutDemo.java b/tests/testbench/com/vaadin/tests/LayoutDemo.java
index 8f916bf23e..0f1395dcbb 100644
--- a/tests/testbench/com/vaadin/tests/LayoutDemo.java
+++ b/tests/testbench/com/vaadin/tests/LayoutDemo.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
@@ -20,7 +20,7 @@ import com.vaadin.ui.VerticalLayout;
* This example demonstrates layouts. Layouts are populated with sample Vaadin
* UI components.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @since 4.0.0
*
*/
diff --git a/tests/testbench/com/vaadin/tests/ModalWindow.java b/tests/testbench/com/vaadin/tests/ModalWindow.java
index 6bb80f80a2..ba3a4b32a4 100644
--- a/tests/testbench/com/vaadin/tests/ModalWindow.java
+++ b/tests/testbench/com/vaadin/tests/ModalWindow.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
@@ -16,7 +16,7 @@ import com.vaadin.ui.Window;
* Simple program that demonstrates "modal windows" that block all access other
* windows.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
* @since 4.0.1
* @see com.vaadin.Application
* @see com.vaadin.ui.Window
diff --git a/tests/testbench/com/vaadin/tests/NativeWindowing.java b/tests/testbench/com/vaadin/tests/NativeWindowing.java
index f1cd1e044b..2ce18f1d22 100644
--- a/tests/testbench/com/vaadin/tests/NativeWindowing.java
+++ b/tests/testbench/com/vaadin/tests/NativeWindowing.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/OrderedLayoutSwapComponents.java b/tests/testbench/com/vaadin/tests/OrderedLayoutSwapComponents.java
index 34ec439010..93e6290ee4 100644
--- a/tests/testbench/com/vaadin/tests/OrderedLayoutSwapComponents.java
+++ b/tests/testbench/com/vaadin/tests/OrderedLayoutSwapComponents.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
@@ -19,7 +19,7 @@ import com.vaadin.ui.VerticalLayout;
* This Component contains some simple test to see that component updates its
* contents propertly.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
*/
public class OrderedLayoutSwapComponents extends CustomComponent {
diff --git a/tests/testbench/com/vaadin/tests/Parameters.java b/tests/testbench/com/vaadin/tests/Parameters.java
index e836635568..3caae1ff14 100644
--- a/tests/testbench/com/vaadin/tests/Parameters.java
+++ b/tests/testbench/com/vaadin/tests/Parameters.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/PerformanceTestBasicComponentRendering.java b/tests/testbench/com/vaadin/tests/PerformanceTestBasicComponentRendering.java
index 7258df1879..00f98657b8 100644
--- a/tests/testbench/com/vaadin/tests/PerformanceTestBasicComponentRendering.java
+++ b/tests/testbench/com/vaadin/tests/PerformanceTestBasicComponentRendering.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/PerformanceTestLabelsAndOrderedLayouts.java b/tests/testbench/com/vaadin/tests/PerformanceTestLabelsAndOrderedLayouts.java
index ff2ed51c57..9e4aac05d4 100644
--- a/tests/testbench/com/vaadin/tests/PerformanceTestLabelsAndOrderedLayouts.java
+++ b/tests/testbench/com/vaadin/tests/PerformanceTestLabelsAndOrderedLayouts.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/PerformanceTestSubTreeCaching.java b/tests/testbench/com/vaadin/tests/PerformanceTestSubTreeCaching.java
index fb129afd76..994e419384 100644
--- a/tests/testbench/com/vaadin/tests/PerformanceTestSubTreeCaching.java
+++ b/tests/testbench/com/vaadin/tests/PerformanceTestSubTreeCaching.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/RandomLayoutStress.java b/tests/testbench/com/vaadin/tests/RandomLayoutStress.java
index d7c92cf49e..41aceed403 100644
--- a/tests/testbench/com/vaadin/tests/RandomLayoutStress.java
+++ b/tests/testbench/com/vaadin/tests/RandomLayoutStress.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
@@ -27,7 +27,7 @@ import com.vaadin.ui.VerticalLayout;
* This example demonstrates layouts. Layouts are populated with sample Vaadin
* UI components.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
*
*/
public class RandomLayoutStress extends
diff --git a/tests/testbench/com/vaadin/tests/StressComponentsInTable.java b/tests/testbench/com/vaadin/tests/StressComponentsInTable.java
index 75b4916b37..02662cdcbb 100644
--- a/tests/testbench/com/vaadin/tests/StressComponentsInTable.java
+++ b/tests/testbench/com/vaadin/tests/StressComponentsInTable.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/TableChangingDatasource.java b/tests/testbench/com/vaadin/tests/TableChangingDatasource.java
index 2b9639b32d..983355a6e6 100644
--- a/tests/testbench/com/vaadin/tests/TableChangingDatasource.java
+++ b/tests/testbench/com/vaadin/tests/TableChangingDatasource.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/TableSelectTest.java b/tests/testbench/com/vaadin/tests/TableSelectTest.java
index d5196d2a2a..6430d7bc1c 100644
--- a/tests/testbench/com/vaadin/tests/TableSelectTest.java
+++ b/tests/testbench/com/vaadin/tests/TableSelectTest.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/TestBench.java b/tests/testbench/com/vaadin/tests/TestBench.java
index 115ff47a57..9755495be5 100644
--- a/tests/testbench/com/vaadin/tests/TestBench.java
+++ b/tests/testbench/com/vaadin/tests/TestBench.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
@@ -35,7 +35,7 @@ import com.vaadin.ui.VerticalLayout;
*
* Note: edit TestBench.testablePackages array
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
*
*/
public class TestBench extends com.vaadin.Application.LegacyApplication
diff --git a/tests/testbench/com/vaadin/tests/TestCaptionWrapper.java b/tests/testbench/com/vaadin/tests/TestCaptionWrapper.java
index f63c148892..b0ccca2480 100644
--- a/tests/testbench/com/vaadin/tests/TestCaptionWrapper.java
+++ b/tests/testbench/com/vaadin/tests/TestCaptionWrapper.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/TestDateField.java b/tests/testbench/com/vaadin/tests/TestDateField.java
index 287007bad6..2cd47ca568 100644
--- a/tests/testbench/com/vaadin/tests/TestDateField.java
+++ b/tests/testbench/com/vaadin/tests/TestDateField.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
@@ -16,7 +16,7 @@ import com.vaadin.ui.VerticalLayout;
/**
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
*/
public class TestDateField extends CustomComponent {
diff --git a/tests/testbench/com/vaadin/tests/TestForAlignments.java b/tests/testbench/com/vaadin/tests/TestForAlignments.java
index 4296744224..83175ecf72 100644
--- a/tests/testbench/com/vaadin/tests/TestForAlignments.java
+++ b/tests/testbench/com/vaadin/tests/TestForAlignments.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/TestForApplicationLayoutThatUsesWholeBrosersSpace.java b/tests/testbench/com/vaadin/tests/TestForApplicationLayoutThatUsesWholeBrosersSpace.java
index e0f956defc..c737bd6c64 100644
--- a/tests/testbench/com/vaadin/tests/TestForApplicationLayoutThatUsesWholeBrosersSpace.java
+++ b/tests/testbench/com/vaadin/tests/TestForApplicationLayoutThatUsesWholeBrosersSpace.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/TestForBasicApplicationLayout.java b/tests/testbench/com/vaadin/tests/TestForBasicApplicationLayout.java
index e4b7592398..dc6bcd71a3 100644
--- a/tests/testbench/com/vaadin/tests/TestForBasicApplicationLayout.java
+++ b/tests/testbench/com/vaadin/tests/TestForBasicApplicationLayout.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/TestForChildComponentRendering.java b/tests/testbench/com/vaadin/tests/TestForChildComponentRendering.java
index fd9833f688..eb18f70e2f 100644
--- a/tests/testbench/com/vaadin/tests/TestForChildComponentRendering.java
+++ b/tests/testbench/com/vaadin/tests/TestForChildComponentRendering.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
@@ -22,7 +22,7 @@ import com.vaadin.ui.VerticalLayout;
* This Component contains some simple test to see that component updates its
* contents propertly.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
*/
public class TestForChildComponentRendering extends CustomComponent {
diff --git a/tests/testbench/com/vaadin/tests/TestForContainerFilterable.java b/tests/testbench/com/vaadin/tests/TestForContainerFilterable.java
index 9acccc8464..6a61674e9b 100644
--- a/tests/testbench/com/vaadin/tests/TestForContainerFilterable.java
+++ b/tests/testbench/com/vaadin/tests/TestForContainerFilterable.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/TestForGridLayoutChildComponentRendering.java b/tests/testbench/com/vaadin/tests/TestForGridLayoutChildComponentRendering.java
index a669a39217..6adcf49ec6 100644
--- a/tests/testbench/com/vaadin/tests/TestForGridLayoutChildComponentRendering.java
+++ b/tests/testbench/com/vaadin/tests/TestForGridLayoutChildComponentRendering.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
@@ -22,7 +22,7 @@ import com.vaadin.ui.Select;
* This Component contains some simple test to see that component updates its
* contents propertly.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
*/
public class TestForGridLayoutChildComponentRendering extends CustomComponent {
diff --git a/tests/testbench/com/vaadin/tests/TestForMultipleStyleNames.java b/tests/testbench/com/vaadin/tests/TestForMultipleStyleNames.java
index 7bad629913..e192d2738d 100644
--- a/tests/testbench/com/vaadin/tests/TestForMultipleStyleNames.java
+++ b/tests/testbench/com/vaadin/tests/TestForMultipleStyleNames.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
@@ -21,7 +21,7 @@ import com.vaadin.ui.VerticalLayout;
* order to see actual visible results on the browser. Currently changes are
* visible only by inspecting DOM.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
*/
public class TestForMultipleStyleNames extends CustomComponent implements
ValueChangeListener {
diff --git a/tests/testbench/com/vaadin/tests/TestForNativeWindowing.java b/tests/testbench/com/vaadin/tests/TestForNativeWindowing.java
index 53163afcb3..6e93144e7c 100644
--- a/tests/testbench/com/vaadin/tests/TestForNativeWindowing.java
+++ b/tests/testbench/com/vaadin/tests/TestForNativeWindowing.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/TestForPreconfiguredComponents.java b/tests/testbench/com/vaadin/tests/TestForPreconfiguredComponents.java
index 145882ac59..74fdb0c35f 100644
--- a/tests/testbench/com/vaadin/tests/TestForPreconfiguredComponents.java
+++ b/tests/testbench/com/vaadin/tests/TestForPreconfiguredComponents.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
@@ -23,7 +23,7 @@ import com.vaadin.ui.TwinColSelect;
import com.vaadin.ui.VerticalLayout;
/**
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
*/
public class TestForPreconfiguredComponents extends CustomComponent implements
Handler {
diff --git a/tests/testbench/com/vaadin/tests/TestForRichTextEditor.java b/tests/testbench/com/vaadin/tests/TestForRichTextEditor.java
index a838d2bf8e..95d8fea156 100644
--- a/tests/testbench/com/vaadin/tests/TestForRichTextEditor.java
+++ b/tests/testbench/com/vaadin/tests/TestForRichTextEditor.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
@@ -16,7 +16,7 @@ import com.vaadin.ui.VerticalLayout;
/**
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
*/
public class TestForRichTextEditor extends CustomComponent implements
ValueChangeListener {
diff --git a/tests/testbench/com/vaadin/tests/TestForStyledUpload.java b/tests/testbench/com/vaadin/tests/TestForStyledUpload.java
index ec7d207285..32a5226e5c 100644
--- a/tests/testbench/com/vaadin/tests/TestForStyledUpload.java
+++ b/tests/testbench/com/vaadin/tests/TestForStyledUpload.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/TestForTablesInitialColumnWidthLogicRendering.java b/tests/testbench/com/vaadin/tests/TestForTablesInitialColumnWidthLogicRendering.java
index 36440799d9..48c056ff58 100644
--- a/tests/testbench/com/vaadin/tests/TestForTablesInitialColumnWidthLogicRendering.java
+++ b/tests/testbench/com/vaadin/tests/TestForTablesInitialColumnWidthLogicRendering.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
@@ -21,7 +21,7 @@ import com.vaadin.ui.VerticalLayout;
* This Component contains some simple test to see that component updates its
* contents propertly.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
*/
public class TestForTablesInitialColumnWidthLogicRendering extends
CustomComponent {
diff --git a/tests/testbench/com/vaadin/tests/TestForTrees.java b/tests/testbench/com/vaadin/tests/TestForTrees.java
index bad5f4f37f..37030a25c2 100644
--- a/tests/testbench/com/vaadin/tests/TestForTrees.java
+++ b/tests/testbench/com/vaadin/tests/TestForTrees.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
@@ -21,7 +21,7 @@ import com.vaadin.ui.VerticalLayout;
/**
* Some test cases for trees. Events panel logs events that happen server side.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
*/
public class TestForTrees extends CustomComponent implements Handler {
diff --git a/tests/testbench/com/vaadin/tests/TestForUpload.java b/tests/testbench/com/vaadin/tests/TestForUpload.java
index c06a12d011..61b1a62b2e 100644
--- a/tests/testbench/com/vaadin/tests/TestForUpload.java
+++ b/tests/testbench/com/vaadin/tests/TestForUpload.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/TestForWindowOpen.java b/tests/testbench/com/vaadin/tests/TestForWindowOpen.java
index cb9086704e..c9dbf8dabe 100644
--- a/tests/testbench/com/vaadin/tests/TestForWindowOpen.java
+++ b/tests/testbench/com/vaadin/tests/TestForWindowOpen.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/TestForWindowing.java b/tests/testbench/com/vaadin/tests/TestForWindowing.java
index 69daf6eb86..f97ea33d61 100644
--- a/tests/testbench/com/vaadin/tests/TestForWindowing.java
+++ b/tests/testbench/com/vaadin/tests/TestForWindowing.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/TestIFrames.java b/tests/testbench/com/vaadin/tests/TestIFrames.java
index ea93398206..5bbe58ee62 100644
--- a/tests/testbench/com/vaadin/tests/TestIFrames.java
+++ b/tests/testbench/com/vaadin/tests/TestIFrames.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/TestSelectAndDatefieldInDeepLayouts.java b/tests/testbench/com/vaadin/tests/TestSelectAndDatefieldInDeepLayouts.java
index 5a72a34be9..b30cba7fc3 100644
--- a/tests/testbench/com/vaadin/tests/TestSelectAndDatefieldInDeepLayouts.java
+++ b/tests/testbench/com/vaadin/tests/TestSelectAndDatefieldInDeepLayouts.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/TestSetVisibleAndCaching.java b/tests/testbench/com/vaadin/tests/TestSetVisibleAndCaching.java
index e713d63962..814377b83b 100644
--- a/tests/testbench/com/vaadin/tests/TestSetVisibleAndCaching.java
+++ b/tests/testbench/com/vaadin/tests/TestSetVisibleAndCaching.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/TestSizeableIncomponents.java b/tests/testbench/com/vaadin/tests/TestSizeableIncomponents.java
index e7e2fe3373..68793e7863 100644
--- a/tests/testbench/com/vaadin/tests/TestSizeableIncomponents.java
+++ b/tests/testbench/com/vaadin/tests/TestSizeableIncomponents.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/TestSplitPanel.java b/tests/testbench/com/vaadin/tests/TestSplitPanel.java
index 37a6349567..b4b9a38e42 100644
--- a/tests/testbench/com/vaadin/tests/TestSplitPanel.java
+++ b/tests/testbench/com/vaadin/tests/TestSplitPanel.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/TreeFilesystem.java b/tests/testbench/com/vaadin/tests/TreeFilesystem.java
index 31aa78104a..e4fd7aaa7e 100644
--- a/tests/testbench/com/vaadin/tests/TreeFilesystem.java
+++ b/tests/testbench/com/vaadin/tests/TreeFilesystem.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/TreeFilesystemContainer.java b/tests/testbench/com/vaadin/tests/TreeFilesystemContainer.java
index c6cabb798c..2e5ca3c9a2 100644
--- a/tests/testbench/com/vaadin/tests/TreeFilesystemContainer.java
+++ b/tests/testbench/com/vaadin/tests/TreeFilesystemContainer.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/UpgradingSample.java b/tests/testbench/com/vaadin/tests/UpgradingSample.java
index ae577ab3bf..0be07cea27 100644
--- a/tests/testbench/com/vaadin/tests/UpgradingSample.java
+++ b/tests/testbench/com/vaadin/tests/UpgradingSample.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
@@ -33,7 +33,7 @@ import com.vaadin.ui.VerticalLayout;
* </p>
*
* @since 3.1.1
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
*/
public class UpgradingSample extends Application.LegacyApplication implements
Property.ValueChangeListener {
diff --git a/tests/testbench/com/vaadin/tests/UsingCustomNewItemHandlerInSelect.java b/tests/testbench/com/vaadin/tests/UsingCustomNewItemHandlerInSelect.java
index b54bd3d184..54a7d3d080 100644
--- a/tests/testbench/com/vaadin/tests/UsingCustomNewItemHandlerInSelect.java
+++ b/tests/testbench/com/vaadin/tests/UsingCustomNewItemHandlerInSelect.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/UsingObjectsInSelect.java b/tests/testbench/com/vaadin/tests/UsingObjectsInSelect.java
index 59e6879242..a7848f070f 100644
--- a/tests/testbench/com/vaadin/tests/UsingObjectsInSelect.java
+++ b/tests/testbench/com/vaadin/tests/UsingObjectsInSelect.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests;
diff --git a/tests/testbench/com/vaadin/tests/components/button/ButtonsInHorizontalLayout.html b/tests/testbench/com/vaadin/tests/components/button/ButtonsInHorizontalLayout.html
new file mode 100644
index 0000000000..cb3b5e66ee
--- /dev/null
+++ b/tests/testbench/com/vaadin/tests/components/button/ButtonsInHorizontalLayout.html
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="" />
+<title>New Test</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">New Test</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.button.ButtonsInHorizontalLayout?restartApplication&amp;theme=reindeer</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>reindeer</td>
+</tr>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.button.ButtonsInHorizontalLayout?restartApplication&amp;theme=runo</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>runo</td>
+</tr>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.button.ButtonsInHorizontalLayout?restartApplication&amp;theme=chameleon</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>chameleon</td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/tests/testbench/com/vaadin/tests/components/button/ButtonsInHorizontalLayout.java b/tests/testbench/com/vaadin/tests/components/button/ButtonsInHorizontalLayout.java
new file mode 100644
index 0000000000..83eff1bdea
--- /dev/null
+++ b/tests/testbench/com/vaadin/tests/components/button/ButtonsInHorizontalLayout.java
@@ -0,0 +1,37 @@
+package com.vaadin.tests.components.button;
+
+import com.vaadin.tests.components.AbstractTestCase;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.HorizontalLayout;
+import com.vaadin.ui.VerticalLayout;
+import com.vaadin.ui.Window;
+
+public class ButtonsInHorizontalLayout extends AbstractTestCase {
+
+ @Override
+ public void init() {
+ VerticalLayout content = new VerticalLayout();
+ content.setMargin(true);
+ HorizontalLayout layout = new HorizontalLayout();
+ layout.setSpacing(true);
+ layout.addComponent(new Button(
+ "Look at me in IE7 or IE8 in compatibility mode"));
+ layout.addComponent(new Button(
+ "Look at me in IE7 or IE8 in compatibility mode"));
+ layout.addComponent(new Button(
+ "Look at me in IE7 or IE8 in compatibility mode"));
+ content.addComponent(layout);
+ setMainWindow(new Window("", content));
+ }
+
+ @Override
+ protected String getDescription() {
+ return "Tests for rendering of buttons in a HorizontalLayout";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 7978;
+ }
+
+}
diff --git a/tests/testbench/com/vaadin/tests/components/datefield/CustomDateFormat.java b/tests/testbench/com/vaadin/tests/components/datefield/CustomDateFormat.java
index 8b4bca5fde..c2afb4cba3 100644
--- a/tests/testbench/com/vaadin/tests/components/datefield/CustomDateFormat.java
+++ b/tests/testbench/com/vaadin/tests/components/datefield/CustomDateFormat.java
@@ -1,7 +1,5 @@
package com.vaadin.tests.components.datefield;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Locale;
@@ -22,13 +20,8 @@ public class CustomDateFormat extends TestBase {
df.setLocale(locale);
df.setWidth("300px");
- DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG,
- DateFormat.LONG, locale);
-
- if (dateFormat instanceof SimpleDateFormat) {
- String pattern = ((SimpleDateFormat) dateFormat).toPattern();
- df.setDateFormat(pattern);
- }
+ String pattern = "d. MMMM'ta 'yyyy 'klo 'H.mm.ss";
+ df.setDateFormat(pattern);
df.setValue(cal.getTime());
diff --git a/tests/testbench/com/vaadin/tests/components/media/Media.java b/tests/testbench/com/vaadin/tests/components/media/Media.java
index 2df622c35f..84b6974293 100644
--- a/tests/testbench/com/vaadin/tests/components/media/Media.java
+++ b/tests/testbench/com/vaadin/tests/components/media/Media.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests.components.media;
diff --git a/tests/testbench/com/vaadin/tests/components/table/AddNonRenderedRow.java b/tests/testbench/com/vaadin/tests/components/table/AddNonRenderedRow.java
new file mode 100644
index 0000000000..5486d6248d
--- /dev/null
+++ b/tests/testbench/com/vaadin/tests/components/table/AddNonRenderedRow.java
@@ -0,0 +1,48 @@
+package com.vaadin.tests.components.table;
+
+import com.vaadin.tests.components.TestBase;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Button.ClickEvent;
+import com.vaadin.ui.Button.ClickListener;
+import com.vaadin.ui.Table;
+
+public class AddNonRenderedRow extends TestBase {
+ int index = 0;
+
+ private final Table table = new Table();
+
+ @Override
+ public void setup() {
+
+ table.setPageLength(5);
+ table.addContainerProperty("rowID", Integer.class, null);
+ for (int i = 0; i < 4; i++) {
+ addRow();
+ }
+
+ Button addrowButton = new Button("Add row");
+ addrowButton.addListener(new ClickListener() {
+ public void buttonClick(ClickEvent pEvent) {
+ addRow();
+ }
+ });
+
+ addComponent(table);
+ addComponent(addrowButton);
+ }
+
+ private void addRow() {
+ table.addItem(new Object[] { Integer.valueOf(++index) }, null);
+ // table.refreshRowCache();
+ }
+
+ @Override
+ protected String getDescription() {
+ return "Adding a row to the table should work even when the added rows are not visible.";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return Integer.valueOf(8077);
+ }
+} \ No newline at end of file
diff --git a/tests/testbench/com/vaadin/tests/components/table/EditableTableFocus.java b/tests/testbench/com/vaadin/tests/components/table/EditableTableFocus.java
new file mode 100644
index 0000000000..149e32579b
--- /dev/null
+++ b/tests/testbench/com/vaadin/tests/components/table/EditableTableFocus.java
@@ -0,0 +1,35 @@
+package com.vaadin.tests.components.table;
+
+import com.vaadin.tests.components.TestBase;
+import com.vaadin.ui.Table;
+
+public class EditableTableFocus extends TestBase {
+ @Override
+ public void setup() {
+ Table table = new Table();
+
+ table.addContainerProperty("TextField", String.class, null);
+ table.setColumnWidth("TextField", 150);
+ for (int i = 1; i < 100; i++) {
+ table.addItem(new String[] { "" }, new Integer(i));
+ }
+ table.setEditable(true);
+
+ addComponent(table);
+ }
+
+ @Override
+ protected String getDescription() {
+ return "<b>IE-Problem: TextFields in table lose their focus, no input possible</b><p>"
+ + "Try inputs in the table's textfields in the freshly started programm. For the moment all works fine.<p>"
+ + "Then scroll the table down one page or more.<br>"
+ + "Try again to make some inputs. Nothing happens...<br>"
+ + "Now the textfields always lose their focus immediately after they got it and no input is taken.<p>"
+ + "<b>This problem is exclusive to Microsoft's Internet Explorer!</b>";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 7965;
+ }
+} \ No newline at end of file
diff --git a/tests/testbench/com/vaadin/tests/components/table/OddEvenRowStyling.java b/tests/testbench/com/vaadin/tests/components/table/OddEvenRowStyling.java
index 578672ec83..510abc5600 100644
--- a/tests/testbench/com/vaadin/tests/components/table/OddEvenRowStyling.java
+++ b/tests/testbench/com/vaadin/tests/components/table/OddEvenRowStyling.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests.components.table;
diff --git a/tests/testbench/com/vaadin/tests/components/table/ProgrammaticUnselectInRange.html b/tests/testbench/com/vaadin/tests/components/table/ProgrammaticUnselectInRange.html
new file mode 100644
index 0000000000..8d185b6219
--- /dev/null
+++ b/tests/testbench/com/vaadin/tests/components/table/ProgrammaticUnselectInRange.html
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="" />
+<title>New Test</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">New Test</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.table.ProgrammaticUnselectInRange?restartApplication</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableProgrammaticUnselectInRange::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>23,5</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableProgrammaticUnselectInRange::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]/domChild[0]/domChild[0]</td>
+ <td>24,3:shift</td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>vaadin=runcomvaadintestscomponentstableProgrammaticUnselectInRange::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VLabel[0]</td>
+ <td>Item 2 is selected</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstableProgrammaticUnselectInRange::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>vaadin=runcomvaadintestscomponentstableProgrammaticUnselectInRange::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VLabel[0]</td>
+ <td>Item 2 is not selected</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableProgrammaticUnselectInRange::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[4]/domChild[0]/domChild[0]</td>
+ <td>32,8:ctrl</td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>vaadin=runcomvaadintestscomponentstableProgrammaticUnselectInRange::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VLabel[0]</td>
+ <td>Item 2 is not selected</td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/tests/testbench/com/vaadin/tests/components/table/ProgrammaticUnselectInRange.java b/tests/testbench/com/vaadin/tests/components/table/ProgrammaticUnselectInRange.java
new file mode 100644
index 0000000000..758fa4bf1a
--- /dev/null
+++ b/tests/testbench/com/vaadin/tests/components/table/ProgrammaticUnselectInRange.java
@@ -0,0 +1,67 @@
+package com.vaadin.tests.components.table;
+
+import com.vaadin.data.Property;
+import com.vaadin.data.Property.ValueChangeEvent;
+import com.vaadin.tests.components.TestBase;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Button.ClickEvent;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.Table;
+
+public class ProgrammaticUnselectInRange extends TestBase {
+
+ private static final String PROPERTY = "property";
+
+ final Label selectionLabel = new Label();
+ final Table table = new Table();
+
+ @Override
+ protected void setup() {
+ table.addContainerProperty(PROPERTY, Integer.class, "");
+
+ table.setMultiSelect(true);
+ table.setSelectable(true);
+ table.setImmediate(true);
+ table.setPageLength(5);
+
+ for (int i = 0; i < 5; i++) {
+ Integer value = Integer.valueOf(i + 1);
+ table.addItem(new Object[] { value }, value);
+ }
+ table.addListener(new Property.ValueChangeListener() {
+ public void valueChange(ValueChangeEvent event) {
+ updateSelectionLabel();
+ }
+ });
+
+ addComponent(table);
+ addComponent(selectionLabel);
+ addComponent(new Button("Deselect item 2", new Button.ClickListener() {
+ public void buttonClick(ClickEvent event) {
+ table.unselect(Integer.valueOf(2));
+ }
+ }));
+
+ updateSelectionLabel();
+ }
+
+ private void updateSelectionLabel() {
+ if (table.isSelected(Integer.valueOf(2))) {
+ selectionLabel.setValue("Item 2 is selected");
+ } else {
+ selectionLabel.setValue("Item 2 is not selected");
+ }
+ }
+
+ @Override
+ protected String getDescription() {
+ return "Selecting items 1 - 3 using shift click, deselecting item 2 using the button and selecting item 5 using ctrl should keep item 2 deselected according to the server";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
diff --git a/tests/testbench/com/vaadin/tests/components/table/TableClickValueChangeInteraction.html b/tests/testbench/com/vaadin/tests/components/table/TableClickValueChangeInteraction.html
new file mode 100644
index 0000000000..83a02ec44b
--- /dev/null
+++ b/tests/testbench/com/vaadin/tests/components/table/TableClickValueChangeInteraction.html
@@ -0,0 +1,362 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="" />
+<title>TableClickValueChangeInteraction</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">TableClickValueChangeInteraction</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.table.TableClickValueChangeInteraction?restartApplication</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[0]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>38,11</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>35,14</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[2]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>24,11</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[3]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>39,11</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[4]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>37,14</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[5]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>51,16</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[6]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>19,10</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[7]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>43,14</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[8]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>36,7</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[9]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>27,14</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[10]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>13,7</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[11]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>43,8</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[12]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>27,9</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[13]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>53,16</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[14]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>40,9</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[15]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>45,10</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>ClickedItem0</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[0]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>39,7</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>37,6</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[2]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>33,11</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[3]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>17,9</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[4]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>49,14</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[5]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>53,9</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[6]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>21,12</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[7]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>32,13</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[8]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>45,11</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[9]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>22,10</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[10]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>28,8</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[11]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>15,8</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[12]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>35,5</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[13]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>26,8</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[14]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>55,13</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[15]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>22,7</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>ClickedItem1</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[0]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>41,12</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>28,9</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[2]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>16,8</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[3]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>38,12</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[4]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>47,6</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[5]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>30,7</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[6]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>16,8</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[7]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>68,8</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[8]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>36,10</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[9]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>48,8</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[10]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>27,12</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[11]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>19,14</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[12]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>22,10</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[13]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>39,13</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[14]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>35,15</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[15]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>19,15</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>ClickedItem1Again</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[0]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]/domChild[0]/domChild[0]</td>
+ <td>30,8</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]/domChild[0]/domChild[0]</td>
+ <td>20,13</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[2]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]/domChild[0]/domChild[0]</td>
+ <td>19,15</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[3]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]/domChild[0]/domChild[0]</td>
+ <td>43,15</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[4]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]/domChild[0]/domChild[0]</td>
+ <td>44,15</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[5]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]/domChild[0]/domChild[0]</td>
+ <td>62,12</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[6]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]/domChild[0]/domChild[0]</td>
+ <td>29,14</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[7]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]/domChild[0]/domChild[0]</td>
+ <td>25,13</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[8]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]/domChild[0]/domChild[0]</td>
+ <td>22,9</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[9]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]/domChild[0]/domChild[0]</td>
+ <td>30,11</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[10]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]/domChild[0]/domChild[0]</td>
+ <td>21,6</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[11]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]/domChild[0]/domChild[0]</td>
+ <td>32,11</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[12]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]/domChild[0]/domChild[0]</td>
+ <td>34,14</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[13]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]/domChild[0]/domChild[0]</td>
+ <td>45,11</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[14]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]/domChild[0]/domChild[0]</td>
+ <td>31,6</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstableTableClickValueChangeInteraction::/VGridLayout[0]/AbsolutePanel[0]/ChildComponentContainer[15]/VVerticalLayout[0]/ChildComponentContainer[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[2]/domChild[0]/domChild[0]</td>
+ <td>45,10</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>ClickedItem2</td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/tests/testbench/com/vaadin/tests/components/table/TableClickValueChangeInteraction.java b/tests/testbench/com/vaadin/tests/components/table/TableClickValueChangeInteraction.java
new file mode 100644
index 0000000000..e0449dea8b
--- /dev/null
+++ b/tests/testbench/com/vaadin/tests/components/table/TableClickValueChangeInteraction.java
@@ -0,0 +1,86 @@
+package com.vaadin.tests.components.table;
+
+import com.vaadin.data.Property.ValueChangeEvent;
+import com.vaadin.data.Property.ValueChangeListener;
+import com.vaadin.event.ItemClickEvent;
+import com.vaadin.event.ItemClickEvent.ItemClickListener;
+import com.vaadin.tests.components.TestBase;
+import com.vaadin.ui.Component;
+import com.vaadin.ui.GridLayout;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.Layout;
+import com.vaadin.ui.Table;
+import com.vaadin.ui.VerticalLayout;
+import com.vaadin.ui.Window;
+
+public class TableClickValueChangeInteraction extends TestBase {
+
+ final Window mainWindow = new Window();
+
+ @Override
+ public void setup() {
+ setMainWindow(mainWindow);
+
+ GridLayout layout = new GridLayout(4, 4);
+ layout.setSpacing(true);
+ layout.setMargin(true);
+ mainWindow.setContent(layout);
+
+ for (int i = 0; i < 16; ++i) {
+ mainWindow.addComponent(makeTable((i & 8) > 0, (i & 4) > 0,
+ (i & 2) > 0, (i & 1) > 0));
+ }
+
+ }
+
+ @Override
+ protected String getDescription() {
+ return "Table selection breaks if ItemClickListener requests repaint";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 7127;
+ }
+
+ private Component makeTable(boolean immediate, boolean selectable,
+ boolean listenClicks, boolean listenValueChanges) {
+
+ final Table table = new Table((immediate ? "I" : "i")
+ + (selectable ? "S" : "s") + (listenClicks ? "C" : "c")
+ + (listenValueChanges ? "V" : "v"));
+ final Label clickLabel = new Label("Click?");
+ final Label valueChangeLabel = new Label("Value?");
+
+ table.addContainerProperty("foo", String.class, null);
+ for (int i = 0; i < 3; i++) {
+ table.addItem("item" + i).getItemProperty("foo")
+ .setValue("An item " + i);
+ }
+ table.setImmediate(immediate);
+ table.setSelectable(selectable);
+ table.setWidth("100px");
+ table.setHeight("100px");
+ if (listenClicks) {
+ table.addListener(new ItemClickListener() {
+ public void itemClick(ItemClickEvent event) {
+ table.requestRepaint();
+ clickLabel.setValue("Click " + event.getItemId());
+ }
+ });
+ }
+ if (listenValueChanges) {
+ table.addListener(new ValueChangeListener() {
+ public void valueChange(ValueChangeEvent event) {
+ valueChangeLabel.setValue("Value " + event.getProperty());
+ }
+ });
+ }
+
+ Layout result = new VerticalLayout();
+ result.addComponent(table);
+ result.addComponent(clickLabel);
+ result.addComponent(valueChangeLabel);
+ return result;
+ }
+} \ No newline at end of file
diff --git a/tests/testbench/com/vaadin/tests/components/table/TextFieldValueGoesMissing.java b/tests/testbench/com/vaadin/tests/components/table/TextFieldValueGoesMissing.java
new file mode 100644
index 0000000000..254f1b0a90
--- /dev/null
+++ b/tests/testbench/com/vaadin/tests/components/table/TextFieldValueGoesMissing.java
@@ -0,0 +1,52 @@
+package com.vaadin.tests.components.table;
+
+import com.vaadin.tests.components.TestBase;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Button.ClickEvent;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.Table;
+import com.vaadin.ui.TextField;
+import com.vaadin.ui.VerticalLayout;
+
+public class TextFieldValueGoesMissing extends TestBase {
+
+ @Override
+ protected void setup() {
+ final VerticalLayout verticalLayout = new VerticalLayout();
+
+ final Label label1 = new Label("1");
+ final Label label2 = new Label("2");
+
+ Button button = new Button("Refresh");
+ button.addListener(new Button.ClickListener() {
+
+ public void buttonClick(ClickEvent event) {
+ verticalLayout.replaceComponent(label1, label2);
+ }
+ });
+ verticalLayout.addComponent(button);
+ verticalLayout.addComponent(label1);
+
+ Table table = new Table();
+ table.addContainerProperty("Field", TextField.class, null);
+ Object id = table.addItem();
+ TextField tf = new TextField();
+ table.getItem(id).getItemProperty("Field").setValue(tf);
+
+ verticalLayout.addComponent(table);
+
+ addComponent(verticalLayout);
+
+ }
+
+ @Override
+ protected String getDescription() {
+ return "Enter a text in the TextField in the table and press the 'replace label' button. This replaces the label which is in the same layout as the table but should not cause the TextField in the table to lose its contents";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 6902;
+ }
+
+}
diff --git a/tests/testbench/com/vaadin/tests/components/textfield/MultipleTextChangeEvents.java b/tests/testbench/com/vaadin/tests/components/textfield/MultipleTextChangeEvents.java
new file mode 100644
index 0000000000..62d3a1679a
--- /dev/null
+++ b/tests/testbench/com/vaadin/tests/components/textfield/MultipleTextChangeEvents.java
@@ -0,0 +1,57 @@
+package com.vaadin.tests.components.textfield;
+
+import com.vaadin.event.Action;
+import com.vaadin.event.Action.Handler;
+import com.vaadin.event.FieldEvents.TextChangeEvent;
+import com.vaadin.event.FieldEvents.TextChangeListener;
+import com.vaadin.event.ShortcutAction;
+import com.vaadin.tests.components.TestBase;
+import com.vaadin.tests.util.Log;
+import com.vaadin.ui.AbstractTextField.TextChangeEventMode;
+import com.vaadin.ui.TextField;
+
+public class MultipleTextChangeEvents extends TestBase {
+
+ private final Log log = new Log(5);
+
+ @Override
+ public void setup() {
+ TextField tf = new TextField();
+ tf.setTextChangeEventMode(TextChangeEventMode.TIMEOUT);
+ tf.setTextChangeTimeout(500);
+ tf.addListener(new TextChangeListener() {
+ public void textChange(TextChangeEvent event) {
+ log.log("TextChangeEvent: " + event.getText());
+ }
+ });
+ getMainWindow().addActionHandler(new MyHandler());
+
+ addComponent(log);
+ addComponent(tf);
+ }
+
+ class MyHandler implements Handler {
+ private static final long serialVersionUID = 1L;
+ Action actionenter = new ShortcutAction("Enter",
+ ShortcutAction.KeyCode.ENTER, null);
+
+ public Action[] getActions(Object theTarget, Object theSender) {
+ return new Action[] { actionenter };
+ }
+
+ public void handleAction(Action theAction, Object theSender,
+ Object theTarget) {
+ log.log("Enter");
+ }
+ }
+
+ @Override
+ protected String getDescription() {
+ return "Entering something into the textfield and quickly pressing enter should only send one TextChangeEvent";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return Integer.valueOf(8035);
+ }
+} \ No newline at end of file
diff --git a/tests/testbench/com/vaadin/tests/components/tree/TreeKeyboardNavigationScrolls.java b/tests/testbench/com/vaadin/tests/components/tree/TreeKeyboardNavigationScrolls.java
index a27b6b0404..bad6359889 100644
--- a/tests/testbench/com/vaadin/tests/components/tree/TreeKeyboardNavigationScrolls.java
+++ b/tests/testbench/com/vaadin/tests/components/tree/TreeKeyboardNavigationScrolls.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests.components.tree;
diff --git a/tests/testbench/com/vaadin/tests/components/treetable/AddNodesOnExpand.html b/tests/testbench/com/vaadin/tests/components/treetable/AddNodesOnExpand.html
new file mode 100644
index 0000000000..efcbded1d5
--- /dev/null
+++ b/tests/testbench/com/vaadin/tests/components/treetable/AddNodesOnExpand.html
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="" />
+<title>New Test</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">New Test</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.treetable.AddNodesOnExpand?restartApplication</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstreetableAddNodesOnExpand::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTreeTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>11,7</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentstreetableAddNodesOnExpand::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VTreeTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]</td>
+ <td>11,7</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>collapsed</td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/tests/testbench/com/vaadin/tests/components/treetable/AddNodesOnExpand.java b/tests/testbench/com/vaadin/tests/components/treetable/AddNodesOnExpand.java
new file mode 100644
index 0000000000..5bf0370bab
--- /dev/null
+++ b/tests/testbench/com/vaadin/tests/components/treetable/AddNodesOnExpand.java
@@ -0,0 +1,55 @@
+package com.vaadin.tests.components.treetable;
+
+import com.vaadin.tests.components.TestBase;
+import com.vaadin.ui.Tree;
+import com.vaadin.ui.Tree.CollapseEvent;
+import com.vaadin.ui.Tree.ExpandEvent;
+import com.vaadin.ui.TreeTable;
+
+public class AddNodesOnExpand extends TestBase {
+ private TreeTable treetable;
+
+ @Override
+ public void setup() {
+ treetable = new TreeTable();
+ treetable.setImmediate(true);
+ treetable.setWidth("100%");
+ treetable.setHeight(null);
+ treetable.setPageLength(0);
+ treetable.addContainerProperty("foo", String.class, "");
+ treetable.addListener(new Tree.ExpandListener() {
+ public void nodeExpand(ExpandEvent event) {
+ Object openedItemId = event.getItemId();
+ if (!treetable.hasChildren(openedItemId)) {
+ for (int j = 0; j < 3; j++) {
+ treetable.addItem(openedItemId + "-" + j);
+ treetable.setParent(openedItemId + "-" + j,
+ openedItemId);
+ }
+ }
+ }
+ });
+ treetable.addListener(new Tree.CollapseListener() {
+ public void nodeCollapse(CollapseEvent event) {
+ /* Uncomment this to "fix" the TreeTable */
+ // orgTree.refreshRowCache();
+ }
+ });
+
+ for (int i = 0; i < 3; i++) {
+ treetable.addItem(Integer.valueOf(i));
+ }
+
+ addComponent(treetable);
+ }
+
+ @Override
+ protected String getDescription() {
+ return "Expanding a node and then collapsing it should not cause scrollbars to appear";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return Integer.valueOf(8041);
+ }
+} \ No newline at end of file
diff --git a/tests/testbench/com/vaadin/tests/components/treetable/ProgrammaticCollapse.html b/tests/testbench/com/vaadin/tests/components/treetable/ProgrammaticCollapse.html
new file mode 100644
index 0000000000..44dd858378
--- /dev/null
+++ b/tests/testbench/com/vaadin/tests/components/treetable/ProgrammaticCollapse.html
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="" />
+<title>ProgrammaticCollapse</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">ProgrammaticCollapse</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.treetable.ProgrammaticCollapse?restartApplication</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstreetableProgrammaticCollapse::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>expanded</td>
+</tr>
+<tr>
+ <td>closeNotification</td>
+ <td>//body/div[2]</td>
+ <td>0,0</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstreetableProgrammaticCollapse::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VVerticalLayout[0]/ChildComponentContainer[1]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>collapsed</td>
+</tr>
+<tr>
+ <td>closeNotification</td>
+ <td>//body/div[2]</td>
+ <td>0,0</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstreetableProgrammaticCollapse::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VVerticalLayout[0]/ChildComponentContainer[2]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>closeNotification</td>
+ <td>//body/div[2]</td>
+ <td>0,0</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>lastexpanded</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstreetableProgrammaticCollapse::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VVerticalLayout[0]/ChildComponentContainer[2]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>closeNotification</td>
+ <td>//body/div[2]</td>
+ <td>0,0</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>lastcollapsed</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstreetableProgrammaticCollapse::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VVerticalLayout[0]/ChildComponentContainer[3]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>closeNotification</td>
+ <td>//body/div[2]</td>
+ <td>0,0</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>manyexpanded</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentstreetableProgrammaticCollapse::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VVerticalLayout[0]/ChildComponentContainer[3]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>closeNotification</td>
+ <td>//body/div[2]</td>
+ <td>0,0</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>manycollapsed</td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/tests/testbench/com/vaadin/tests/components/treetable/ProgrammaticCollapse.java b/tests/testbench/com/vaadin/tests/components/treetable/ProgrammaticCollapse.java
new file mode 100644
index 0000000000..6f2e507ce3
--- /dev/null
+++ b/tests/testbench/com/vaadin/tests/components/treetable/ProgrammaticCollapse.java
@@ -0,0 +1,74 @@
+package com.vaadin.tests.components.treetable;
+
+import com.vaadin.tests.components.TestBase;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Button.ClickEvent;
+import com.vaadin.ui.Button.ClickListener;
+import com.vaadin.ui.TreeTable;
+import com.vaadin.ui.VerticalLayout;
+
+public class ProgrammaticCollapse extends TestBase {
+
+ @Override
+ protected void setup() {
+ VerticalLayout layout = new VerticalLayout();
+ final TreeTable table = new TreeTable();
+ table.setPageLength(10);
+ table.addContainerProperty("A", String.class, null);
+ table.addContainerProperty("B", String.class, null);
+ for (int i = 1; i <= 100; ++i) {
+ int parentid = i;
+ table.addItem(new Object[] { "A" + i, "B" + i }, parentid);
+ for (int j = 1; j < 5; ++j) {
+ int id = 1000 * i + j;
+ table.addItem(new Object[] { "A" + i + "." + j,
+ "B" + i + "." + j }, id);
+ table.setParent(id, parentid);
+ }
+ }
+ layout.addComponent(table);
+ layout.addComponent(new Button("Expand / Collapse",
+ new ClickListener() {
+ public void buttonClick(ClickEvent event) {
+ boolean collapsed = !table.isCollapsed(1);
+ table.getWindow().showNotification(
+ "set collapsed: " + collapsed);
+ table.setCollapsed(1, collapsed);
+ }
+ }));
+ layout.addComponent(new Button("Expand / Collapse last",
+ new ClickListener() {
+ public void buttonClick(ClickEvent event) {
+ boolean collapsed = !table.isCollapsed(100);
+ table.getWindow().showNotification(
+ "set collapsed: " + collapsed);
+ table.setCollapsed(100, collapsed);
+ }
+ }));
+ layout.addComponent(new Button("Expand / Collapse multiple",
+ new ClickListener() {
+ private boolean collapsed = true;
+
+ public void buttonClick(ClickEvent event) {
+ collapsed = !collapsed;
+ table.getWindow().showNotification(
+ "set collapsed: " + collapsed);
+ for (int i = 0; i < 50; ++i) {
+ table.setCollapsed(i * 2, collapsed);
+ }
+ }
+ }));
+ addComponent(layout);
+ }
+
+ @Override
+ protected String getDescription() {
+ return "Using setCollapsed(...) after the treetable has been rendered should update the UI";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 7988;
+ }
+
+}
diff --git a/tests/testbench/com/vaadin/tests/components/treetable/RemoveAllItemsRefresh.java b/tests/testbench/com/vaadin/tests/components/treetable/RemoveAllItemsRefresh.java
index 40d63e1c87..69198ca006 100644
--- a/tests/testbench/com/vaadin/tests/components/treetable/RemoveAllItemsRefresh.java
+++ b/tests/testbench/com/vaadin/tests/components/treetable/RemoveAllItemsRefresh.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests.components.treetable;
diff --git a/tests/testbench/com/vaadin/tests/components/treetable/TreeTableModifyAndSetCollapsed.java b/tests/testbench/com/vaadin/tests/components/treetable/TreeTableModifyAndSetCollapsed.java
new file mode 100644
index 0000000000..336ffb5a52
--- /dev/null
+++ b/tests/testbench/com/vaadin/tests/components/treetable/TreeTableModifyAndSetCollapsed.java
@@ -0,0 +1,57 @@
+package com.vaadin.tests.components.treetable;
+
+import com.vaadin.data.Item;
+import com.vaadin.data.util.HierarchicalContainer;
+import com.vaadin.tests.components.TestBase;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Button.ClickEvent;
+import com.vaadin.ui.Button.ClickListener;
+import com.vaadin.ui.TreeTable;
+
+public class TreeTableModifyAndSetCollapsed extends TestBase {
+
+ int counter = 1;
+
+ @Override
+ protected void setup() {
+ final HierarchicalContainer container = new HierarchicalContainer();
+ container.addContainerProperty("value", String.class, "");
+
+ final TreeTable tt = new TreeTable(null, container);
+ tt.setSizeFull();
+ int parentId = counter++;
+ Item parent = container.addItem(parentId);
+ tt.setCollapsed(parentId, false);
+ parent.getItemProperty("value").setValue("parent " + (counter++) + "");
+ addComponent(tt);
+ Button repopulate = new Button("Repopulate", new ClickListener() {
+
+ public void buttonClick(ClickEvent event) {
+ // repopulate the container and expand root item
+ container.removeAllItems();
+ int parentId = counter++;
+ Item parent = container.addItem(parentId);
+ tt.setCollapsed(parentId, false);
+ parent.getItemProperty("value").setValue(
+ "parent " + (counter++) + "");
+ for (int i = 0; i < 4; i++) {
+ int childId = counter++;
+ Item child = container.addItem(childId);
+ child.getItemProperty("value").setValue(childId + "");
+ container.setParent(childId, parentId);
+ }
+ }
+ });
+ addComponent(repopulate);
+ }
+
+ @Override
+ protected String getDescription() {
+ return "Modifying a container and using setCollapsed on the same server round-trip should not cause any problems";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return Integer.valueOf(7785);
+ }
+}
diff --git a/tests/testbench/com/vaadin/tests/components/treetable/TreeTableOutOfSync.java b/tests/testbench/com/vaadin/tests/components/treetable/TreeTableOutOfSync.java
index 09b42cce31..0c1fcdbfd8 100644
--- a/tests/testbench/com/vaadin/tests/components/treetable/TreeTableOutOfSync.java
+++ b/tests/testbench/com/vaadin/tests/components/treetable/TreeTableOutOfSync.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests.components.treetable;
diff --git a/tests/testbench/com/vaadin/tests/tickets/Ticket2742.java b/tests/testbench/com/vaadin/tests/tickets/Ticket2742.java
index 7cc727c607..c4f2eadda2 100644
--- a/tests/testbench/com/vaadin/tests/tickets/Ticket2742.java
+++ b/tests/testbench/com/vaadin/tests/tickets/Ticket2742.java
@@ -9,7 +9,7 @@ import com.vaadin.ui.NativeSelect;
import com.vaadin.ui.Root;
/**
- * @author Risto Yrjänä / IT Mill Ltd.
+ * @author Risto Yrjänä / Vaadin Ltd.
*
*/
public class Ticket2742 extends Application.LegacyApplication {
@@ -39,4 +39,4 @@ public class Ticket2742 extends Application.LegacyApplication {
mainWindow.addComponent(hl);
}
-} \ No newline at end of file
+}
diff --git a/tests/testbench/com/vaadin/tests/util/SampleDirectory.java b/tests/testbench/com/vaadin/tests/util/SampleDirectory.java
index 5c9f54a983..9ed71843d5 100644
--- a/tests/testbench/com/vaadin/tests/util/SampleDirectory.java
+++ b/tests/testbench/com/vaadin/tests/util/SampleDirectory.java
@@ -1,5 +1,5 @@
/*
-@ITMillApache2LicenseForJavaFiles@
+@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.tests.util;
@@ -17,7 +17,7 @@ import com.vaadin.ui.Root;
* sampleDirectory property is read. If no sample directory is resolved, then a
* panel displaying error message is added to main window.
*
- * @author IT Mill Ltd.
+ * @author Vaadin Ltd.
*
*/
public class SampleDirectory {
diff --git a/tests/testbench/com/vaadin/tests/validation/ValidationOfRequiredEmptyFields.html b/tests/testbench/com/vaadin/tests/validation/ValidationOfRequiredEmptyFields.html
new file mode 100644
index 0000000000..4b273ca260
--- /dev/null
+++ b/tests/testbench/com/vaadin/tests/validation/ValidationOfRequiredEmptyFields.html
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="" />
+<title>New Test</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">New Test</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.validation.ValidationOfRequiredFields?restartApplication</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestsvalidationValidationOfRequiredFields::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VCheckBox[0]/domChild[0]</td>
+ <td>11,8</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestsvalidationValidationOfRequiredFields::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VTextField[0]</td>
+ <td>60,11</td>
+</tr>
+<tr>
+ <td>enterCharacter</td>
+ <td>vaadin=runcomvaadintestsvalidationValidationOfRequiredFields::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VTextField[0]</td>
+ <td>The field is required</td>
+</tr>
+<tr>
+ <td>showTooltip</td>
+ <td>vaadin=runcomvaadintestsvalidationValidationOfRequiredFields::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VTextField[0]</td>
+ <td>0,0</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>required-message</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestsvalidationValidationOfRequiredFields::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VCheckBox[0]/domChild[0]</td>
+ <td>13,5</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestsvalidationValidationOfRequiredFields::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VTextField[0]</td>
+ <td>28,13</td>
+</tr>
+<tr>
+ <td>enterCharacter</td>
+ <td>vaadin=runcomvaadintestsvalidationValidationOfRequiredFields::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VTextField[0]</td>
+ <td>a</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestsvalidationValidationOfRequiredFields::/VVerticalLayout[0]/domChild[0]/domChild[1]</td>
+ <td>34,186</td>
+</tr>
+<tr>
+ <td>showTooltip</td>
+ <td>vaadin=runcomvaadintestsvalidationValidationOfRequiredFields::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VTextField[0]</td>
+ <td>0,0</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>error-must-be-int</td>
+</tr>
+<!-- Dummy command to remove the tooltip -->
+<tr>
+ <td>showTooltip</td>
+ <td>vaadin=runcomvaadintestsvalidationValidationOfRequiredFields::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VCheckBox[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestsvalidationValidationOfRequiredFields::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VCheckBox[0]/domChild[0]</td>
+ <td>45,9</td>
+</tr>
+<tr>
+ <td>showTooltip</td>
+ <td>vaadin=runcomvaadintestsvalidationValidationOfRequiredFields::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VTextField[0]</td>
+ <td>0,0</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>error-must-be-int-and-5-to-10-chars</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestsvalidationValidationOfRequiredFields::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VCheckBox[0]/domChild[0]</td>
+ <td>12,7</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestsvalidationValidationOfRequiredFields::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VTextField[0]</td>
+ <td>124,12</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>vaadin=runcomvaadintestsvalidationValidationOfRequiredFields::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VTextField[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestsvalidationValidationOfRequiredFields::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VCheckBox[0]/domChild[0]</td>
+ <td>8,10</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestsvalidationValidationOfRequiredFields::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VCheckBox[0]/domChild[0]</td>
+ <td>13,7</td>
+</tr>
+<tr>
+ <td>showTooltip</td>
+ <td>vaadin=runcomvaadintestsvalidationValidationOfRequiredFields::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[4]/VTextField[0]</td>
+ <td>0,0</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>empty-invalid-not-required</td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/tests/testbench/com/vaadin/tests/validation/ValidationOfRequiredEmptyFields.java b/tests/testbench/com/vaadin/tests/validation/ValidationOfRequiredEmptyFields.java
new file mode 100644
index 0000000000..396b244758
--- /dev/null
+++ b/tests/testbench/com/vaadin/tests/validation/ValidationOfRequiredEmptyFields.java
@@ -0,0 +1,94 @@
+package com.vaadin.tests.validation;
+
+import com.vaadin.data.Property.ValueChangeEvent;
+import com.vaadin.data.Property.ValueChangeListener;
+import com.vaadin.data.Validator;
+import com.vaadin.data.validator.IntegerValidator;
+import com.vaadin.data.validator.StringLengthValidator;
+import com.vaadin.tests.components.TestBase;
+import com.vaadin.ui.CheckBox;
+import com.vaadin.ui.TextField;
+
+public class ValidationOfRequiredEmptyFields extends TestBase {
+
+ private TextField tf;
+ private CheckBox requiredInput;
+ private TextField requiredErrorInput;
+
+ private Validator integerValidator = new IntegerValidator(
+ "Must be an integer");
+ private Validator stringLengthValidator = new StringLengthValidator(
+ "Must be 5-10 chars", 5, 10, false);
+ private CheckBox integerValidatorInput;
+ private CheckBox stringLengthValidatorInput;
+
+ @Override
+ protected void setup() {
+ requiredInput = new CheckBox("Field required");
+ requiredInput.setImmediate(true);
+ requiredInput.addListener(new ValueChangeListener() {
+ public void valueChange(ValueChangeEvent event) {
+ tf.setRequired((Boolean) requiredInput.getValue());
+ }
+ });
+
+ requiredErrorInput = new TextField("Required error message");
+ requiredErrorInput.setImmediate(true);
+ requiredErrorInput.addListener(new ValueChangeListener() {
+ public void valueChange(ValueChangeEvent event) {
+ tf.setRequiredError((String) requiredErrorInput.getValue());
+ }
+ });
+
+ integerValidatorInput = new CheckBox("Integer.parseInt validator");
+ integerValidatorInput.setImmediate(true);
+ integerValidatorInput.addListener(new ValueChangeListener() {
+
+ public void valueChange(ValueChangeEvent event) {
+ if ((Boolean) integerValidatorInput.getValue()) {
+ tf.addValidator(integerValidator);
+ } else {
+ tf.removeValidator(integerValidator);
+ }
+ }
+ });
+ stringLengthValidatorInput = new CheckBox(
+ "stringLength.parseInt validator");
+ stringLengthValidatorInput.setImmediate(true);
+ stringLengthValidatorInput.addListener(new ValueChangeListener() {
+
+ public void valueChange(ValueChangeEvent event) {
+ if ((Boolean) stringLengthValidatorInput.getValue()) {
+ tf.addValidator(stringLengthValidator);
+ } else {
+ tf.removeValidator(stringLengthValidator);
+ }
+ }
+ });
+
+ tf = new TextField();
+ tf.setImmediate(true);
+
+ requiredInput.setValue(false);
+ requiredErrorInput.setValue("");
+ integerValidatorInput.setValue(false);
+ stringLengthValidatorInput.setValue(false);
+
+ addComponent(requiredInput);
+ addComponent(requiredErrorInput);
+ addComponent(integerValidatorInput);
+ addComponent(stringLengthValidatorInput);
+ addComponent(tf);
+ }
+
+ @Override
+ protected String getDescription() {
+ return null;
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 3851;
+ }
+
+}