Skip to content

Releases: codion-is/codion

v0.18.38

02 Jun 11:10
Compare
Choose a tag to compare

Changes

is.codion

  • module-version added to module-info.class files.

is.codion.common.core

  • Value.Notify.WHEN_CHANGED and WHEN_SET renamed CHANGED and SET respectively.
  • MethodLogger.Entry.getChildren() renamed children(), enterMessage() renamed message(), ArgumentToString renamed ArgumentFormatter.
  • PropertyValue.propertyName() renamed name().
  • Item.itemI18n() renamed i18n().
  • Text.parseCommaSeparatedText() renamed parseCSV().

is.codion.common.db

  • Database.URL_SCOPED_INSTANCE configuration value added.
  • ConnectionPoolStatistics.averageGetTime(), minimumCheckOutTime() and maximumCheckOutTime() renamed averageTime(), minimumTime() and maximumTime() respectively.
  • ConnectionPoolWrapper.getIdleConnectionTimeout() and setIdleConnectionTimeout() renamed getIdleTimeout() and setIdleTimeout().
  • Database.maximumNumberOfParameters() renamed maximumParameters().

is.codion.common.model

  • UserPreferences, UserPreference suffix removed from method names.
  • ConditionModel.equalWildcards() renamed equalWithWildcards().
  • SummaryModel.Summary.summary() renamed get().

is.codion.common.rmi

  • ServerInformation, server prefix removed from methods.
  • AuxiliaryServer.startServer() and stopServer() renamed start() and stop().
  • ConnectionRequest, client prefix renamed from methods.
  • Authenticator.clientType() renamed type().

is.codion.swing.common.model

  • FilterComboBoxModel.createSelectorValue() renamed createSelector().

is.codion.swing.common.ui

  • FilterTable.ScrollToSelected bug fixed, rowVisible() now based on viewport.getViewRect().
  • FlexibleGridLayout re-implemented.
  • FlexibleGridLayout edge case for zero rows/columns bug fixed, test added.

is.codion.framework.domain

  • fetchDepth renamed referenceDepth.
  • ForeignKeyDefinition.Builder.referenceDepth() added, ForeignKeyDefiner.foreignKey(referenceDepth) removed.
  • TransientAttribute.modifiesEntity() and Builder.modifiesEntity() renamed modifies().
  • SelectQuery renamed EntitySelectQuery.

is.codion.framework.db.local

  • SelectQueriesTest improved.

is.codion.framework.model

  • EntitySearchModel.singleSelection() removed.

is.codion.swing.framework.ui

  • EntityApplicationPanel, support table now known as lookup table.
  • NullableCheckBox, FlatLaf hack removed.
  • QueryInspector added, available with Ctrl-Alt-Q in EntityTablePanel, when using a local connection.
  • EntityTableExport added.
  • EntityEditPanel, query inspector available with Ctrl-Alt-Q, when using a local connection, QueryInspector split into SelectQueryInspector and InsertUpdateQueryInspector.
  • SelectQueryInspector.BasicFormatterImpl bug fixed, now handles single quoted values.
  • SelectQueryInspector.BasicFormatterImpl now inserts line breaks in insert column and value lists.
  • EntityEditPanel, EntityTablePanel.updateUI() now includes queryInspector.
  • EntityApplicationPanel, log file/dir controls now with icons.
  • EntitySearchField.singleSelection() added.

is.codion.swing.framework.ui.test

  • is.codion.swing.framework.ui.test module removed

0.18.34

07 May 09:12
Compare
Choose a tag to compare

Changes

is.codion.common.core

  • DefaultValue.DefaultBuilder now adds listeners in the order they were added to the builder.
  • Version.parse() input validation improved.
  • Value.map() parameter now UnaryOperator instead of Function.

is.codion.common.model

  • FilterModel.VisibleItems and FilteredItems.get() annotated as NonNull.
  • FilterModel.Sorter renamed Sort, sorter() renamed sort().
  • FilterModel renamed FilterListModel and moved to list package.
  • FilterListModel renamed back to FilterModel and moved to filter package.
  • FilterListModel.Items.Builder added along with ItemsListener.
  • DefaultFilterListItems added, extracted from DefaultFilterTableItems, related refactoring.
  • FilterModel.Sort now extends Comparator, comparator() removed.
  • FilterModel.AbstractRefresher no longer refreshes if no supplier is available.
  • FilterModel.AbstractRefresher, async constructor parameter added.

