Skip to content

Releases: codion-is/codion

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.

0.18.59

16 Nov 15:52

Choose a tag to compare

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

10 Nov 12:38

Choose a tag to compare

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

03 Nov 15:57

Choose a tag to compare

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

26 Oct 19:56

Choose a tag to compare

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

21 Oct 10:49

Choose a tag to compare

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

13 Oct 14:17

Choose a tag to compare

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

09 Oct 15:56

Choose a tag to compare

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.