Skip to content

Releases: codion-is/codion

0.18.12

04 Sep 10:02
Compare
Choose a tag to compare

Changes

is.codion.swing.common.ui

  • AbstractComponentBuilder bug fixed, now sets the initial component value only if an initialValue has been set, otherwise model based components (List, ComboBox etc.) clear the initial model state.
  • ComponentBuilder.clear() removed, AbstractComponentBuilder now always creates the associated ComponentValue, related refactoring.
  • AbstractComponentBuilder now adds the associated ComponentValue as a client property on the resulting component.
  • FilterTableCellRenderer.Settings.selectionBackgroundColor() and backgroundShaded() bug fixed alternate row coloring now correct.
  • FilterTableCellRenderer.Settings.alternateRowColor() renamed alternateRow(), now static.

is.codion.swing.framework.ui

  • EntityPanel.createControlPanel() toggle button type now the default BUTTON.
  • EntityPanel, overridable controlComponent() replaced with Config.controlComponent().
  • EntityPanel, overridable editBasePanel() replaced with Config.editBasePanel().
  • EntityTableCellRendererBuilder.EntitySettings.backgroundColorShaded() bug fixed, alternate row coloring now correct.

0.18.11

31 Aug 17:41
Compare
Choose a tag to compare

Changes

is.codion.common.model

  • ColumnConditionModel, bound value getters and setters removed.
  • ColumnConditionModel.operand() added.
  • DefaultColumnConditionModel refactored.
  • ColumnConditionModel.Operand renamed Operands.

is.codion.framework.domain.db

  • Column.AuditColumnDefiner added, related refactoring.

is.codion.swing.common.model

  • DefaultFilterComboBoxModel.filterSelectedItem() now false by default, less confusing.
  • FilterComboBoxModel.ItemFinder.findItem() now returns Optional.

is.codion.swing.common.ui

  • CalendarPanel.Builder.locale() added.
  • CalendarPanel now takes the first day of week according to locale into account.
  • CalendarPanel now uses labels instead of buttons to represent days.
  • CalendarPanel, ALT modifier removed from day/week keyboard shortcut.
  • CalendarPanel bug fixed, day and month labels used default locale instead of the selected one.
  • CalendarPanel.Builder.firstDayOfWeek() added, related refactoring.
  • DefaultProgressBarBuilder bug fixed, no longer uses a null model for indeterminate progress bars, Look & Feels may require it.
  • FilterTableCellRenderer.Settings.backgroundColor() bug fixed, no longer returns alternate row color when alternate row coloring is disabled.
  • FilterTableCellRenderer bug fixed, now respects Table.alternateRowColor if set, even if alternate row coloring is disabled.

is.codion.framework.model

  • EntityTableConditionModel.setEqualConditionValue() and setInConditionValues() renamed setEqualOperand() and setInOperands() respectively.

is.codion.swing.framework.ui

  • EntityTablePanel.TablePanel.createColumnSummaryPanels() bug fixed, no longer assumes FilterTableCellRenderer when determining the horizontal alignment.
  • EntityTablePanel.setConditionStateHidden(), focus flicker when hiding focused condition/filter panel fixed.

0.18.10

23 Aug 10:21
Compare
Choose a tag to compare

Changes

is.codion.common.core

  • DatabaseException.statement() and sqlState() now return Optional.

is.codion.common.model

  • TableSelectionModel.selectedItems() and selectedIndexes() added for consistency.

is.codion.swing.common.ui

  • FilterTable.filterPanel() now returns TableConditionPanel.
  • FilterTable.Builder.filterPanelFactory added.
  • FilterColumnConditionPanel.Builder added, now configures the horizontal alignment of components according to the associated table column.
  • InputDialog.show() with closeDialog Predicate parameter added.
  • CalendarPanel bug fixed, no more focus flicker when day panel is reset when navigating between months by week, focus now follows day when toggled.
  • SelectionDialogBuilder.dialogSize() added.

is.codion.framework.domain.db

  • Module is.codion.framework.domain.db split from is.codion.tools.generator.domain.
  • DatabaseDomain renamed SchemaDomain.
  • SchemaDomain.SchemaSettings added, audit column names can now be specified.
  • SchemaDomain.SchemaSettings.primaryKeyColumnSuffix() added for improved foreign key names.

is.codion.framework.server

  • LocalConnectionHandler now logs exceptions occurring when returning connection to pool.

is.codion.tools.generator.domain

  • DomainSource, domain implementation now in base source package with the API in a separate api package.