is.codion.common.rmi

  • ServerAdmin, removed a few public accessors for values included in ServerStatistics, related cleanup.

is.codion.framework.domain

  • Column.Getter and Setter renamed GetValue and SetParameter respectively.
  • Entity.put() renamed set().
  • DerivedAttributeDefinition.Builder.ProviderStage added, related refactoring.

is.codion.framework.domain.test

  • DefaultEntityFactory.value() now handles UUIDs.

is.codion.framework.model

  • EntityQueryModel.conditions() renamed condition().
  • EntityEditModel.EntityEditor.isNull(attribute) replaced with EditorValue.present().
  • DefaultForeignKeyModelLink bug fixed, clearing the condition did not change it if the entities involved had been deleted, problem masked by referential integrity.

is.codion.swing.common.model

  • FilterTableModel.TableSelection moved to list package and renamed FilterListSelection, related refactoring.
  • FilterTableSort.sorted() moved to FilterListModel.Sort.
  • DefaultFilterTableItems.DefaultVisibleItems no longer adds a table model listener, changes to visible items notified explicitly.
  • FilterListModel and FilterListSort added.
  • FilterComboBoxModel.Builder.asyncRefresh() added.
  • FilterListModel, FilterTableModel.Builder.visible() added.
  • ProgressWorker.Task and ProgressTask added, related changes.
  • ProgressWorker refactored.
  • ProgressWorker.ProgressTask and ResultProgressTask.maximumProgress() added.

is.codion.swing.common.ui

  • LookAndFeelSelectionDialogBuilder.createControl() overloaded without parameter.
  • BackgroundColorValidIndicator bug fixed, did not refresh state when colors changed during updateUI().
  • LookAndFeelSelectionDialogBuilder.INCLUDE_PLATFORM_LOOK_AND_FEELS moved to LookAndFeelComboBox.
  • LookAndFeelComboBox.Builder added.
  • TextPaneBuilder added.
  • FilterTable.ScrollToAdded.scrollToAddedRow() no longer calls moveLeadSelectionIndex(), caused a selection event.
  • Control.Builder.name() renamed caption().
  • Utilities.linkToEnabledState() renamed enableActions() and enableComponents().
  • ValidIndicatorFactory.instance() now returns Optional.
  • AbstractComponentBuilder no longer throws exception if the specified ValidIndicatorFactory is not found.
  • ValidIndicatorFactory.instance() overloaded with factoryClassName parameter.
  • DefaultFileSelectionDialogBuilder.selectFileToSave() and selectFilesOrDirectories() bug fixed, incorrect class used for synchronization.
  • SelectionDialogBuilder split into ListSelectionDialogBuilder and ComboBoxSelectionDialogBuilder.
  • Dialogs.selectionDialog() renamed listSelectionDialog() and comboBoxSelectionDialog() added.
  • ListSelectionDialogBuilder.SingleSelector and MultiSelector removed.
  • Dialogs.singleSelector() and multiSelector() removed.
  • TextFieldBuilder.selector() removed.
  • DefaultButtonPanelBuilder.enableTransferFocusOnEnter() implemented.
  • ControlPanelBuilder, Builder suffix removed from a few methods.
  • DefaultButtonPanelBuilder.enableTransferFocusOnEnter() bug fixed, was restricted to JButton.
  • ButtonPanelBuilder.fixedButtonSize() and buttonGroup() added.
  • SelectionDialogBuilder.defaultSelection() moved to sub-interfaces.
  • ProgressDialogBuilder.onPublish() added.
  • DefaultComboBoxSelectionDialogBuilder bug fixed, did not validate default selection item.
  • TemporalFieldPanel and TextFieldPanel, minor button related improvements.
  • FilterList added, ListBuilder now FilterList based.
  • ListSelectionDialogBuilder.comparator() added.
  • Dialogs.inputDialog() overloaded with ComponentBuilder.
  • FilterList now scrolls to the selected item.
  • FilterTableColumn.Builder.fixedWidth() added.
  • FilterTable.doubleClick() renamed doubleClicked().
  • FilterTable.Builder.doubleClickAction() renamed doubleClick().
  • LookAndFeelComboBox.Builder.onSelection() added.
  • LookAndFeelPanel no longer prints to err when encountering an IllegalAccessException while loading defaults, LookAndFeel not exported from module.
  • LookAndFeelEnabler.platform() is now installed(), PlatformLookAndFeelEnabler renamed InstalledLookAndFeelEnabler, related refactoring.

