Releases: codion-is/codion
Releases · codion-is/codion
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.
0.18.59
Changes
is.codion.common.model
- DefaultFilterModelItems.replace() bug fixed, now uses ItemsListener.inserted() and updated() instead of changed().
is.codion.common.utilities
- TypeReference moved from domain module.
- ProxyBuilder.of() overloaded with TypeReference.
is.codion.common.rmi
- SerializationFilterDryRun no longer includes primitives in output.
- SerializationFilterDryRun now appends exclude all to output.
is.codion.common.model
- FilterModel.Refresher.exception() observer removed, related refactoring.
is.codion.swing.common.model
- DelayedAction.Performer now ActionListener instead of Action.
- AbstractRefreshWorker onRefreshException handler parameter added.
- FilterTableModel.editor() added.
- DefaultFilterListModel.ListModelAdapter.updated() bug fixed, missing fireIntervalAdded() added.
is.codion.swing.common.ui
- LookAndFeelSelectionDialogBuilder.allowInstalled() added along with ALLOW_INSTALLED configuration property.
- ImagePanel can now have multiple overlays.
- FilterTable.copySelectedColumn() added along with ControlKeys.COPY_COLUMN.
- FilterTableCellRenderer.Builder.focusedCellIndicator() added.
- FilterTableHeaderRenderer added, now indicates the focused column with a darkened header, FOCUSED_COLUMN_INDICATOR configuration property added.
- FilterTable.Builder.headerRendererFactory() added.
- DefaultFilterTableColumnModel.DefaultColumnSelection now updates lead and anchor indexes when adjusting.
- ImagePanel renamed ImagePane.
- ImagePane public api improved.
- Utilities.link() removed.
- DefaultFilterTableHeaderRenderer bug fixed, focused column indicator now shown while selection is adjusting.
- ImagePane bug fixed, ByteArrayComponentValue.optional() now returns an empty Optional when the byte array is empty.
- TextFieldPanel.maximumLength can now be 0, for consistency.
is.codion.framework.domain
- DerivedValueStep.value() renamed DerivedWithStep.with().
- DenormalizedAttributeStep.attribute() renamed DenormalizedUsingStep.using().
- DomainModel.add(EntityDefinition) bug fixed, no longer validates entity domain, prevented selective composition, docs updated.
- DomainModel composition improved, Entities.Configurable.add(entities, entityTypes) added, dependencies now automatically included.
- ValueAttributeDefinition, formatting related things moved back to AttributeDefinition.
- AttributeDefinition.nullable() moved to ValueAttributeDefinition and ForeignKeyDefinition.
- AttributeDefinition.defaultValue() moved to ValueAttributeDefinition.
- ForeignKeyDefinition.nullable() removed, EntityValidator.nullable() handles it.
- DefaultEntityDefinition refactored, builders no longer required internally.
- Column.Converter.fromColumnValue() and toColumnValue() renamed fromColumn() and toColumn().
is.codion.framework.model
- EntityTableModel.EntityTableEditor added along with AbstractEntityTableModel.AbstractAbstractEntityTableEditor.
- AbstractEntityTableModel.replaceEntities() removed, now relies on FilterModel.Items.replace() instead.
- EntityTableModel.refreshTask() added along with RefreshTask, for async refreshing of entities.
- AbstractEntityTableModel.refresh(keys) implementation removed.
is.codion.swing.framework.model
- SwingEntityTableModel.SwingEntityTableEditor added.
- SwingEntityTableModel, table editing now FilterTableModel.Editor based.
- SwingEntityTableModel.refresh(keys) added, runs async on EDT.
is.codion.swing.framework.ui
- EntityTablePanel.Config.columns() added.
- EntityPopupMenu, string values now surrounded by quotes, for spotting leading and trailing spaces. Clipboard action now includes full values.
- EntityTablePanel.ControlKeys.COPY_COLUMN added.
- EntityTablePanel bug fixed, filter and condition panels now scrolled correctly when initially shown.
- EntityPanel, now includes an empty border by default, with a top inset, Config.border().
- EntityPanel.mainPanel() renamed initializeMainPanel(), now throws exception if called more than once, createMainComponent() renamed initializeMainComponent.
- EntityPanel.mainPanel() reintroduced.
- EntityComponents bug fixed, no longer assumes all attributes are ValueAttributeDefinition based.
- EntityPanel.mainPanel() and initializeMainPanel() combined in defaultPanel().
is.codion.tools.monitor.ui
- ServerMonitorPanel memory usage display improved, server reachability status shown.
- ClientMonitorPanel bug fixed, filter panel now scrolled correctly when initially shown.
0.18.58
Changes
is.codion.common.reactive
- is.codion.common.core renamed is.codion.common.reactive.
- AbstractValue now relies on Objects.deepEquals(), now handles arrays correctly.
is.codion.common.utilities
- is.codion.common.utilities split from is.codion.common.core.
- is.codion.plugin.jul.proxy, is.codion.plugin.log4j.proxy, is.codion.plugin.logback.proxy META-INF service definition filename fixed.
- LoggerProxy.getLogLevel() and setLogLevel() overloaded with logger name.
- LoggerProxy.loggers() added.
- LoggerProxy.NULL_PROXY renamed NONE, related refactoring.
- LoggerProxy.rootLogger() added, getLogLevel() and setLogLevel() removed.
is.codion.tools.jul.classpath
- ClasspathConfiguration split from is.codion.plugin.jul.proxy module.
is.codion.tools.swing.robot
- is.codion.tools.swing.robot migrated from is.codion.plugin.swing.robot.
is.codion.tools.swing.mcp
- is.codion.tools.swing.mcp migrated from is.codion.plugin.swing.mcp.
is.codion.swing.common.model
- FilterTableModel.Builder.refresh() added.
is.codion.swing.common.ui
- ImagePanel migrated from is.codion.plugin.imagepanel module, which has been removed.
- ImagePanel overlay painter now receives the panel instead of just the graphics context.
- ImagePanel no longer opaque by default.
- FilterTableCellRenderer.Builder.component() added.
- ImagePanel refactored, ComponentValue now byte array based.
- ComponentBuilder.ancestorListener() added.
- ComponentBuilder.hierarchyListener() added.
- ImagePanel.resetView() renamed reset().
- LogLevelPanel added.
- ImagePanel.autoResize() added.
- LogLevelPanel refactored to be able to use any provided LoggerProxy instance.
- LogLevelPanel, filter field added, minor refactoring.
- ImagePanel bug fixed, overlay now receives the Graphics2D context along with the ImagePanel.
is.codion.framework.domain
- ValueAttributeDefinition added, related refactoring.
is.codion.framework.db.core
- EntityConnection.Select.Builder.include() and exclude() added, related refactoring.
is.codion.framework.db.local
- DefaultLocalEntityConnection.insertSelect() and updateSelect() now always include all inserted or updated attributes in the returned entities, lazy loaded as well.
is.codion.framework.json.db
- SelectSerializer and UpdateDeserializer improved.
is.codion.framework.json.domain
- ColumnConditionDeserializer and EntityDeserializer improved.
is.codion.framework.model
- EntityQueryModel.SelectAttributes.included() and excluded() renamed include() and exclude(), defaults() added.
is.codion.framework.server
- is.codion.framework.server module now requires is.codion.tools.jul.classpath.
- is.codion.framework.server module transitive requires for is.codion.framework.db.rmi removed.
- EntityServerAdmin, detailed logging configuration methods added.
is.codion.swing.framework.ui
- EntityApplicationPanel, advanced logging configuration added.
is.codion.tools.monitor.ui
- ServerMonitorPanel now provides detailed server logging configuration via LogLevelPanel.
0.18.57
Changes
is.codion.common.core
- Serializer.deserialize() overloaded with InputStream.
is.codion.common.db
- Procedure and Function argument renamed parameter.
is.codion.common.rmi
- SerializationFilter.readFileWhitelistItems() bug fixed, now respects list item order.
- SerializationFilter.fromPatterns() and fromFile() now appends exclude all if missing.
- ServerAdmin.serializationFilterPatterns() added. SerializationFilterFactory refactored.
- SerializationFilterDryRun refactored, now writes output on jvm shutdown.
- SerializationFilterDryRun periodic flushing implemented.
is.codion.swing.common.model
- DelayedAction added.
is.codion.swing.common.ui
- FrameBuilder.iconImage() and iconImages() added.
- FrameBuilder.componentListener() added.
- DefaultProgressWorkerDialogBuilder now uses DelayedAction.
is.codion.framework.domain
- DomainType.entityType() overloaded with Class<?> as resource base class.
is.codion.framework.json.domain
- EntityObjectMapper, methods for registering procedure and function argument and return types added, for serialization.
- EntityObjectMapper, method for registering report parameter type added, for serialization.
- EntityObjectMapper now only registers parameter types for procedures, functions and reports.
is.codion.framework.db.core
- EntityConnection.report() reportParameters renamed parameter.
is.codion.framework.servlet
- EntityService.FunctionHandler and ProcedureHandler.json() added.
- EntityService.deserialize() removed, Serializer.deserialize() used instead.
- EntityService.JSON (default true) and SERIALIZATION (default false) configuration properties added, other properties renamed.
- EntityService.ReportHandler.json() added.
- EntityService.deserialize() reintroduced, proper location for security note.
- EntityService, json function, procedure and report handlers now return java serialized results.
is.codion.framework.db.http
- JsonHttpEntityConnection, JSON based function and procedure execution added.
- HttpEntityConnection.JSON default back to being true.
is.codion.swing.framework.ui
- EntityTablePanel now uses DelayedAction when displaying the refresh progress bar.
- EntitySearchField now uses DelayedAction when displaying the search progress bar, PROGRESS_BAR now default search indicator.
is.codion.plugin.jul.proxy
- ClasspathConfiguration added.
is.codion.tools.monitor.ui
- ServerMonitorPanel, serialization filter pattern view added.
is.codion.tools.generator.model
- DomainGeneratorModel.COMBINED_SOURCE_DIRECTORY default now empty.
0.18.56
Changes
is.codion.common.core
- TaskScheduler.Builder.name() added, documentation section added.
- LocaleDateTimePattern.TIME_PATTERN, DATE_PATTERN and DATE_TIME_PATTERN added.
- AbstractValue.notifyListeners() renamed notifyObserver().
is.codion.common.db
- DefaultDatabaseConnection bug fixed, rollbackTransaction() and commitTransaction() no longer set the flag if exceptions occur.
- DatabaseConnection removed, related refactoring.
is.codion.common.server
- ServerConfiguration.objectInputFilterFactoryRequired() added along with OBJECT_INPUT_FILTER_FACTORY_REQUIRED configuration value, default true.
- AbstractServer now throws exception on startup if a required object input filter factory is missing.
is.codion.swing.common.model
- ProgressWorker refactored, onStarted listener now guaranteed to run.
- JsonPreferencesStore bug fixed, proper atomic move implemented for windows.
is.codion.swing.common.ui
- FilterTable bug fixed, now sets initial filter view after columns have been initialized, for the horizontalAlignment.
- FilterTableCellEditor.Builder.clickCountToStart() added.
- DefaultFilterTableCellEditor bug fixed, JCheckBox based editor did not paint selection background, added some DefaultTableCellEditor behaviour.
- DefaultFilterTableCellEditor, stop edit action listeners added.
- Cursors removed.
- DefaultFilterTableCellRenderer now provides default formatters for the most common temporal types.
is.codion.framework.domain
- EntityType bug fixed, define(List) parameter type changed to List>.
- AttributeDefinition.TIME_FORMAT, DATE_FORMAT and DATE_TIME_FORMAT removed.
- ColumnTemplate improved, no longer extends Function, input type same as output type, add() method added for chaining.
is.codion.framework.db.local
- DefaultLocalEntityConnectionProvider.description() no longer automatically converts database name to upper case.
- BasicFormatterImpl moved from ui and renamed QueryFormatter.
- DefaultEntityQueries now returns formatted queries.
- LocalEntityConnection.database() added.
is.codion.framework.db.rmi
- Test coverage improved.
is.codion.framework.db.http
- AbstractHttpEntityConnection bug fixed, now uses a single threaded executor.
- AbstractHttpEntityConnection no longer uses a threaded executor, runs everything synchronously. Synchronization now surrounds exception handling, DefaultHttpEntityConnection and JsonHttpEntityConnection refactored accordingly. Test coverage improved.
- AbstractHttpEntityConnection no longer logs InterruptedException, which happens when queries are cancelled.
- HttpEntityConnection.Builder.clientVersion() added.
is.codion.framework.server
- EntityService bug fixed, class cast exception on deserialize fixed.
- LocalConnectionHandler.lastAccessTime now volatile.
- LocalConnectionHandler now uses TaskScheduler instead of executor.
is.codion.framework.lambda
- LambdaEntityHandler bug fixed, UPDATE added to operations without return value.
- Lambda module removed, worked fine for read operations, but didn't really make sense with writing and transactions.
is.codion.swing.framework.ui
- EditAttributePanel bug fixed, update no longer enabled if no entity is modified.
- EntityTablePanel.Config.surrendersFocusOnKeystroke() added.
- EntityTablePanel.ControlKeys.EDIT_SELECTED_ATTRIBUTE renamed EDIT_ATTRIBUTE.
- EntityApplication.connectionInfoUpperCase() added along with CONNECTION_INFO_UPPER_CASE configuration value added.
- EntityEditPanel, EntityTablePanel, dependency view handling unified and moved to EntityDependenciesPanel, now ProgressWorker based.
- EntityTablePanel no longer sets the wait cursor while refreshing, sometimes persisted on table header after refresh.
is.codion.tools.generator.domain
- DomainSource bug fixed, domain test imports fixed for api/impl.
- DomainSource newline usage now consistent.
is.codion.tools.generator.panel
- DomainGeneratorPanel, source directory selection now starts in working dir.
is.codion.tools.loadtest.core
- LoadTest.pauseOnException() added.
- Scenario.Builder.pause(Predicate) added along with Scenario.pause(Exception).
- LoadTest.Scenario moved up to package level, Builder.PerformerStep added.
- LoadTest, major refactoring.
is.codion.tools.loadtest.model
- LoadTestModel, some renaming.
- DefaultLoadTest bug fixed, exception column now with correct type.
is.codion.tools.loadtest.ui
- LoadTestPanel, check box for pause on exception added.
- LoadTestPanel UI overhaul, exception view improved.
- LoadTestPanel UI overhaul continued, scenario configuration panel improved.
is.codion.framework.servlet
- EntityService handles clientVersion header parameter.
is.codion.tools.monitor.ui
- ClientInstanceMonitorPanel, log tree removed.
0.18.55
Changes
is.codion.common.core
- User.MAXIMUM_USERNAME_LENGTH and MAXIMUM_PASSWORD_LENGTH configuration values added.
- DefaultUser, serialization simplified, minor refactoring.
is.codion.common.model
- UserPreferences.PREFERENCES_LOCATION configuration value added, for overriding the default preferences file location.
is.codion.common.rmi
- SerializationFilterFactory, configuration properties added for JEP 290s maxBytes, maxArray, maxDepth and maxRefs parameters, values automatically prepended to filter config.
- SerializationFilterFactory.SERIALIZATION_FILTER_MAX_REFS default increased to 1.000.000.
- ServerConfiguration.AUXILIARY_SERVER_FACTORY_CLASS_NAMES and OBJECT_INPUT_FILTER_FACTORY_CLASS_NAME renamed AUXILIARY_SERVER_FACTORIES and OBJECT_INPUT_FILTER_FACTORY, related renaming.
is.codion.swing.common.model
- NullableToggleButtonModel, iteration order changed to false -> null -> true.
is.codion.swing.common.ui
- NullableCheckBox, null icon improved, now uses a dash instead of square.
- DefaultFilterTableCellRenderer bug fixed, no longer sets the foreground of boolean renderer, messed up null icon rendering for some look and feels.
- NumberField.Builder and TemporalField.Builder.maximumLength() now throw UnsupportedOperationException.
- FilterTable.Builder.cellEditable() added.
- FilterTableCellRenderer.Builder.renderer(TableCellRenderer) added, for the ability to wrap standard cell renderers.
- DefaultFilterTableCellRenderer refactored and simplified.
- DefaultFilterTableCellRenderer.updateUI() bug fixed, now updates the wrapped renderer UI as well.
- DefaultProgressWorkerDialogBuilder refactored to simplify dialog closing, ProgressWorker onDone() is guaranteed to be called.
- ProgressWorkerDialogBuilder.delay() added along with configuration properties.
- ProgressWorkerDialogBuilder, show and hide delay defaults reduced to 350ms and 800ms.
- FilterComponentFactory, now follows the default FilterTableCellRenderer horizontal alignment.
is.codion.plugin.swing.robot
- Narrator, frame now sticks to application window, i18n added.
is.codion.framework.domain
- Entity now sealed.
- EntityDefinition.placeholder(caption) factory method added, for empty placeholder entities.
- Entities.Configurable added along with entities() factory method. DefaultEntities now package private and Entities sealed.
- EntitySelectQuery.Builder.with() and withRecursive() added for CTEs.
- EntityDefinition.placeholder() renamed entity().
- EntitySelectQuery CTE builder fluency improved.
- DefaultEntityDefinition, AbstractAttributionDefinition, comparator now initialized lazily, instead of relying on default values, which could be initialized in a different locale.
is.codion.framework.domain.db
- SchemaDomain.SchemaSettings.viewPrefix() added.
- SchemaDomain bug fixed, no longer mess up view identifiers, tests improved.
- SchemaDomain now appends 'View' to domain interface names representing views.
is.codion.framework.db
- EntityConnectionProvider.DESCRIPTION configuration property added, for overriding the default description.
is.codion.framework.db.local
- DefaultLocalEntityConnection.insert() refactored, now caches information on generated columns.
is.codion.framework.model
- AbstractEntityEditModel log and error messages fixed.
is.codion.framework.server
- EntityServerConfiguration.DOMAIN_CLASS_NAMES renamed DOMAIN_CLASSES, related renaming.
- EntityServerConfiguration.CONNECTION_POOL_FACTORY_CLASS renamed CONNECTION_POOL_FACTORY, related renaming.
is.codion.swing.framework.ui
- KeyboardShortcutsPanel, copy expanded changed to table export, related changes.
- EntityEditComponentPanel.EditorComponent.set(ComponentValue) added, automatically links it to the underlying editor value.
- EntityTablePanel bug fixed, now disables editing for cells based on entities that are neither searchable nor based on small datasets, since a search field can not be automatically instantiated.
- EntityDialogs.DefaultEditAttributeDialogBuilder refactored, EditAttributePanel added, now handles async properly, validation improved.
- EditAttributePanel now sets the validation message as component tooltip.
- InsertUpdateQueryInspector now returns '' instead of a malformed query when the entity is not modified.
is.codion.tools.generator.domain
- DomainSource now writes a domain unit test.
- DomainSource now excludes and logs attributes based on columns with names which are invalid java identifiers.
is.codion.tools.generator.model
- DomainGeneratorModel.DOMAIN_PACKAGE now with default 'none' instead of 'no.package' since package is a reserved word.
is.codion.tools.generator.panel
- DomainGeneratorModel, DomainGeneratorPanel, now support separate source paths for api/impl and combined.
- DomainGeneratorModel, DomainGeneratorPanel, view prefix handling added.
- DomainGeneratorModel, DomainGeneratorPanel, domain unit test handling added.
is.codion.tools.monitor.ui
- ClientMonitorPanel, created time column format added.
0.18.54
Changes
is.codion.common.db
- ConnectionPoolStatistics cleanup and refactoring.
is.codion.swing.common.ui
- FrameBuilder.alwaysOnTop() and focusableWindowState() added.
is.codion.framework.domain
- EntityDefinition.Builder.descriptionResource() added.
- AttributeDefinition.Builder.descriptionResource() added.
- DefaultEntityBuilder bug fixed, now initializes primary key column values to null for entities with non-generated primary keys, since the default Entity.exists() predicate relies on the original primary key being null.
- KeyGenerator moved from entity-level to column-level, moved to Column and renamed Generator, related refactoring.
is.codion.framework.domain.db
- SchemaDomain.SchemaSettings.lowerCaseIdentifiers() added.
is.codion.plugin.swing.robot
- Controller refactored from SwingMcpServer.
- Narrator and Runner added.
- Narrator.narrator() factory method added.
is.codion.plugin.swing.mcp
- Repeat and description parameters added to keystroke tool.
- SwingMcpServer now includes narrator.
is.codion.tools.generator.domain
- DomainSource bug fixed, api package corrected.
- DomainSource, now writes i18n properties files.
- DomainSource.Builder added.
- DomainSource.writeApiImpl() and writeCombined() overwrite parameter added.
- DomainSource, minor improvements, comments and constants.
- DomainSource, further refactoring and improvements, javapoet api usage replacing StringBuilder.
is.codion.tools.generator.model
- DomainGeneratorModel, now includes lowerCaseIdentifiers setting.
is.codion.tools.generator.panel
- DomainGeneratorPanel, i18n now configurable.
- DomainGeneratorPanel.USER configuration property added, for skipping the login dialog.
- DomainGeneratorPanel now confirms before overwriting.
- DomainGeneratorPanel.SchemaSettingsPanel, lowerCaseIdentifiers check box added.
- DomainGeneratorPanel, i18n property preview added.
0.18.53
Changes
is.codion.common.db
- ResultIterator removed.
is.codion.common.rmi
- ServerAdmin.serverStatistics() renamed statistics().
is.codion.common.model
- FilterModel.excluded() renamed filtered().
is.codion.swing.common.ui
- ComponentBuilder.font(UnaryOperator) added, which derives the font from the default component font.
- KeyEvents.MENU_SHORTCUT_MASK added (Toolkit.getMenuShortcutKeyMaskEx()), replaces CTRL_DOWN_MASK throughout.
is.codion.framework.domain
- DefaultEntityValidator removed, validation moved to AbstractAttributeDefinition, EntityValidator now with default method implementations.
- Attribute.Type.isNumerical() renamed to isNumeric().
- DefaultColumnDefinition, Column.SetParameter instances now shared.
- EntityValidator.nullable() redundant type parameter removed.
- DenormalizedAttributeDefinition removed, DerivedAttributeBuilder.DenormalizedBuilder added.
- EntityValidator.validate(entity, attribute) redundant type parameter removed.
- AttributeDefinition.validate() overloaded with nullable parameter.
- EntityValidator bug fixed, now calls AttributeDefinition.validate(entity, nullable), so that the result from a potentially overridden nullable() is used.
is.codion.framework.db
- DefaultSelect bug fixed, having clause not included in hashCode().
- Select.having() added, related refactoring.
- EntityConnection.iterator() added.
- EntityResultIterator now extends Iterable.
- EntityQueries.instance() renamed factory().
is.codion.framework.db.local
- LocalEntityConnection.iterator() removed.
is.codion.framework.db.rmi
- DefaultRemoteEntityConnectionProvider now handles iterator() with RemoteEntityResultIteratorWrapper.
is.codion.framework.model
- EntityEditModel.EditorValue.validate() added.
- DefaultEntityEditor now updates all attribute valid states when validator is set.
is.codion.framework.server
- DefaultRemoteEntityConnection, EntityConnection.iterator() implemented with timeouts.
is.codion.swing.framework.ui
- EntityTableExportPanel refactored, lots of stuff moved to EntityTableExport, which is now called EntityTableExportModel.
- EntityEditPanel.Config.validIndicator() and modifiedIndicator() added.