Checkout Tools
  • last updated a few minutes ago
Constraints: committers
Constraints: files
Constraints: dates
MIRTH-4141: Updating TSA URL since the old GeoTrust server is now deprecated.
MIRTH-3823: A new source transformer step called Destination Set Filter has been added. This allows easier use of the destination set filtering feature we added in 3.1. Users can select the behavior (remove, removeAllExcept, removeAll), the specific destinations to exclude, and the actual conditional logic, which is the same format as the Rule Builder.
  1. … 27 more files in changeset.
MIRTH-4120: Overhauled the unit testing framework. Test libraries (JUnit) are now in separate folders, the tests themselves are in separate source folders, and there are now specific Ant targets on each project to facilitate running the unit tests.
  1. … 152 more files in changeset.
MIRTH-3025: Added new Iterator step/rule type models. They are fully functional on the server-side, but not yet any UI for them.
  1. … 14 more files in changeset.
MIRTH-3025: Initial rewrite for filter rule models and GUI panels. Instead of storing data as maps of objects, each rule is now a proper subclass with its own strongly-typed fields. Each client-side panel now extends from a (better) abstract class with methods to get/set properties.
  1. … 34 more files in changeset.
MIRTH-3025: Initial rewrite for transformer step models and GUI panels. Instead of storing data as maps of objects, each step is now a proper subclass with its own strongly-typed fields. Each client-side panel now extends from a (better) abstract class with methods to get/set properties.
  1. … 56 more files in changeset.
MIRTH-3858: Java 8 is now a minimum requirement. Various libraries have been upgraded to their JDK 8 counterparts where necessary. This includes Jetty and JSP dependencies (from 9.2.14 to 9.3.14), PostgreSQL JDBC (same version 9.4.1212, but to the JDBC 4.2 JAR), and HikariCP (2.3.2 to 2.5.1).

MIRTH-4060: Fixed issue with extensions using the code template panel during startup. Now the code template panel is initialized before plugins are started on the client side.

  1. … 49 more files in changeset.
MIRTH-4077: The Javadoc task now links to the public JDK docs so that external links will be properly generated. Also a new property "jdk_src_path" was added so that builds can link to the JDK source and Javadocs can correctly use the inheritDoc property.
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-3964: Added a retry count and interval to the signjar tasks.
MIRTH-3861: The Document Writer now has the ability to set page sizes for both PDF and RTF. For PDFs this is done with a CSS3 selector, and for RTFs iText already has a method to set the page size. The units allowed are inches, mm, or twips, and several standard US/EU paper sizes are included. On migration the size for PDF is set to Letter (8.5 x 11 in) and for RTF is set to A4 (210 x 297 mm) to keep the same behavior as before.
  1. … 8 more files in changeset.
MIRTH-3840: Added new connector plugin properties for HTTP authentication. There is a new Authenticator abstract class that gets extended for each type, and a provider/factory used by the HTTP/WS source connectors to create Authenticator implementations.

MIRTH-3841: Added Basic authentication mode. Properties include the realm and user/pass credentials. For the Web Service Listener, the previous credentials table has been moved here, and the properties will migrate as such to 3.4.

MIRTH-3842: Added Digest authentication mode. Users can set the realm, algorithms, quality-of-protection modes, opaque string, and actual user/pass credentials. An Authenticator implementation on the backend allows for all these options, much moreso than the stock Jetty authenticator allows.

MIRTH-3843: Added JavaScript authentication mode. Users have access to most things they are used to from the HTTP Listener source map, and can return an AuthenticationResult or boolean value to determine whether to accept or reject requests.

MIRTH-3844: Added custom Java class authentication mode. Users can set the class name and an optional map of properties that are passed into the constructor of the Authenticator implementation.

MIRTH-3845: Added OAuth token verification mode. Mirth Connect does *not* act as a resource server or resource owner here. It is more of a passthrough client that simply hits a verification endpoint, passing along the access token. Users can decide whether the access token is expected as a request header (e.g. Authorization) or a query parameter (e.g. auth_token). Upon request, the authenticator will perform a GET request to the verification endpoint, and based solely on the response code will either accept or reject the request. If rejected, the originating system is expected to request a new access token from the resource server and then submit a new request to the channel.

  1. … 49 more files in changeset.
MIRTH-3798, MIRTH-3799: Completely overhauled the HTTP API for Mirth Connect.

Instead of using POST requests with form-urlencoded everywhere, the API is a lot more RESTful and intuitive. The framework is built on JAX-RS (using Jersey), and each endpoint is defined in a core "servlet interface". The interface is accessible by both client and server, and provides all the necessary information about the endpoint, including JAX-RS info and also Mirth-specific info like operations and permissions.