is.codion.swing.framework.ui

  • EntityApplicationPanel.Builder.applicationModelFactory() and applicationPanelFactory() renamed applicationModel() and applicationPanel().
  • EntityApplicationPanel.createLogControls() now protected final.
  • EntityTablePanel.conditions() renamed condition().
  • EntityPanel.createEditControlPanel() no longer adds an empty border.
  • EntityApplicationPanel no longer abstract.
  • EntityEditPanel constructors now protected.
  • EntityEditPanel.insertCommandBuilder(), updateCommandBuilder() and deleteCommandBuilder() renamed insertCommand(), updateCommand() and deleteCommand().
  • EntityComponentFactory.componentValue() renamed component().

is.codion.plugin.flatlaf.intellij

  • IntelliJThemeProvider, disable FlatLaf logging due to FlatLaf #990.
  • material.Dracula theme renamed DraculaMaterial, conflicted with the other Dracula theme.

0.18.33

07 Apr 09:29
Compare
Choose a tag to compare

Changes

is.codion.swing.common.ui

  • Icons.icon() renamed get().
  • ActionDialogBuilder.onShown() now supports multiple consumers.
  • ComponentDialogBuilder.onShown(), onOpened() and onClosed() now support multiple consumers.

is.codion.framework.db.core

  • JSpecify annotations added.

is.codion.framework.db.local

  • JSpecify annotations added.

is.codion.framework.model

  • AbstractEntityEditModel.configureSearchModel() added, for separating the configuration of a search model for use in the edit model from search model creation.
  • EntityEditModel.apply() added.
  • EntityEditModel.apply() renamed applyEdit().

is.codion.swing.framework.model

  • DefaultEntityComboBoxModel.DefaultForeignKeyFilter.link() bug fixed, combo box model used its own selection instead of the one from the filter model when initializing the link
  • SwingEntityEditModel.configureComboBoxModel() added, for separating the configuration of a combo box model for use in the edit model from combo box model creation.
  • SwingEntityTableModel.setValueAt() now uses EntityEditModel.apply().
  • EntityComboBoxModel.Filter.builder() removed.

is.codion.swing.framework.ui

  • EntityEditPanel, exception handling and logging now consistent for insert, update and delete.
  • EditComponentFactory.caption() AttributeDefinition parameter added.
  • DefaultEditAttributeDialogBuilder now displays no caption if EditComponentFactory.caption() returns nothing.
  • EntityDialogs.EditAttributeDialogBuilder.applier() removed, EntityEditModel.apply() used instead.
  • EntityTablePanel, edit panel dialog location no longer follows mouse when displayed on double click.
  • EntityDialogs.addEntityDialog() and editEntityDialog() editPanel parameter no longer Supplier.
  • EntityDialogs.AddEntityDialogBuilder and EditEntityDialogBuilder.onShown() added.
  • EntityEditPanel, insert, update and delete commands refactored.
  • EntityPanel.requestInitialFocus() now uses requestFocusInWindow() instead of requestFocus(), otherwise focus can escape the application when toggling the edit panel state.
  • EntityEditComponentPanel.Defaults removed.

0.18.32

31 Mar 14:03
Compare
Choose a tag to compare

Changes

is.codion.common.model

  • UserPreferences.getUserPreference(key, defaultValue) now requires a non-null default value, can no longer return null.
  • MultiSelection.Indexes and Items override get() annotated with @nonnull.
  • DefaultConditionModel.isEqualWildcard() bug fixed, bypassed the automic wildcards.

is.codion.swing.common.ui

  • FilterTable bug fixed, doubleClickAction no longer triggered if disabled.
  • ComponentBuilder.toolTipText(Observable) added for a dynamic tool tip.
  • ComponentBuilder.validIndicator() added along with ValidIndicatorFactory.
  • ComponentBuilder.modifiedIndicator() added along with ModifiedIndicatorFactory.
  • DefaultInputDialogBuilder.show(closeDialog) bug fixed, now uses onOk() instead of okAction(), which bypassed the valid state.
  • ComponentBuilder.validIndicator(validator) argument now Predicate instead of Consumer.
  • DefaultFilterTableColumnModel.hideColumn() bug fixed, event triggered too early.
  • Icons.ICON_COLOR and iconColor() removed, enableIconColorConsumer() and disableIconColorConsumer() removed.
  • Utilities.propertyChangeEvent() renamed propertyObserver().
  • SearchHighlighter.updateHighlights() bug fixed, now only tries to update highlight if a matching position is found, failed on look and feel change with text selected.
  • SearchHighlighter, search no longer case-sensitive by default.
  • TransferFocusOnEnter now an enum.
  • ComponentBuilder.transferFocusOnEnter(TransferFocusOnEnter) added, related refactoring.

