Component.ActionsHolder
interface now has the addAction(Action action, int index)
method that allows you to add an action to the specified position.autocomplete
attribute of the PasswordField
component allows you to enable saving
passwords in the web browser.cuba.gui.genericFilterMaxResultsOptions
application property allows you to specify the options
for the Show rows drop-down of the Filter component.join
condition can have more than one join.inputPrompt
is supported in the desktop client.MapViewer
info windows now have CSS styles in various elements of the info window DOM.Embedded
component does not show URL resources.select
clause.TreeTable.expandAll()
is too slow.select c from app$Order o join o.customer c
.ResizableTextArea.ResizeListener
doesn't return previous values for width and height.ExpandingLayout
interface.FileDataProvider
cannot be used with the Embedded
component.Embedded
component with the type BROWSER shows the application page.FUNCTION
keyword cannot be used in JPQL.UniqueConstraintViolationHandler
does not work on HSQL.captionProperty
attribute of Table
column has been
changed.cuba.uniqueConstraintViolationPattern
application property can contain a regexp with | (OR) which
is useful for defining patterns in different languages.FileUploadField
and
FileMultiUploadField
components.setIconProvider()
method has been added to the Tree
component.setParamValue()
method has been added to the Filter
component.PortalAuthenticationProvider
is now included in the platform portal module.@OnDeleteInverse(DeletePolicy.DENY)
specified on the collection attribute.where entity.attr is null
returns wrong result if entity.attr
is included into the view.like escape
and (?i)
parameters.Table
that has been sorted by a collection attribute.CubaWarBuilding
Gradle task does not handle the webResourcesTs
context param.CubaDelpoyment
Gradle task doesn't work with Gradle 2.8 and 2.9.TabSheet.Tab.setEnabled(true)
does not enable the tab contents.cuba.automaticDatabaseUpdate=true
and there are spaces in the server
installation path.sec$User
entities as "created" when some other
entities are modified.RowsCount
component for TreeTable
after switching to FTS mode.app
project name prefix is now replaced with the real project
name specified in settings.gradle
. This helps to avoid names collision when working with several
CUBA projects in one Eclipse workspace.link="true"
does not workQueryTransformerAstBased
makes wrong copy of "where" clause with subquery if
a "where" clause already exists in the transformed query.javaClass
.cuba.uniqueConstraintViolationPattern
application property does not take effect.cuba.cluster.stateTransferTimeout
application property allows you to set the timeout for receiving
state when joining the cluster on server startup.This is the first public release of platform version 6.0. All significant changes from version 5.6 are listed below.
PersistenceHelper.isLoaded()
method.EntityManager.fetch()
method is deprecated and does nothing. ViewProperty.isLazy()
is
always false and deprecated. All attributes defined in a view are always loaded. You can specify a method of
loading - see FetchMode
explanation in the Improvements section.EntityManager.merge(entity, view)
to ensure all required attributes of the merged instance are loaded and available to the calling code.DataManager
does not support queries for single attributes and aggregates likeselect u.group from sec$User u
select count(u) from sec$User u
DataManager.getCount()
method.LoadContext.useSecurityConstraints
attribute.WindowParams.DISABLE_SECURITY_CONSTRAINTS
enum value.setVersion()
method has been added to the Versioned
interface. Add obvious
implementation to the entities that implement Versioned
but do not extend StandardEntity
.ListComponent
and LoadContext
.BaseAction
does not implement CollectionDatasourceListener
anymore. For correct
work of ItemTrackingAction
just add it to an ActionHolder
component (Table/Tree
)IFrame
has been renamed to Frame
both in XML and in Java code.DbTypeConverter
methods do not throw SQLException.log4j-over-slf4j
library,
so no application code modification is required.log4j.xml
configuration file should be replaced with
logback.xml
, see documentation for details.com.haulmont.cuba.desktop.App.getDefaultLog4jConfig()
to getDefaultLogConfig()
CubaTestCase.getTestLog4jConfig()
to getTestLogConfig()
ActiveDirectoryHelper
cuba.web.useActiveDirectory
to cuba.web.ExternalAuthentication
cuba.web.activeDirectoryAuthClass
to cuba.web.externalAuthenticationProviderClass
dataSource
Spring bean has been renamed to cubaDataSource
.ext.*
properties in build.gradle
have been replaced with the closure configuration block.
See documentation for details.validationQuery="select 1"
parameter to avoid
java.lang.AbstractMethodError
exceptions if jTDS JDBC driver is used.tearDown()
methods of classes inherited from
CubaTestCase
, invocation of super.tearDown()
must be the last statement. Datasource.ItemChangeListener, Datasource.StateChangeListener, Datasource.StateChangeListener,
Datasource.ItemPropertyChangeListener, CollectionDatasource.CollectionChangeListener
.Table, GroupTable, TreeTable
) and Tree
now allow null selection by default.
All these components allow a user to reset selection by clicking on a row with Ctrl pressed.Table
context menu
and PopupButton
items.mainMsg://
prefix enables using messages from the main message pack in screens XML.Datasource.refresh()
method for single-value datasource now reloads the entity instance from the database.FetchMode
enum specifies how to fetch a referenced entity from the database. You can define it for
a view property in the fetch
attribute. See
documentation for details.Transaction
now extends AutoClosable
, which enables transaction control in
try-with-resources style.buildWar
Gradle task now creates a single WAR file by default. See
documentation for details.^[0-9\s]+$
,
the script should contain ^^[0-9\s]+$
.FtsManager.upgrade()
JMX bean method).asyncReindexAll()
and asyncReindexEntity()
methods have been added to the
FtsManager
JMX bean to enable reindexing of big volumes of data.IFrame
to Frame
in Java code.componentsFactory.createComponent({component}.NAME)
to componentsFactory.createComponent({component}.class)
componentsFactory.createComponent(BoxLayout.HBOX)
to componentsFactory.createComponent(HBoxLayout.class)
componentsFactory.createComponent(BoxLayout.VBOX)
to componentsFactory.createComponent(VBoxLayout.class)
openWindow()
to specific window classes.WebComponentsHelper.unwrap()
and DesktopComponentsHelper.unwrap()
to specific component classes.TreeTable<MyEntity> myentitiesTable;
LoadContext
:
LoadContext<MyEntity> loadContext = new LoadContext<>(MyEntity.class);
c.id in (:ids)
should become c.id in :ids
build
directory - it will be replaced by the new Tomcat 8 on restart.updateDb
Gradle task.