is.codion.tools.generator.model

  • DomainGeneratorModel no longer keeps a live Connection instance, now creates short lived connections on demand, related refactoring.

is.codion.swing.framework.ui

  • EntityDialogs.DefaultEditAttributeDialogBuilder, bug fixed, retrying a failed update now working again.
  • EntityDialogs.EditAttributeDialogBuilder.Updater removed.
  • EntityDialogs.SelectionDialogBuilder.preferredSize() replaced with dialogSize().
  • EntityDialogs.SelectionDialogBuilder renamed EntitySelectionDialogBuilder, implementation refactored, now uses Dialogs.actionDialog().

is.codion.swing.framework.ui.test

  • EntityEditPanelTestUnit, createEditPanel() removed, edit panel initializer function parameter added.
  • EntityApplicationPanelTestUnit now initializes all entity panels.
  • EntityApplicationPanelTestUnit, domainType constructor parameter added, related refactoring.

0.18.9

15 Aug 11:27
Compare
Choose a tag to compare

Changes

is.codion

  • columnIdentifier renamed identifier where applicable.

is.codion.common.core

  • Memory utility class removed.
  • Separators utility class removed.
  • State.Builder now extends Value.Builder.

is.codion.common.rmi

  • ServerConfiguration.Builder.connectionMaintenanceIntervalMs() renamed to connectionMaintenanceInterval().
  • ServerAdmin, ServerStatistics.allocatedMemory() renamed totalMemory().
  • RemoteClient.Builder added, replacing static factory methods.

is.codion.swing.common.model

  • DefaultFilterTableSelectionModel, inheritance replaced with composition.

is.codion.swing.common.ui

  • MemoryUsageField removed.
  • TableConditionPanel.Factory.create(), onPanelInitialized parameter added.
  • FilterTableConditionPanel.initializedEvent() removed, onPanelInitialized parameter added to factory method.
  • TemporalField, TemporalFieldPanel, dateTimePattern parameter moved from factory method to builder, related refactoring.

is.codion.swing.framework.model

  • SwingEntityTableModel, bug fixed, three methods that should have been final are now final.
  • SwingEntityTableModel, color cache now static.

is.codion.swing.framework.ui

  • EntityEditComponentPanel.component() now protected, attributes() and component(attribute) removed, unused.
  • EntityEditComponentPanel.initialFocusComponent(), initialFocusAttribute(), afterInsertFocusComponent(), afterInsertFocusAttribute() and selectableComponents() now protected.
  • EntityEditPanel.control() and controls() now protected.

0.18.8

09 Aug 10:26
Compare
Choose a tag to compare

Changes

is.codion.common.core

  • Value.BuilderFactory added, nullable() and nonNull() methods replaced with builder() returning a BuilderFactory.
  • AbstractValue.get() now implemented and final, protected getValue() added, clearValue() removed.
  • ValueObserver.isNullable() renamed back to nullable(), no factory method conflict any more.
  • Text.WILDCARD_CHARACTER removed, wildcards no longer configurable.
  • Value.value() factory method overloaded with initialValue.
  • PropertyStore.propertyStore() and writeToFile() parameters changed from File to Path.

is.codion.common.rmi

  • ServerConfiguration.connectionLimit() added.

is.codion.swing.common.ui

  • FilterColumnConditionPanel, minor focus related refactoring.
  • TextComponents.selectAllOnFocusGained() and selectNoneOnFocusGained() removed.

is.codion.framework.server

  • EntityServerConfiguration.connectionLimit() moved up to ServerConfiguration.
  • EntityServerConfiguration.LOG removed, related refactoring.

is.codion.swing.framework.model

  • SwingForeignKeyConditionModel bug fixed, IN operator only selected by default if entity is searchable.

is.codion.swing.framework.ui

  • EntityTablePanel, EDIT control used as double click action if available.
  • TabbedDetailLayout bug fixed, detail panel no longer loses focus when embedded, focus flicker reduced by clearing the focus.
  • EntityDialogs.DefaultEditEntityDialogBuilder bug fixed, now reverts any edits on cancel.

is.codion.plugin.jasperreports

  • Dependencies fixed, org.apache.xmlgraphics no longer excluded, automatic module info added.

0.18.7

31 Jul 16:03
Compare
Choose a tag to compare

Changes

is.codion.common.core

  • DatabaseConnection.getConnection() now throws IllegalStateException if the connection has been closed, valid() added.
  • State.Builder.validator() type parameter widened, now consistent with Value.addValidator().

