Dashboard

MIRTH-4032: There is now the concept of "channel metadata" that is stored separately in the configuration table. The channel enabled flag, last modified, tags, and pruning settings are all stored in this object, instead of in the channel table. The channel model contains an optional ChannelExportData field, which can contain the metadata as well as other data (like code template libraries and dependencies) which can be included when the channel is exported.
  1. … 22 more files in changeset.
MIRTH-4031: Added 3.4.2 to Version and ServerMigrator in trunk.
MIRTH-4031: Added 3.4.2 to Version and ServerMigrator. Updated SQL creation scripts, mirth-build.properties, installer files and all extension metadata XML files.
  1. … 42 more files in changeset.
MIRTH-4030: Reverted filter check for importing channels since it doesn't necessarily cause group changes.

Merged from trunk.

MIRTH-4030: Reverted filter check for importing channels since it doesn't necessarily cause group changes.
MIRTH-4030: Fixed issue where the wrong tasks were being shown in the Channels view. The import and export all groups tasks were switched.

Merged from trunk.

MIRTH-4030: Fixed issue where the wrong tasks were being shown in the Channels view. The import and export all groups tasks were switched.
MIRTH-4028: Fixed issue where query params containing "{" or "}" caused API calls to fail.

Merged from trunk.

MIRTH-4028: Fixed issue where query params containing "{" or "}" caused API calls to fail.
MIRTH-4024: Fixed issue where null was being returned for the Stopping state.

Merged from trunk.

MIRTH-4024: Fixed issue where null was being returned for the Stopping state.
MIRTH-2518

Corrected the conditional statement to only validate the password field when the "Yes" radio button is selected.

Issue: MIRTH-2518

MIRTH-3932

Syntax highlighting has been added for the destinationSet variable.

Issue: MIRTH-3932

MIRTH-3697

Editing values in the ConfigurationMap is now handled the same way as custom types for the HTTP Listener's static resources; a popup menu will now show during editing.

A new TableCellEditor has been created to facilitate the aforementioned and is now being set on "Value" column.

Issue: MIRTH-3697

MIRTH-3826

All clientPlugins are now wrapped in a try..catch clause. Any exceptions are logged, caught and thrown back to the client.

Issue: MIRTH-3826

MIRTH-3979

The acceptor thread now operates in a do..while, ensuring the listener is started.

Issue: MIRTH-3979

MIRTH-2518

Mirth Connect is now using the zip4j library to create and password-protect zip files.

The MessageExportPanel, which is also used in the DataPrunerPanel, has new fields, a password to protect zip files as well as options to choose the encryption type. These options have been added to the MessageWriterOptions class, used by both the client and server.

The ArchiveUtils.createFolderArchive method now takes in a generic OutputStream. If the user opts to make a zip file, an instance of ZipOutputStream is passed to this method, the zip parameters set and the file written to.

All other classes affected by these changes have been updated, namely the MessageServlet, its interface and the Client.

Issue: MIRTH-2518

    • binary
    /trunk/client/lib/zip4j_1.3.2.jar
    • binary
    /trunk/server/lib/zip4j_1.3.2.jar
MIRTH-4006: Fixed issue that caused the same dispatcher ID to be used simultaneously across multiple processing threads. Now instead of just returning -1, a stack (deque actually) is used which contains multiple unique IDs for each possible processing thread. These are kept unique from queue threads because they are negative. In the case that there's only one possible processing thread, or queuing is enabled and there's only one queue thread, 0 is used.

When multiple processing threads get to the dispatcher, Donkey will pop a unique ID off the stack for each thread. LinkedBlockingDeque is a thread-safe implementation so multiple processing threads pushing/popping isn't an issue. The handleSend method will have its own try..finally block, and if a dispatcher ID was popped off then the finally block will push it back on the stack.

This ensures that all processing threads share from a "pool" of unique IDs. We can't use the actual thread IDs in this case because they could come from anywhere and may only be used once.

Merged from trunk.

MIRTH-4006: Fixed issue that caused the same dispatcher ID to be used simultaneously across multiple processing threads. Now instead of just returning -1, a stack (deque actually) is used which contains multiple unique IDs for each possible processing thread. These are kept unique from queue threads because they are negative. In the case that there's only one possible processing thread, or queuing is enabled and there's only one queue thread, 0 is used.

