Skip to content

Releases: codion-is/codion

0.18.69

18 Feb 10:47

Choose a tag to compare

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

09 Feb 13:29

Choose a tag to compare

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

31 Jan 19:38

Choose a tag to compare

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

19 Jan 14:34

Choose a tag to compare

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

12 Jan 15:05

Choose a tag to compare

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

05 Jan 13:05

Choose a tag to compare

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

30 Dec 13:50

Choose a tag to compare

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

15 Dec 11:40

Choose a tag to compare

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

01 Dec 13:26

Choose a tag to compare

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

24 Nov 13:16

Choose a tag to compare

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.