Fixed the filter pane so that moving a non-rule builder rule over a rule builder rule will not rename the former to the latter.

Fixed the transformer pane so that moving an external script or XSLT step over a mapper step will not rename the former to the latter.
Issue: MIRTH-2538


git-svn-id: https://svn.mirthcorp.com/connect/trunk@7013 c801cdd1-710f-0410-a44a-8d9edceeb29b
MIRTH-3044: The TCP Sender no longer automatically sets the status to QUEUED/ERROR when a TCP response was received but has an empty payload. Instead the status is set to SENT, to preserve the same behaviour as 2.x.

git-svn-id: https://svn.mirthcorp.com/connect/trunk@7015 c801cdd1-710f-0410-a44a-8d9edceeb29b
Updated the TCP, JMS, and Database dispatchers so they will only log a warning instead of error when the queue is on. This way users don't receive an error in the log for each send attempt.
Issue: MIRTH-2995


git-svn-id: https://svn.mirthcorp.com/connect/trunk@7016 c801cdd1-710f-0410-a44a-8d9edceeb29b
MIRTH-3046: Fixed issue that caused "Missed Context.javaToJS() conversion" Rhino warnings for certain Java objects that are passed into the $ map functions.

git-svn-id: https://svn.mirthcorp.com/connect/trunk@7017 c801cdd1-710f-0410-a44a-8d9edceeb29b
MIRTH-3050: Fixed issue that caused exports to be incorrect under certain circumstances. When any destination in the table is selected, the queue settings panel does a callback to ChannelSetup.saveDestinationPanel(), which updates the destination connector properties by grabbing them from the form. However the properties grabbed from the form are that of the *previously* selected destination, not the current one. So after loadConnector() runs, we need to call saveDestinationPanel() again to ensure that the current destination connector has the correct properties in all cases.

git-svn-id: https://svn.mirthcorp.com/connect/trunk@7018 c801cdd1-710f-0410-a44a-8d9edceeb29b
MIRTH-3042

With certain channel configurations, SQL Server will encounter a deadlock scenario unless we always update the channel stats row and update it before the connector stats. We determined that this is because SQL Server creates a page lock when the statistics update statement references the existing row values in order to increment them (RECEIVED = RECEIVED + ?). Other databases such as Postgres use only row locks in this situation so they were not deadlocking. The deadlock scenario was only confirmed to happen with a channel with multiple asynchronous destinations and destination queues enabled.

The JdbcDao.addChannelStatistics() method has been rewritten to ensure that the channel stats row is updated first before the connector rows and is always updated even if the numbers didn't change, thus preventing the SQL Server deadlock scenario.

git-svn-id: https://svn.mirthcorp.com/connect/trunk@7019 c801cdd1-710f-0410-a44a-8d9edceeb29b
MIRTH-3055: Custom metadata columns are now updated after the response transformer runs. A new storeMetaData method was added to DonkeyDao so that the processing thread can either insert or update the custom metadata, similar to how inserting/updating response content works.

git-svn-id: https://svn.mirthcorp.com/connect/trunk@7020 c801cdd1-710f-0410-a44a-8d9edceeb29b
MIRTH-3057: Modified Channel.process so that the source connector maps are inserted even if the status is FILTERED or ERROR.

git-svn-id: https://svn.mirthcorp.com/connect/trunk@7021 c801cdd1-710f-0410-a44a-8d9edceeb29b
Fixed errors, maps, and custom metadata not being stored if a message is recovered from the PENDING status
Issue: MIRTH-3058


git-svn-id: https://svn.mirthcorp.com/connect/trunk@7022 c801cdd1-710f-0410-a44a-8d9edceeb29b
Removed obsolete code
Issue: MIRTH-3058


git-svn-id: https://svn.mirthcorp.com/connect/trunk@7023 c801cdd1-710f-0410-a44a-8d9edceeb29b
MIRTH-3061

Fixed error when migrating to version 3.0.0 when using a MySQL 5.0.x or 5.1.x database.

