diff options
13 files changed, 91 insertions, 17 deletions
diff --git a/idrop-lite/pom.xml b/idrop-lite/pom.xml index 774d65c..fafae2f 100644 --- a/idrop-lite/pom.xml +++ b/idrop-lite/pom.xml @@ -4,7 +4,7 @@ <parent> <artifactId>idrop</artifactId> <groupId>org.irods</groupId> - <version>1.0.2</version> + <version>1.0.3-SNAPSHOT</version> </parent> <groupId>org.irods.idrop</groupId> <artifactId>idrop-lite</artifactId> diff --git a/idrop-lite/src/main/java/org/irods/jargon/idrop/lite/Version.java b/idrop-lite/src/main/java/org/irods/jargon/idrop/lite/Version.java index 67089b2..d8391ef 100644 --- a/idrop-lite/src/main/java/org/irods/jargon/idrop/lite/Version.java +++ b/idrop-lite/src/main/java/org/irods/jargon/idrop/lite/Version.java @@ -1,5 +1,5 @@ package org.irods.jargon.idrop.lite; public final class Version { - public static String VERSION="1.0.2"; - public static String BUILD_TIME="20121130-0936"; + public static String VERSION="1.0.3-SNAPSHOT"; + public static String BUILD_TIME="20121206-0814"; } diff --git a/idrop-swing/pom.xml b/idrop-swing/pom.xml index d133c73..d3d1944 100644 --- a/idrop-swing/pom.xml +++ b/idrop-swing/pom.xml @@ -3,7 +3,7 @@ <parent> <groupId>org.irods</groupId> <artifactId>idrop</artifactId> - <version>1.0.2</version> + <version>1.0.3-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <groupId>org.irods.idrop</groupId> diff --git a/idrop-swing/release_notes.txt b/idrop-swing/release_notes.txt index ab0cc47..1b53861 100644 --- a/idrop-swing/release_notes.txt +++ b/idrop-swing/release_notes.txt @@ -1,11 +1,13 @@ *'''Project''': iDrop-swing- Desktop iRODS transfer manager -*'''Date''': 11/28/2012 -*'''Release Version''': 1.0.2 -*'''git tag''': 1.0.2 +*'''Date''': xx/xx/xx +*'''Release Version''': 1.0.X +*'''git tag''': 1.0.X ==News== +post 1.0.2 release snapshot (work in progress) + This is the iDrop desktop transfer manager client. iDrop runs in the system tray of your favorite operating system, and can manage transfers between your computer and iRODS, and manage data once in iRODS. iDrop also automates synchronization between your desktop and iRODS. There is an initial local -> iRODS backup capability, with automatic version of files within iRODS. Other modes are in development @@ -22,13 +24,13 @@ iDrop-swing uses Maven for dependency management. See the pom.xml file for refe Note that the following bug and feature requests are logged in GForge with related commit information [[https://code.renci.org/gf/project/irodsidrop/tracker/]] ==Features== +*[#1092] add reconnect option to iDrop +**Added preferences panel option and idrop.properties to set reconnect to 'true'. Emulates -T option for put/get -*[#870] jargon support for PAM -** added support for PAM logins - -*[#1011] add a dedicated doAuthentication method to irodsAccessObjectFactory ==Bug Fixes== +* [#1093] Broken pipe error did not propogate in parallel transfer +**Minor fixes to better propogate errors to queue manager ==Outstanding Issues== diff --git a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/IDROPConfigurationPanel.form b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/IDROPConfigurationPanel.form index bbe7b36..0fe055a 100644 --- a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/IDROPConfigurationPanel.form +++ b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/IDROPConfigurationPanel.form @@ -425,6 +425,20 @@ <EventHandler event="itemStateChanged" listener="java.awt.event.ItemListener" parameters="java.awt.event.ItemEvent" handler="checkAllowReroutingItemStateChanged"/> </Events> </Component> + <Component class="javax.swing.JCheckBox" name="checkConnectionRestart"> + <Properties> + <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> + <ResourceString bundle="org/irods/jargon/idrop/desktop/systraygui/Bundle.properties" key="IDROPConfigurationPanel.checkConnectionRestart.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> + </Property> + <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> + <ResourceString bundle="org/irods/jargon/idrop/desktop/systraygui/Bundle.properties" key="IDROPConfigurationPanel.checkConnectionRestart.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> + </Property> + </Properties> + <Events> + <EventHandler event="itemStateChanged" listener="java.awt.event.ItemListener" parameters="java.awt.event.ItemEvent" handler="checkConnectionRestartItemStateChanged"/> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="checkConnectionRestartActionPerformed"/> + </Events> + </Component> </SubComponents> </Container> <Container class="javax.swing.JPanel" name="plnPipelineConfiguration"> diff --git a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/IDROPConfigurationPanel.java b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/IDROPConfigurationPanel.java index 61360c0..2f263b5 100644 --- a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/IDROPConfigurationPanel.java +++ b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/IDROPConfigurationPanel.java @@ -168,6 +168,7 @@ public class IDROPConfigurationPanel extends javax.swing.JDialog { checkLogSuccessfulTransfer = new javax.swing.JCheckBox(); checkVerifyChecksumOnTransfer = new javax.swing.JCheckBox(); checkAllowRerouting = new javax.swing.JCheckBox(); + checkConnectionRestart = new javax.swing.JCheckBox(); plnPipelineConfiguration = new javax.swing.JPanel(); lblIrodsSocketTimeout = new javax.swing.JLabel(); spinnerIrodsSocketTimeout = new javax.swing.JSpinner(); @@ -457,6 +458,20 @@ public class IDROPConfigurationPanel extends javax.swing.JDialog { }); pnlTransferManagement.add(checkAllowRerouting); + checkConnectionRestart.setText(org.openide.util.NbBundle.getMessage(IDROPConfigurationPanel.class, "IDROPConfigurationPanel.checkConnectionRestart.text")); // NOI18N + checkConnectionRestart.setToolTipText(org.openide.util.NbBundle.getMessage(IDROPConfigurationPanel.class, "IDROPConfigurationPanel.checkConnectionRestart.toolTipText")); // NOI18N + checkConnectionRestart.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + checkConnectionRestartItemStateChanged(evt); + } + }); + checkConnectionRestart.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + checkConnectionRestartActionPerformed(evt); + } + }); + pnlTransferManagement.add(checkConnectionRestart); + gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; @@ -1270,6 +1285,29 @@ public class IDROPConfigurationPanel extends javax.swing.JDialog { idropGui.reinitializeForChangedIRODSAccount(); }//GEN-LAST:event_comboPrefsDefaultResourceActionPerformed + private void checkConnectionRestartActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkConnectionRestartActionPerformed + + + + + + }//GEN-LAST:event_checkConnectionRestartActionPerformed + + private void checkConnectionRestartItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_checkConnectionRestartItemStateChanged + boolean isSelected = false; + if (evt.getStateChange() == ItemEvent.SELECTED) { + isSelected = true; + } + log.info("updating connection restart to:{}", isSelected); + try { + idropCore.getIdropConfigurationService().updateConfig(IdropConfigurationService.IRODS_CONNECTION_RESTART, Boolean.toString(isSelected)); + idropCore.getIdropConfigurationService().updateJargonPropertiesBasedOnIDROPConfig(); + } catch (Exception ex) { + log.error("error setting property", ex); + throw new IdropRuntimeException(ex); + } + }//GEN-LAST:event_checkConnectionRestartItemStateChanged + private void btnOKActionPerformed(java.awt.event.ActionEvent evt) { this.dispose(); } @@ -1690,6 +1728,7 @@ public class IDROPConfigurationPanel extends javax.swing.JDialog { private javax.swing.ButtonGroup buttonGroupSynchMode; private javax.swing.JCheckBox checkAllowParallelTransfers; private javax.swing.JCheckBox checkAllowRerouting; + private javax.swing.JCheckBox checkConnectionRestart; private javax.swing.JCheckBox checkLogSuccessfulTransfer; private javax.swing.JCheckBox checkShowFileProgress; private javax.swing.JCheckBox checkShowGUI; @@ -1783,6 +1822,7 @@ public class IDROPConfigurationPanel extends javax.swing.JDialog { spinnerIrodsParallelSocketTimeout.setValue(idropConfig.getIrodsParallelConnectionTimeout()); spinnerIrodsMaxParallelThreads.setValue(idropConfig.getIrodsParallelTransferMaxThreads()); checkAllowParallelTransfers.setSelected(idropConfig.isUseParallelTransfers()); + checkConnectionRestart.setSelected(idropConfig.isConnectionRestart()); checkUseNIOForParallelTransfers.setSelected(idropConfig.isUseNIOForParallelTransfers()); txtInternalInputBufferSize.setText(String.valueOf(idropConfig.getInternalInputStreamBufferSize())); txtInternalOutputBufferSize.setText(String.valueOf(idropConfig.getInternalOutputStreamBufferSize())); diff --git a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/services/IdropConfigurationService.java b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/services/IdropConfigurationService.java index 2b136a9..e8df940 100644 --- a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/services/IdropConfigurationService.java +++ b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/services/IdropConfigurationService.java @@ -55,6 +55,7 @@ public interface IdropConfigurationService { public static final String IRODS_IO_LOCAL_OUTPUT_STREAM_BUFFER_SIZE = "jargon.io.local.output.stream.buffer.size"; public static final String IRODS_IO_PUT_BUFFER_SIZE = "jargon.put.buffer.size"; public static final String IRODS_IO_GET_BUFFER_SIZE = "jargon.get.buffer.size"; + public static final String IRODS_CONNECTION_RESTART = "transfer.reconnect"; Properties bootstrapConfigurationAndMergePropertiesFromLocalAndClasspath() throws IdropException; diff --git a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/services/IdropConfigurationServiceImpl.java b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/services/IdropConfigurationServiceImpl.java index 4242ad2..fe525da 100644 --- a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/services/IdropConfigurationServiceImpl.java +++ b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/services/IdropConfigurationServiceImpl.java @@ -325,6 +325,7 @@ public class IdropConfigurationServiceImpl implements IdropConfigurationService idropConfig.setProperty(IdropConfigurationService.IRODS_PARALLEL_USE_NIO, String.valueOf(jargonProperties.isUseNIOForParallelTransfers())); idropConfig.setProperty(IdropConfigurationService.IRODS_PARALLEL_USE_PARALLEL, String.valueOf(jargonProperties.isUseParallelTransfer())); idropConfig.setProperty(IdropConfigurationService.IRODS_PARALLEL_USE_POOL, String.valueOf(jargonProperties.isUseTransferThreadsPool())); + idropConfig.setProperty(IdropConfigurationService.IRODS_CONNECTION_RESTART, String.valueOf(jargonProperties.isReconnect())); } } @@ -352,6 +353,7 @@ public class IdropConfigurationServiceImpl implements IdropConfigurationService newProps.setSendInputStreamBufferSize(idropCore.getIdropConfig().getSendInputStreamBufferSize()); newProps.setUseParallelTransfer(idropCore.getIdropConfig().isUseParallelTransfers()); newProps.setUseNIOForParallelTransfers(idropCore.getIdropConfig().isUseNIOForParallelTransfers()); + newProps.setReconnect(idropCore.getIdropConfig().isConnectionRestart()); idropCore.getIrodsFileSystem().getIrodsSession().setJargonProperties(newProps); } diff --git a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/utils/IdropConfig.java b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/utils/IdropConfig.java index 7ffc9d3..5371e3d 100644 --- a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/utils/IdropConfig.java +++ b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/utils/IdropConfig.java @@ -475,4 +475,15 @@ public class IdropConfig { return propInt; } + + public boolean isConnectionRestart() { + boolean propBoolean = false; + String propString = idropProperties.getProperty(IdropConfigurationService.IRODS_CONNECTION_RESTART); + + if (propString != null && propString.equals("true")) { + propBoolean = true; + } + + return propBoolean; + } } diff --git a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/utils/Version.java b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/utils/Version.java index 651203c..8de15d8 100644 --- a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/utils/Version.java +++ b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/utils/Version.java @@ -1,5 +1,5 @@ package org.irods.jargon.idrop.desktop.systraygui.utils; public final class Version { - public static String VERSION="1.0.2"; - public static String BUILD_TIME="20121130-0937"; + public static String VERSION="1.0.3-SNAPSHOT"; + public static String BUILD_TIME="20121206-0814"; } diff --git a/idrop-swing/src/main/resources/idrop.properties b/idrop-swing/src/main/resources/idrop.properties index 4ab949d..c7ae201 100644 --- a/idrop-swing/src/main/resources/idrop.properties +++ b/idrop-swing/src/main/resources/idrop.properties @@ -64,7 +64,6 @@ jargon.io.local.input.stream.buffer.size=16384 jargon.put.buffer.size=4194304 # size of buffer used in get operations (file segment size per call to DataObjInp) jargon.get.buffer.size=4194304 - #allow resource redirects (redirect transfers to resource server containing file) transfer.allow.redirects=false #compute a checksum for every file put to iRODS (does not do a verification/comparison) @@ -72,10 +71,13 @@ transfer.compute.checksum=false #compute a checksum for every file put/get to iRODS and verify transfer.computeandvalidate.checksum=false #send within-file status call-backs on transfers (slight performance penalty, but allows monitoring of file progress if 'true' -transfer.intra.file.callbacks=false +transfer.intra.file.callbacks=true #do not allow parallel trasfers at all transfer.use.parallel=true #use NIO variant for parallel transfers (use java nio transferTo between the local file system and iRODS) - EXPERIMENTAL transfer.use.nio.for.parallel=false #thread cap for parallel transfers, can interact with pool settings above, set to 0 for no max, transfer.use.parallel overrides this transfer.max.parallel.threads=4 +#transfer reconnect setting for puts/gets will renew socket connections as in the -T icommand option +transfer.reconnect=true + diff --git a/idrop-swing/src/main/resources/org/irods/jargon/idrop/desktop/systraygui/Bundle.properties b/idrop-swing/src/main/resources/org/irods/jargon/idrop/desktop/systraygui/Bundle.properties index 825a534..827589d 100644 --- a/idrop-swing/src/main/resources/org/irods/jargon/idrop/desktop/systraygui/Bundle.properties +++ b/idrop-swing/src/main/resources/org/irods/jargon/idrop/desktop/systraygui/Bundle.properties @@ -115,3 +115,5 @@ IDROPConfigurationPanel.lblZone.AccessibleContext.accessibleDescription=Zone of IDROPConfigurationPanel.lblResource.AccessibleContext.accessibleDescription=Current default resource IDROPConfigurationPanel.lblUserName.AccessibleContext.accessibleName=User name of currently logged in grid IDROPConfigurationPanel.lblResource.text=resource +IDROPConfigurationPanel.checkConnectionRestart.text=Connection Restart +IDROPConfigurationPanel.checkConnectionRestart.toolTipText=Periodically restart the connection, equivalent to the -T option @@ -3,13 +3,13 @@ <groupId>org.irods</groupId> <artifactId>idrop</artifactId> <packaging>pom</packaging> - <version>1.0.2</version> + <version>1.0.3-SNAPSHOT</version> <name>iRODS iDrop</name> <description>iRODS iDrop - personal web and desktop grid access clients</description> <url>https://code.renci.org/gf/project/irodsidrop/</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <jargon.version>3.2.1.3</jargon.version> + <jargon.version>3.2.1.4-SNAPSHOT</jargon.version> <spring.core.version>3.0.5.RELEASE</spring.core.version> <commons.io.version>2.0.1</commons.io.version> <netbeans.version>RELEASE711</netbeans.version> |