is.codion.framework.domain

  • ValidationException now extends IllegalArgumentException.
  • EntityType.resourceBundleName() now returns Optional.
  • AttributeDefinition.minimumValue() and maximumValue() now return Optional.
  • AttributeDefinition.format(), dateTimePattern() and dateTimeFormatter() now return Optional.
  • AttributeDefinition.description() now returns Optional.
  • Entity.isNotNull() removed.
  • Entity.Key.isNotNull() removed.
  • EntityDefinition.entity() factory methods no longer accept null for values and originalValues, empty maps expected instead.
  • JSpecify annotations added.

is.codion.framework.model

  • AbstractEntityEditModel.refresh() bug fixed, now handles the case when a primary key attribute has been modified.
  • AbstractEntityTableModel.refresh(keys) bug fixed, now includes the same attributes as the query model, when selecting.
  • EntityEditModel.EntityEditor.EditorValue.message() added.
  • EntityQueryModel.SelectAttributes added, returned by attributes().
  • EntityQueryModel.createSelect() added, DefaultEntityQueryModel refactored.
  • EntityQueryModel.query() renamed dataSource().
  • EntityQueryModel no longer implements Supplier, get() renamed query().
  • EntityQueryModel.createSelect() renamed select().
  • EntityEditModel.EntityEditor.isNotNull() removed.

is.codion.swing.framework.ui

  • EntityDialogs.selectionDialog() parameter now EntityTablePanel.
  • EntitySelectionDialogBuilder.dialogSize() and configureTablePanel() removed, includeSearchButton() added.
  • EntityDialogs.EditAttributeDialogBuilder.defaultValue() and applier() added.
  • EntityPanel.Builder no longer implements equals() and hashCode() based on entityType, restricts entity panel caching to a single panel per entity type.
  • EntityEditComponentPanel, toolTip validation message split from ComponentValidator.
  • EntitySearchField.Builder.selectionToolTip() added, enabled by default for multi-selection instances.
  • EntityTablePanel bug fixed, both constructors now call initializeConditionsAndFilters().
  • EntityTablePanel.updateUI() bug fixed, now includes editPanel.
  • EntityTablePanel, redundant disabling of filters on column hidden removed, handled by FilterTable.
  • EntityTablePanel.Config.QUERY_HIDDEN_COLUMNS replaced with EXCLUDE_HIDDEN_COLUMNS, EntityTablePanel.queryHiddenColumns() removed.
  • EntitySearchField, special handling for transferring focus on enter removed.
  • EntityDialogs.selectionDialog() bug fixed, now initializes the EntityTablePanel.

is.codion.framework.servlet

  • EntityService.USE_VIRTUAL_THREADS configuration value added.
  • EntityService now configures handlers before starting.

0.18.31

03 Mar 12:03
Compare
Choose a tag to compare

Changes

is.codion

  • Build with JDK21, target 17.
  • Javadoc, replace multiline @code sections with @snippet.

is.codion.common.model

  • FilterModel.Items.replace() overloaded with a Map parameter.
  • FilterModel.VisibleItems.set() no longer sorts.

is.codion.swing.common.model

  • DefaultFilterComboBoxModel.replace() bug fixed, added the replacement item even if it did not contain the item being replaced, did not replace the selected item.
  • DefaultFilterTableItems.replace() improved a bit, DefaultFilteredItems.items now a LinkedHashSet.
  • DefaultFilterTableItems.DefaultVisibleItems.set() now sorts.
  • FilterModel.FilteredItems no longer extends Observable.
  • DefaultFilterTableItems.merge() refactored.
  • DefaultFilterTableItems.remove() refactored.
  • FilterTableModel.RowEditor.set(), rowIndex parameter added.

is.codion.framework.domain

  • Entity.Builder.originalPrimaryKey() added.
  • AttributeDefinition.trim() added along with TRIM_STRINGS configuration value.

