summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Conway <mikeconway@dhcp152-54-6-70.wireless.europa.renci.org>2011-09-06 16:08:53 (GMT)
committer Mike Conway <mikeconway@dhcp152-54-6-70.wireless.europa.renci.org>2011-09-06 16:08:53 (GMT)
commitef92da848bf13357dc586f77daa7e32cffaabd7e (patch)
tree14449fcdd5c189bde0913a641ffd1bd7dd6df357
parent1e0a6ee537ceb9ae299df6ecd361786911a70f75 (diff)
downloadQCG-Data-ef92da848bf13357dc586f77daa7e32cffaabd7e.zip
QCG-Data-ef92da848bf13357dc586f77daa7e32cffaabd7e.tar.gz
QCG-Data-ef92da848bf13357dc586f77daa7e32cffaabd7e.tar.bz2
[#459] AVU Crud in idrop-web
-rw-r--r--idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/IDROPConfigurationPanel.form191
-rw-r--r--idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/IDROPConfigurationPanel.java114
-rw-r--r--idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/LoginDialog.form2
-rw-r--r--idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/LoginDialog.java2
-rw-r--r--idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/iDrop.form4
-rw-r--r--idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/iDrop.java42
-rw-r--r--idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/services/IdropConfigurationServiceImpl.java5
-rw-r--r--idrop-swing/src/main/resources/log4j.properties2
-rw-r--r--idrop-swing/src/main/resources/org/irods/jargon/idrop/desktop/systraygui/Bundle.properties11
-rw-r--r--idrop-web/grails-app/conf/BuildConfig.groovy2
-rw-r--r--idrop-web/grails-app/controllers/org/irods/mydrop/controller/BrowseController.groovy39
-rw-r--r--idrop-web/test/unit/org/irods/mydrop/controller/BrowseControllerTests.groovy37
12 files changed, 400 insertions, 51 deletions
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 5deb5d3..24935bc 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
@@ -327,41 +327,192 @@
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
<SubComponents>
- <Component class="javax.swing.JCheckBox" name="checkLogSuccessfulTransfer">
+ <Container class="javax.swing.JPanel" name="pnlExecutor">
<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.checkLogSuccessfulTransfer.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+ <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+ <TitledBorder title="Executor Pool Configuration">
+ <ResourceString PropertyName="titleX" bundle="org/irods/jargon/idrop/desktop/systraygui/Bundle.properties" key="IDROPConfigurationPanel.pnlExecutor.border.title" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </TitledBorder>
+ </Border>
</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.checkLogSuccessfulTransfer.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </Properties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+ <GridBagConstraints gridX="1" gridY="0" gridWidth="1" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="20" anchor="10" weightX="0.0" weightY="0.0"/>
+ </Constraint>
+ </Constraints>
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
+ <SubComponents>
+ <Component class="javax.swing.JCheckBox" name="checkUseExecutorPool">
+ <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.checkUseExecutorPool.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="itemStateChanged" listener="java.awt.event.ItemListener" parameters="java.awt.event.ItemEvent" handler="checkUseExecutorPoolItemStateChanged"/>
+ </Events>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+ <GridBagConstraints gridX="0" gridY="0" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="60" insetsLeft="6" insetsBottom="45" insetsRight="6" anchor="18" weightX="0.0" weightY="0.0"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ </SubComponents>
+ </Container>
+ <Container class="javax.swing.JPanel" name="pnlTransferManagement">
+ <Properties>
+ <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+ <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+ <TitledBorder title="Transfer Management">
+ <ResourceString PropertyName="titleX" bundle="org/irods/jargon/idrop/desktop/systraygui/Bundle.properties" key="IDROPConfigurationPanel.pnlTransferManagement.border.title" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </TitledBorder>
+ </Border>
</Property>
</Properties>
- <Events>
- <EventHandler event="itemStateChanged" listener="java.awt.event.ItemListener" parameters="java.awt.event.ItemEvent" handler="checkLogSuccessfulTransferItemStateChanged"/>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="checkLogSuccessfulTransferActionPerformed"/>
- </Events>
<Constraints>
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="0" gridY="0" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="18" weightX="0.0" weightY="0.0"/>
+ <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="20" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.0"/>
</Constraint>
</Constraints>
- </Component>
- <Component class="javax.swing.JCheckBox" name="checkVerifyChecksumOnTransfer">
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout">
+ <Property name="axis" type="int" value="3"/>
+ </Layout>
+ <SubComponents>
+ <Component class="javax.swing.JCheckBox" name="checkLogSuccessfulTransfer">
+ <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.checkLogSuccessfulTransfer.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </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.checkLogSuccessfulTransfer.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="itemStateChanged" listener="java.awt.event.ItemListener" parameters="java.awt.event.ItemEvent" handler="checkLogSuccessfulTransferItemStateChanged"/>
+ <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="checkLogSuccessfulTransferActionPerformed"/>
+ </Events>
+ </Component>
+ <Component class="javax.swing.JCheckBox" name="checkVerifyChecksumOnTransfer">
+ <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.checkVerifyChecksumOnTransfer.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="itemStateChanged" listener="java.awt.event.ItemListener" parameters="java.awt.event.ItemEvent" handler="checkVerifyChecksumOnTransferItemStateChanged"/>
+ <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="checkVerifyChecksumOnTransferActionPerformed"/>
+ </Events>
+ </Component>
+ </SubComponents>
+ </Container>
+ <Container class="javax.swing.JPanel" name="plnPipelineConfiguration">
<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.checkVerifyChecksumOnTransfer.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+ <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+ <TitledBorder title="I/O Pipeline">
+ <ResourceString PropertyName="titleX" bundle="org/irods/jargon/idrop/desktop/systraygui/Bundle.properties" key="IDROPConfigurationPanel.plnPipelineConfiguration.border.title" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </TitledBorder>
+ </Border>
</Property>
</Properties>
- <Events>
- <EventHandler event="itemStateChanged" listener="java.awt.event.ItemListener" parameters="java.awt.event.ItemEvent" handler="checkVerifyChecksumOnTransferItemStateChanged"/>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="checkVerifyChecksumOnTransferActionPerformed"/>
- </Events>
<Constraints>
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="0" gridY="1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.0"/>
+ <GridBagConstraints gridX="1" gridY="1" gridWidth="3" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="20" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.0"/>
</Constraint>
</Constraints>
- </Component>
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
+ <SubComponents>
+ <Component class="javax.swing.JLabel" name="lblIrodsSocketTimeout">
+ <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.lblIrodsSocketTimeout.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </Property>
+ </Properties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+ <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="22" weightX="0.0" weightY="0.0"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JSpinner" name="spinnerIrodsSocketTimeout">
+ <Properties>
+ <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
+ <SpinnerModel initial="0" maximum="600" minimum="0" numberType="java.lang.Integer" stepSize="10" type="number"/>
+ </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.spinnerIrodsSocketTimeout.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </Property>
+ </Properties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+ <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="21" weightX="0.0" weightY="0.0"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="lblIrodsParallelSocketTimeout">
+ <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.lblIrodsParallelSocketTimeout.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </Property>
+ </Properties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+ <GridBagConstraints gridX="0" gridY="1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="22" weightX="0.0" weightY="0.0"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JSpinner" name="spinnerIrodsParallelSocketTimeout">
+ <Properties>
+ <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
+ <SpinnerModel initial="0" maximum="600" minimum="0" numberType="java.lang.Integer" stepSize="10" type="number"/>
+ </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.spinnerIrodsParallelSocketTimeout.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </Property>
+ </Properties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+ <GridBagConstraints gridX="1" gridY="1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="21" weightX="0.0" weightY="0.0"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="lblMaximumParallelTransferThreads">
+ <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.lblMaximumParallelTransferThreads.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </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.lblMaximumParallelTransferThreads.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </Property>
+ </Properties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+ <GridBagConstraints gridX="0" gridY="2" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="22" weightX="0.0" weightY="0.0"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JSpinner" name="spinnerIrodsMaxParallelThreads">
+ <Properties>
+ <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
+ <SpinnerModel initial="4" maximum="16" minimum="1" numberType="java.lang.Integer" stepSize="1" type="number"/>
+ </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.spinnerIrodsMaxParallelThreads.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </Property>
+ </Properties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+ <GridBagConstraints gridX="1" gridY="2" gridWidth="1" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="21" weightX="0.0" weightY="0.0"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ </SubComponents>
+ </Container>
</SubComponents>
</Container>
<Container class="javax.swing.JPanel" name="pnlConfigSynch">
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 b56a85b..00e815e 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
@@ -163,8 +163,18 @@ public class IDROPConfigurationPanel extends javax.swing.JDialog {
btnLogout = new javax.swing.JButton();
btnChangePassword = new javax.swing.JButton();
pnlConfigTransfers = new javax.swing.JPanel();
+ pnlExecutor = new javax.swing.JPanel();
+ checkUseExecutorPool = new javax.swing.JCheckBox();
+ pnlTransferManagement = new javax.swing.JPanel();
checkLogSuccessfulTransfer = new javax.swing.JCheckBox();
checkVerifyChecksumOnTransfer = new javax.swing.JCheckBox();
+ plnPipelineConfiguration = new javax.swing.JPanel();
+ lblIrodsSocketTimeout = new javax.swing.JLabel();
+ spinnerIrodsSocketTimeout = new javax.swing.JSpinner();
+ lblIrodsParallelSocketTimeout = new javax.swing.JLabel();
+ spinnerIrodsParallelSocketTimeout = new javax.swing.JSpinner();
+ lblMaximumParallelTransferThreads = new javax.swing.JLabel();
+ spinnerIrodsMaxParallelThreads = new javax.swing.JSpinner();
pnlConfigSynch = new javax.swing.JPanel();
pnlConfigSynchListing = new javax.swing.JPanel();
pnlSynchRefresh = new javax.swing.JPanel();
@@ -375,6 +385,32 @@ public class IDROPConfigurationPanel extends javax.swing.JDialog {
pnlConfigTransfers.setLayout(new java.awt.GridBagLayout());
+ pnlExecutor.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(IDROPConfigurationPanel.class, "IDROPConfigurationPanel.pnlExecutor.border.title"))); // NOI18N
+ pnlExecutor.setLayout(new java.awt.GridBagLayout());
+
+ checkUseExecutorPool.setText(org.openide.util.NbBundle.getMessage(IDROPConfigurationPanel.class, "IDROPConfigurationPanel.checkUseExecutorPool.text")); // NOI18N
+ checkUseExecutorPool.addItemListener(new java.awt.event.ItemListener() {
+ public void itemStateChanged(java.awt.event.ItemEvent evt) {
+ checkUseExecutorPoolItemStateChanged(evt);
+ }
+ });
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 0;
+ gridBagConstraints.gridy = 0;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
+ gridBagConstraints.insets = new java.awt.Insets(60, 6, 45, 6);
+ pnlExecutor.add(checkUseExecutorPool, gridBagConstraints);
+
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 1;
+ gridBagConstraints.gridy = 0;
+ gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
+ gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 20);
+ pnlConfigTransfers.add(pnlExecutor, gridBagConstraints);
+
+ pnlTransferManagement.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(IDROPConfigurationPanel.class, "IDROPConfigurationPanel.pnlTransferManagement.border.title"))); // NOI18N
+ pnlTransferManagement.setLayout(new javax.swing.BoxLayout(pnlTransferManagement, javax.swing.BoxLayout.PAGE_AXIS));
+
checkLogSuccessfulTransfer.setText(org.openide.util.NbBundle.getMessage(IDROPConfigurationPanel.class, "IDROPConfigurationPanel.checkLogSuccessfulTransfer.text")); // NOI18N
checkLogSuccessfulTransfer.setToolTipText(org.openide.util.NbBundle.getMessage(IDROPConfigurationPanel.class, "IDROPConfigurationPanel.checkLogSuccessfulTransfer.toolTipText")); // NOI18N
checkLogSuccessfulTransfer.addItemListener(new java.awt.event.ItemListener() {
@@ -387,11 +423,7 @@ public class IDROPConfigurationPanel extends javax.swing.JDialog {
checkLogSuccessfulTransferActionPerformed(evt);
}
});
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 0;
- gridBagConstraints.gridy = 0;
- gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
- pnlConfigTransfers.add(checkLogSuccessfulTransfer, gridBagConstraints);
+ pnlTransferManagement.add(checkLogSuccessfulTransfer);
checkVerifyChecksumOnTransfer.setText(org.openide.util.NbBundle.getMessage(IDROPConfigurationPanel.class, "IDROPConfigurationPanel.checkVerifyChecksumOnTransfer.text")); // NOI18N
checkVerifyChecksumOnTransfer.addItemListener(new java.awt.event.ItemListener() {
@@ -404,10 +436,66 @@ public class IDROPConfigurationPanel extends javax.swing.JDialog {
checkVerifyChecksumOnTransferActionPerformed(evt);
}
});
+ pnlTransferManagement.add(checkVerifyChecksumOnTransfer);
+
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
+ gridBagConstraints.insets = new java.awt.Insets(0, 20, 0, 0);
+ pnlConfigTransfers.add(pnlTransferManagement, gridBagConstraints);
+
+ plnPipelineConfiguration.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(IDROPConfigurationPanel.class, "IDROPConfigurationPanel.plnPipelineConfiguration.border.title"))); // NOI18N
+ plnPipelineConfiguration.setLayout(new java.awt.GridBagLayout());
+
+ lblIrodsSocketTimeout.setText(org.openide.util.NbBundle.getMessage(IDROPConfigurationPanel.class, "IDROPConfigurationPanel.lblIrodsSocketTimeout.text")); // NOI18N
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_END;
+ plnPipelineConfiguration.add(lblIrodsSocketTimeout, gridBagConstraints);
+
+ spinnerIrodsSocketTimeout.setModel(new javax.swing.SpinnerNumberModel(0, 0, 600, 10));
+ spinnerIrodsSocketTimeout.setToolTipText(org.openide.util.NbBundle.getMessage(IDROPConfigurationPanel.class, "IDROPConfigurationPanel.spinnerIrodsSocketTimeout.toolTipText")); // NOI18N
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_START;
+ plnPipelineConfiguration.add(spinnerIrodsSocketTimeout, gridBagConstraints);
+
+ lblIrodsParallelSocketTimeout.setText(org.openide.util.NbBundle.getMessage(IDROPConfigurationPanel.class, "IDROPConfigurationPanel.lblIrodsParallelSocketTimeout.text")); // NOI18N
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 0;
+ gridBagConstraints.gridy = 1;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_END;
+ plnPipelineConfiguration.add(lblIrodsParallelSocketTimeout, gridBagConstraints);
+
+ spinnerIrodsParallelSocketTimeout.setModel(new javax.swing.SpinnerNumberModel(0, 0, 600, 10));
+ spinnerIrodsParallelSocketTimeout.setToolTipText(org.openide.util.NbBundle.getMessage(IDROPConfigurationPanel.class, "IDROPConfigurationPanel.spinnerIrodsParallelSocketTimeout.toolTipText")); // NOI18N
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 1;
+ gridBagConstraints.gridy = 1;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_START;
+ plnPipelineConfiguration.add(spinnerIrodsParallelSocketTimeout, gridBagConstraints);
+
+ lblMaximumParallelTransferThreads.setText(org.openide.util.NbBundle.getMessage(IDROPConfigurationPanel.class, "IDROPConfigurationPanel.lblMaximumParallelTransferThreads.text")); // NOI18N
+ lblMaximumParallelTransferThreads.setToolTipText(org.openide.util.NbBundle.getMessage(IDROPConfigurationPanel.class, "IDROPConfigurationPanel.lblMaximumParallelTransferThreads.toolTipText")); // NOI18N
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
+ gridBagConstraints.gridy = 2;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_END;
+ plnPipelineConfiguration.add(lblMaximumParallelTransferThreads, gridBagConstraints);
+
+ spinnerIrodsMaxParallelThreads.setModel(new javax.swing.SpinnerNumberModel(4, 1, 16, 1));
+ spinnerIrodsMaxParallelThreads.setToolTipText(org.openide.util.NbBundle.getMessage(IDROPConfigurationPanel.class, "IDROPConfigurationPanel.spinnerIrodsMaxParallelThreads.toolTipText")); // NOI18N
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 1;
+ gridBagConstraints.gridy = 2;
+ gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_START;
+ plnPipelineConfiguration.add(spinnerIrodsMaxParallelThreads, gridBagConstraints);
+
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 1;
- pnlConfigTransfers.add(checkVerifyChecksumOnTransfer, gridBagConstraints);
+ gridBagConstraints.gridwidth = 3;
+ gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
+ gridBagConstraints.insets = new java.awt.Insets(20, 0, 0, 0);
+ pnlConfigTransfers.add(plnPipelineConfiguration, gridBagConstraints);
tabConfig.addTab(org.openide.util.NbBundle.getMessage(IDROPConfigurationPanel.class, "IDROPConfigurationPanel.pnlConfigTransfers.TabConstraints.tabTitle"), pnlConfigTransfers); // NOI18N
@@ -759,6 +847,10 @@ public class IDROPConfigurationPanel extends javax.swing.JDialog {
}//GEN-LAST:event_checkLogSuccessfulTransferItemStateChanged
+ private void checkUseExecutorPoolItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_checkUseExecutorPoolItemStateChanged
+ // TODO add your handling code here:
+ }//GEN-LAST:event_checkUseExecutorPoolItemStateChanged
+
private void btnOKActionPerformed(java.awt.event.ActionEvent evt) {
this.dispose();
}
@@ -1175,12 +1267,16 @@ public class IDROPConfigurationPanel extends javax.swing.JDialog {
private javax.swing.JCheckBox checkLogSuccessfulTransfer;
private javax.swing.JCheckBox checkShowFileProgress;
private javax.swing.JCheckBox checkShowGUI;
+ private javax.swing.JCheckBox checkUseExecutorPool;
private javax.swing.JCheckBox checkVerifyChecksumOnTransfer;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel5;
private javax.swing.JComboBox jcomboSynchFrequency;
private javax.swing.JLabel lblHost;
private javax.swing.JLabel lblHostLabel;
+ private javax.swing.JLabel lblIrodsParallelSocketTimeout;
+ private javax.swing.JLabel lblIrodsSocketTimeout;
+ private javax.swing.JLabel lblMaximumParallelTransferThreads;
private javax.swing.JLabel lblPort;
private javax.swing.JLabel lblPortLabel;
private javax.swing.JLabel lblResource;
@@ -1194,6 +1290,7 @@ public class IDROPConfigurationPanel extends javax.swing.JDialog {
private javax.swing.JLabel lblZone;
private javax.swing.JLabel lblZoneLabel;
private javax.swing.JPanel panelSynchToolbar;
+ private javax.swing.JPanel plnPipelineConfiguration;
private javax.swing.JPanel pnlBottom;
private javax.swing.JPanel pnlCenter;
private javax.swing.JPanel pnlConfigGrids;
@@ -1204,6 +1301,7 @@ public class IDROPConfigurationPanel extends javax.swing.JDialog {
private javax.swing.JPanel pnlConfigTransfers;
private javax.swing.JPanel pnlCurrentGrid;
private javax.swing.JPanel pnlCurrentGridToolbar;
+ private javax.swing.JPanel pnlExecutor;
private javax.swing.JPanel pnlIrodsSynch;
private javax.swing.JPanel pnlLocalSynch;
private javax.swing.JPanel pnlSynchData;
@@ -1213,10 +1311,14 @@ public class IDROPConfigurationPanel extends javax.swing.JDialog {
private javax.swing.JPanel pnlSynchName;
private javax.swing.JPanel pnlSynchRefresh;
private javax.swing.JPanel pnlTop;
+ private javax.swing.JPanel pnlTransferManagement;
private javax.swing.JRadioButton radioBackup;
private javax.swing.JRadioButton radioFeed;
private javax.swing.JRadioButton radioSynch;
private javax.swing.JScrollPane scrollSynchTable;
+ private javax.swing.JSpinner spinnerIrodsMaxParallelThreads;
+ private javax.swing.JSpinner spinnerIrodsParallelSocketTimeout;
+ private javax.swing.JSpinner spinnerIrodsSocketTimeout;
private javax.swing.JTabbedPane tabConfig;
private javax.swing.JTextField txtIrodsPath;
private javax.swing.JTextField txtLocalPath;
diff --git a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/LoginDialog.form b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/LoginDialog.form
index 3017524..c718d9e 100644
--- a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/LoginDialog.form
+++ b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/LoginDialog.form
@@ -71,7 +71,6 @@
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
<Dimension value="null"/>
</Property>
- <Property name="requestFocusEnabled" type="boolean" value="false"/>
</Properties>
<Constraints>
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
@@ -95,7 +94,6 @@
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
<Dimension value="null"/>
</Property>
- <Property name="requestFocusEnabled" type="boolean" value="false"/>
</Properties>
<Constraints>
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
diff --git a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/LoginDialog.java b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/LoginDialog.java
index 0679ef5..5cfbaf0 100644
--- a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/LoginDialog.java
+++ b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/LoginDialog.java
@@ -286,7 +286,6 @@ public class LoginDialog extends JDialog {
txtPort.setColumns(8);
txtPort.setText("1247");
txtPort.setPreferredSize(null);
- txtPort.setRequestFocusEnabled(false);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 1;
@@ -303,7 +302,6 @@ public class LoginDialog extends JDialog {
txtZone.setColumns(30);
txtZone.setPreferredSize(null);
- txtZone.setRequestFocusEnabled(false);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 2;
diff --git a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/iDrop.form b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/iDrop.form
index 7a816b9..4ec3e8d 100644
--- a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/iDrop.form
+++ b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/iDrop.form
@@ -1359,12 +1359,12 @@
<Dimension value="[30, 10]"/>
</Property>
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[300, 20]"/>
+ <Dimension value="[500, 20]"/>
</Property>
</Properties>
<Constraints>
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.0"/>
+ <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.0"/>
</Constraint>
</Constraints>
</Component>
diff --git a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/iDrop.java b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/iDrop.java
index 8a6cc0b..f158162 100644
--- a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/iDrop.java
+++ b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/iDrop.java
@@ -255,23 +255,33 @@ public class iDrop extends javax.swing.JFrame implements ActionListener,
lblTransferByteCounts.setText("Current File (kb):"
+ (ts.getBytesTransfered() / 1024) + " / "
+ (ts.getTotalSize() / 1024));
- progressIntraFile.setMinimum(0);
- progressIntraFile.setMaximum((int) ts.getTotalSize());
- progressIntraFile.setValue((int) ts.getBytesTransfered());
+
+ log.debug("transferred so far:{}", ts.getBytesTransfered());
+ log.debug("total bytes:{}", ts.getTotalSize());
+ float rawPct = (float) ts.getBytesTransfered() / ts.getTotalSize();
+ int percentDone = (int) (rawPct * 100F);
+ log.info("pct done:{}", percentDone);
+
+ progressIntraFile.setValue(percentDone);
} else if (ts.getTransferState() == TransferStatus.TransferState.IN_PROGRESS_START_FILE) {
// start of a file operation
+ lblTransferByteCounts.setText("Current File (kb):"
+ + 0 + " / "
+ + (ts.getTotalSize() / 1024));
progressIntraFile.setMinimum(0);
- progressIntraFile.setMaximum((int) ts.getTotalSize());
+ progressIntraFile.setMaximum(100);
progressIntraFile.setValue(0);
lblCurrentFile.setText(IDropUtils.abbreviateFileName(ts.getSourceFileAbsolutePath()));
+ lblTransferFilesCounts.setText("Files: "
+ + ts.getTotalFilesTransferredSoFar() + " / "
+ + ts.getTotalFilesToTransfer());
} else if (ts.getTransferState() == TransferStatus.TransferState.IN_PROGRESS_COMPLETE_FILE) {
- progressIntraFile.setMinimum(0);
- progressIntraFile.setMaximum(10);
- progressIntraFile.setValue(10);
+
+ progressIntraFile.setValue(100);
lblTransferByteCounts.setText("Current File (kb):"
+ (ts.getTotalSize() / 1024) + " / "
+ (ts.getTotalSize() / 1024));
@@ -292,12 +302,7 @@ public class iDrop extends javax.swing.JFrame implements ActionListener,
+ (ts.getBytesTransfered() / 1024) + " / "
+ (ts.getTotalSize() / 1024));
- /*
- progressIntraFile.setMaximum(10);
- progressIntraFile.setMinimum(0);
- progressIntraFile.setValue(0);
- *
- */
+
lblCurrentFile.setText(IDropUtils.abbreviateFileName(ts.getSourceFileAbsolutePath()));
}
}
@@ -1605,7 +1610,7 @@ public class iDrop extends javax.swing.JFrame implements ActionListener,
pnlFileNameAndIcon.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
pnlFileNameAndIcon.setMinimumSize(new java.awt.Dimension(100, 50));
- pnlFileNameAndIcon.setLayout(new java.awt.GridLayout());
+ pnlFileNameAndIcon.setLayout(new java.awt.GridLayout(1, 0));
lblFileOrCollectionName.setText(" ");
lblFileOrCollectionName.setMaximumSize(new java.awt.Dimension(900, 100));
@@ -1841,7 +1846,7 @@ public class iDrop extends javax.swing.JFrame implements ActionListener,
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
- gridBagConstraints.weightx = 0.005;
+ gridBagConstraints.weightx = 0.0050;
pnlIdropBottom.add(userNameLabel, gridBagConstraints);
pnlTransferOverview.setLayout(new java.awt.BorderLayout());
@@ -1897,8 +1902,11 @@ public class iDrop extends javax.swing.JFrame implements ActionListener,
lblCurrentFile.setMaximumSize(new java.awt.Dimension(999, 999));
lblCurrentFile.setMinimumSize(new java.awt.Dimension(30, 10));
- lblCurrentFile.setPreferredSize(new java.awt.Dimension(300, 20));
- pnlTransferFileInfo.add(lblCurrentFile, new java.awt.GridBagConstraints());
+ lblCurrentFile.setPreferredSize(new java.awt.Dimension(500, 20));
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
+ gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
+ pnlTransferFileInfo.add(lblCurrentFile, gridBagConstraints);
pnlTransferOverview.add(pnlTransferFileInfo, java.awt.BorderLayout.CENTER);
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 0caf811..dc0b125 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
@@ -288,6 +288,11 @@ public class IdropConfigurationServiceImpl implements IdropConfigurationService
newProps.setComputeAndVerifyChecksumAfterTransfer(idropCore.getIdropConfig().isVerifyChecksum());
newProps.setIntraFileStatusCallbacks(idropCore.getIdropConfig().isIntraFileStatusCallbacks());
+ newProps.setTransferThreadPoolMaxSimultaneousTransfers(1);
+ newProps.setUseParallelTransfer(true);
+ newProps.setUseTransferThreadsPool(false);
+ newProps.setIrodsSocketTimeout(240);
+ newProps.setIrodsParallelSocketTimeout(240);
idropCore.getIrodsFileSystem().getIrodsSession().setJargonProperties(newProps);
}
diff --git a/idrop-swing/src/main/resources/log4j.properties b/idrop-swing/src/main/resources/log4j.properties
index ddc3daa..555eacc 100644
--- a/idrop-swing/src/main/resources/log4j.properties
+++ b/idrop-swing/src/main/resources/log4j.properties
@@ -1,6 +1,6 @@
# Set root logger level to DEBUG and its only appender to A1.
#log4j.rootCategory=WARN, A1
-log4j.category.org.irods.jargon.idrop=INFO, A1
+log4j.category.org.irods.jargon.idrop=DEBUG, A1
log4j.category.org.irods.jargon.core= INFO, A1
log4j.categor.org.irods.jargon.usertagging=ERROR,A1
log4j.category.org.irods.jargon.transfer=INFO, A1
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 8f339b6..5e2cbc5 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
@@ -58,3 +58,14 @@ IDROPConfigurationPanel.btnRefreshSynch.text=Refresh
IDROPConfigurationPanel.btnRefreshSynch.toolTipText=Refresh the synch configuration data
IDROPConfigurationPanel.checkShowFileProgress.text=Show within-file transfer progress (slight performance penalty)
IDROPConfigurationPanel.checkShowFileProgress.toolTipText=Show a progress bar that indicates the transfer progress within a file (bytes transferred versus total bytes)
+IDROPConfigurationPanel.checkUseExecutorPool.text=Use executor pool for transfers
+IDROPConfigurationPanel.pnlExecutor.border.title=Executor Pool Configuration
+IDROPConfigurationPanel.pnlTransferManagement.border.title=Transfer Management
+IDROPConfigurationPanel.plnPipelineConfiguration.border.title=I/O Pipeline
+IDROPConfigurationPanel.lblIrodsSocketTimeout.text=IRODS agent connection timeout: (0 = no time out) in seconds
+IDROPConfigurationPanel.spinnerIrodsSocketTimeout.toolTipText=Time out for the main iRODS agent connection
+IDROPConfigurationPanel.lblIrodsParallelSocketTimeout.text=IRODS parellel transfer socket\n timeout: (0 = no time out) in seconds
+IDROPConfigurationPanel.spinnerIrodsParallelSocketTimeout.toolTipText=Time out for the main iRODS agent connection
+IDROPConfigurationPanel.lblMaximumParallelTransferThreads.text=Maximum # threads per parallel transfer
+IDROPConfigurationPanel.lblMaximumParallelTransferThreads.toolTipText=The maximum number of threads that will be used for parallel transfers
+IDROPConfigurationPanel.spinnerIrodsMaxParallelThreads.toolTipText=Time out for the main iRODS agent connection
diff --git a/idrop-web/grails-app/conf/BuildConfig.groovy b/idrop-web/grails-app/conf/BuildConfig.groovy
index 0007d39..f28791c 100644
--- a/idrop-web/grails-app/conf/BuildConfig.groovy
+++ b/idrop-web/grails-app/conf/BuildConfig.groovy
@@ -26,7 +26,7 @@ grails.project.dependency.resolution = {
}
dependencies {
// specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes eg.
- test 'org.irods.jargon:jargon-test:2.4.1-SNAPSHOT'
+ test 'org.irods.jargon:jargon-test:2.5.0-beta3-SNAPSHOT'
test 'org.mockito:mockito-all:1.8.1'
provided 'junit:junit:4.8.1'
compile 'org.irods.jargon:jargon-core:2.5.0-beta3-SNAPSHOT'
diff --git a/idrop-web/grails-app/controllers/org/irods/mydrop/controller/BrowseController.groovy b/idrop-web/grails-app/controllers/org/irods/mydrop/controller/BrowseController.groovy
index a9ab2be..3b3246a 100644
--- a/idrop-web/grails-app/controllers/org/irods/mydrop/controller/BrowseController.groovy
+++ b/idrop-web/grails-app/controllers/org/irods/mydrop/controller/BrowseController.groovy
@@ -40,7 +40,44 @@ class BrowseController {
log.debug("closing the session")
irodsAccessObjectFactory.closeSession()
}
+
+ /**
+ * Set the parent dir based on the possibility of 'strict ACL' being set
+ */
+ def establishParentDir = {
+
+ log.info("establishParentDir")
+
+ def parent = params['dir']
+ log.info "loading tree for parent path: ${parent}"
+
+ if (!parent) {
+ log.error "no parent param set"
+ throw new
+ JargonException("no parent param set")
+ }
+
+ if (parent != "/") {
+ log.info "parent not root use as is"
+ } else {
+ log.info "parent set to root, see if strict acl set"
+ def environmentalInfoAO = irodsAccessObjectFactory.getEnvironmentalInfoAO(irodsAccount)
+ def isStrict = environmentalInfoAO.isStrictACLs()
+ log.info "is strict?:{isStrict}"
+ if (isStrict) {
+ parent = "/" + irodsAccount.zone + "/home/" + irodsAccount.userName + "/"
+ }
+
+ }
+ log.info "set root dir as: ${parent}"
+ def jsonResult = ["parent" : parent]
+
+ log.info "jsonResult:${jsonResult}"
+
+ render jsonResult as JSON
+
+ }
/**
* Render the tree node data for the given parent. This will use the HTML style AJAX response to depict the children using unordered lists.
@@ -63,6 +100,8 @@ class BrowseController {
def collectionAndDataObjectListAndSearchAO = irodsAccessObjectFactory.getCollectionAndDataObjectListAndSearchAO(irodsAccount)
def collectionAndDataObjectList = collectionAndDataObjectListAndSearchAO.listDataObjectsAndCollectionsUnderPath(parent)
log.debug("retrieved collectionAndDataObjectList: ${collectionAndDataObjectList}")
+
+
def jsonBuff = []
diff --git a/idrop-web/test/unit/org/irods/mydrop/controller/BrowseControllerTests.groovy b/idrop-web/test/unit/org/irods/mydrop/controller/BrowseControllerTests.groovy
index 57613e5..2dc7c7d 100644
--- a/idrop-web/test/unit/org/irods/mydrop/controller/BrowseControllerTests.groovy
+++ b/idrop-web/test/unit/org/irods/mydrop/controller/BrowseControllerTests.groovy
@@ -9,6 +9,7 @@ import java.util.Properties
import org.irods.jargon.core.connection.IRODSAccount
import org.irods.jargon.core.exception.JargonException
import org.irods.jargon.core.pub.CollectionAndDataObjectListAndSearchAO
+import org.irods.jargon.core.pub.EnvironmentalInfoAO
import org.irods.jargon.core.pub.IRODSAccessObjectFactory
import org.irods.jargon.core.pub.IRODSFileSystem
import org.irods.jargon.core.pub.domain.Collection
@@ -73,6 +74,42 @@ class BrowseControllerTests extends ControllerUnitTestCase {
shouldFail(JargonException) { controller.fileInfo() }
}
+ void testEstablishParentDirWhenStrictACL() {
+ def testPath = "/"
+ def irodsAccessObjectFactory = Mockito.mock(IRODSAccessObjectFactory.class)
+ def environmentalInfoAO = Mockito.mock(EnvironmentalInfoAO.class)
+ Mockito.when(environmentalInfoAO.isStrictACLs()).thenReturn(true)
+ Mockito.when(irodsAccessObjectFactory.getEnvironmentalInfoAO(irodsAccount)).thenReturn(environmentalInfoAO)
+ controller.irodsAccessObjectFactory = irodsAccessObjectFactory
+ controller.irodsAccount = irodsAccount
+ controller.params.dir = testPath
+ controller.establishParentDir()
+ def controllerResponse = controller.response.contentAsString
+ def jsonResult = JSON.parse(controllerResponse)
+ assertNotNull("missing json result", jsonResult)
+
+ assert jsonResult.parent == "/" + irodsAccount.zone + "/home/" + irodsAccount.userName + "/"
+
+ }
+
+ void testEstablishParentDirWhenNotStrictACL() {
+ def testPath = "/"
+ def irodsAccessObjectFactory = Mockito.mock(IRODSAccessObjectFactory.class)
+ def environmentalInfoAO = Mockito.mock(EnvironmentalInfoAO.class)
+ Mockito.when(environmentalInfoAO.isStrictACLs()).thenReturn(false)
+ Mockito.when(irodsAccessObjectFactory.getEnvironmentalInfoAO(irodsAccount)).thenReturn(environmentalInfoAO)
+ controller.irodsAccessObjectFactory = irodsAccessObjectFactory
+ controller.irodsAccount = irodsAccount
+ controller.params.dir = testPath
+ controller.establishParentDir()
+ def controllerResponse = controller.response.contentAsString
+ def jsonResult = JSON.parse(controllerResponse)
+ assertNotNull("missing json result", jsonResult)
+
+ assert jsonResult.parent == "/"
+
+ }
+
void testFileInfoWithPath() {
def testPath = "/testpath.txt"
def irodsAccessObjectFactory = Mockito.mock(IRODSAccessObjectFactory.class)