When multiple processing threads get to the dispatcher, Donkey will pop a unique ID off the stack for each thread. LinkedBlockingDeque is a thread-safe implementation so multiple processing threads pushing/popping isn't an issue. The handleSend method will have its own try..finally block, and if a dispatcher ID was popped off then the finally block will push it back on the stack.

This ensures that all processing threads share from a "pool" of unique IDs. We can't use the actual thread IDs in this case because they could come from anywhere and may only be used once.

MIRTH-4004: Set preferred widths on the script panel text areas so that they don't grow past the visible frame.

Merged from trunk.

MIRTH-4004: Set preferred widths on the script panel text areas so that they don't grow past the visible frame.
MIRTH-4002: Make the attachment viewer dialog a bit larger so it will show up correctly on Windows.
MIRTH-3549: The Regex and JavaScript attachment handlers now support binary data. When a binary message is received the bytes are simply converted to a Base64 string first and that is used for the incoming message.

MIRTH-2782: The Regex attachment handler now allows multiple regular expressions, each with its own MIME type setting. Migration will happen automatically because the old attachment property names are still supported.

MIRTH-3997: A new "Entire Message" attachment handler was added so that users can easily store the entire inbound message as an attachment. The handler has a single property to set the MIME type.

MIRTH-3998: The MIME type, as well as the inbound/outbound replacement fields, now all support Velocity variable replacement. This applies to the Regex and Entire Message handlers.

MIRTH-3999: Fixed issue where the DICOM attachment viewer would cause the Administrator to hang for invalid DICOM data. We now use a BufferedInputStream and attempt to read at least 128 bytes beforehand to ensure that the Base64 input stream is valid before allowing it to go to the ij plugin.

MIRTH-4001: The Text Viewer now has a "Decode Base64 Data" check box option. It's enabled by default to keep the same behavior, but users may uncheck it to view the raw attachment data (UTF-8 encoded) instead of decoding it as Base64 first.

MIRTH-4002: There is a new dialog that shows up when attachments are viewed in the message browser. Users now have the option of selecting a viewer from the list of available plugins (by default, text/image/DICOM/PDF). A check box exists so that users can opt not to show the dialog and instead have the Administrator always infer the viewer from the MIME type. That is stored as a user preference and may be changed in the Administrator settings. In either case if no valid viewer could be found for a specific MIME type, the dialog will always be shown.

  1. … 10 more files in changeset.
MIRTH-4003: Fixed Ant build so that only TLSv1.1 and 1.2 are supported when contacting the TSA server. This fixes the TLS errors that were happening when signing JARs against GeoTrust.
MIRTH-4003: Fixed Ant build so that only TLSv1.1 and 1.2 are supported when contacting the TSA server. This fixes the TLS errors that were happening when signing JARs against GeoTrust.

Merged from trunk.

MIRTH-4003: Fixed Ant build so that only TLSv1.1 and 1.2 are supported when contacting the TSA server. This fixes the TLS errors that were happening when signing JARs against GeoTrust.
MIRTH-3213

The MirthComboBoxTableCellEditor's underlying component can now be editable. If enabled, a custom editor is applied which is responsible for decorating the component with a border, allowing all the standard functionality of a simple editable field. If the field is editable, any free-text values are returned from the underlying editor instead of from the model directly.

The ActionTableModel will now directly set the free-text, when doing a lookup into the protocol options fails to return an entry. The local inner Protocol class has been modified to allow for these changes.

The ChannelProtocol may now accept recipients as either a name or an ID. The protocol will first attempt to retrieve the channel by ID and then by name if the above fails. If all else fails and a channel cannot be found, a warning is logged.

Issue: MIRTH-3213

MIRTH-3995: Added interface so that plugins can modify properties on server config restore before they are saved to the database.
MIRTH-3779

An alertWarning method has been added to the TransformerStepPlugin that wraps the parent call in an invokeLater clause. Previously, the drag/drop command was not properly being consumed and subsequently blocked interaction with modal dialogs. All classes that extend this class will now delegate to this method instead of directly calling the Frame's equivalent.

Issue: MIRTH-3779

MIRTH-2726

The TreePanel now supports drag/drop for raw data. The MirthTree now checks if the parent node is null, indicating the raw data type, and will return the 'msg' variable with the '.toString(). drop suffix.

Issue: MIRTH-2726