is.codion.framework.model

  • AbstractEntityEditModel now handles edit events, EntityEditModel.add(), remove() and replace() removed, AbstractEntityEditModel.replaceForeignKey() removed, inserted(), updated() and deleted() added.
  • EntityTableModel.handleEditEvents() removed.
  • EntitySearchModel.Builder.handleEditEvents() added.
  • EntityTableModel.editModel() inferred return type removed.
  • AbstractEntityTableModel.replaceEntitiesByKey() refactored and renamed.
  • EntityEditEvents removed, EntityEditModel.EditEvents added along with editEvents().
  • EntitySearchModel.Builder.condition() now accepts a null argument.
  • DefaultEntitySearchModel, improved exception message when refreshing in case the condition supplier returns null or a condition for the incorrect type.

is.codion.swing.common.ui

  • DefaultFilterTableColumnModel, validation for unique model indexes and identifiers added.
  • FilterTableColumn.setModelIndex() now throws UnsupportedOperationException.
  • MOUSE_WHEEL_SCROLLING configuration property added to ComboBoxBuilder, SpinnerBuilder and SliderBuilder.

is.codion.swing.framework.model

  • EntityComboBoxModel.Builder.condition() now accepts a null argument.
  • DefaultEntityComboBoxModel, improved exception message when refreshing in case the condition supplier returns null or a condition for the incorrect type.

is.codion.plugin.flatlaf.intellij.themes

  • HighContrast theme now based on the on from IntelliJ, as in FlatLaf.

0.18.30

18 Feb 09:54
Compare
Choose a tag to compare

Changes

is.codion.common.model

  • FilterModel.SortModel added along with sort().
  • FilterModel.VisibleItems.sort() renamed sortItems().
  • FilterModel.SortModel renamed Sorter.
  • FilterModel.VisibleItems.sortItems() renamed back to sort().
  • DefaultConditionModel bug fixed, now disables on clear, instead of relying on auto-enable, which fails for non-nullable conditions, since the equal operand doesn't become null when cleared.

is.codion.swing.common.model

  • FilterTableModel.ColumnValues.get() and selected() now returns List instead of Collection.
  • FilterTableSortModel renamed FilterTableSorter.
  • LookAndFeelComboBox, major memory usage reduction, now only holds on the required defaults.

is.codion.swing.common.ui

  • CompletionDocument bug fixed, prevented combo boxes from selecting a null value, if the model did not contain null.
  • ComboBoxMouseWheelListener bug fixed, now selects first item instead of second on down scroll with null selected, if the model did not contain null.
  • CompletionDocument.remove() bug fixed, did not handle empty combo box.

is.codion.framework.model

  • EntityTableModel.orderQueryBySortOrder() added.
  • AbstractEntityTableModel.orderByFromSortModel() added.
  • EntityEditModel.EntityEditor.ValueEditor renamed EditorValue.
  • DefaultEntityApplicationModel, entityModels now initialized via constructor parameter, related refactoring.
  • EntityQueryModel.LIMIT configuration value added.

is.codion.swing.framework.model

  • SwingEntityModel.Builder removed.

is.codion.swing.framework.ui

  • EntityTablePanel.orderQueryBySortOrder() moved to model.
  • EntityPanel.Builder, major simplification and related refactoring.
  • EntityApplicationPanel.createEntityPanels() and createSupportEntityPanelBuilders() removed, constructor parameters added.

0.18.29

10 Feb 13:10
Compare
Choose a tag to compare

Changes

is.codion.common.model

  • ConditionModel.wildcard() moved to Operands, Operands.equalWildcards() added.

is.codion.swing.common.ui

  • FilterTable.ScrollToAdded bug fixed, now stops scrolling after the first row.
  • FilterTable.Builder.surrendersFocusOnKeystroke() added.
  • DefaultFilterTableCellEditor now sets JComboBox.isTableCellEditor client property for combo boxes.
  • FilterTable bug fixed, updateUI() now updates cell editor UIs.
  • FilterTable.ControlKeys.TOGGLE_NEXT_SORT_ORDER, TOGGLE_PREVIOUS_SORT_ORDER, TOGGLE_NEXT_SORT_ORDER_ADD and TOGGLE_PREVIOUS_SORT_ORDER_ADD added, replacing TOGGLE_SORT_ORDER and TOGGLE_SORT_ORDER_ADD.
  • ColumnConditionPanel bug fixed, incorrect operator caption for NOT_BETWEEN and NOT_BETWEEN_EXCLUSIVE.
  • DefaultListBoxBuilder bug fixed, did not populate combo box model with initial values.
  • Controls.empty(), notEmpty() and get(index) removed, related refactoring.
  • Controls.Builder no longer adds empty Controls instances, skips leading and trailing separators, related refactoring.
  • FilterTable.Builder.startEditing(keyStroke) added.
  • DefaultFilterTableCellEditor now configures JCheckBox background and text field horizontal alignment according to the table cell renderer.

