Dashboard

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

MIRTH-3755

A boolean flag has been added to indicate whether a single-selected channel is in a haltable state other than 'syncing'. The undeploy task will now always appear unless a haltable channel, other than 'sycning', is selected in which the undeploy task will be hidden.

Issue: MIRTH-3755

MIRTH-3603

The source map table's cell editor has been modified to now include a checkbox when a boolean value is encountered. The valueChanged method, now aptly renamed acceptValue, has been updated to reflect the above changes against the correct component. A renderer has also been added to convert the internal representation of the table value to the appropriate component.

Issue: MIRTH-3603

MIRTH-2970

The AutoResponder.getResponse method now throws an exception if it fails to generate an ack. This exception is now being caught in relevant classes. If an error occurs, the stack trace is retrieved and a response error is set on the resulting message.

Issue: MIRTH-2970

MIRTH-3689: Added option to launch and vmoptions files so that the server will correctly launch as headless on recent OS X versions.
    • -1
    • +1
    /trunk/server/Mirth Connect Server.launch
MIRTH-3992: Fixed issue where counting search results failed when the channel is undeployed. The message controller now only requires the channel ID, so there's no need to grab the deployed channel at all.

Merged from trunk.

MIRTH-3992: Fixed issue where counting search results failed when the channel is undeployed. The message controller now only requires the channel ID, so there's no need to grab the deployed channel at all.
MIRTH-3872

Merging to branch.

The FileReceiver is now calling out to the correct template value replacement method, including the channel name as one of the function arguments.

Issue: MIRTH-3872

Issue: MIRTH-3872

MIRTH-3872

The FileReceiver is now calling out to the correct template value replacement method, including the channel name as one of the function arguments.

Issue: MIRTH-3872

MIRTH-2640

The FileConnection and SmbFileConnection now properly check to see if any objects returned are a directory or file before returning the list.

Issue: MIRTH-2640

MIRTH-3991: Fixed issue where mirth.properties would get corrupted if the Server Manager is left open. Now whenever saving properties, the manager will first check whether they have changed, and prompt the user to overwrite first. If the user accepts, the manager will first reload the layout before saving anything new.

Migrate3_4_0 was previously always saving the properties even if nothing changed. Now we only do that if "sqlserver2000" appears in the comment.

The configuration controller will now use getStringArray to read the protocol / cipher suite properties, just in case they have decoupled for whatever reason.

Merged from trunk.

MIRTH-3991: Fixed issue where mirth.properties would get corrupted if the Server Manager is left open. Now whenever saving properties, the manager will first check whether they have changed, and prompt the user to overwrite first. If the user accepts, the manager will first reload the layout before saving anything new.

Migrate3_4_0 was previously always saving the properties even if nothing changed. Now we only do that if "sqlserver2000" appears in the comment.

The configuration controller will now use getStringArray to read the protocol / cipher suite properties, just in case they have decoupled for whatever reason.