The server side has servlets that implement the interfaces, and that all extend from MirthServlet which handles authorization, auditing, and other common tasks.

The client side uses synthetic interface implementations built with the Java reflect API and invocation handlers. So the caller of an interface method doesn't and shouldn't have to know anything about what HTTP method/headers/params are used in the background. All of that is inferred dynamically and sent into ServerConnection which applies it to the HttpComponents request.

All methods are hosted at /api, or /api/{version}. Swagger UI is also hosted by the web server, so that users can browse and test out the API in a browser. It's built to be fully backward-compatible as well. So even when newer versions are released, users can still hit endpoints at /api/3.4.0 for example.

All extensions have been updated to conform with the new structure. There are no more connector services, no more invokePluginMethod calls, etc. All of that has been standardized on this new servlet interface framework.

  1. … 417 more files in changeset.

The binding is now configurable on the WebServiceListener. Users have the ability to select from three available options. If default is selected, then any annotations defined on a custom webservice will be used, otherwise it will default to SOAP v 1.1, also the migrated setting.

A Binding enum was added under the server connectors and made available in the shared jar. This Binding property is now present on all WebServiceReceiverProperties. The actual WebServiceReceiver will set this value when creating/publishing the endpoint.

Issue: MIRTH-2242

  1. … 5 more files in changeset.

A new AdvancedSettings dialog has been introduced for the file writer connector and currently only shows up for SFTP. This dialog allows the user to add key authorization, hostchecking as well as a table for other configurable options. An AdvancedSettingsDialog interface and SchemeProperties abstract class were added to facilitate creating dialogs for other schemes and their properties.

A new class, FileSystemConnectionOptions, was added to reduce the number of arguments in the FileConnector. The poolkey for sftp connections has been updated to now include the new properties which may be dynamically replaced. All other methods across other file schemes have been updated to reflect these changes.

  1. … 22 more files in changeset.
MIRTH-2276 and MIRTH-2759

-Added JSON support as a serializer and data type. For now, the JSON serializer is used only for JSON messages.

-Made pretty print setting in Message Browser and Administrator Settings more generic to support both XML and JSON.

-Updated message tree panel to support JSON.

-JSON trees are a bit different from XML trees. JSON trees can contain annotations indicating if the element type is an object or an array.

-Modified builders for nodes’ variables, descriptions, and paths to support JSON format

-.toString() now only gets appended to XML nodes.

-Modified MirthTreeNode to add annotations for JSON arrays and objects.

-Added JSON data type client and server plugins.

-Added token marker for JSON messages. Keyword highlighting still needs to be done.

-Renamed Serializer classes to be more generic instead of XML specific.

-Updated Jackson jars.

-Added JSON data type properties.

-Added JSON serializer.

-Modified JavaScript builder’s transformer function to parse JSON messages and templates to JSON.

-Updated filter/transformer mapper’s validate function to only do string replacements on strings.

-Modified Rhino’s JSON.stringify() to be able to convert Java objects into strings.

-Modified Rhino to override JavaScript’s arrays’ and objects’ .toString() methods to use JSON.stringify() instead.

  1. … 83 more files in changeset.
MIRTH-1717: Completely overhauled the JavaScript text editor to be more freaking awesome. Things included:

* Better whitespace / control character displays

* Line wrapping

* Code folding (any curly brace section)

* Tab / Shift+Tab multi-selected lines

* Auto-indentation within functions / loops / etc.

* Better Find/Replace functionality, more options, Find Next shortcut key

* Auto-completion for code / functions / classes / variables / etc. This scans our userutil package and automatically generates completion references for all the classes and methods within.

  1. … 98 more files in changeset.
The getViewerType method on the AttachmentViewer was deprecated and removed from all child classes in lieu of a new method that checks whether or not the content type for any given attachment is viewable by the viewer.

The RTFViewer and all references have been renamed to a more generic TextViewer. The JEditorPane now takes in the mime type corresponding to the attachment type when instantiating the pane.

Issue: MIRTH-2630

  1. … 14 more files in changeset.
MIRTH-3554: Renamed the Library resource to Directory. Refactored build files, etc.

The resource settings panel will now always prompt users before reloading libraries.

Log levels have been changed from ERROR to WARN when libraries can't be loaded. Also the Directory resource will now only log a warning rather than throwing an Exception.

A weight attribute has been added to the Directory resource so that it will always appear first in the drop-down menu.

  1. … 21 more files in changeset.
MIRTH-3554: A new set of plugin points have been added to allow shared resources for channels/connectors to be configured. There is a new "Resources" tab in the Settings view where resources can be added/modified. Each resource has a type, for example "Library", "Mirth Results", or "Database". The first resource cannot be removed, and by default it uses the Library type, and points to the custom-lib directory. Any new channel/connector created (as well as migrated channels/connectors) will use the custom-lib resource by default.