is.codion.framework.domain

  • DualValueColumnCondition now throws exception if a bound value is null.
  • SingleValueColumnCondition now throws exception if a required bound value is null.
  • DualValueColumnCondition bug fixed, incorrect operators used for NOT_BETWEEN and NOT_BETWEEN_EXCLUSIVE.

is.codion.framework.domain.db

  • MetaDataSchema now supports databases without schemas, as in, SQLite.

is.codion.framework.db

  • EntityConnectionProvider.connection() inferred return type removed.
  • AbstractEntityConnectionProvider.validateConnection() replaced with validConnection(), connection() no longer final.

is.codion.framework.db.local

  • LocalEntityConnectionProvider now overrides connection() with LocalEntityConnection return type.

is.codion.framework.model

  • DefaultEntityTableConditionModel bug fixed, inCondition() and notInCondition() now return isNull() and isNotNull() respectively when no operands are specified.
  • DefaultEntityTableConditionModel now returns an appropriate greaterThan or lessThan condition when either the lower or upper bound is missing for between conditions.

is.codion.swing.framework.model

  • SwingEntityTableModel.isCellEditable() now final, protected editable() added.

is.codion.swing.framework.ui

  • EntitySearchField bug fixed, did not initialize correctly when instantiated with a search model with non-empty selection.
  • EntityTablePanel.ControlKeys.DECREMENT_SELECTION and INCREMENT_SELECTION keys changed from ALT-SHIFT to CTRL-SHIFT.
  • EntityApplicationPanel.Builder.LoginProvider removed, loginProvider() replaced with userSupplier().
  • EntityApplicationPanel.Builder.ConnectionProviderFactory removed, Builder.connectionProvider() added, related refactoring.
  • EntityApplicationPanel.Builder.defaultLoginUser(), automaticLoginUser() and userSupplier() renamed defaultUser(), user() and user() respectively.
  • EntityApplicationPanel.Builder.loginRequired() removed.
  • EntityApplicationPanel.Builder.connectionProvider(EntityConnectionProvider) and user(User) added, connectionProvider(EntityConnectionProvider.Builder) replaced with connectionProvider(Function<User, EntityConnectionProvider>).
  • EntityPanelBuilder.createPanel() bug fixed, no longer validates model types when constructor parameter type is the base model class.
  • DefaultEditComponentFactory bug fixed, text input panel not initialized with the current value.
  • DefaultEditComponentFactory.MAXIMUM_TEXT_FIELD_LENGTH replaced with DEFAULT_TEXT_FIELD_COLUMNS, back to text input panels for all strings, with the number of columns depending on the value and maximum length.

is.codion.tools.generator.model

  • DomainGeneratorModel now supports databases without schemas and users, as in, SQLite.

is.codion.tools.generator.ui

  • DomainGeneratorPanel.USER_REQUIRED configuration property added.

0.18.28

03 Feb 11:37
Compare
Choose a tag to compare

Changes

is.codion.common.model

  • FilterModel.VisibleItems.added() added.
  • FilterModel.Items.replace() added.

is.codion.swing.common.model

  • DefaultFilterTableItems.DefaultVisibleItems now always sorts when items are added, even when added at a specific index.
  • FilterTableModel.RowEditor added.

is.codion.swing.common.ui

  • FilterTable.scrollToAddedItem() added.
  • FilterTable.scrollToCoordinate() renamed scrollToRowColumn().

is.codion.framework.domain

  • ColumnDefinition.lazy() and selectable() replaced with selected().
  • MultiValueColumnCondition bug fixed, now rejects empty values for IN and NOT_IN.
  • Entity.Key.get() renamed value().
  • Entity.clearPrimaryKey() moved to Builder.
  • Entities.keyBuilder() moved to Entity.Builder.key().