is.codion.common.model

  • ColumnConditionModel.Builder.operator() added for specifying the default condition operator.

is.codion.swing.common.ui

  • SearchHighlighter.Builder added, scrollYRatio and scrollXRatio added.
  • TextComponentBuilder.initialCaretPosition() added along with InitialCaretPosition enum.
  • TextComponentBuilder.caretUpdatePolicy() added.
  • SearchHighlighter now updates its color scheme dynamically when the look and feel is changed.

is.codion.framework.domain

  • DomainModel.add(EntityDefinition.Builder... builders) removed.
  • DomainModel, DefaultEntities.setStrictForeignKeys() renamed validateForeignKeys().
  • AttributeDefinition.prepareValue() removed, functionality moved to DefaultEntity, decimal fraction digits coming from database no longer modified.
  • AbstractAttributeDefinitionBuilder.attribute no longer protected, public accessor available.
  • DerivedAttributeDefinition caching can now be disabled, cached() added, default true, cached values can be removed via remove() and are included when entities are serialized.
  • AttributeDefinition.denormalized() removed, no longer used.
  • KeyGenerator.Identity added.
  • DefaultColumnDefinition.BigDecimalFetcher now strips trailing zeros from values coming from the database.

is.codion.framework.model

  • ForeignKeyConditionModel now defaults to Operator.IN when available.
  • DefaultForeignKeyDetailModelLink.setForeignKeyCondition() now always uses Operator.IN.
  • EntityTableModel.getRowCount() renamed rowCount().

is.codion.swing.framework.ui

  • EntityTablePanel, bug fixed, three methods that should have been final are now final.
  • SwingForeignKeyConditionModel now defaults to Operator.IN when available.

is.codion.tools.generator.domain

  • DomainSource no longer adds KeyGenerator.identity() import unless it is actually used.

is.codion.plugin.jasperreports

  • JasperReports automatic module names updated, hopefully the ones they end up using.

0.18.6

22 Jul 13:00
Compare
Choose a tag to compare

Changes

is.codion

  • Dependency cleanup using dependency-analysis-gradle-plugin.
  • BuildReportsPlugin replaced with io.github.f-cramer.jasperreports.

is.codion.common.core

  • ProxyBuilder.DefaultHandler.invoke() bug fixed, now unwraps the InvocationTargetException and rethrows the target exception.
  • ValueLink, automatically reverting a value change on exception functionality removed, far from bulletproof especially when dealing with component values.

is.codion.swing.common.ui

  • FilterTable.createAutoResizeModeControl() renamed createSelectAutoResizeModeControl()
  • Controls.Builder.controls() parameter now Collection<? extends Control>.
  • FilterTable.createSelectAutoResizeModeControl() bug fixed, was only enabled when column model was unlocked.
  • FilterTable.createToggleAutoResizeModelControls() added.

is.codion.framework.domain

  • Entity.mapToPrimaryKey() renamed primaryKeyMap().
  • Entity.entitiesByValue() removed.
  • DefaultEntity bug fixed, no longer caches values of derived attributes without source attributes.

is.codion.framework.domain.test

  • EntityFactory.populateForeignKeys() removed, related refactoring.
  • DomainTest now prevents transactions from being closed on the active connection during a test.

is.codion.framework.db.core

  • DefaultLocalEntityConnection.createValueString() bug fixed, now catches Exception instead of just SQLException, since creating a log message should never fail.

is.codion.plugin.jasperreports

  • JasperReports upgraded to 7.0.0.

is.codion.swing.framework.ui

  • EntityTablePanel.ControlKeys.COLUMN_AUTO_RESIZE_MODE renamed SELECT_AUTO_RESIZE_MODE.
  • EntityTablePanel.ControlKeys.TOGGLE_AUTO_RESIZE_MODE_CONTROLS added along with AutoResizeModeSelection and Config.autoResizeModeSelection().
  • EntityTablePanel.setupStandardControls() bug fixed, no longer overwrites previously configured controls.

is.codion.tools.loadtest.ui

  • LoadTestPanel now displays an indeterminate progress bar while shutting down.

0.18.5

10 Jul 11:31
Compare
Choose a tag to compare

Changes

is.codion.common.core

  • DefaultProxyBuilder.MethodKey now caches the hashCode.
  • ProxyBuilder.ProxyMethod.invoke() now throws Throwable.

is.codion.common.db

  • AbstractConnectionPoolWrapper now uses ProxyBuilder.