MIRTH-3553: The way Rhino context factories are created and used has been completely overhauled to allow isolated contexts with specific classloaders. This allows custom libraries to be included within Mirth Connect channels *without* a server restart. This applies not only to JavaScript contexts, but also to other places in Mirth Connect where custom libraries might be used, like the Web Service Listener, Database connectors, JMS connectors, and custom attachment handler. When a context factory change is detected, the associated script is automatically re-compiled with the new context (and new sealed/shared scope). A new ContextFactoryController has been added to take control of context factory creation/reloading; everything that needs a context factory will request it from the controller. The library resources added with MIRTH-3554 tie into the controller as well.

  1. … 110 more files in changeset.
Bouncy Castle jars are now being signed with SHA1 digestalg to fix web start issues when building with Java 7.

Adding bcprov-ext and bcpkix to Client and CLI to replace functionality that was removed in the latest bcprov release (1.51)

Issue: MIRTH-3540

  1. … 6 more files in changeset.
The manifest update and jar signing tasks can now run in parallel. The number of threads can be specified by passing in the ant properties "manifest_thread_count" and "signjar_thread_count"

Moved ant related jars to a separate ant folder and excluded them from the build.

Issue: MIRTH-3544

  1. … 4 more files in changeset.
MIRTH-3442: Updated Derby JDBC driver JAR references in the Ant build.
MIRTH-3328: Modified the File Reader/Writer to use the new invokeConnectorService method on the parent abstract class. Also pulled the method names into a separate class that both the client and server uses.
  1. … 6 more files in changeset.
MIRTH-2504: The Web Service Sender now allows users to override endpoint addresses. It works essentially the same way the service and port combo boxes do, except that only one location URI would (should) actually be defined in the WSDL.
  1. … 7 more files in changeset.
MIRTH-3326: Added the ability to host static resources on the HTTP Listener. Users can specify a context path, resource type, value, and content type, and any requests coming in that match the context path will automatically return the configured value. There are three resource types: File, Directory, and Custom. File just returns a specific file, while Directory allows clients to request any file in a directory (subdirectories are not included). Custom allows any arbitrary string to be returned. All fields are replaceable with Velocity.
  1. … 6 more files in changeset.
MIRTH-3327: Added framework for custom connector properties plugins. The ConnectorProperties class now contains a set of ConnectorPluginProperties objects, which represent additional properties that extensions can add to certain connectors. On the client side a new plugin point ConnectorPropertiesPlugin was added, which is used to show an additional properties section in the connector panel. Each plugin can choose which connectors it supports with the isSupported method. ConnectorPanel now includes all currently installed connector properties plugin panels, and selectively sets the visibility based on the current transport name (same as it does with the other properties panels). Invalid connector plugin properties are handled in a similar way to how invalid channels are handled. The main difference is that channels with invalid connector plugin properties can still be edited and deployed, and the plugin properties are removed on next save. The user is warned when attempting to edit/import a channel/connector if it contains such properties.

MIRTH-3328: Added new plugin point for connector service extensions. These have the ability to intercept connector service invocations and inject their own logic if need be. On the client side, connector properties plugins also have the ability to intercept the response returned from connector services and perform whatever UI actions they need to. The HTTP and Web Service connectors have been modified to use the new client framework for this, and implement the handleConnectorServiceResponse method.

MIRTH-3329: Connectors and connector properties plugins now have the ability to provide custom coloring, icons, tool-tips, etc. for displaying the connector type in the destination table. In addition, custom decorations from connector properties plugins can be used by the regular connector settings panel to perform the same decoration locally. The destination table now contains ConnectorTypeData objects instead of just the transport name, and the data contains the ConnectorTypeDecoration object which holds all the information needed. The HTTP and Web Service sender connectors have been modified to display a yellow "not configured" color when an HTTPS URL is detected.

  1. … 49 more files in changeset.
Added a Global Maps panel on the dashboard to show the global map and global channel maps for selected channels. This is implemented as another core plugin, "Global Map Viewer".

If User Roles plugin is installed, access to viewing the maps can be restricted.

Issue: MIRTH-3309

  1. … 7 more files in changeset.
Updated bcprov to the latest 1.5 beta that already has the manifest changes necessary and is signed by BC.

Issue: MIRTH-2963

  1. … 9 more files in changeset.
Committed an already signed bcprov with a modified manfiest. Exclude bcprov from being signed and having its manifest modified during the build process. bcprov 1.5 will not need to be modified, and could be used instead when it is released.

Issue: MIRTH-2963

  1. … 3 more files in changeset.