is.codion.framework.model

  • EntityModel.DetailModels.get() now returns a Map, related refactoring.
  • Remove type inference return values, convenient but unsafe.
  • ModelLink, model type parameters added, removed from static builder factory methods.
  • EntityEditModel.Insert, Update and Delete renamed InsertEntities, UpdateEntities and DeleteEntities.
  • EntityEditModel.afterUpdate() map keys are now an immutable copy of the entity before update, instead of only the original primary key.
  • EntityTableModel.OnInsert.ADD_TOP and ADD_TOP_SORTED replaced with PREPEND and ADD_BOTTOM and ADD_BOTTOM_SORTED with APPEND.
  • EntityEditModel.beforeUpdate() observer data now a Collection instead of a Map.

is.codion.swing.framework.ui

  • Remove type inference return values, convenient but unsafe.
  • EntityPanelBuilder.createPanel(), createEditPanel() and createTablePanel() error message on incorrect model type improved.
  • EntitySearchField.Builder.selectorFactory() function input now EntitySearchField instead of EntitySearchModel.
  • EntitySearchField.DefaultListSelector now uses the search field stringFactory.
  • EntitySearchField.Selector.select(), dialogOwner parameter removed, search field used.

0.18.27

27 Jan 12:00
Compare
Choose a tag to compare

Changes

is.codion.common.core

  • Value.set() and map() return value removed.
  • AbstractValue now only compares the values when set if the notification policy requires it.
  • Configuration property value methods now statically imported.

is.codion.common.model

  • DefaultConditionModel.DefaultSetCondition refactored.
  • MultiSelection.Indexes now extends Value.
  • MultiSelection.Items now extends Value.
  • SingleSelection.Item replaced with Value.
  • ConditionModel.Builder.operands() added, InitialOperands removed.
  • MultiSelection.Indexes.set(Collection) removed.

is.codion.common.rmi

  • SerializationWhitelist renamed SerializationFilter, whitelist implementation removed, now based on the built in pattern based filter.
  • SerializationFilterFactory, configuration properties renamed, some cleanup, docs improved.

is.codion.swing.common.ui

  • ColumnConditionPanel.ComponentFactory, component() methods replaced with equal(), upper(), lower() and in().
  • LookAndFeelEnabler.enableLookAndFeel() now fallbacks to the defaultLookAndFeel, if the user preference one is not available.
  • DialogBuilder.onBuild() added.
  • CalendarPanel.doubleClicked() added.
  • DefaultCalendarDialogBuilder now accepts the selected date when the day selection panel is double clicked.
  • FilterTable.Export.replaceNewline(String) added, defaults to a single space, DefaultExport now automatically trims strings.
  • FilterTable.Builder.cellSelectionEnabled().
  • FilterTable, column moving, resizing and sorting now based on lead selection index instead of selected column.

is.codion.framework.db.rmi

  • LocalConnectionHandler, method logging improved, fetch/return connection no longer logged during an open transaction.
  • LocalConnectionHandler, local connection creation logged.

is.codion.framework.domain

  • Entity.entityType() renamed type().
  • EntityDefinition.entityType() renamed type().
  • Entity.Key.entityType() renamed type().
  • Column.Setter added.
  • Column.Fetcher renamed Getter for consistency.
  • DefaultColumnDefinitionBuilder bug fixed, columnClass() did not replace the default setter.

is.codion.framework.model

  • DefaultForeignKeyConditionModel now links search models to their respective operands.
  • ForeignKeyDetailModelLink, configuration methods renamed along with associated properties.
  • DefaultEntityModel, type parameters now refer to EntityModel and EntityEditModel instead of DefaultEntityModel and AbstractEntityEditModel.
  • DefaultEntityModel now abstract, renamed AbstractEntityModel.
  • DetailModelLink and ForeignKeyDetailModelLink now Builder based, implementations package private and final.
  • DetailModelLink and ForeignKeyDetailModelLink renamed ModelLink and ForeignKeyModelLink.
  • EntityModel.DetailModels.linked() renamed active().
  • EntityModel.DetailModels.link() replaced with active().
  • ModelLink, type parameters removed.
  • EntityModel.link() added, now throws exception in case multiple fitting foreign keys are found.
  • EntityModel.DetailModels.contains(EntityType) and contains(Class) removed.
  • AbstractEntityModel bug fixed, now initializes a detail model link if active when added.
  • AbstractEntityModel now calls onSelection() for all detail model links, not just active ones.
  • DefaultModelLink.onSelection() does nothing unless link is active.
  • EntityEditModel.value() removed.
  • EntityEditModel.PERSIST_FOREIGN_KEYS moved to EntityEditor, some docs fixes and minor cleanup.
  • ForeignKeyModelLink.Builder now extends ModelLink.Builder.