is.codion.framework.domain.test

  • EntityTestUnit renamed DomainTest.
  • DomainTest.EntityFactory refactored.
  • DomainTest.EntityFactory.foreignKey() and createValue() renamed entity() and value().

is.codion.plugin.imagepanel

  • NavigableImagePanel bug fixed, now creates the navigation image when it is enabled for the first time.

is.codion.tools.generator.model

  • Module is.codion.tools.generator.domain split from model.

is.codion.tools.monitor.ui

  • HostMonitorPanel, refresh toolbar removed.

is.codion.swing.common.ui

  • DefaultFilterTableSearchModel bug fixed, no longer throws ArrayIndexOutOfBoundsException when searching through a table with one or more hidden columns.
  • FilterTable.Builder.cellEditorFactory() added along with FilterTableCellEditor, FilterTableCellEditorFactory and DefaultFilterTableCellEditor.

is.codion.swing.framework.ui

  • EntityTablePanel bug fixed, refresh progress bar did not updateUI() when switching look and feel.
  • EntityApplicationPanel.exit() now catches Throwable when trying to save preferences, logged as error, otherwise it can prevent application exit.
  • EntityTablePanel.Config.cellEditorComponentFactories removed, functionality moved to FilterTable.
  • EntityTableCellEditorFactory added.

v0.18.4

25 Jun 18:26
Compare
Choose a tag to compare

Changes

is.codion

  • Load test, generator and server monitor modules moved to tools directory.
  • Load test, generator and server monitor modules renamed.
  • Load test, generator and server monitor module packages renamed to reflect module names.

is.codion.swing.common.tools.model

  • Module renamed to is.codion.swing.common.loadtest.model.

is.codion.swing.common.tools.ui

  • Module renamed to is.codion.swing.common.loadtest.ui.

is.codion.framework.domain.entity.test

  • EntityTestUtil replaced with EntityTestUnit.EntityFactory, related refactoring.

is.codion.swing.framework.model.tools

  • EntityLoadTestUtil removed.
  • Module renamed to is.codion.swing.framework.generator.model.

is.codion.swing.framework.ui.tools

  • Module renamed to is.codion.swing.framework.generator.ui.

is.codion.swing.framework.ui

  • DefaultEntityApplicationPanelBuilder bug fixed, no longer tries to create a default login user when no default username is available in preferences.

0.18.3

24 Jun 15:34
Compare
Choose a tag to compare

Changes

is.codion.common.db

  • ConnectionPoolWrapper.poolDataSource() removed, getPool() renamed connectionPool(), related refactoring.
  • AbstractConnectionPoolWrapper.connectionPool now final.

is.codion.common.rmi

  • RemoteClient.clientHost() no longer nullable, RemoteClient.UNKNOWN_HOST added.
  • ServerConfiguration.rmiClientSocketFactory(), rmiServerSocketFactory() and objectInputFilterFactoryClassName() now return Optional.

is.codion.common.model

  • DefaultLoadTest.DefaultBuilder.user() null check added.
  • ColumnConditionModel.format() now returns Optional.

is.codion.swing.common.ui

  • Controls.Config.standard() renamed control().
  • NumberField.numberValue() renamed value().
  • KeyEvents.Builder.enable() and disable() overloaded with Collection parameter.
  • ControlKey.defaultKeyStroke() now Value based and configurable.
  • Controls.Config.create(), ControlMap parameter added, related refactoring.
  • Controls.Config renamed Layout, standard controls layouts can now be configured, related refactoring.
  • ControlKeyStrokes removed, instance methods moved to ControlMap, static helper methods moved to KeyEvents, related refactoring.
  • Controls.Layout no longer extends ControlsKey.
  • ControlKey.name() added.
  • Controls.Builder.controls(Collection controls) added, related cleanup.
  • FilterTableColumn.toolTipText() now returns Optional.
  • DefaultControlMap.control() and controls(), control key not found error message now contains the control key name, test improved.

is.codion.swing.framework.ui

  • EntityTablePanel bug fixed, summary panel toggle control displayed only if a summary panel is available.
  • EntityApplicationPanel.createMainMenuControls() and related methods now Optional based.
  • EntityApplicationPanel, control for opening log folder added to help menu, related refactoring.
  • EntityPanel, EntityEditPanel, EntityTablePanel.Config.keyStroke() now consumer based providing access to the current keyStroke.

is.codion.swing.framework.server.monitor

  • ServerMonitorPanel, ClientUserMonitorPanel, shutdown and disconnect confirmation changed from OK/Cancel to Yes/No.