Releases: codion-is/codion
Releases · codion-is/codion
0.18.69
Changes
is.codion.common.utilities
- PropertyStore, command line properties now take precedence over configuration file.
is.codion.swing.common.ui
- Windows.resizeToFitScreen() bug fixed, now uses getMaximumWindowBounds().
- FilterTable.Builder.headerless() added.
is.codion.framework.db.local
- DefaultLocalEntityConnection.insertSelect() exception behaviour now consistent with updateSelect(), fails if selected row count differs from number inserted entities.
is.codion.framework.model
- EntityEditor.EditorEntity added, handling the access to the underlying entity.
- EntityEditModel.EditEvents moved to PersistenceEvents, related renaming.
- EntityEditModel.afterInsertUpdateOrDelete() renamed persisted().
- EntityEditModel.PERSISTENCE_EVENTS renamed PUBLISH_PERSISTENCE_EVENTS, Settings.persistenceEvents() renamed publishPersistenceEvents().
- EntitySearchModel.PERSISTENCE_EVENTS renamed PERSISTENCE_AWARE, Builder.persistenceEvents() renamed persistenceAware().
- PersistenceEvents.events() renamed persistenceEvents() for static import.
- DefaultEntityEditModel.DefaultSettings minor refactoring.
- EntityEditModel.applyEdit() entities Collection parameter replaced with a single entity.
- DefaultEntityEditor now uses Objects.deepEquals() when notifying.
- EntityEditModel.applyEdit() replaced with the more focused EntityEditor.EditorValue.propagate() and Propagator.
- DefaultEntityConditionModel now validates attributes when retrieving condition models.
- DefaultEntityEditModel.insert(), update() and delete() overloaded with a single Entity instance parameter, used when persisting the active entity.
- DefaultEntityEditor bug fixed, no longer populates lazy loaded values with defaults.
- EntityPersistence refactored from DefaultEntityEditModel.
- DefaultEntityEditModel persistence listeners moved to DefaultEntityEditor, inserted(), udpated() and deleted() removed.
- DefaultEntityEditModel, notify before and after persist methods removed.
- EntityEditModel.PersistEvents and PersistTasks added.
- EntityEditModel.persistence() removed, protected DefaultEntityEditModel.persistence() added instead.
is.codion.swing.framework.model
- EntityComboBoxModel.PERSISTENCE_EVENTS renamed PERSISTENCE_AWARE, Builder.persistenceEvents() renamed persistenceAware().
is.codion.swing.framework.ui
- EntityEditorPanel.Config added, handles validIndicator, modifiedIndicator, modifiedWarning and defaultTextFieldColumns.
- EntityEditorPanel.Config.transferFocusOnEnter() added along with Config.TRANSFER_FOCUS_ON_ENTER.
- EntityEditorPanel.InputFocus moved to EntityEditPanel.
- EntityEditorPanel.Config.modifiedWarning() moved to EntityEditPanel.Config.
- EntityEditPanel.Config.editPanel() removed, unused.
- EntityEditorPanel.Config.defaultTextFieldColumns() renamed textFieldColumns().
- DefaultEditComponent.DEFAULT_TEXT_FIELD_COLUMNS renamed TEXT_FIELD_COLUMNS.
- EntityTablePanel.Config.closeAddDialog(), includeSearchField() and includeStatusPanel() added.
is.codion.tools.generator.domain
- DomainSource bug fixed, did not set hidden() for columns.
0.18.68
Changes
is.codion.common.reactive
- AbstractValueCollection, minor synchronization code cleanup.
is.codion.common.db
- ReportType, ProcedureType and FunctionType type parameters now consistent, P for parameter, and result type last.
is.codion.swing.common.ui
- DefaultFilterTableCellEditor bug fixed, stop editing on enter now works correctly for spinners.
- DefaultOkCancelDialogBuilder refactored.
- ActionDialogBuilder, OkCancelDialogBuilder, initial component step added.
is.codion.framework.domain
- AttributeDefinition.ValueSupplier renamed DefaultValue.
- AbstractValueAttributeDefinition.RangeValidator and MaximumLengthValidator bug fixed, now throw IllegalArgumentException.
- AbstractValueAttributeDefinition.validate() now prepends caption to error message.
is.codion.framework.model
- EntityEditModel.EditorValue.attribute() added.
- EntityEditor.EditorModels added, related refactoring.
- EntityEditor.SearchModels added.
- EntityEditor.replace() added, DefaultEntityEditor.setOrDefaults() now private.
- EntityEditModel.EntityEditor moved up to package level, EntityEditModel.EditorValue moved to EntityEditor.
- EntityEditor.primaryKeyNull() replaced with primaryKeyPresent().
- EntityEditor.EditorModels renamed ComponentModels.
is.codion.framework.json.domain
- EntityObjectMapper.parameter(ReportType) bug fixed, type parameter order corrected.
is.codion.swing.framework.model
- SwingEntityEditModel.createComboBoxModel() memory leak bug fixed, refresh listener now only handles managed column combo box models, related refactoring.
- SwingEntityEditor added along with SwingEditorModels.
- SwingEntityEditor.ComboBoxModels added.
- SwingEntityEditor.SwingComponentModels and ComboBoxModels interfaces removed, some refactoring.
- SwingComponentModels.createComboBoxModel() enum handling moved to EntityEditorPanel.createEnumComboBox().
- SwingEntityEditor.ComboBoxModels.column() and foreignKey() added, refreshColumnComboBoxModels() removed.
is.codion.swing.framework.ui
- EntitySearchFieldPanel.Builder return types fixed.
- EntityEditComponentPanel.EditorComponent.set(ComponentValueBuilder) added, setComponentBuilder() removed.
- EntityEditComponentPanel.DefaultEditorComponent refactored.
- EntityEditComponentPanel renamed EntityEditorPanel.
- EntityEditPanel, modified warning moved to EntityEditorPanel.
- EntityEditPanel.clearAndRequestFocus() moved to EntityEditorPanel.
- EditAttributePanel.updateStates() bug fixed, now catches ValidationException as well as IllegalArgumentException.
- EntityEditorPanel.editor() added.
- EntityApplicationPanel.handleUnsavedModifications() bug fixed, now activates the full panel hierarchy.
- EntityApplicationPanel.CALL_SYSTEM_EXIT renamed SYSTEM_EXIT.
- EntityApplicationPanel.viewDependencyTree() removed.
- EntityApplicationPanel.viewApplicationTree() removed.
- EntityPanel.Display and Activation replace activate() and activated().
- EntityApplicationPanel.handleUnsavedModifications() no longer now activates the full panel hierarchy, now handled by EntityPanel.display().
is.codion.tools.jul.classpath
- Automatic directory creation implemented in ClasspathConfiguration.
is.codion.tools.swing.robot
- Narrator window handling improved.
is.codion.tools.swing.mcp
- SwingMcpPlugin.Builder added, related refactoring.
- SwingMcpPlugin merged with SwingMcpServer, unused io.modelcontextprotocol.sdk:mcp dependency replaced with jackson-databind.
0.18.67
Changes
is.codion.common.reactive
- Observer.Builder added along with AbstractObserver.AbstractBuilder, related refactoring.
- Observer.observer() added, Observable, default Observer method implementations moved to Observer, related refactoring.
- AbstractObserver, BaseValue and DefaultObservableState, internal Lock objects removed, methods synchronized instead.
is.codion.common.db
- Database.close() and AbstractDatabase.closeDatabase() added, for closing embedded databases.
is.codion.common.model
- UserPreferences.set() renamed put().
- UserPreferences.flush() no longer flushes file based preferences.
- UserPreferences.file() moved to FilePreferences.filePreferences().
- FilePreferences now caches preferences using a Path instead of filename.
- JsonPreferencesStore bug fixed, no longer removes lock files on save, problematic on Windows.
- FilePreferences.PRETTY_PRINT configuration value added, default false.
is.codion.common.rmi
- ServerAdmin.lastMaintenance() added.
is.codion.swing.common.ui
- ComponentValueBuilder.validIndicator(ValidIndicatorFactory) renamed validIndicatorFactory().
- SearchHighlighter.scrollToPosition() now ignores BadLocationException, contents may be changing, best effort scrolling.
- ValidIndicatorFactory removed, ValidIndicator added.
- ComponentValueBuilder.validIndicatorFactory() renamed validIndicator(), validIndicator(ObservableState) and validIndicator(Predicate) renamed valid().
- ModifiedIndicatorFactory renamed ModifiedIndicator.
- ComponentValueBuilder.modifiedIndicator(ObservableState) renamed modified().
- LogViewer, clear control moved to popup menu, minor refactoring.
- AbstractComponentBuilder.enableTransferFocusOnEnter(), enableValidIndicator() and enableModifiedIndicator() renamed enable.
is.codion.plugin.flatlaf
- is.codion.plugin.flatlaf module now exports indicator package, so FlatLafValidIndicatorFactory can be instantiated directly.
is.codion.framework.domain
- DefaultEntity.valueEqual() now uses deepEquals().
is.codion.framework.db.core
- DeleteEntityException, EntityModifiedException, MultipleEntitiesFoundException, EntityNotFoundException and UpdateEntityException moved from common.db module, EntityModifiedException improved.
is.codion.framework.db.local
- EntityResultPacker no longer initializes non-selected columns with null values, Entity.contains() now returns false for non-loaded lazy columns.
- DefaultLocalEntityConnection.insertSelect() and updateSelect(), all returned entities now include any lazy loaded columns encountered in any of the entities being inserted or updated.
- DefaultLocalEntityConnection optimistic locking, lazy loaded value handling improved.
is.codion.framework.model
- EntityEditModel.EditEvents.Inserted, Updated and Deleted added, entity type validated.
- EntityEditModel.refresh() moved to EntityEditor.
is.codion.swing.framework.ui
- EntitySearchField bug fixed, now uses MessageFormat.format() when formatting result limit message.
- EntityPopupMenu removed, EntityViewer added.
- EntityEditPanel.ControlKeys.DISPLAY_ENTITY_VIEWER and DISPLAY_QUERY_INSPECTOR renamed VIEW_ENTITY and INSPECT_QUERY.
- EntityTablePanel.ControlKeys.DISPLAY_ENTITY_VIEWER, DISPLAY_QUERY_INSPECTOR and DISPLAY_POPUP_MENU renamed VIEW_ENTITY, INSPECT_QUERY and POPUP_MENU.
- EntityPanel, EntityTablePanel.writeLegacyPreferences() and applyLegacyPreferences() removed.
- EntityTablePanelPreferences, condition preferences only include values that differ from defaults.
is.codion.framework.server
- LocalConnectionHandler.logEntry(), null message eliminated.
is.codion.tools.generator.domain
- DomainSource now interleaves entity interfaces and implementation methods in combined domain source files.
is.codion.tools.monitor.model
- ClientUserMonitor monitors the connection maintenance task timestamp and whether the task is delayed.
is.codion.tools.monitor.ui
- ClientUserMonitorPanel displays the connection maintenance timestamp and indicates whether the task is delayed.
- ClientInstanceMonitorPanel.FilenameSupplier no longer includes file extension in suggested file name.
is.codion.tools.swing.robot
- Controller, now stops automation if JVM windows lose focus.
- DefaultAutomation, now logs FocusLostException instead of rethrowing, which could otherwise cancel application exiting.
is.codion.tools.swing.mcp
- SwingMcpPlugin now handles FocusLostException from controller, related refactoring.
- SwingMcpBridge added, replacing python bridge.
0.18.66
Changes
is.codion.common.reactive
- DefaultValueCollection.sort() bug fixed, now correctly synchronized.
- DefaultValue.lock moved to DefaultValueCollection.
- AbstractValue.AbstractBuilder refactored from DefaultValue.DefaultBuilder.
- DefaultValueCollection now extends AbstractValue instead of DefaultValue, DefaultValue now final.
- DefaultValueCollection, DefaultObservableValueCollection and DefaultBuilder now abstract, renamed AbstractValueCollection, AbstractObservableValueCollection and AbstractValueCollectionBuilder respectively.
- BaseValue extracted from AbstractValue, AbstractValueCollection extends it, now properly synchronized.
- BaseValue.observer(), observable(), changed() and locked() now synchronizes on internal lock.
is.codion.common.model
- JsonPreferencesStore bug fixed, lock file now cleanup up on save.
- JsonPreferencesStore, now calls channel.force(true) before atomic move, preventing null-byte corruption in VirtualBox/Windows environments.
is.codion.swing.common.ui
- FilterTable.Builder.paintRemainingRows() and FilterTable.PAINT_REMAINING_ROWS renamed rowsFillViewport() and ROWS_FILL_VIEWPORT.
- FilterTable.Builder.hiddenColumns() renamed hideColumns().
- DefaultTextFieldBuilder no longer sets maximum length for character based fields.
- ParsingDocumentFilter.SilentValidator and CharacterDocument added, Character text field length validation now silent.
- CalendarPanel bug fixed, time fields no longer included for LocalDate.
is.codion.framework.domain
- AbstractValueAttributeDefinitionBuilder no longer sets maximum length for character attributes.
is.codion.framework.db.core
- EntityConnectionProvider.CLIENT_DOMAIN_TYPE removed.
- EntityConnectionProvider.connectionType() removed.
- EntityConnectionProvider.Builder.connectionType() replaced by supports(connectionType).
- EntityConnectionProvider.clientType() no longer returns Optional.
is.codion.framework.model
- EntityApplicationModel.version() removed.
- DefaultEntityApplicationModel, Preferences constructor parameter added.
- EntityApplicationModel.legacyPreferences() removed.
is.codion.swing.framework.ui
- EntityTablePanelPreferences bug fixed, column width preferences got lost for panels that were never initialized, now sets the column width as well as preferred width when applying preferences.
- EntityTablePanelPreferences, auto-resize-mode preference added.
- EntityTablePanelPreferences bug fixed, filter settings used instead of condition settings.
- EntityTablePanelPreferences simplified, internal java representation classes removed, json used directly instead, tests improved.
- EntityPanel now throws exception if it's added as its own detail panel.
- EntityApplicationPanel, preferences now stored in a single json node, related refactoring.
- EntityApplicationPanel.applyPreferences() and storePreferences() now public.
- EntityApplication.DomainStep added.
- DefaultEntityApplication preferences handling improved.
- EntityTablePanelPreferences, filter preferences added.
- EntityApplicationPanel, EntityPanel, EntityEditPanel, EntityTablePanel, applyPreferences() and storePreferences() renamed restore() and store(), preferences re-added as parameter, setPreferences() removed.
- EntityApplicationPanel, preferences handling cleanup up.
0.18.65
Changes
is.codion.common.model
- JsonPreferencesStore no longer writes empty preferences files, and deletes empty ones.
is.codion.swing.common.model
- FilterTableModel.Builder, selection listener methods added.
- FilterComboBoxModel.Builder.onSelection() renamed onItemSelected().
- FilterListModel.Builder, selection listener methods added.
is.codion.swing.common.ui
- DefaultFilterTableHeaderRenderer bug fixed, tooltip from previous column persisted, now cleared.
- FilterTable.Builder.fillsViewportHeight() added along with FILLS_VIEWPORT_HEIGHT configuration parameter, true by default, clicking an empty table now focuses it.
- ValidationDocumentFilter removed, CaseDocumentFilter and SizedDocument no longer public, related refactoring.
- Utilities.printFocusOwner() formatter parameter added.
- FilterTable.Builder.stopEditOnFocusLost() added along with STOP_EDIT_ON_FOCUS_LOST configuration value, default true.
- FilterTableCellEditor.Builder.stopCellEditing() added.
- CalendarPanel, not including time no longer disables the time element of the component dateTime value, only excludes the input fields.
- DefaultComboBoxSelectionDialogBuilder bug fixed, now uses singular selection dialog title.
- CalendarPanel.Builder.includeTimeZone() added.
- DefaultFrameBuilder bug fixed, now always makes sure the frame fits the screen.
- DefaultComponentDialogBuilder, DefaultListSelectionDialogBuilder and DefaultComboBoxSelectionDialogBuilder bug fixed, now always make sure the dialog fits the screen.
- DefaultFilterTableCellRenderer bug fixed, no longer sets tooltips for null column values.
- TextComponents.preferredTextFieldHeight() removed.
is.codion.plugin.flatlaf
- UIScaler bug fixed, now supports the codion intellij themes.
is.codion.plugin.flatlaf.themes
- Module is.codion.plugin.flatlaf.lookandfeels renamed is.codion.plugin.flatlaf.themes.
is.codion.framework.i18n
- FrameworkMessages.EDIT_VALUE rename EDIT_ATTRIBUTE for consistency.
is.codion.framework.domain
- ValidationException now handles multiple invalid attributes, subclasses removed, related refactoring.
- ValidationException.invalidAttributes() renamed invalid().
is.codion.swing.framework.model
- EntityComboBoxModel.Builder.onSelection() renamed onItemSelected().
is.codion.swing.framework.ui
- EntityApplicationPanel.exiting() and initialized() observer types improved.
- EntityEditComponentPanel.InputFocus.Initial.get() added, falls back to the default focus traversal component, making most usages of Initial.set() redundant.
- EntityPanel.EntityPanelFocusTraversal policy added, to prevent JTabbedPane from messing with the focus when navigating using the keyboard.
- EntityApplicationPanel.LEGACY_PREFERENCES now false by default and deprecated for removal.
- EntityEditPanel.Config.confirmInsert(), confirmUpdate() and confirmDelete() added along with CONFIRM_INSERT, CONFIRM_UPDATE and CONFIRM_DELETE configuration properties, related refactoring.
- EntityTablePanel.Config.confirmDelete() added along with CONFIRM_DELETE configuration property.
- EntityTablePanel.onValidationException() removed, unused, onException() only called on delete.
- EntityEditPanel now focuses the first invalid attribute field on validation exception.
- EntityTablePanel, mnemonics removed from EDIT and ADD toolbar controls, accessible via shortcut keys.
0.18.64
Changes
is.codion.common.reactive
- DefaultObserver now abstract, renamed AbstractObserver.
- Conditional bug fixed, now works with arrays using deepEquals().
- Observable.is() bug fixed, now works with arrays using deepEquals().
- DefaultValueChange.equals() bug fixed, now works with arrays using deepEquals().
- Value.map() renamed update().
is.codion.common.utilities
- Exceptions.runtime() without unwrap added.
is.codion.swing.common.ui
- CheckBoxValue removed, related refactoring.
- DefaultToggleButtonBuilder, AbstractToggleMenuItemBuilder bug fixed, ObservableStateLink added, now sets initial value.
- Control.enabled() now returns Optional, AbstractControl, unnecessary enabledObserver no longer created, unnecessary overload of getValue() removed.
- AbstractDialogBuilder bug fixed, now handles null frame icon.
- FilterTableCellEditor.Builder.resizeRow() added for overriding the default table setting.
- AbstractComponentBuilder.enableModifiedIndicator() added.
- DefaultFilterTableCellRenderer no longer sets JComboBox.isTableCellEditor, not required due to Enter key handling, value changes now visible when using arrow keys.
- DefaultValidIndicatorFactory renamed BackgroundColorValidIndicatorFactory, related refactoring.
- ModifiedIndicatorFactory now service based, SwapColorsModifiedIndicatorFactory added, related refactoring.
- FilterTableCellEditor.Builder.configure() added, for configuring custom components, related refactoring.
- DefaultFilterTableCellEditor bug fixed, now consumes the Enter key event after stopping editing.
- FilterTableCellEditor.CLICK_COUNT_TO_START configuration value added.
- FilterTableCellEditor.Builder.shouldSelectCell() added, default consistent with DefaultCellEditor.
- DefaultFilterTableCellEditor.componentValue() now synchronizes on the inputComponent.
- FilterTableCellEditor.Factory.create() return type now FilterTableCellEditor.
- FilterTableHeaderRenderer.Factory.create() FilterTableColumn parameter replaced with column identifier.
- FilterTableCellEditor.Factory.create() table parameter added, related refactoring.
- NumberField now handles BigInteger, Components.bigIntegerField() added.
- FilterTableCellEditor.factory() added along with DefaultFilterTableCellEditor.DefaultFactory, FilterTable now provides default editors for a bunch of column types.
is.codion.framework.domain
- Attribute.Type.isBigInteger(), EntityType.bigIntegerAttribute() and bigIntegerColumn() added.
is.codion.framework.db
- EntityConnection.queryCache() renamed cacheQueries().
is.codion.framework.db.local
- DefaultLocalEntityConnection, DefaultLocalEntityConnectionProvider, minor logging improvements.
is.codion.framework.model
- AbstractEntityEditModel, DefaultEntitySearchModel, minor logging improvements.
is.codion.swing.framework.model
- DefaultEntityComboBoxModel, minor logging improvements.
is.codion.swing.framework.ui
- EntityTableExportModel.all() added, EntityTableExportPanel all/selected radio button setup improved.
- EntityApplicationPanel, EntityPanel, EntityEditPanel, EntityTablePanel initialization logging added.
- EntityComponents.bigIntegerField() and EntityEditComponentPanel.createBigIntegerField() added.
is.codion.plugin.flatlaf
- is.codion.plugin.flatlaf module now service only, look and feels moved to a new is.codion.plugin.flatlaf.lookandfeels module.
is.codion.plugin.flatlaf.intellij.themes
- Solid Cherry, Hard Hacker, Dark Ubuntu, Autumn, Iceberg, Copilot and Pink As Heck IntelliJ themes added.
0.18.63
Changes
is.codion
- Service configuration error handling bug fixed, ServiceConfigurationError does not always have a cause.
is.codion.common.reactive
- AbstractValue.setAndNotify() bug fixed, change event no longer triggered when nullValue set.
- Value.locked() added.
- Value.changed() added, along with Value.Change.
- Conditional no longer implements Consumer.
- Value.Change renamed ValueChange and moved up to package level, factory method added.
- DefaultValueChange moved up to package level, implements equals() and hashCode().
- DefaultValue.DefaultBuilder listener management improved, conditional listeners included.
is.codion.common.utilities
- Exceptions.runtime() resulting RuntimeException now uses the stacktrace from the cause.
is.codion.common.model
- DefaultConditionModel, caseSensitive now included in locked state.
is.codion.swing.common.model
- DefaultListSelection.DefaultItems.getValue() bug fixed, now excludes invalid indexes.
is.codion.swing.common.ui
- AbstractComponentBuilder.popupControls() bug fixed, on longer creates submenu for Controls without a caption.
- FilterTable.Builder.columnToolTips() added.
- FilterTable.Builder.filterComponents() identifier parameter added.
- ColumnConditionPanel.ConditionComponents method now have default implementations.
- DefaultFilterTableCellEditor.DefaultCellEditable, edit no longer started if modifier buttons are present.
- SVGIcon added, replaces Ikonli dependency, icon handling simplified.
- FilterTable.createCopyColumn() renamed createCopyColumnControl().
- AbstractComponentValueBuilder.createComponentValue() renamed createValue().
- ComponentValueBuilder, a few missing listener and consumer methods added.
- AbstractComponentValueBuilder, listener management now consistent with DefaultValue.DefaultBuilder.
- FilterTable.FilterTableHeader removed, now uses default JTableHeader toolTip functionality, COLUMN_TOOL_TIPS configuration value added.
- FilterTable.Builder.paintRemainingRows() added along with PAINT_REMAINING_ROWS configuration value.
- SVGIcon.size() added.
- DefaultIcons, logo special handling removed, refactoring.
- SVGIcon now concrete class, extends ImageIcon.
- Logos removed.
- AbstractDialogBuilder icon now defaults to JFrame owner icon.
- Icons renamed SVGIcons.
- FlexibleGridLayout bug fixed, now behaves the same as GridLayout when distributing extra space.
- TreeBuilder added.
- FilterList.Builder.dropMode() and dragEnabled() added
- FilterTable.Builder.dropMode() added.
- FilterTable.PAINT_REMAINING_ROWS now false by default.
is.codion.framework.model
- AttributeConditionModel and ColumnConditionModel added.
- DefaultEntityConditionModel, temporal equal precision adjustment now half-open interval based.
is.codion.swing.framework.ui
- EntityConditionComponents.createEqualForeignKeyField(), combo box model only populated if it hasn't been already.
- EntityConditionComponents, attribute constructor parameter removed.
- EntityTablePanel.Config.conditionComponents() attribute parameter removed.
- EntityTablePanel.Config.filterComponents() added.
- EntityTablePanel bug fixed, ControlKeys.COPY_CONTROLS did not contain COPY_COLUMN.
- EntityTablePanel, export control moved out of popup copy submenu, icon added.
- FrameworkMessages.copyTableWithHeader() removed, moved to EntityTablePanel i18n messages.
- EntityApplicationPanel, modified warning improved, message now includes modified attributes, panel activated and modified input field focused.
- EntityEditPanel, modified warning improved, message now includes modified attributes, modified input field focused.
- EntityEditComponentPanel.setComponentBuilder() now protected and final, providing an entry point for custom component integration.
- FrameworksIcons.FRAMEWORKS_ICON_CLASSNAME renamed FRAMEWORK_ICONS.
- FrameworkIcons.color() removed.
- EntityTableExportModel.populate() bug fixed, now handles missing attributes.
- EntityTableExportModel.ExportTreeModel.showHidden() added, related refactoring.
- ExportTreeModel refactored from EntityTableExportModel and renamed EntityTableExportTreeModel.
- EntityTableExportTreeModel, showHidden no longer resets tree model.
- EntityTableExportTreeModel.hideExcluded() and showExcluded() added, related refactoring.
- EntityTableExportPanel, attributes can now be reordered using drag'n drop.
0.18.62
Changes
is.codion.common.reactive
- ValueList.sort() moved up to ValueCollection.
- State.contains(), resulting state now serves as GC anchor for the link.
- Conditional.OnCondition removed, related refactoring.
- Conditional.accept() renamed consume().
- DefaultObserver moved to observer package, public with protected notifyListeners().
- Observer.when() now returns a new conditional Observer.
- Value.Builder.when() and State.Builder.when() added.
- State.Builder.group() added.
- Observer.when() default implementations removed.
- AbstractValue, ValueObserver added, no longer depends on Event.
- DefaultObservableState, StateObserver added, no longer depends on Event.
is.codion.common.utilities
- Exceptions added, with runtime wrapping and unwrapping.
is.codion.swing.common.ui
- AbstractComponentBuilder.label(Consumer) now builds and sets label right away.
- DefaultInputPanelBuilder now uses the label from AbstractComponentBuilder if specified.
- ColumnConditionPanel.createComponents() bug fixed, locked state validation was disabled a bit too late.
- FilterTableCellRenderer.Configurer renamed Customizer.
- ExceptionDialogBuilder, RuntimeException no longer a wrapping exception by default.
- FilterTable.copyToClipboard() bug fixed, only included selected columns, even when column selection was not enabled.
- FilterTable.copySelectedCell(), copySelectedColumn() and copyToClipboard() renamed copyCell(), copyColumn() and copyRows().
- ImagePane, a few potential divide by zero errors prevented.
- ImagePane.Builder.nullable() added, default true.
- ImagePane.Builder.navigationCorner() added along with NavigationCorner enum and NAVIGATION_CORNER configuration value.
- ExceptionDialogBuilder unwrapping functionality removed.
is.codion.framework.domain
- AttributeValidator added along with ValueAttributeDefinition.Builder.validator().
- EntitySerializer bug fixed, key deserialization now fails if attribute is not found.
- EntitySerializer bug fixed, composite key deserialization now fails if attribute is not found.
- DefaultEntityDefinition now throws exception in case a derived attribute cycle is detected.
is.codion.framework.db.local
- SelectQueries.defaultAttributesCache removed, redundant, now uses EntityDefinition.Attributes.selected().
- LocalEntityConnection.limitForeignKeyReferenceDepth() renamed limitReferenceDepth(), related renaming.
- LocalEntityConnection.LIMIT_FOREIGN_KEY_REFERENCE_DEPTH renamed to LIMIT_REFERENCE_DEPTH.
- BufferedEntityResultIterator added, populates foreign keys in batches when iterating.
- DefaultLocalEntityConnection.iterator() now uses buffered iterator when select includes foreign keys.
- LocalEntityConnection.iteratorBufferSize() added along with ITERATOR_BUFFER_SIZE configuration value.
is.codion.framework.model
- DefaultEntityExport.addToRow() bug fixed, did not include empty values for null foreign keys.
- EntityExport.Settings replaced with ExportAttributes, related refactoring.
- EntityExport.Builder steps reordered.
- DefaultEntityExport now restricts selected attributes to those included in the export, caching improved, related refactoring.
- EntityExport, entities provided by iterator used directly, Builder.EntitiesStep.keys() added, entities queried.
- DefaultEntityExport now automatically selects source values for derived attributes.
is.codion.swing.framework.model
- EntityTableExportModel refactored.
- EntityComboBoxModel.find(key) removed, select(key) validates type.
- EntityTableExportModel bug fixed, foreign key node not changed when included.
is.codion.swing.framework.ui
- EntitySearchField bug fixed, search can no longer be triggered while search is ongoing.
- EntitySearchField, ESC key now cancels current search and all typed keys are consumed while search is ongoing.
0.18.61
Changes
is.codion.common.reactive
- State.contains(ValueSet, value) added.
- Observer.when() added along with Conditional and OnCondition.
- State.present() refactored.
- ValueList.sort() added.
is.codion.common.model
- FilterModel.FilteredItems now extends Observable.
- TableConditionModel.optional() removed.
- FilterModel.Builder.included() renamed include(), IncludedPredicate renamed IncludePredicate.
is.codion.swing.common.model
- DefaultFilterComboBoxModel bug fixed, selection event now triggered when the selected item gets replaced during refresh.
is.codion.swing.common.ui
- FilterComponentFactory renamed FilterComponents, now a singleton.
- ColumnConditionPanel.ComponentFactory renamed ConditionComponents.
- FilterTable.Builder.cellRendererFactory(), headerRendererFactory(), cellEditorFactory() and summaryValuesFactory() renamed cellRenderers(), headerRenderers(), cellEditors() and summaryValues().
- FilterTable.Builder.filterPanelFactory() renamed filterPanel().
- ComponentValueBuilder.validIndicatorFactory() and modifiedIndicatorFactory() renamed validIndicator() and modifiedIndicator().
- DefaultProgressWorkerDialogBuilder, minor refactoring.
- FilterTableHeaderRenderer.FOCUSED_COLUMN_INDICATOR now false by default.
- DefaultFileSelectionDialogBuilder.selectFileToSave() bug fixed, file extension now handled correctly in case file exists.
- DefaultFileSelectionDialogBuilder, english file_exists i18n value too long for dialog title, shortened.
is.codion.framework.domain
- ColumnConditionFactory and ForeignKeyConditionFactory renamed ColumnConditions and ForeignKeyConditions.
- DerivedValue.get() renamed from().
is.codion.framework.model
- EntityQueryModel.SelectAttributes.included() and excluded() added.
- EntityTableModel.queryModel() renamed query().
- EntityTableConditionModel now extends TableConditionModel.
- EntityQueryModel, additional conditions moved to EntityTableConditionModel.
- EntityQueryModel.conditionChanged() moved to EntityTableConditionModel.modified().
- EntityTableConditionModel.AdditionalConditions added along with additional().
- EntityTableConditionModel.conjunction() added, where() and having() conjunction parameters removed.
- EntityTableConditionModel.Builder added, factory methods removed.
- EntityTableConditionModel renamed EntityConditionModel.
- EntityConditionModel.Builder.conditionModelFactory() renamed conditions().
- EntityConditionModelFactory renamed EntityConditions.
- EntityConditions.conditionModel() renamed condition().
- EntityConditionModel bug fixed, get(Column column) reintroduced, required for type inference.
- EntityEditModel.EditorValue.original() added.
- EntityExportModel refactored from EntityTableExportModel, related refactoring.
- EntityExportModel.EntityNode.sort() added.
- EntityExportModel.ForeignKeyNode.isCyclicalStub() renamed expandable().
- EntityExportModel.Exporter added, DefaultEntityExportModel, minor refactoring.
- EntityExportModel refactored into EntityExport and EntityExport.Settings.
- EntityExport.Settings.Attributes added.
- DefaultEntityExport.addToHeader() bug fixed, now uses correct entity definition when looking up the caption, DefaultEntityExportTest added.
- DefaultEntityExport logger added, record not found exception handling improved.
is.codion.swing.framework.model
- SwingEntityConditionModelFactory renamed SwingEntityConditions.
is.codion.swing.framework.ui
- EntityTablePanel bug fixed, status message now updated correctly when all items are filtered.
- EntityTablePanel limit status message improved.
- EditComponentFactory renamed EditComponent, related renaming.
- EntityTableCellRendererFactory renamed EntityTableCellRenderers.
- EntityTablePanel.Config.conditionPanelFactory() renamed conditionPanel().
- EntityEditPanel.InsertCommand, UpdateCommand and DeleteCommand.Builder.execute() added.
- EntityTableExportModel bug fixed, now reloads configuration when files are saved or refreshed.
- EntityTableExportPanel bug fixed, unselected foreign key attributes with selected children can now be moved.
- EntityTableExportPanel, intermittent index out of bounds during multiple item move bug fixed, indexes now sorted, order not guaranteed by getSelectionPaths().
- EntityTableExportModel foreign key nodes now indicate the number of selected child attributes.
- EntityTableExportModel.sortAttributes() ClassCastException bug fixed.
0.18.60
Changes
is.codion.common.reactive
- ObservableValueCollection.containsOnly() and containsNone() added.
is.codion.swing.common.model
- NullableToggleButtonModel.next() renamed toggle().
- NullableToggleButtonModel now extends ToggleButtonModel.
- FilterComboBoxModel.Builder.select() added.
- NullableToggleButtonModel moved to NullableCheckBox and renamed NullableCheckBoxModel, no longer public.
is.codion.swing.common.ui
- ListBuilder moved to FilterList.Builder, FilterList.builder() added, related refactoring.
- Components.list() removed.
- FilterTable.Builder.cellRenderer() now consumer based, with columnClass parameter.
- FilterTableCellRenderer.UISettings column identifier type parameter added.
- FilterTableCellRenderer.UISettings.background() filterEnabled parameter removed, identifier and tableModel added.
- DefaultFilterTableCellRenderer typo fixed.
- FilterTableCellRenderer.SET_BORDER configuration value added.
- FilterTable.selectSearchResult() cell focus simplified.
- NullableCheckBox bug fixed, now works as cell editor, simplified.
- DefaultFileSelectionDialogBuilder now adds selected file extension to filename, related refactoring.
- Utilities.expandAll() and collapseAll() removed.
- Utilities.parentOfType(), parentWindow(), parentFrame(), parentDialog() and disposeParentWindow() removed.
- Ancestor added.
- Utilities.systemLookAndFeelClassName() moved to LookAndFeelEnabler, systemOrCrossPlatformLookAndFeelEnabled() removed.
- FilterTableCellRenderer.Builder.toolTipData() replaced with toolTip() function.
- FilterTableCellRenderer.Configurer added along with Builder.configurer(), simplified and refactored.
- FilterTableCellRenderer.Factory.create() table model parameter replaced with table.
- FilterTableHeaderRenderer.Factory.create() table model parameter replaced with table.
- ComponentBuilder.popupControls(BiConsumer<C, ControlsBuilder>) added, popupMenuControl() and popupMenuControls() renamed popupControl() and popupControls().
- DefaultCommandControl, minor refactoring.
is.codion.framework.domain
- EntityType.define() and AttributeDefiner.define() renamed as().
- DerivedAttributeDefinition.sources() renamed attributes().
- DerivedValue.get(), SourceValues parameter renamed values.
is.codion.framework.db.local
- DefaultEntityQueries.update() bug fixed, buggy modified check removed, caller is responsible for providing a modified entity.
- EntityResultPacker, minor refactoring, transient attributes are never derived.
is.codion.framework.model
- EntityEditModel.EntityEditor.Modified.attributes() added.
is.codion.swing.framework.model
- EntityComboBox.Builder.select() added.
- EntityComboBoxModel.Builder.filter() added.
is.codion.swing.framework.ui
- EntityTableExportModel bug fixed, incorrect i18n keys fixed.
- EntityTableCellRenderer renamed EntityTableCellRendererFactory.
- EntityTablePanel.Configuration.cellRenderer() now consumer based.
- EntityTableExportPanel, attribute ordering implemented.
- EntityTableExportModel, attribute ordering included in json.
- EntityTableCellRendererFactory.create() now final, protected Swing specific create() added.
- EntityTableExportPanel bug fixed, attribute ordering now works correctly.
- EntityTableExportPanel, configuration file management implemented.
- EntityTableExportPanel, dialog size added to user preferences.
- EntityEditComponentPanel, components for derived attributes now disabled by default.
- EntityTableExportPanel bug fixed, save now possible with no configuration file selected as well as saving preferences.
- EntityTableExportModel no longer saves the current export configuration to preferences.
- EntityTableExportPanel now collapses unselected nodes when applying configuration.
- EntityTableExportPanel, only selected nodes can be moved, ALT-space toggles one level of foreign key items.
- EntityTableExportPanel UI reorganized, help button added, related refactoring.
- EntityTableExportModel, entity type added to json, validated on open file, related refactoring.
- EntityTableExportPanel, clear control added to configuration file combo box popup menu.
- EntityTablePanel, export panel now initialized lazily.
- EntityExportPanel refactored, no longer modal, model now handles all preferences.
- EntityTableExportModel, record not found exception handling improved.
- EntityTableExportPanel bug fixed, now expands tree on initialization, help improved.