is.codion.swing.framework.model

  • DefaultSwingForeignKeyConditionModel now links search and combo box models to their respective operands.

is.codion.swing.framework.ui

  • EntityConditionComponentFactory no longer links foreign key components to operands.
  • DefaultEntityApplicationPanelBuilder now adds the framework version to system properties along with the application version.
  • EntityPanel.DetailPanels.linked() renamed active().

is.codion.tools.monitor.ui

  • Demo server monitor split into separate demo-server-monitor module.

is.codion.tools.generator.ui

  • Demo domain generator split into separate demo-domain-generator module.

0.18.26

20 Jan 11:28
Compare
Choose a tag to compare

Changes

is.codion.common.model

  • TableConditionModel.ConditionModelFactory removed, related refactoring.
  • ConditionModel.SetCondition added along with set().

is.codion.swing.common.model

  • FilterComboBoxModel.Builder.filterSelected() added, now final, ComboBoxSelection removed.

is.codion.swing.common.ui

  • ColumnConditionPanel.ControlKeys.CLEAR added.
  • ComponentBuilder.TRANSFER_FOCUS_ON_ENTER removed.
  • DefaultControlsBuilder.separatorAt() bug fixed, appended instead of inserting at index.
  • DefaultControlsBuilder, now prevents multiple consecutive separators from being added via actions().
  • DefaultFilterTableSearchModel optimized, searchResults no longer ValueList based.
  • DefaultFilterTableSearchModel now clears the search text when columns are modified, which also clears the result.

is.codion.framework.server

  • Demo server split into separate demo-server module.

is.codion.framework.model

  • DefaultEntityQueryModel.conditionChanged() bug fixed, no longer active when limit, orderBy or attributes have changed.
  • EntityQueryModel.resetConditionChanged() removed.
  • EntitySearchModel.Builder.condition() added.
  • ForeignKeyConditionModel.equalSearchModel() and inSearchModel() moved to ForeignKeyOperands.
  • EntityConditionModel.attribute() replaced with column() and foreignKey().
  • ForeignKeyConditionModel now an interface.
  • EntityConditionModel renamed EntityTableConditionModel.
  • AttributeConditionModelFactory renamed EntityConditionModelFactory.
  • ForeignKeyConditionModel.ForeignKeyOperands removed.
  • EntityConditionModelFactory.conditionModel(ForeignKey) now returns ForeignKeyConditionModel.
  • EntitySearchModel.Builder.columns() renamed searchColumns().
  • EntityTableConditionModel no longer extends TableConditionModel.
  • EntityTableConditionModel.setEqualOperand() and setInOperands() removed.
  • DefaultEntityQueryModel bug fixed, refactored in order to prevent ConcurrentModificationException, no longer List based.

is.codion.swing.framework.model

  • SwingForeignKeyConditionModel.equalComboBoxModel() and inSearchModel() moved to SwingForeignKeyOperands.

is.codion.swing.framework.ui

  • EntityTablePanel.SHOW_REFRESH_PROGRESS_BAR renamed REFRESH_PROGRESS_BAR, now true by default.
  • EntitySearchField bug fixed, no longer updates the background color when disabled.
  • EntitySearchField.searchOnFocusLost now final, searchOnFocusLost() removed.
  • EntityEditComponentPanel.InputFocus.transferOnEnter() removed.
  • SwingEntityTableModel.EntityColumnFilterFactory bug fixed, did not include foreign key filters.
  • SwingForeignKeyConditionModel now an interface, extends ForeignKeyConditionModel.
  • SwingAttributeConditionModelFactory renamed SwingEntityConditionModelFactory.
  • SwingForeignKeyConditionModel.SwingForeignKeyOperands removed.
  • EntitySearchField.selectionToolTip() now performs some basic html escaping.
  • EntitySearchField bug fixed, no longer selects all and moves the cursor when returning from the selection dialog.
  • EntityEditComponentPanel.InputFocus.transferOnEnter() reintroduced.
  • DefaultEditComponentFactory, EntitySearchField no longer performs search on focus lost.
  • EntitySearchField.Builder, method return type fixed.
  • EntityComponents.textField() bug fixed, did not set the format and tooltip text for numerical and temporal fields.
  • EntityEditComponentPanel.InputFocus.AfterInsert bug fixed, component supplier initialized incorrectly, always returned null.