There was a bug in these versions of MySQL (http://bugs.mysql.com/bug.php?id=54462) that left the previous transaction open when switching from autocommit off to autocommit on.

As a workaround, added a START TRANSACTION statement to the beginning of the mysql 3.0.0 migration script that will force the previous transaction to close.

Tested with MySQL 5.1.52 and verified that it resolves the migration problem.

Also tested with the latest MySQL 5.6.14 and verified that migration still works with this version as well.

git-svn-id: https://svn.mirthcorp.com/connect/trunk@7024 c801cdd1-710f-0410-a44a-8d9edceeb29b
MIRTH-3053: Deprecated the sent content getters in ImmutableConnectorMessage.

git-svn-id: https://svn.mirthcorp.com/connect/trunk@7025 c801cdd1-710f-0410-a44a-8d9edceeb29b
MIRTH-3047: Fixed deserialization errors occurring in the client when loading message map content. If an object is placed into a variable map during message processing, and that object's class is not available when the map is deserialized (like it might be when the client retrieves it), the original serialized XML node for that map value is wrapped in a new InvalidMapValue object. During serialization, any instances of InvalidMapValue are replaced with the original XML that it was created with. In this way, the InvalidMapValue class is never actually exposed to the user or persisted to the database; it's only used as an "in-between" to handle exception cases, similar to InvalidChannel.

git-svn-id: https://svn.mirthcorp.com/connect/trunk@7026 c801cdd1-710f-0410-a44a-8d9edceeb29b
MIRTH-3041
MIRTH-3062
We are now setting dataTimeout on the FTP client object to prevent the reads from blocking indefinitely. However it is still possible to block indefinitely if the timeout is set to 0.
File Receiver and File Dispatcher are now haltable. They now call the new disconnect method on FileConnector which calls the new disconnect methods on each FileSystemConnection that is open when a halt is requested.
So far the only FileSystemConnection that has implemented disconnect is FTPConnection. If we detect potential blocks for the other types then we can implement disconect for them.
Created HaltableFTPClient which extends FTPClient and stores references to each data socket created so they can be forcibly closed on halt. Previously socket reads on the FTP receiver or dispatcher could have hung the channel and prevented it from being stopped or halted. Socket writes from the dispatcher can also block if the FTP server's socket buffer is full. This is the expected behavior, but even so it may be desirable to halt the channel if this ever occurs.

MIRTH-3063
Fixed FileDispatcher not closing its connections on stop or undeploy (or like... ever)

MIRTH-3065
Halt threads (Not to be confused with Halt Task threads) can now be interrupted. 
Synchronization that was done in Poll Connector now uses ReentrantLock so a lock operation can be interrupted.

Update commons-net from 3.0.1 to 3.3 for good measure

git-svn-id: https://svn.mirthcorp.com/connect/trunk@7027 c801cdd1-710f-0410-a44a-8d9edceeb29b
Fixed potential null pointer exception if a user removed results from the message browser, then selected a destination connector message that was to be deleted before the results finished being removed, AND the source connector message of the selected message was NOT removed.
Issue: MIRTH-3060


git-svn-id: https://svn.mirthcorp.com/connect/trunk@7028 c801cdd1-710f-0410-a44a-8d9edceeb29b
Changed the WebAdmin to launch webstart through the http port by default.  Leaving the ability to launch webstart manually through the https port, but there are no longer any links that direct to the url with the https port.
Issue: MIRTH-2963


git-svn-id: https://svn.mirthcorp.com/connect/trunk@7029 c801cdd1-710f-0410-a44a-8d9edceeb29b
Updated bcprov to the latest 1.5 beta 20.
Issue: MIRTH-2963


git-svn-id: https://svn.mirthcorp.com/connect/trunk@7030 c801cdd1-710f-0410-a44a-8d9edceeb29b
MIRTH-3069: The message status will now be set to QUEUED/ERROR if a malformed HL7 ACK is received when Process HL7 ACK is enabled.

git-svn-id: https://svn.mirthcorp.com/connect/trunk@7031 c801cdd1-710f-0410-a44a-8d9edceeb29b
MIRTH-3064

Fixed potential problem when creating the database schema in Oracle by removing the hard-coded PERSON_ID 1 value when inserting into the PERSON_PASSWORD table. In some cases, a sequence that "starts with 1" will actually start with 2. Replace the hard-coded value with PERSON_SEQUENCE.CURRVAL which will return the correct PERSON_ID that was used to create the default 'admin' user.

git-svn-id: https://svn.mirthcorp.com/connect/trunk@7032 c801cdd1-710f-0410-a44a-8d9edceeb29b
Updated mirth-build.properties, sql files, and plugin/source/destination xml files to 3.0.1
Added V3_0_1 to Version, and a null Migrator for V3_0_1 to ServerMigrator
Issue: MIRTH-3076


git-svn-id: https://svn.mirthcorp.com/connect/trunk@7033 c801cdd1-710f-0410-a44a-8d9edceeb29b