You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oodt.apache.org by Chris Mattmann <ma...@apache.org> on 2017/12/12 22:58:40 UTC

Re: oodt git commit: close connection to release client

Tom, please revert this commit and do a commit that doesn’t include a billion lines of
formatting change and includes the actual change? (

Cheers,
Chris




On 12/12/17, 2:56 PM, "magicaltrout@apache.org" <ma...@apache.org> wrote:

    Repository: oodt
    Updated Branches:
      refs/heads/development bfb78c9a0 -> 82b522516
    
    
    close connection to release client
    
    
    Project: http://git-wip-us.apache.org/repos/asf/oodt/repo
    Commit: http://git-wip-us.apache.org/repos/asf/oodt/commit/82b52251
    Tree: http://git-wip-us.apache.org/repos/asf/oodt/tree/82b52251
    Diff: http://git-wip-us.apache.org/repos/asf/oodt/diff/82b52251
    
    Branch: refs/heads/development
    Commit: 82b5225162f78ee092e473218769bea61e3e510f
    Parents: bfb78c9
    Author: Tom Barber <to...@jpl.nasa.gov>
    Authored: Tue Dec 12 22:56:39 2017 +0000
    Committer: Tom Barber <to...@jpl.nasa.gov>
    Committed: Tue Dec 12 22:56:39 2017 +0000
    
    ----------------------------------------------------------------------
     .../filemgr/system/AvroFileManagerClient.java   | 320 +++++++++++++++++--
     1 file changed, 301 insertions(+), 19 deletions(-)
    ----------------------------------------------------------------------
    
    
    http://git-wip-us.apache.org/repos/asf/oodt/blob/82b52251/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/AvroFileManagerClient.java
    ----------------------------------------------------------------------
    diff --git a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/AvroFileManagerClient.java b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/AvroFileManagerClient.java
    index 3feda3d..043330a 100644
    --- a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/AvroFileManagerClient.java
    +++ b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/AvroFileManagerClient.java
    @@ -17,45 +17,46 @@
     
     package org.apache.oodt.cas.filemgr.system;
     
    +import java.io.IOException;
    +import java.net.InetSocketAddress;
    +import java.net.URL;
    +import java.nio.ByteBuffer;
    +import java.util.ArrayList;
    +import java.util.List;
    +import java.util.logging.Level;
    +import java.util.logging.Logger;
     import org.apache.avro.AvroRemoteException;
     import org.apache.avro.ipc.NettyTransceiver;
     import org.apache.avro.ipc.Transceiver;
     import org.apache.avro.ipc.specific.SpecificRequestor;
     import org.apache.oodt.cas.filemgr.datatransfer.DataTransfer;
    +import org.apache.oodt.cas.filemgr.exceptions.FileManagerException;
     import org.apache.oodt.cas.filemgr.structs.Element;
    -import org.apache.oodt.cas.filemgr.structs.Product;
     import org.apache.oodt.cas.filemgr.structs.FileTransferStatus;
    +import org.apache.oodt.cas.filemgr.structs.Product;
     import org.apache.oodt.cas.filemgr.structs.ProductPage;
     import org.apache.oodt.cas.filemgr.structs.ProductType;
    -import org.apache.oodt.cas.filemgr.structs.Reference;
     import org.apache.oodt.cas.filemgr.structs.Query;
    +import org.apache.oodt.cas.filemgr.structs.Reference;
    +import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroElement;
     import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroFileManager;
     import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroFileTransferStatus;
     import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroProduct;
    -import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroElement;
    -import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroQueryResult;
     import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroProductType;
    +import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroQueryResult;
     import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroReference;
    -import org.apache.oodt.cas.filemgr.structs.exceptions.RepositoryManagerException;
     import org.apache.oodt.cas.filemgr.structs.exceptions.CatalogException;
    +import org.apache.oodt.cas.filemgr.structs.exceptions.ConnectionException;
     import org.apache.oodt.cas.filemgr.structs.exceptions.DataTransferException;
    +import org.apache.oodt.cas.filemgr.structs.exceptions.RepositoryManagerException;
     import org.apache.oodt.cas.filemgr.structs.exceptions.ValidationLayerException;
     import org.apache.oodt.cas.filemgr.structs.exceptions.VersioningException;
    -import org.apache.oodt.cas.filemgr.structs.exceptions.ConnectionException;
     import org.apache.oodt.cas.filemgr.structs.query.ComplexQuery;
     import org.apache.oodt.cas.filemgr.structs.query.QueryResult;
     import org.apache.oodt.cas.filemgr.util.AvroTypeFactory;
     import org.apache.oodt.cas.filemgr.util.GenericFileManagerObjectFactory;
     import org.apache.oodt.cas.filemgr.versioning.Versioner;
     import org.apache.oodt.cas.metadata.Metadata;
    -import java.io.IOException;
    -import java.net.InetSocketAddress;
    -import java.net.URL;
    -import java.nio.ByteBuffer;
    -import java.util.ArrayList;
    -import java.util.List;
    -import java.util.logging.Level;
    -import java.util.logging.Logger;
     
     /**
      * @author radu
    @@ -142,8 +143,13 @@ public class AvroFileManagerClient implements FileManagerClient {
             try {
                 success = proxy.transferringProduct(AvroTypeFactory.getAvroProduct(product));
             } catch (AvroRemoteException e) {
    -            e.printStackTrace();
                 throw new DataTransferException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new DataTransferException(e.getMessage());
    +            }
             }
     
             return success;
    @@ -156,6 +162,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 success = proxy.removeProductTransferStatus(AvroTypeFactory.getAvroProduct(product));
             } catch (AvroRemoteException e) {
                 throw new DataTransferException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new DataTransferException(e.getMessage());
    +            }
             }
             return success;
         }
    @@ -167,6 +179,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 success = this.proxy.isTransferComplete(AvroTypeFactory.getAvroProduct(product));
             } catch (AvroRemoteException e) {
                 throw new DataTransferException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new DataTransferException(e.getMessage());
    +            }
             }
             return success;
         }
    @@ -178,6 +196,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 success = this.proxy.moveProduct(AvroTypeFactory.getAvroProduct(product), newPath);
             } catch (AvroRemoteException e) {
                 throw new DataTransferException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new DataTransferException(e.getMessage());
    +            }
             }
             return success;
         }
    @@ -189,6 +213,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 success = this.proxy.modifyProduct(AvroTypeFactory.getAvroProduct(product));
             } catch (AvroRemoteException e) {
                 throw new CatalogException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new CatalogException(e.getMessage());
    +            }
             }
             return success;
         }
    @@ -200,6 +230,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 success = this.proxy.removeProduct(AvroTypeFactory.getAvroProduct(product));
             } catch (AvroRemoteException e) {
                 throw new CatalogException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new CatalogException(e.getMessage());
    +            }
             }
             return success;
         }
    @@ -210,6 +246,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 return AvroTypeFactory.getFileTransferStatus(this.proxy.getCurrentFileTransfer());
             } catch (AvroRemoteException e) {
                 throw new DataTransferException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new DataTransferException(e.getMessage());
    +            }
             }
         }
     
    @@ -222,6 +264,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 }
             } catch (AvroRemoteException e) {
                 throw new DataTransferException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new DataTransferException(e.getMessage());
    +            }
             }
             return fileTransferStatuses;
         }
    @@ -232,6 +280,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 return this.proxy.getProductPctTransferred(AvroTypeFactory.getAvroProduct(product));
             } catch (AvroRemoteException e) {
                 throw new DataTransferException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new DataTransferException(e.getMessage());
    +            }
             }
         }
     
    @@ -241,6 +295,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 return this.proxy.getRefPctTransferred(AvroTypeFactory.getAvroReference(reference));
             } catch (AvroRemoteException e) {
                 throw new DataTransferException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new DataTransferException(e.getMessage());
    +            }
             }
         }
     
    @@ -255,6 +315,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 ));
             } catch (AvroRemoteException e) {
                 throw new CatalogException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new CatalogException(e.getMessage());
    +            }
             }
         }
     
    @@ -264,6 +330,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 return AvroTypeFactory.getProductPage(this.proxy.getFirstPage(AvroTypeFactory.getAvroProductType(type)));
             } catch (AvroRemoteException e) {
                 throw new CatalogException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new CatalogException(e.getMessage());
    +            }
             }
         }
     
    @@ -273,6 +345,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 return AvroTypeFactory.getProductPage(this.proxy.getLastPage(AvroTypeFactory.getAvroProductType(type)));
             } catch (AvroRemoteException e) {
                 throw new CatalogException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new CatalogException(e.getMessage());
    +            }
             }
         }
     
    @@ -285,6 +363,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 ));
             } catch (AvroRemoteException e) {
                 throw new CatalogException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new CatalogException(e.getMessage());
    +            }
             }
         }
     
    @@ -297,6 +381,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 ));
             } catch (AvroRemoteException e) {
                 throw new CatalogException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new CatalogException(e.getMessage());
    +            }
             }
         }
     
    @@ -306,6 +396,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 return this.proxy.addProductType(AvroTypeFactory.getAvroProductType(type));
             } catch (AvroRemoteException e) {
                 throw new RepositoryManagerException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new RepositoryManagerException(e.getMessage());
    +            }
             }
         }
     
    @@ -315,6 +411,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 return this.proxy.hasProduct(productName);
             } catch (AvroRemoteException e) {
                 throw new CatalogException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new CatalogException(e.getMessage());
    +            }
             }
         }
     
    @@ -324,6 +426,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 return this.proxy.getNumProducts(AvroTypeFactory.getAvroProductType(type));
             } catch (AvroRemoteException e) {
                 throw new CatalogException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new CatalogException(e.getMessage());
    +            }
             }
         }
     
    @@ -336,6 +444,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 }
             } catch (AvroRemoteException e) {
                 throw new CatalogException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new CatalogException(e.getMessage());
    +            }
             }
             return products;
         }
    @@ -349,6 +463,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 }
             } catch (AvroRemoteException e) {
                 throw new CatalogException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new CatalogException(e.getMessage());
    +            }
             }
             return products;
         }
    @@ -359,6 +479,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 this.proxy.setProductTransferStatus(AvroTypeFactory.getAvroProduct(product));
             } catch (AvroRemoteException e) {
                 throw new CatalogException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new CatalogException(e.getMessage());
    +            }
             }
         }
     
    @@ -368,6 +494,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 this.proxy.addProductReferences(AvroTypeFactory.getAvroProduct(product));
             } catch (AvroRemoteException e) {
                 throw new CatalogException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new CatalogException(e.getMessage());
    +            }
             }
         }
     
    @@ -378,6 +510,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                         AvroTypeFactory.getAvroMetadata(metadata));
             } catch (AvroRemoteException e) {
                 throw new CatalogException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new CatalogException(e.getMessage());
    +            }
             }
     
         }
    @@ -391,6 +529,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 );
             } catch (AvroRemoteException e) {
                 throw new CatalogException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new CatalogException(e.getMessage());
    +            }
             }
         }
     
    @@ -400,6 +544,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 return this.proxy.catalogProduct(AvroTypeFactory.getAvroProduct(product));
             } catch (AvroRemoteException e) {
                 throw new CatalogException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new CatalogException(e.getMessage());
    +            }
             }
         }
     
    @@ -409,6 +559,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 return AvroTypeFactory.getMetadata(this.proxy.getMetadata(AvroTypeFactory.getAvroProduct(product)));
             } catch (AvroRemoteException e) {
                 throw new CatalogException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new CatalogException(e.getMessage());
    +            }
             }
         }
     
    @@ -419,6 +575,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                         this.proxy.getReducedMetadata(AvroTypeFactory.getAvroProduct(product), (List<String>) elements));
             } catch (AvroRemoteException e) {
                 throw new CatalogException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new CatalogException(e.getMessage());
    +            }
             }
         }
     
    @@ -428,6 +590,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 return this.proxy.removeFile(filePath);
             } catch (AvroRemoteException e) {
                 throw new DataTransferException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new DataTransferException(e.getMessage());
    +            }
             }
         }
     
    @@ -437,6 +605,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 return this.proxy.retrieveFile(filePath, offset, numBytes).array();
             } catch (AvroRemoteException e) {
                 throw new DataTransferException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new DataTransferException(e.getMessage());
    +            }
             }
         }
     
    @@ -446,6 +620,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 this.proxy.transferFile(filePath, ByteBuffer.wrap(fileData), offset, numBytes);
             } catch (AvroRemoteException e) {
                 throw new DataTransferException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new DataTransferException(e.getMessage());
    +            }
             }
     
         }
    @@ -461,6 +641,12 @@ public class AvroFileManagerClient implements FileManagerClient {
     
             } catch (AvroRemoteException e) {
                 throw new CatalogException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new CatalogException(e.getMessage());
    +            }
             }
     
         }
    @@ -474,6 +660,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 }
             } catch (AvroRemoteException e) {
                 throw new ValidationLayerException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new ValidationLayerException(e.getMessage());
    +            }
             }
             return products;
         }
    @@ -484,6 +676,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 return AvroTypeFactory.getElement(this.proxy.getElementById(elementId));
             } catch (AvroRemoteException e) {
                 throw new ValidationLayerException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new ValidationLayerException(e.getMessage());
    +            }
             }
         }
     
    @@ -493,6 +691,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 return AvroTypeFactory.getElement(this.proxy.getElementByName(elementName));
             } catch (AvroRemoteException e) {
                 throw new ValidationLayerException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new ValidationLayerException(e.getMessage());
    +            }
             }
         }
     
    @@ -506,6 +710,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 }
             } catch (AvroRemoteException e) {
                 throw new CatalogException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new CatalogException(e.getMessage());
    +            }
             }
             return queryResults;
         }
    @@ -519,6 +729,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 }
             } catch (AvroRemoteException e) {
                 throw new CatalogException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new CatalogException(e.getMessage());
    +            }
             }
             return products;
         }
    @@ -529,6 +745,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 return AvroTypeFactory.getProductType(this.proxy.getProductTypeByName(productTypeName));
             } catch (AvroRemoteException e) {
                 throw new RepositoryManagerException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new RepositoryManagerException(e.getMessage());
    +            }
             }
         }
     
    @@ -538,6 +760,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 return AvroTypeFactory.getProductType(this.proxy.getProductTypeById(productTypeId));
             } catch (AvroRemoteException e) {
                 throw new RepositoryManagerException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new RepositoryManagerException(e.getMessage());
    +            }
             }
         }
     
    @@ -550,6 +778,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 }
             } catch (AvroRemoteException e) {
                 throw new RepositoryManagerException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new RepositoryManagerException(e.getMessage());
    +            }
             }
             return productTypes;
         }
    @@ -563,6 +797,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 }
             } catch (AvroRemoteException e) {
                 throw new CatalogException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new CatalogException(e.getMessage());
    +            }
             }
             return references;
         }
    @@ -573,6 +813,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 return AvroTypeFactory.getProduct(this.proxy.getProductById(productId));
             } catch (AvroRemoteException e) {
                 throw new CatalogException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new CatalogException(e.getMessage());
    +            }
             }
         }
     
    @@ -582,6 +828,12 @@ public class AvroFileManagerClient implements FileManagerClient {
                 return AvroTypeFactory.getProduct(this.proxy.getProductByName(productName));
             } catch (AvroRemoteException e) {
                 throw new CatalogException(e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new CatalogException(e.getMessage());
    +            }
             }
         }
     
    @@ -696,30 +948,60 @@ public class AvroFileManagerClient implements FileManagerClient {
                 }
                 throw new Exception("Failed to ingest product [" + product + "] : "
                         + e.getMessage());
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new FileManagerException(e.getMessage());
    +            }
             }
     
         }
     
         @Override
         public Metadata getCatalogValues(Metadata metadata, ProductType productType) throws Exception {
    -        return AvroTypeFactory.getMetadata(this.proxy.getCatalogValues(
    +        try {
    +            return AvroTypeFactory.getMetadata(this.proxy.getCatalogValues(
                     AvroTypeFactory.getAvroMetadata(metadata),
                     AvroTypeFactory.getAvroProductType(productType)));
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new FileManagerException(e.getMessage());
    +            }
    +        }
         }
     
         @Override
         public Metadata getOrigValues(Metadata metadata, ProductType productType) throws Exception {
    -        return AvroTypeFactory.getMetadata(this.proxy.getOrigValues(
    +        try {
    +            return AvroTypeFactory.getMetadata(this.proxy.getOrigValues(
                     AvroTypeFactory.getAvroMetadata(metadata),
                     AvroTypeFactory.getAvroProductType(productType)));
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new FileManagerException(e.getMessage());
    +            }
    +        }
         }
     
         @Override
         public Query getCatalogQuery(Query query, ProductType productType) throws Exception {
    -        return AvroTypeFactory.getQuery(this.proxy.getCatalogQuery(
    +        try {
    +            return AvroTypeFactory.getQuery(this.proxy.getCatalogQuery(
                     AvroTypeFactory.getAvroQuery(query),
                     AvroTypeFactory.getAvroProductType(productType)
    -        ));
    +            ));
    +        } finally {
    +            try {
    +                this.client.close();
    +            } catch (IOException e) {
    +                throw new FileManagerException(e.getMessage());
    +            }
    +        }
         }
     
         @Override
    
    



Re: oodt git commit: close connection to release client

Posted by Chris Mattmann <ma...@apache.org>.
Good show bravo mate



On 12/12/17, 3:06 PM, "Tom Barber" <to...@spicule.co.uk> wrote:

    Yeah I was going to write one method but with 4 or 5 different exception 
    types you'd need to generalize the thrown exception or do something else 
    funky to get the different exceptions thrown.
    
    Any how, I can do more on it but lets get it run through some tests and 
    see if its any happier than it was.
    
    Tom
    
    On 12/12/17 23:03, Chris Mattmann wrote:
    > Good lord, nevermind yeah looks like a future candidate for a refactoring
    > since it’s the same line over and over again.
    >
    >
    >
    >
    >
    > On 12/12/17, 3:01 PM, "Tom Barber" <to...@spicule.co.uk> wrote:
    >
    >      I'm not following, the change was to add a finally block to each client
    >      call to shut it down after the execution. Those finally blocks I've just
    >      added in, the only other change was an import clean up.
    >      
    >      On 12/12/17 22:58, Chris Mattmann wrote:
    >      > Tom, please revert this commit and do a commit that doesn’t include a billion lines of
    >      > formatting change and includes the actual change? (
    >      >
    >      > Cheers,
    >      > Chris
    >      >
    >      >
    >      >
    >      >
    >      > On 12/12/17, 2:56 PM, "magicaltrout@apache.org" <ma...@apache.org> wrote:
    >      >
    >      >      Repository: oodt
    >      >      Updated Branches:
    >      >        refs/heads/development bfb78c9a0 -> 82b522516
    >      >
    >      >
    >      >      close connection to release client
    >      >
    >      >
    >      >      Project: http://git-wip-us.apache.org/repos/asf/oodt/repo
    >      >      Commit: http://git-wip-us.apache.org/repos/asf/oodt/commit/82b52251
    >      >      Tree: http://git-wip-us.apache.org/repos/asf/oodt/tree/82b52251
    >      >      Diff: http://git-wip-us.apache.org/repos/asf/oodt/diff/82b52251
    >      >
    >      >      Branch: refs/heads/development
    >      >      Commit: 82b5225162f78ee092e473218769bea61e3e510f
    >      >      Parents: bfb78c9
    >      >      Author: Tom Barber <to...@jpl.nasa.gov>
    >      >      Authored: Tue Dec 12 22:56:39 2017 +0000
    >      >      Committer: Tom Barber <to...@jpl.nasa.gov>
    >      >      Committed: Tue Dec 12 22:56:39 2017 +0000
    >      >
    >      >      ----------------------------------------------------------------------
    >      >       .../filemgr/system/AvroFileManagerClient.java   | 320 +++++++++++++++++--
    >      >       1 file changed, 301 insertions(+), 19 deletions(-)
    >      >      ----------------------------------------------------------------------
    >      >
    >      >
    >      >      http://git-wip-us.apache.org/repos/asf/oodt/blob/82b52251/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/AvroFileManagerClient.java
    >      >      ----------------------------------------------------------------------
    >      >      diff --git a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/AvroFileManagerClient.java b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/AvroFileManagerClient.java
    >      >      index 3feda3d..043330a 100644
    >      >      --- a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/AvroFileManagerClient.java
    >      >      +++ b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/AvroFileManagerClient.java
    >      >      @@ -17,45 +17,46 @@
    >      >
    >      >       package org.apache.oodt.cas.filemgr.system;
    >      >
    >      >      +import java.io.IOException;
    >      >      +import java.net.InetSocketAddress;
    >      >      +import java.net.URL;
    >      >      +import java.nio.ByteBuffer;
    >      >      +import java.util.ArrayList;
    >      >      +import java.util.List;
    >      >      +import java.util.logging.Level;
    >      >      +import java.util.logging.Logger;
    >      >       import org.apache.avro.AvroRemoteException;
    >      >       import org.apache.avro.ipc.NettyTransceiver;
    >      >       import org.apache.avro.ipc.Transceiver;
    >      >       import org.apache.avro.ipc.specific.SpecificRequestor;
    >      >       import org.apache.oodt.cas.filemgr.datatransfer.DataTransfer;
    >      >      +import org.apache.oodt.cas.filemgr.exceptions.FileManagerException;
    >      >       import org.apache.oodt.cas.filemgr.structs.Element;
    >      >      -import org.apache.oodt.cas.filemgr.structs.Product;
    >      >       import org.apache.oodt.cas.filemgr.structs.FileTransferStatus;
    >      >      +import org.apache.oodt.cas.filemgr.structs.Product;
    >      >       import org.apache.oodt.cas.filemgr.structs.ProductPage;
    >      >       import org.apache.oodt.cas.filemgr.structs.ProductType;
    >      >      -import org.apache.oodt.cas.filemgr.structs.Reference;
    >      >       import org.apache.oodt.cas.filemgr.structs.Query;
    >      >      +import org.apache.oodt.cas.filemgr.structs.Reference;
    >      >      +import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroElement;
    >      >       import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroFileManager;
    >      >       import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroFileTransferStatus;
    >      >       import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroProduct;
    >      >      -import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroElement;
    >      >      -import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroQueryResult;
    >      >       import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroProductType;
    >      >      +import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroQueryResult;
    >      >       import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroReference;
    >      >      -import org.apache.oodt.cas.filemgr.structs.exceptions.RepositoryManagerException;
    >      >       import org.apache.oodt.cas.filemgr.structs.exceptions.CatalogException;
    >      >      +import org.apache.oodt.cas.filemgr.structs.exceptions.ConnectionException;
    >      >       import org.apache.oodt.cas.filemgr.structs.exceptions.DataTransferException;
    >      >      +import org.apache.oodt.cas.filemgr.structs.exceptions.RepositoryManagerException;
    >      >       import org.apache.oodt.cas.filemgr.structs.exceptions.ValidationLayerException;
    >      >       import org.apache.oodt.cas.filemgr.structs.exceptions.VersioningException;
    >      >      -import org.apache.oodt.cas.filemgr.structs.exceptions.ConnectionException;
    >      >       import org.apache.oodt.cas.filemgr.structs.query.ComplexQuery;
    >      >       import org.apache.oodt.cas.filemgr.structs.query.QueryResult;
    >      >       import org.apache.oodt.cas.filemgr.util.AvroTypeFactory;
    >      >       import org.apache.oodt.cas.filemgr.util.GenericFileManagerObjectFactory;
    >      >       import org.apache.oodt.cas.filemgr.versioning.Versioner;
    >      >       import org.apache.oodt.cas.metadata.Metadata;
    >      >      -import java.io.IOException;
    >      >      -import java.net.InetSocketAddress;
    >      >      -import java.net.URL;
    >      >      -import java.nio.ByteBuffer;
    >      >      -import java.util.ArrayList;
    >      >      -import java.util.List;
    >      >      -import java.util.logging.Level;
    >      >      -import java.util.logging.Logger;
    >      >
    >      >       /**
    >      >        * @author radu
    >      >      @@ -142,8 +143,13 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >               try {
    >      >                   success = proxy.transferringProduct(AvroTypeFactory.getAvroProduct(product));
    >      >               } catch (AvroRemoteException e) {
    >      >      -            e.printStackTrace();
    >      >                   throw new DataTransferException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new DataTransferException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >
    >      >               return success;
    >      >      @@ -156,6 +162,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   success = proxy.removeProductTransferStatus(AvroTypeFactory.getAvroProduct(product));
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new DataTransferException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new DataTransferException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >               return success;
    >      >           }
    >      >      @@ -167,6 +179,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   success = this.proxy.isTransferComplete(AvroTypeFactory.getAvroProduct(product));
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new DataTransferException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new DataTransferException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >               return success;
    >      >           }
    >      >      @@ -178,6 +196,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   success = this.proxy.moveProduct(AvroTypeFactory.getAvroProduct(product), newPath);
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new DataTransferException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new DataTransferException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >               return success;
    >      >           }
    >      >      @@ -189,6 +213,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   success = this.proxy.modifyProduct(AvroTypeFactory.getAvroProduct(product));
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new CatalogException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new CatalogException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >               return success;
    >      >           }
    >      >      @@ -200,6 +230,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   success = this.proxy.removeProduct(AvroTypeFactory.getAvroProduct(product));
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new CatalogException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new CatalogException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >               return success;
    >      >           }
    >      >      @@ -210,6 +246,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   return AvroTypeFactory.getFileTransferStatus(this.proxy.getCurrentFileTransfer());
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new DataTransferException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new DataTransferException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >           }
    >      >
    >      >      @@ -222,6 +264,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   }
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new DataTransferException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new DataTransferException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >               return fileTransferStatuses;
    >      >           }
    >      >      @@ -232,6 +280,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   return this.proxy.getProductPctTransferred(AvroTypeFactory.getAvroProduct(product));
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new DataTransferException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new DataTransferException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >           }
    >      >
    >      >      @@ -241,6 +295,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   return this.proxy.getRefPctTransferred(AvroTypeFactory.getAvroReference(reference));
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new DataTransferException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new DataTransferException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >           }
    >      >
    >      >      @@ -255,6 +315,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   ));
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new CatalogException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new CatalogException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >           }
    >      >
    >      >      @@ -264,6 +330,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   return AvroTypeFactory.getProductPage(this.proxy.getFirstPage(AvroTypeFactory.getAvroProductType(type)));
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new CatalogException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new CatalogException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >           }
    >      >
    >      >      @@ -273,6 +345,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   return AvroTypeFactory.getProductPage(this.proxy.getLastPage(AvroTypeFactory.getAvroProductType(type)));
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new CatalogException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new CatalogException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >           }
    >      >
    >      >      @@ -285,6 +363,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   ));
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new CatalogException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new CatalogException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >           }
    >      >
    >      >      @@ -297,6 +381,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   ));
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new CatalogException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new CatalogException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >           }
    >      >
    >      >      @@ -306,6 +396,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   return this.proxy.addProductType(AvroTypeFactory.getAvroProductType(type));
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new RepositoryManagerException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new RepositoryManagerException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >           }
    >      >
    >      >      @@ -315,6 +411,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   return this.proxy.hasProduct(productName);
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new CatalogException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new CatalogException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >           }
    >      >
    >      >      @@ -324,6 +426,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   return this.proxy.getNumProducts(AvroTypeFactory.getAvroProductType(type));
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new CatalogException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new CatalogException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >           }
    >      >
    >      >      @@ -336,6 +444,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   }
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new CatalogException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new CatalogException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >               return products;
    >      >           }
    >      >      @@ -349,6 +463,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   }
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new CatalogException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new CatalogException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >               return products;
    >      >           }
    >      >      @@ -359,6 +479,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   this.proxy.setProductTransferStatus(AvroTypeFactory.getAvroProduct(product));
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new CatalogException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new CatalogException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >           }
    >      >
    >      >      @@ -368,6 +494,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   this.proxy.addProductReferences(AvroTypeFactory.getAvroProduct(product));
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new CatalogException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new CatalogException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >           }
    >      >
    >      >      @@ -378,6 +510,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                           AvroTypeFactory.getAvroMetadata(metadata));
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new CatalogException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new CatalogException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >
    >      >           }
    >      >      @@ -391,6 +529,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   );
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new CatalogException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new CatalogException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >           }
    >      >
    >      >      @@ -400,6 +544,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   return this.proxy.catalogProduct(AvroTypeFactory.getAvroProduct(product));
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new CatalogException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new CatalogException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >           }
    >      >
    >      >      @@ -409,6 +559,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   return AvroTypeFactory.getMetadata(this.proxy.getMetadata(AvroTypeFactory.getAvroProduct(product)));
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new CatalogException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new CatalogException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >           }
    >      >
    >      >      @@ -419,6 +575,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                           this.proxy.getReducedMetadata(AvroTypeFactory.getAvroProduct(product), (List<String>) elements));
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new CatalogException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new CatalogException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >           }
    >      >
    >      >      @@ -428,6 +590,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   return this.proxy.removeFile(filePath);
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new DataTransferException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new DataTransferException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >           }
    >      >
    >      >      @@ -437,6 +605,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   return this.proxy.retrieveFile(filePath, offset, numBytes).array();
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new DataTransferException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new DataTransferException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >           }
    >      >
    >      >      @@ -446,6 +620,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   this.proxy.transferFile(filePath, ByteBuffer.wrap(fileData), offset, numBytes);
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new DataTransferException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new DataTransferException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >
    >      >           }
    >      >      @@ -461,6 +641,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new CatalogException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new CatalogException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >
    >      >           }
    >      >      @@ -474,6 +660,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   }
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new ValidationLayerException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new ValidationLayerException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >               return products;
    >      >           }
    >      >      @@ -484,6 +676,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   return AvroTypeFactory.getElement(this.proxy.getElementById(elementId));
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new ValidationLayerException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new ValidationLayerException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >           }
    >      >
    >      >      @@ -493,6 +691,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   return AvroTypeFactory.getElement(this.proxy.getElementByName(elementName));
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new ValidationLayerException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new ValidationLayerException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >           }
    >      >
    >      >      @@ -506,6 +710,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   }
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new CatalogException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new CatalogException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >               return queryResults;
    >      >           }
    >      >      @@ -519,6 +729,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   }
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new CatalogException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new CatalogException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >               return products;
    >      >           }
    >      >      @@ -529,6 +745,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   return AvroTypeFactory.getProductType(this.proxy.getProductTypeByName(productTypeName));
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new RepositoryManagerException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new RepositoryManagerException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >           }
    >      >
    >      >      @@ -538,6 +760,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   return AvroTypeFactory.getProductType(this.proxy.getProductTypeById(productTypeId));
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new RepositoryManagerException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new RepositoryManagerException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >           }
    >      >
    >      >      @@ -550,6 +778,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   }
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new RepositoryManagerException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new RepositoryManagerException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >               return productTypes;
    >      >           }
    >      >      @@ -563,6 +797,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   }
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new CatalogException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new CatalogException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >               return references;
    >      >           }
    >      >      @@ -573,6 +813,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   return AvroTypeFactory.getProduct(this.proxy.getProductById(productId));
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new CatalogException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new CatalogException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >           }
    >      >
    >      >      @@ -582,6 +828,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   return AvroTypeFactory.getProduct(this.proxy.getProductByName(productName));
    >      >               } catch (AvroRemoteException e) {
    >      >                   throw new CatalogException(e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new CatalogException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >           }
    >      >
    >      >      @@ -696,30 +948,60 @@ public class AvroFileManagerClient implements FileManagerClient {
    >      >                   }
    >      >                   throw new Exception("Failed to ingest product [" + product + "] : "
    >      >                           + e.getMessage());
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new FileManagerException(e.getMessage());
    >      >      +            }
    >      >               }
    >      >
    >      >           }
    >      >
    >      >           @Override
    >      >           public Metadata getCatalogValues(Metadata metadata, ProductType productType) throws Exception {
    >      >      -        return AvroTypeFactory.getMetadata(this.proxy.getCatalogValues(
    >      >      +        try {
    >      >      +            return AvroTypeFactory.getMetadata(this.proxy.getCatalogValues(
    >      >                       AvroTypeFactory.getAvroMetadata(metadata),
    >      >                       AvroTypeFactory.getAvroProductType(productType)));
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new FileManagerException(e.getMessage());
    >      >      +            }
    >      >      +        }
    >      >           }
    >      >
    >      >           @Override
    >      >           public Metadata getOrigValues(Metadata metadata, ProductType productType) throws Exception {
    >      >      -        return AvroTypeFactory.getMetadata(this.proxy.getOrigValues(
    >      >      +        try {
    >      >      +            return AvroTypeFactory.getMetadata(this.proxy.getOrigValues(
    >      >                       AvroTypeFactory.getAvroMetadata(metadata),
    >      >                       AvroTypeFactory.getAvroProductType(productType)));
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new FileManagerException(e.getMessage());
    >      >      +            }
    >      >      +        }
    >      >           }
    >      >
    >      >           @Override
    >      >           public Query getCatalogQuery(Query query, ProductType productType) throws Exception {
    >      >      -        return AvroTypeFactory.getQuery(this.proxy.getCatalogQuery(
    >      >      +        try {
    >      >      +            return AvroTypeFactory.getQuery(this.proxy.getCatalogQuery(
    >      >                       AvroTypeFactory.getAvroQuery(query),
    >      >                       AvroTypeFactory.getAvroProductType(productType)
    >      >      -        ));
    >      >      +            ));
    >      >      +        } finally {
    >      >      +            try {
    >      >      +                this.client.close();
    >      >      +            } catch (IOException e) {
    >      >      +                throw new FileManagerException(e.getMessage());
    >      >      +            }
    >      >      +        }
    >      >           }
    >      >
    >      >           @Override
    >      >
    >      >
    >      >
    >      >
    >      
    >      
    >      --
    >      
    >      
    >      Spicule Limited is registered in England & Wales. Company Number: 09954122.
    >      Registered office: First Floor, Telecom House, 125-135 Preston Road,
    >      Brighton, England, BN1 6AF. VAT No. 251478891.
    >      
    >      
    >      All engagements are subject to Spicule Terms and Conditions of Business.
    >      This email and its contents are intended solely for the individual to whom
    >      it is addressed and may contain information that is confidential,
    >      privileged or otherwise protected from disclosure, distributing or copying.
    >      Any views or opinions presented in this email are solely those of the
    >      author and do not necessarily represent those of Spicule Limited. The
    >      company accepts no liability for any damage caused by any virus transmitted
    >      by this email. If you have received this message in error, please notify us
    >      immediately by reply email before deleting it from your system. Service of
    >      legal notice cannot be effected on Spicule Limited by email.
    >      
    >
    >
    >
    
    
    -- 
    
    
    Spicule Limited is registered in England & Wales. Company Number: 09954122. 
    Registered office: First Floor, Telecom House, 125-135 Preston Road, 
    Brighton, England, BN1 6AF. VAT No. 251478891.
    
    
    All engagements are subject to Spicule Terms and Conditions of Business. 
    This email and its contents are intended solely for the individual to whom 
    it is addressed and may contain information that is confidential, 
    privileged or otherwise protected from disclosure, distributing or copying. 
    Any views or opinions presented in this email are solely those of the 
    author and do not necessarily represent those of Spicule Limited. The 
    company accepts no liability for any damage caused by any virus transmitted 
    by this email. If you have received this message in error, please notify us 
    immediately by reply email before deleting it from your system. Service of 
    legal notice cannot be effected on Spicule Limited by email.
    
    




Re: oodt git commit: close connection to release client

Posted by Tom Barber <to...@spicule.co.uk>.
Yeah I was going to write one method but with 4 or 5 different exception 
types you'd need to generalize the thrown exception or do something else 
funky to get the different exceptions thrown.

Any how, I can do more on it but lets get it run through some tests and 
see if its any happier than it was.

Tom

On 12/12/17 23:03, Chris Mattmann wrote:
> Good lord, nevermind yeah looks like a future candidate for a refactoring
> since it’s the same line over and over again.
>
>
>
>
>
> On 12/12/17, 3:01 PM, "Tom Barber" <to...@spicule.co.uk> wrote:
>
>      I'm not following, the change was to add a finally block to each client
>      call to shut it down after the execution. Those finally blocks I've just
>      added in, the only other change was an import clean up.
>      
>      On 12/12/17 22:58, Chris Mattmann wrote:
>      > Tom, please revert this commit and do a commit that doesn’t include a billion lines of
>      > formatting change and includes the actual change? (
>      >
>      > Cheers,
>      > Chris
>      >
>      >
>      >
>      >
>      > On 12/12/17, 2:56 PM, "magicaltrout@apache.org" <ma...@apache.org> wrote:
>      >
>      >      Repository: oodt
>      >      Updated Branches:
>      >        refs/heads/development bfb78c9a0 -> 82b522516
>      >
>      >
>      >      close connection to release client
>      >
>      >
>      >      Project: http://git-wip-us.apache.org/repos/asf/oodt/repo
>      >      Commit: http://git-wip-us.apache.org/repos/asf/oodt/commit/82b52251
>      >      Tree: http://git-wip-us.apache.org/repos/asf/oodt/tree/82b52251
>      >      Diff: http://git-wip-us.apache.org/repos/asf/oodt/diff/82b52251
>      >
>      >      Branch: refs/heads/development
>      >      Commit: 82b5225162f78ee092e473218769bea61e3e510f
>      >      Parents: bfb78c9
>      >      Author: Tom Barber <to...@jpl.nasa.gov>
>      >      Authored: Tue Dec 12 22:56:39 2017 +0000
>      >      Committer: Tom Barber <to...@jpl.nasa.gov>
>      >      Committed: Tue Dec 12 22:56:39 2017 +0000
>      >
>      >      ----------------------------------------------------------------------
>      >       .../filemgr/system/AvroFileManagerClient.java   | 320 +++++++++++++++++--
>      >       1 file changed, 301 insertions(+), 19 deletions(-)
>      >      ----------------------------------------------------------------------
>      >
>      >
>      >      http://git-wip-us.apache.org/repos/asf/oodt/blob/82b52251/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/AvroFileManagerClient.java
>      >      ----------------------------------------------------------------------
>      >      diff --git a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/AvroFileManagerClient.java b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/AvroFileManagerClient.java
>      >      index 3feda3d..043330a 100644
>      >      --- a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/AvroFileManagerClient.java
>      >      +++ b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/AvroFileManagerClient.java
>      >      @@ -17,45 +17,46 @@
>      >
>      >       package org.apache.oodt.cas.filemgr.system;
>      >
>      >      +import java.io.IOException;
>      >      +import java.net.InetSocketAddress;
>      >      +import java.net.URL;
>      >      +import java.nio.ByteBuffer;
>      >      +import java.util.ArrayList;
>      >      +import java.util.List;
>      >      +import java.util.logging.Level;
>      >      +import java.util.logging.Logger;
>      >       import org.apache.avro.AvroRemoteException;
>      >       import org.apache.avro.ipc.NettyTransceiver;
>      >       import org.apache.avro.ipc.Transceiver;
>      >       import org.apache.avro.ipc.specific.SpecificRequestor;
>      >       import org.apache.oodt.cas.filemgr.datatransfer.DataTransfer;
>      >      +import org.apache.oodt.cas.filemgr.exceptions.FileManagerException;
>      >       import org.apache.oodt.cas.filemgr.structs.Element;
>      >      -import org.apache.oodt.cas.filemgr.structs.Product;
>      >       import org.apache.oodt.cas.filemgr.structs.FileTransferStatus;
>      >      +import org.apache.oodt.cas.filemgr.structs.Product;
>      >       import org.apache.oodt.cas.filemgr.structs.ProductPage;
>      >       import org.apache.oodt.cas.filemgr.structs.ProductType;
>      >      -import org.apache.oodt.cas.filemgr.structs.Reference;
>      >       import org.apache.oodt.cas.filemgr.structs.Query;
>      >      +import org.apache.oodt.cas.filemgr.structs.Reference;
>      >      +import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroElement;
>      >       import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroFileManager;
>      >       import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroFileTransferStatus;
>      >       import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroProduct;
>      >      -import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroElement;
>      >      -import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroQueryResult;
>      >       import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroProductType;
>      >      +import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroQueryResult;
>      >       import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroReference;
>      >      -import org.apache.oodt.cas.filemgr.structs.exceptions.RepositoryManagerException;
>      >       import org.apache.oodt.cas.filemgr.structs.exceptions.CatalogException;
>      >      +import org.apache.oodt.cas.filemgr.structs.exceptions.ConnectionException;
>      >       import org.apache.oodt.cas.filemgr.structs.exceptions.DataTransferException;
>      >      +import org.apache.oodt.cas.filemgr.structs.exceptions.RepositoryManagerException;
>      >       import org.apache.oodt.cas.filemgr.structs.exceptions.ValidationLayerException;
>      >       import org.apache.oodt.cas.filemgr.structs.exceptions.VersioningException;
>      >      -import org.apache.oodt.cas.filemgr.structs.exceptions.ConnectionException;
>      >       import org.apache.oodt.cas.filemgr.structs.query.ComplexQuery;
>      >       import org.apache.oodt.cas.filemgr.structs.query.QueryResult;
>      >       import org.apache.oodt.cas.filemgr.util.AvroTypeFactory;
>      >       import org.apache.oodt.cas.filemgr.util.GenericFileManagerObjectFactory;
>      >       import org.apache.oodt.cas.filemgr.versioning.Versioner;
>      >       import org.apache.oodt.cas.metadata.Metadata;
>      >      -import java.io.IOException;
>      >      -import java.net.InetSocketAddress;
>      >      -import java.net.URL;
>      >      -import java.nio.ByteBuffer;
>      >      -import java.util.ArrayList;
>      >      -import java.util.List;
>      >      -import java.util.logging.Level;
>      >      -import java.util.logging.Logger;
>      >
>      >       /**
>      >        * @author radu
>      >      @@ -142,8 +143,13 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >               try {
>      >                   success = proxy.transferringProduct(AvroTypeFactory.getAvroProduct(product));
>      >               } catch (AvroRemoteException e) {
>      >      -            e.printStackTrace();
>      >                   throw new DataTransferException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new DataTransferException(e.getMessage());
>      >      +            }
>      >               }
>      >
>      >               return success;
>      >      @@ -156,6 +162,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   success = proxy.removeProductTransferStatus(AvroTypeFactory.getAvroProduct(product));
>      >               } catch (AvroRemoteException e) {
>      >                   throw new DataTransferException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new DataTransferException(e.getMessage());
>      >      +            }
>      >               }
>      >               return success;
>      >           }
>      >      @@ -167,6 +179,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   success = this.proxy.isTransferComplete(AvroTypeFactory.getAvroProduct(product));
>      >               } catch (AvroRemoteException e) {
>      >                   throw new DataTransferException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new DataTransferException(e.getMessage());
>      >      +            }
>      >               }
>      >               return success;
>      >           }
>      >      @@ -178,6 +196,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   success = this.proxy.moveProduct(AvroTypeFactory.getAvroProduct(product), newPath);
>      >               } catch (AvroRemoteException e) {
>      >                   throw new DataTransferException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new DataTransferException(e.getMessage());
>      >      +            }
>      >               }
>      >               return success;
>      >           }
>      >      @@ -189,6 +213,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   success = this.proxy.modifyProduct(AvroTypeFactory.getAvroProduct(product));
>      >               } catch (AvroRemoteException e) {
>      >                   throw new CatalogException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new CatalogException(e.getMessage());
>      >      +            }
>      >               }
>      >               return success;
>      >           }
>      >      @@ -200,6 +230,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   success = this.proxy.removeProduct(AvroTypeFactory.getAvroProduct(product));
>      >               } catch (AvroRemoteException e) {
>      >                   throw new CatalogException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new CatalogException(e.getMessage());
>      >      +            }
>      >               }
>      >               return success;
>      >           }
>      >      @@ -210,6 +246,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   return AvroTypeFactory.getFileTransferStatus(this.proxy.getCurrentFileTransfer());
>      >               } catch (AvroRemoteException e) {
>      >                   throw new DataTransferException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new DataTransferException(e.getMessage());
>      >      +            }
>      >               }
>      >           }
>      >
>      >      @@ -222,6 +264,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   }
>      >               } catch (AvroRemoteException e) {
>      >                   throw new DataTransferException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new DataTransferException(e.getMessage());
>      >      +            }
>      >               }
>      >               return fileTransferStatuses;
>      >           }
>      >      @@ -232,6 +280,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   return this.proxy.getProductPctTransferred(AvroTypeFactory.getAvroProduct(product));
>      >               } catch (AvroRemoteException e) {
>      >                   throw new DataTransferException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new DataTransferException(e.getMessage());
>      >      +            }
>      >               }
>      >           }
>      >
>      >      @@ -241,6 +295,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   return this.proxy.getRefPctTransferred(AvroTypeFactory.getAvroReference(reference));
>      >               } catch (AvroRemoteException e) {
>      >                   throw new DataTransferException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new DataTransferException(e.getMessage());
>      >      +            }
>      >               }
>      >           }
>      >
>      >      @@ -255,6 +315,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   ));
>      >               } catch (AvroRemoteException e) {
>      >                   throw new CatalogException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new CatalogException(e.getMessage());
>      >      +            }
>      >               }
>      >           }
>      >
>      >      @@ -264,6 +330,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   return AvroTypeFactory.getProductPage(this.proxy.getFirstPage(AvroTypeFactory.getAvroProductType(type)));
>      >               } catch (AvroRemoteException e) {
>      >                   throw new CatalogException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new CatalogException(e.getMessage());
>      >      +            }
>      >               }
>      >           }
>      >
>      >      @@ -273,6 +345,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   return AvroTypeFactory.getProductPage(this.proxy.getLastPage(AvroTypeFactory.getAvroProductType(type)));
>      >               } catch (AvroRemoteException e) {
>      >                   throw new CatalogException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new CatalogException(e.getMessage());
>      >      +            }
>      >               }
>      >           }
>      >
>      >      @@ -285,6 +363,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   ));
>      >               } catch (AvroRemoteException e) {
>      >                   throw new CatalogException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new CatalogException(e.getMessage());
>      >      +            }
>      >               }
>      >           }
>      >
>      >      @@ -297,6 +381,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   ));
>      >               } catch (AvroRemoteException e) {
>      >                   throw new CatalogException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new CatalogException(e.getMessage());
>      >      +            }
>      >               }
>      >           }
>      >
>      >      @@ -306,6 +396,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   return this.proxy.addProductType(AvroTypeFactory.getAvroProductType(type));
>      >               } catch (AvroRemoteException e) {
>      >                   throw new RepositoryManagerException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new RepositoryManagerException(e.getMessage());
>      >      +            }
>      >               }
>      >           }
>      >
>      >      @@ -315,6 +411,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   return this.proxy.hasProduct(productName);
>      >               } catch (AvroRemoteException e) {
>      >                   throw new CatalogException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new CatalogException(e.getMessage());
>      >      +            }
>      >               }
>      >           }
>      >
>      >      @@ -324,6 +426,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   return this.proxy.getNumProducts(AvroTypeFactory.getAvroProductType(type));
>      >               } catch (AvroRemoteException e) {
>      >                   throw new CatalogException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new CatalogException(e.getMessage());
>      >      +            }
>      >               }
>      >           }
>      >
>      >      @@ -336,6 +444,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   }
>      >               } catch (AvroRemoteException e) {
>      >                   throw new CatalogException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new CatalogException(e.getMessage());
>      >      +            }
>      >               }
>      >               return products;
>      >           }
>      >      @@ -349,6 +463,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   }
>      >               } catch (AvroRemoteException e) {
>      >                   throw new CatalogException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new CatalogException(e.getMessage());
>      >      +            }
>      >               }
>      >               return products;
>      >           }
>      >      @@ -359,6 +479,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   this.proxy.setProductTransferStatus(AvroTypeFactory.getAvroProduct(product));
>      >               } catch (AvroRemoteException e) {
>      >                   throw new CatalogException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new CatalogException(e.getMessage());
>      >      +            }
>      >               }
>      >           }
>      >
>      >      @@ -368,6 +494,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   this.proxy.addProductReferences(AvroTypeFactory.getAvroProduct(product));
>      >               } catch (AvroRemoteException e) {
>      >                   throw new CatalogException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new CatalogException(e.getMessage());
>      >      +            }
>      >               }
>      >           }
>      >
>      >      @@ -378,6 +510,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                           AvroTypeFactory.getAvroMetadata(metadata));
>      >               } catch (AvroRemoteException e) {
>      >                   throw new CatalogException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new CatalogException(e.getMessage());
>      >      +            }
>      >               }
>      >
>      >           }
>      >      @@ -391,6 +529,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   );
>      >               } catch (AvroRemoteException e) {
>      >                   throw new CatalogException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new CatalogException(e.getMessage());
>      >      +            }
>      >               }
>      >           }
>      >
>      >      @@ -400,6 +544,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   return this.proxy.catalogProduct(AvroTypeFactory.getAvroProduct(product));
>      >               } catch (AvroRemoteException e) {
>      >                   throw new CatalogException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new CatalogException(e.getMessage());
>      >      +            }
>      >               }
>      >           }
>      >
>      >      @@ -409,6 +559,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   return AvroTypeFactory.getMetadata(this.proxy.getMetadata(AvroTypeFactory.getAvroProduct(product)));
>      >               } catch (AvroRemoteException e) {
>      >                   throw new CatalogException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new CatalogException(e.getMessage());
>      >      +            }
>      >               }
>      >           }
>      >
>      >      @@ -419,6 +575,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                           this.proxy.getReducedMetadata(AvroTypeFactory.getAvroProduct(product), (List<String>) elements));
>      >               } catch (AvroRemoteException e) {
>      >                   throw new CatalogException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new CatalogException(e.getMessage());
>      >      +            }
>      >               }
>      >           }
>      >
>      >      @@ -428,6 +590,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   return this.proxy.removeFile(filePath);
>      >               } catch (AvroRemoteException e) {
>      >                   throw new DataTransferException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new DataTransferException(e.getMessage());
>      >      +            }
>      >               }
>      >           }
>      >
>      >      @@ -437,6 +605,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   return this.proxy.retrieveFile(filePath, offset, numBytes).array();
>      >               } catch (AvroRemoteException e) {
>      >                   throw new DataTransferException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new DataTransferException(e.getMessage());
>      >      +            }
>      >               }
>      >           }
>      >
>      >      @@ -446,6 +620,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   this.proxy.transferFile(filePath, ByteBuffer.wrap(fileData), offset, numBytes);
>      >               } catch (AvroRemoteException e) {
>      >                   throw new DataTransferException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new DataTransferException(e.getMessage());
>      >      +            }
>      >               }
>      >
>      >           }
>      >      @@ -461,6 +641,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >
>      >               } catch (AvroRemoteException e) {
>      >                   throw new CatalogException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new CatalogException(e.getMessage());
>      >      +            }
>      >               }
>      >
>      >           }
>      >      @@ -474,6 +660,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   }
>      >               } catch (AvroRemoteException e) {
>      >                   throw new ValidationLayerException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new ValidationLayerException(e.getMessage());
>      >      +            }
>      >               }
>      >               return products;
>      >           }
>      >      @@ -484,6 +676,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   return AvroTypeFactory.getElement(this.proxy.getElementById(elementId));
>      >               } catch (AvroRemoteException e) {
>      >                   throw new ValidationLayerException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new ValidationLayerException(e.getMessage());
>      >      +            }
>      >               }
>      >           }
>      >
>      >      @@ -493,6 +691,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   return AvroTypeFactory.getElement(this.proxy.getElementByName(elementName));
>      >               } catch (AvroRemoteException e) {
>      >                   throw new ValidationLayerException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new ValidationLayerException(e.getMessage());
>      >      +            }
>      >               }
>      >           }
>      >
>      >      @@ -506,6 +710,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   }
>      >               } catch (AvroRemoteException e) {
>      >                   throw new CatalogException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new CatalogException(e.getMessage());
>      >      +            }
>      >               }
>      >               return queryResults;
>      >           }
>      >      @@ -519,6 +729,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   }
>      >               } catch (AvroRemoteException e) {
>      >                   throw new CatalogException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new CatalogException(e.getMessage());
>      >      +            }
>      >               }
>      >               return products;
>      >           }
>      >      @@ -529,6 +745,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   return AvroTypeFactory.getProductType(this.proxy.getProductTypeByName(productTypeName));
>      >               } catch (AvroRemoteException e) {
>      >                   throw new RepositoryManagerException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new RepositoryManagerException(e.getMessage());
>      >      +            }
>      >               }
>      >           }
>      >
>      >      @@ -538,6 +760,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   return AvroTypeFactory.getProductType(this.proxy.getProductTypeById(productTypeId));
>      >               } catch (AvroRemoteException e) {
>      >                   throw new RepositoryManagerException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new RepositoryManagerException(e.getMessage());
>      >      +            }
>      >               }
>      >           }
>      >
>      >      @@ -550,6 +778,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   }
>      >               } catch (AvroRemoteException e) {
>      >                   throw new RepositoryManagerException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new RepositoryManagerException(e.getMessage());
>      >      +            }
>      >               }
>      >               return productTypes;
>      >           }
>      >      @@ -563,6 +797,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   }
>      >               } catch (AvroRemoteException e) {
>      >                   throw new CatalogException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new CatalogException(e.getMessage());
>      >      +            }
>      >               }
>      >               return references;
>      >           }
>      >      @@ -573,6 +813,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   return AvroTypeFactory.getProduct(this.proxy.getProductById(productId));
>      >               } catch (AvroRemoteException e) {
>      >                   throw new CatalogException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new CatalogException(e.getMessage());
>      >      +            }
>      >               }
>      >           }
>      >
>      >      @@ -582,6 +828,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   return AvroTypeFactory.getProduct(this.proxy.getProductByName(productName));
>      >               } catch (AvroRemoteException e) {
>      >                   throw new CatalogException(e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new CatalogException(e.getMessage());
>      >      +            }
>      >               }
>      >           }
>      >
>      >      @@ -696,30 +948,60 @@ public class AvroFileManagerClient implements FileManagerClient {
>      >                   }
>      >                   throw new Exception("Failed to ingest product [" + product + "] : "
>      >                           + e.getMessage());
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new FileManagerException(e.getMessage());
>      >      +            }
>      >               }
>      >
>      >           }
>      >
>      >           @Override
>      >           public Metadata getCatalogValues(Metadata metadata, ProductType productType) throws Exception {
>      >      -        return AvroTypeFactory.getMetadata(this.proxy.getCatalogValues(
>      >      +        try {
>      >      +            return AvroTypeFactory.getMetadata(this.proxy.getCatalogValues(
>      >                       AvroTypeFactory.getAvroMetadata(metadata),
>      >                       AvroTypeFactory.getAvroProductType(productType)));
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new FileManagerException(e.getMessage());
>      >      +            }
>      >      +        }
>      >           }
>      >
>      >           @Override
>      >           public Metadata getOrigValues(Metadata metadata, ProductType productType) throws Exception {
>      >      -        return AvroTypeFactory.getMetadata(this.proxy.getOrigValues(
>      >      +        try {
>      >      +            return AvroTypeFactory.getMetadata(this.proxy.getOrigValues(
>      >                       AvroTypeFactory.getAvroMetadata(metadata),
>      >                       AvroTypeFactory.getAvroProductType(productType)));
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new FileManagerException(e.getMessage());
>      >      +            }
>      >      +        }
>      >           }
>      >
>      >           @Override
>      >           public Query getCatalogQuery(Query query, ProductType productType) throws Exception {
>      >      -        return AvroTypeFactory.getQuery(this.proxy.getCatalogQuery(
>      >      +        try {
>      >      +            return AvroTypeFactory.getQuery(this.proxy.getCatalogQuery(
>      >                       AvroTypeFactory.getAvroQuery(query),
>      >                       AvroTypeFactory.getAvroProductType(productType)
>      >      -        ));
>      >      +            ));
>      >      +        } finally {
>      >      +            try {
>      >      +                this.client.close();
>      >      +            } catch (IOException e) {
>      >      +                throw new FileManagerException(e.getMessage());
>      >      +            }
>      >      +        }
>      >           }
>      >
>      >           @Override
>      >
>      >
>      >
>      >
>      
>      
>      --
>      
>      
>      Spicule Limited is registered in England & Wales. Company Number: 09954122.
>      Registered office: First Floor, Telecom House, 125-135 Preston Road,
>      Brighton, England, BN1 6AF. VAT No. 251478891.
>      
>      
>      All engagements are subject to Spicule Terms and Conditions of Business.
>      This email and its contents are intended solely for the individual to whom
>      it is addressed and may contain information that is confidential,
>      privileged or otherwise protected from disclosure, distributing or copying.
>      Any views or opinions presented in this email are solely those of the
>      author and do not necessarily represent those of Spicule Limited. The
>      company accepts no liability for any damage caused by any virus transmitted
>      by this email. If you have received this message in error, please notify us
>      immediately by reply email before deleting it from your system. Service of
>      legal notice cannot be effected on Spicule Limited by email.
>      
>
>
>


-- 


Spicule Limited is registered in England & Wales. Company Number: 09954122. 
Registered office: First Floor, Telecom House, 125-135 Preston Road, 
Brighton, England, BN1 6AF. VAT No. 251478891.


All engagements are subject to Spicule Terms and Conditions of Business. 
This email and its contents are intended solely for the individual to whom 
it is addressed and may contain information that is confidential, 
privileged or otherwise protected from disclosure, distributing or copying. 
Any views or opinions presented in this email are solely those of the 
author and do not necessarily represent those of Spicule Limited. The 
company accepts no liability for any damage caused by any virus transmitted 
by this email. If you have received this message in error, please notify us 
immediately by reply email before deleting it from your system. Service of 
legal notice cannot be effected on Spicule Limited by email.


Re: oodt git commit: close connection to release client

Posted by Chris Mattmann <ma...@apache.org>.
Good lord, nevermind yeah looks like a future candidate for a refactoring
since it’s the same line over and over again.





On 12/12/17, 3:01 PM, "Tom Barber" <to...@spicule.co.uk> wrote:

    I'm not following, the change was to add a finally block to each client 
    call to shut it down after the execution. Those finally blocks I've just 
    added in, the only other change was an import clean up.
    
    On 12/12/17 22:58, Chris Mattmann wrote:
    > Tom, please revert this commit and do a commit that doesn’t include a billion lines of
    > formatting change and includes the actual change? (
    >
    > Cheers,
    > Chris
    >
    >
    >
    >
    > On 12/12/17, 2:56 PM, "magicaltrout@apache.org" <ma...@apache.org> wrote:
    >
    >      Repository: oodt
    >      Updated Branches:
    >        refs/heads/development bfb78c9a0 -> 82b522516
    >      
    >      
    >      close connection to release client
    >      
    >      
    >      Project: http://git-wip-us.apache.org/repos/asf/oodt/repo
    >      Commit: http://git-wip-us.apache.org/repos/asf/oodt/commit/82b52251
    >      Tree: http://git-wip-us.apache.org/repos/asf/oodt/tree/82b52251
    >      Diff: http://git-wip-us.apache.org/repos/asf/oodt/diff/82b52251
    >      
    >      Branch: refs/heads/development
    >      Commit: 82b5225162f78ee092e473218769bea61e3e510f
    >      Parents: bfb78c9
    >      Author: Tom Barber <to...@jpl.nasa.gov>
    >      Authored: Tue Dec 12 22:56:39 2017 +0000
    >      Committer: Tom Barber <to...@jpl.nasa.gov>
    >      Committed: Tue Dec 12 22:56:39 2017 +0000
    >      
    >      ----------------------------------------------------------------------
    >       .../filemgr/system/AvroFileManagerClient.java   | 320 +++++++++++++++++--
    >       1 file changed, 301 insertions(+), 19 deletions(-)
    >      ----------------------------------------------------------------------
    >      
    >      
    >      http://git-wip-us.apache.org/repos/asf/oodt/blob/82b52251/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/AvroFileManagerClient.java
    >      ----------------------------------------------------------------------
    >      diff --git a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/AvroFileManagerClient.java b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/AvroFileManagerClient.java
    >      index 3feda3d..043330a 100644
    >      --- a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/AvroFileManagerClient.java
    >      +++ b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/AvroFileManagerClient.java
    >      @@ -17,45 +17,46 @@
    >       
    >       package org.apache.oodt.cas.filemgr.system;
    >       
    >      +import java.io.IOException;
    >      +import java.net.InetSocketAddress;
    >      +import java.net.URL;
    >      +import java.nio.ByteBuffer;
    >      +import java.util.ArrayList;
    >      +import java.util.List;
    >      +import java.util.logging.Level;
    >      +import java.util.logging.Logger;
    >       import org.apache.avro.AvroRemoteException;
    >       import org.apache.avro.ipc.NettyTransceiver;
    >       import org.apache.avro.ipc.Transceiver;
    >       import org.apache.avro.ipc.specific.SpecificRequestor;
    >       import org.apache.oodt.cas.filemgr.datatransfer.DataTransfer;
    >      +import org.apache.oodt.cas.filemgr.exceptions.FileManagerException;
    >       import org.apache.oodt.cas.filemgr.structs.Element;
    >      -import org.apache.oodt.cas.filemgr.structs.Product;
    >       import org.apache.oodt.cas.filemgr.structs.FileTransferStatus;
    >      +import org.apache.oodt.cas.filemgr.structs.Product;
    >       import org.apache.oodt.cas.filemgr.structs.ProductPage;
    >       import org.apache.oodt.cas.filemgr.structs.ProductType;
    >      -import org.apache.oodt.cas.filemgr.structs.Reference;
    >       import org.apache.oodt.cas.filemgr.structs.Query;
    >      +import org.apache.oodt.cas.filemgr.structs.Reference;
    >      +import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroElement;
    >       import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroFileManager;
    >       import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroFileTransferStatus;
    >       import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroProduct;
    >      -import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroElement;
    >      -import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroQueryResult;
    >       import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroProductType;
    >      +import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroQueryResult;
    >       import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroReference;
    >      -import org.apache.oodt.cas.filemgr.structs.exceptions.RepositoryManagerException;
    >       import org.apache.oodt.cas.filemgr.structs.exceptions.CatalogException;
    >      +import org.apache.oodt.cas.filemgr.structs.exceptions.ConnectionException;
    >       import org.apache.oodt.cas.filemgr.structs.exceptions.DataTransferException;
    >      +import org.apache.oodt.cas.filemgr.structs.exceptions.RepositoryManagerException;
    >       import org.apache.oodt.cas.filemgr.structs.exceptions.ValidationLayerException;
    >       import org.apache.oodt.cas.filemgr.structs.exceptions.VersioningException;
    >      -import org.apache.oodt.cas.filemgr.structs.exceptions.ConnectionException;
    >       import org.apache.oodt.cas.filemgr.structs.query.ComplexQuery;
    >       import org.apache.oodt.cas.filemgr.structs.query.QueryResult;
    >       import org.apache.oodt.cas.filemgr.util.AvroTypeFactory;
    >       import org.apache.oodt.cas.filemgr.util.GenericFileManagerObjectFactory;
    >       import org.apache.oodt.cas.filemgr.versioning.Versioner;
    >       import org.apache.oodt.cas.metadata.Metadata;
    >      -import java.io.IOException;
    >      -import java.net.InetSocketAddress;
    >      -import java.net.URL;
    >      -import java.nio.ByteBuffer;
    >      -import java.util.ArrayList;
    >      -import java.util.List;
    >      -import java.util.logging.Level;
    >      -import java.util.logging.Logger;
    >       
    >       /**
    >        * @author radu
    >      @@ -142,8 +143,13 @@ public class AvroFileManagerClient implements FileManagerClient {
    >               try {
    >                   success = proxy.transferringProduct(AvroTypeFactory.getAvroProduct(product));
    >               } catch (AvroRemoteException e) {
    >      -            e.printStackTrace();
    >                   throw new DataTransferException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new DataTransferException(e.getMessage());
    >      +            }
    >               }
    >       
    >               return success;
    >      @@ -156,6 +162,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   success = proxy.removeProductTransferStatus(AvroTypeFactory.getAvroProduct(product));
    >               } catch (AvroRemoteException e) {
    >                   throw new DataTransferException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new DataTransferException(e.getMessage());
    >      +            }
    >               }
    >               return success;
    >           }
    >      @@ -167,6 +179,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   success = this.proxy.isTransferComplete(AvroTypeFactory.getAvroProduct(product));
    >               } catch (AvroRemoteException e) {
    >                   throw new DataTransferException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new DataTransferException(e.getMessage());
    >      +            }
    >               }
    >               return success;
    >           }
    >      @@ -178,6 +196,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   success = this.proxy.moveProduct(AvroTypeFactory.getAvroProduct(product), newPath);
    >               } catch (AvroRemoteException e) {
    >                   throw new DataTransferException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new DataTransferException(e.getMessage());
    >      +            }
    >               }
    >               return success;
    >           }
    >      @@ -189,6 +213,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   success = this.proxy.modifyProduct(AvroTypeFactory.getAvroProduct(product));
    >               } catch (AvroRemoteException e) {
    >                   throw new CatalogException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new CatalogException(e.getMessage());
    >      +            }
    >               }
    >               return success;
    >           }
    >      @@ -200,6 +230,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   success = this.proxy.removeProduct(AvroTypeFactory.getAvroProduct(product));
    >               } catch (AvroRemoteException e) {
    >                   throw new CatalogException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new CatalogException(e.getMessage());
    >      +            }
    >               }
    >               return success;
    >           }
    >      @@ -210,6 +246,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   return AvroTypeFactory.getFileTransferStatus(this.proxy.getCurrentFileTransfer());
    >               } catch (AvroRemoteException e) {
    >                   throw new DataTransferException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new DataTransferException(e.getMessage());
    >      +            }
    >               }
    >           }
    >       
    >      @@ -222,6 +264,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   }
    >               } catch (AvroRemoteException e) {
    >                   throw new DataTransferException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new DataTransferException(e.getMessage());
    >      +            }
    >               }
    >               return fileTransferStatuses;
    >           }
    >      @@ -232,6 +280,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   return this.proxy.getProductPctTransferred(AvroTypeFactory.getAvroProduct(product));
    >               } catch (AvroRemoteException e) {
    >                   throw new DataTransferException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new DataTransferException(e.getMessage());
    >      +            }
    >               }
    >           }
    >       
    >      @@ -241,6 +295,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   return this.proxy.getRefPctTransferred(AvroTypeFactory.getAvroReference(reference));
    >               } catch (AvroRemoteException e) {
    >                   throw new DataTransferException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new DataTransferException(e.getMessage());
    >      +            }
    >               }
    >           }
    >       
    >      @@ -255,6 +315,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   ));
    >               } catch (AvroRemoteException e) {
    >                   throw new CatalogException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new CatalogException(e.getMessage());
    >      +            }
    >               }
    >           }
    >       
    >      @@ -264,6 +330,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   return AvroTypeFactory.getProductPage(this.proxy.getFirstPage(AvroTypeFactory.getAvroProductType(type)));
    >               } catch (AvroRemoteException e) {
    >                   throw new CatalogException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new CatalogException(e.getMessage());
    >      +            }
    >               }
    >           }
    >       
    >      @@ -273,6 +345,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   return AvroTypeFactory.getProductPage(this.proxy.getLastPage(AvroTypeFactory.getAvroProductType(type)));
    >               } catch (AvroRemoteException e) {
    >                   throw new CatalogException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new CatalogException(e.getMessage());
    >      +            }
    >               }
    >           }
    >       
    >      @@ -285,6 +363,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   ));
    >               } catch (AvroRemoteException e) {
    >                   throw new CatalogException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new CatalogException(e.getMessage());
    >      +            }
    >               }
    >           }
    >       
    >      @@ -297,6 +381,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   ));
    >               } catch (AvroRemoteException e) {
    >                   throw new CatalogException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new CatalogException(e.getMessage());
    >      +            }
    >               }
    >           }
    >       
    >      @@ -306,6 +396,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   return this.proxy.addProductType(AvroTypeFactory.getAvroProductType(type));
    >               } catch (AvroRemoteException e) {
    >                   throw new RepositoryManagerException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new RepositoryManagerException(e.getMessage());
    >      +            }
    >               }
    >           }
    >       
    >      @@ -315,6 +411,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   return this.proxy.hasProduct(productName);
    >               } catch (AvroRemoteException e) {
    >                   throw new CatalogException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new CatalogException(e.getMessage());
    >      +            }
    >               }
    >           }
    >       
    >      @@ -324,6 +426,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   return this.proxy.getNumProducts(AvroTypeFactory.getAvroProductType(type));
    >               } catch (AvroRemoteException e) {
    >                   throw new CatalogException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new CatalogException(e.getMessage());
    >      +            }
    >               }
    >           }
    >       
    >      @@ -336,6 +444,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   }
    >               } catch (AvroRemoteException e) {
    >                   throw new CatalogException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new CatalogException(e.getMessage());
    >      +            }
    >               }
    >               return products;
    >           }
    >      @@ -349,6 +463,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   }
    >               } catch (AvroRemoteException e) {
    >                   throw new CatalogException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new CatalogException(e.getMessage());
    >      +            }
    >               }
    >               return products;
    >           }
    >      @@ -359,6 +479,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   this.proxy.setProductTransferStatus(AvroTypeFactory.getAvroProduct(product));
    >               } catch (AvroRemoteException e) {
    >                   throw new CatalogException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new CatalogException(e.getMessage());
    >      +            }
    >               }
    >           }
    >       
    >      @@ -368,6 +494,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   this.proxy.addProductReferences(AvroTypeFactory.getAvroProduct(product));
    >               } catch (AvroRemoteException e) {
    >                   throw new CatalogException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new CatalogException(e.getMessage());
    >      +            }
    >               }
    >           }
    >       
    >      @@ -378,6 +510,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                           AvroTypeFactory.getAvroMetadata(metadata));
    >               } catch (AvroRemoteException e) {
    >                   throw new CatalogException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new CatalogException(e.getMessage());
    >      +            }
    >               }
    >       
    >           }
    >      @@ -391,6 +529,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   );
    >               } catch (AvroRemoteException e) {
    >                   throw new CatalogException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new CatalogException(e.getMessage());
    >      +            }
    >               }
    >           }
    >       
    >      @@ -400,6 +544,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   return this.proxy.catalogProduct(AvroTypeFactory.getAvroProduct(product));
    >               } catch (AvroRemoteException e) {
    >                   throw new CatalogException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new CatalogException(e.getMessage());
    >      +            }
    >               }
    >           }
    >       
    >      @@ -409,6 +559,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   return AvroTypeFactory.getMetadata(this.proxy.getMetadata(AvroTypeFactory.getAvroProduct(product)));
    >               } catch (AvroRemoteException e) {
    >                   throw new CatalogException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new CatalogException(e.getMessage());
    >      +            }
    >               }
    >           }
    >       
    >      @@ -419,6 +575,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                           this.proxy.getReducedMetadata(AvroTypeFactory.getAvroProduct(product), (List<String>) elements));
    >               } catch (AvroRemoteException e) {
    >                   throw new CatalogException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new CatalogException(e.getMessage());
    >      +            }
    >               }
    >           }
    >       
    >      @@ -428,6 +590,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   return this.proxy.removeFile(filePath);
    >               } catch (AvroRemoteException e) {
    >                   throw new DataTransferException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new DataTransferException(e.getMessage());
    >      +            }
    >               }
    >           }
    >       
    >      @@ -437,6 +605,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   return this.proxy.retrieveFile(filePath, offset, numBytes).array();
    >               } catch (AvroRemoteException e) {
    >                   throw new DataTransferException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new DataTransferException(e.getMessage());
    >      +            }
    >               }
    >           }
    >       
    >      @@ -446,6 +620,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   this.proxy.transferFile(filePath, ByteBuffer.wrap(fileData), offset, numBytes);
    >               } catch (AvroRemoteException e) {
    >                   throw new DataTransferException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new DataTransferException(e.getMessage());
    >      +            }
    >               }
    >       
    >           }
    >      @@ -461,6 +641,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >       
    >               } catch (AvroRemoteException e) {
    >                   throw new CatalogException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new CatalogException(e.getMessage());
    >      +            }
    >               }
    >       
    >           }
    >      @@ -474,6 +660,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   }
    >               } catch (AvroRemoteException e) {
    >                   throw new ValidationLayerException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new ValidationLayerException(e.getMessage());
    >      +            }
    >               }
    >               return products;
    >           }
    >      @@ -484,6 +676,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   return AvroTypeFactory.getElement(this.proxy.getElementById(elementId));
    >               } catch (AvroRemoteException e) {
    >                   throw new ValidationLayerException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new ValidationLayerException(e.getMessage());
    >      +            }
    >               }
    >           }
    >       
    >      @@ -493,6 +691,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   return AvroTypeFactory.getElement(this.proxy.getElementByName(elementName));
    >               } catch (AvroRemoteException e) {
    >                   throw new ValidationLayerException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new ValidationLayerException(e.getMessage());
    >      +            }
    >               }
    >           }
    >       
    >      @@ -506,6 +710,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   }
    >               } catch (AvroRemoteException e) {
    >                   throw new CatalogException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new CatalogException(e.getMessage());
    >      +            }
    >               }
    >               return queryResults;
    >           }
    >      @@ -519,6 +729,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   }
    >               } catch (AvroRemoteException e) {
    >                   throw new CatalogException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new CatalogException(e.getMessage());
    >      +            }
    >               }
    >               return products;
    >           }
    >      @@ -529,6 +745,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   return AvroTypeFactory.getProductType(this.proxy.getProductTypeByName(productTypeName));
    >               } catch (AvroRemoteException e) {
    >                   throw new RepositoryManagerException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new RepositoryManagerException(e.getMessage());
    >      +            }
    >               }
    >           }
    >       
    >      @@ -538,6 +760,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   return AvroTypeFactory.getProductType(this.proxy.getProductTypeById(productTypeId));
    >               } catch (AvroRemoteException e) {
    >                   throw new RepositoryManagerException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new RepositoryManagerException(e.getMessage());
    >      +            }
    >               }
    >           }
    >       
    >      @@ -550,6 +778,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   }
    >               } catch (AvroRemoteException e) {
    >                   throw new RepositoryManagerException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new RepositoryManagerException(e.getMessage());
    >      +            }
    >               }
    >               return productTypes;
    >           }
    >      @@ -563,6 +797,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   }
    >               } catch (AvroRemoteException e) {
    >                   throw new CatalogException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new CatalogException(e.getMessage());
    >      +            }
    >               }
    >               return references;
    >           }
    >      @@ -573,6 +813,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   return AvroTypeFactory.getProduct(this.proxy.getProductById(productId));
    >               } catch (AvroRemoteException e) {
    >                   throw new CatalogException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new CatalogException(e.getMessage());
    >      +            }
    >               }
    >           }
    >       
    >      @@ -582,6 +828,12 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   return AvroTypeFactory.getProduct(this.proxy.getProductByName(productName));
    >               } catch (AvroRemoteException e) {
    >                   throw new CatalogException(e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new CatalogException(e.getMessage());
    >      +            }
    >               }
    >           }
    >       
    >      @@ -696,30 +948,60 @@ public class AvroFileManagerClient implements FileManagerClient {
    >                   }
    >                   throw new Exception("Failed to ingest product [" + product + "] : "
    >                           + e.getMessage());
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new FileManagerException(e.getMessage());
    >      +            }
    >               }
    >       
    >           }
    >       
    >           @Override
    >           public Metadata getCatalogValues(Metadata metadata, ProductType productType) throws Exception {
    >      -        return AvroTypeFactory.getMetadata(this.proxy.getCatalogValues(
    >      +        try {
    >      +            return AvroTypeFactory.getMetadata(this.proxy.getCatalogValues(
    >                       AvroTypeFactory.getAvroMetadata(metadata),
    >                       AvroTypeFactory.getAvroProductType(productType)));
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new FileManagerException(e.getMessage());
    >      +            }
    >      +        }
    >           }
    >       
    >           @Override
    >           public Metadata getOrigValues(Metadata metadata, ProductType productType) throws Exception {
    >      -        return AvroTypeFactory.getMetadata(this.proxy.getOrigValues(
    >      +        try {
    >      +            return AvroTypeFactory.getMetadata(this.proxy.getOrigValues(
    >                       AvroTypeFactory.getAvroMetadata(metadata),
    >                       AvroTypeFactory.getAvroProductType(productType)));
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new FileManagerException(e.getMessage());
    >      +            }
    >      +        }
    >           }
    >       
    >           @Override
    >           public Query getCatalogQuery(Query query, ProductType productType) throws Exception {
    >      -        return AvroTypeFactory.getQuery(this.proxy.getCatalogQuery(
    >      +        try {
    >      +            return AvroTypeFactory.getQuery(this.proxy.getCatalogQuery(
    >                       AvroTypeFactory.getAvroQuery(query),
    >                       AvroTypeFactory.getAvroProductType(productType)
    >      -        ));
    >      +            ));
    >      +        } finally {
    >      +            try {
    >      +                this.client.close();
    >      +            } catch (IOException e) {
    >      +                throw new FileManagerException(e.getMessage());
    >      +            }
    >      +        }
    >           }
    >       
    >           @Override
    >      
    >      
    >
    >
    
    
    -- 
    
    
    Spicule Limited is registered in England & Wales. Company Number: 09954122. 
    Registered office: First Floor, Telecom House, 125-135 Preston Road, 
    Brighton, England, BN1 6AF. VAT No. 251478891.
    
    
    All engagements are subject to Spicule Terms and Conditions of Business. 
    This email and its contents are intended solely for the individual to whom 
    it is addressed and may contain information that is confidential, 
    privileged or otherwise protected from disclosure, distributing or copying. 
    Any views or opinions presented in this email are solely those of the 
    author and do not necessarily represent those of Spicule Limited. The 
    company accepts no liability for any damage caused by any virus transmitted 
    by this email. If you have received this message in error, please notify us 
    immediately by reply email before deleting it from your system. Service of 
    legal notice cannot be effected on Spicule Limited by email.
    




Re: oodt git commit: close connection to release client

Posted by Tom Barber <to...@spicule.co.uk>.
I'm not following, the change was to add a finally block to each client 
call to shut it down after the execution. Those finally blocks I've just 
added in, the only other change was an import clean up.

On 12/12/17 22:58, Chris Mattmann wrote:
> Tom, please revert this commit and do a commit that doesn’t include a billion lines of
> formatting change and includes the actual change? (
>
> Cheers,
> Chris
>
>
>
>
> On 12/12/17, 2:56 PM, "magicaltrout@apache.org" <ma...@apache.org> wrote:
>
>      Repository: oodt
>      Updated Branches:
>        refs/heads/development bfb78c9a0 -> 82b522516
>      
>      
>      close connection to release client
>      
>      
>      Project: http://git-wip-us.apache.org/repos/asf/oodt/repo
>      Commit: http://git-wip-us.apache.org/repos/asf/oodt/commit/82b52251
>      Tree: http://git-wip-us.apache.org/repos/asf/oodt/tree/82b52251
>      Diff: http://git-wip-us.apache.org/repos/asf/oodt/diff/82b52251
>      
>      Branch: refs/heads/development
>      Commit: 82b5225162f78ee092e473218769bea61e3e510f
>      Parents: bfb78c9
>      Author: Tom Barber <to...@jpl.nasa.gov>
>      Authored: Tue Dec 12 22:56:39 2017 +0000
>      Committer: Tom Barber <to...@jpl.nasa.gov>
>      Committed: Tue Dec 12 22:56:39 2017 +0000
>      
>      ----------------------------------------------------------------------
>       .../filemgr/system/AvroFileManagerClient.java   | 320 +++++++++++++++++--
>       1 file changed, 301 insertions(+), 19 deletions(-)
>      ----------------------------------------------------------------------
>      
>      
>      http://git-wip-us.apache.org/repos/asf/oodt/blob/82b52251/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/AvroFileManagerClient.java
>      ----------------------------------------------------------------------
>      diff --git a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/AvroFileManagerClient.java b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/AvroFileManagerClient.java
>      index 3feda3d..043330a 100644
>      --- a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/AvroFileManagerClient.java
>      +++ b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/AvroFileManagerClient.java
>      @@ -17,45 +17,46 @@
>       
>       package org.apache.oodt.cas.filemgr.system;
>       
>      +import java.io.IOException;
>      +import java.net.InetSocketAddress;
>      +import java.net.URL;
>      +import java.nio.ByteBuffer;
>      +import java.util.ArrayList;
>      +import java.util.List;
>      +import java.util.logging.Level;
>      +import java.util.logging.Logger;
>       import org.apache.avro.AvroRemoteException;
>       import org.apache.avro.ipc.NettyTransceiver;
>       import org.apache.avro.ipc.Transceiver;
>       import org.apache.avro.ipc.specific.SpecificRequestor;
>       import org.apache.oodt.cas.filemgr.datatransfer.DataTransfer;
>      +import org.apache.oodt.cas.filemgr.exceptions.FileManagerException;
>       import org.apache.oodt.cas.filemgr.structs.Element;
>      -import org.apache.oodt.cas.filemgr.structs.Product;
>       import org.apache.oodt.cas.filemgr.structs.FileTransferStatus;
>      +import org.apache.oodt.cas.filemgr.structs.Product;
>       import org.apache.oodt.cas.filemgr.structs.ProductPage;
>       import org.apache.oodt.cas.filemgr.structs.ProductType;
>      -import org.apache.oodt.cas.filemgr.structs.Reference;
>       import org.apache.oodt.cas.filemgr.structs.Query;
>      +import org.apache.oodt.cas.filemgr.structs.Reference;
>      +import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroElement;
>       import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroFileManager;
>       import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroFileTransferStatus;
>       import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroProduct;
>      -import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroElement;
>      -import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroQueryResult;
>       import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroProductType;
>      +import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroQueryResult;
>       import org.apache.oodt.cas.filemgr.structs.avrotypes.AvroReference;
>      -import org.apache.oodt.cas.filemgr.structs.exceptions.RepositoryManagerException;
>       import org.apache.oodt.cas.filemgr.structs.exceptions.CatalogException;
>      +import org.apache.oodt.cas.filemgr.structs.exceptions.ConnectionException;
>       import org.apache.oodt.cas.filemgr.structs.exceptions.DataTransferException;
>      +import org.apache.oodt.cas.filemgr.structs.exceptions.RepositoryManagerException;
>       import org.apache.oodt.cas.filemgr.structs.exceptions.ValidationLayerException;
>       import org.apache.oodt.cas.filemgr.structs.exceptions.VersioningException;
>      -import org.apache.oodt.cas.filemgr.structs.exceptions.ConnectionException;
>       import org.apache.oodt.cas.filemgr.structs.query.ComplexQuery;
>       import org.apache.oodt.cas.filemgr.structs.query.QueryResult;
>       import org.apache.oodt.cas.filemgr.util.AvroTypeFactory;
>       import org.apache.oodt.cas.filemgr.util.GenericFileManagerObjectFactory;
>       import org.apache.oodt.cas.filemgr.versioning.Versioner;
>       import org.apache.oodt.cas.metadata.Metadata;
>      -import java.io.IOException;
>      -import java.net.InetSocketAddress;
>      -import java.net.URL;
>      -import java.nio.ByteBuffer;
>      -import java.util.ArrayList;
>      -import java.util.List;
>      -import java.util.logging.Level;
>      -import java.util.logging.Logger;
>       
>       /**
>        * @author radu
>      @@ -142,8 +143,13 @@ public class AvroFileManagerClient implements FileManagerClient {
>               try {
>                   success = proxy.transferringProduct(AvroTypeFactory.getAvroProduct(product));
>               } catch (AvroRemoteException e) {
>      -            e.printStackTrace();
>                   throw new DataTransferException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new DataTransferException(e.getMessage());
>      +            }
>               }
>       
>               return success;
>      @@ -156,6 +162,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   success = proxy.removeProductTransferStatus(AvroTypeFactory.getAvroProduct(product));
>               } catch (AvroRemoteException e) {
>                   throw new DataTransferException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new DataTransferException(e.getMessage());
>      +            }
>               }
>               return success;
>           }
>      @@ -167,6 +179,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   success = this.proxy.isTransferComplete(AvroTypeFactory.getAvroProduct(product));
>               } catch (AvroRemoteException e) {
>                   throw new DataTransferException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new DataTransferException(e.getMessage());
>      +            }
>               }
>               return success;
>           }
>      @@ -178,6 +196,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   success = this.proxy.moveProduct(AvroTypeFactory.getAvroProduct(product), newPath);
>               } catch (AvroRemoteException e) {
>                   throw new DataTransferException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new DataTransferException(e.getMessage());
>      +            }
>               }
>               return success;
>           }
>      @@ -189,6 +213,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   success = this.proxy.modifyProduct(AvroTypeFactory.getAvroProduct(product));
>               } catch (AvroRemoteException e) {
>                   throw new CatalogException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new CatalogException(e.getMessage());
>      +            }
>               }
>               return success;
>           }
>      @@ -200,6 +230,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   success = this.proxy.removeProduct(AvroTypeFactory.getAvroProduct(product));
>               } catch (AvroRemoteException e) {
>                   throw new CatalogException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new CatalogException(e.getMessage());
>      +            }
>               }
>               return success;
>           }
>      @@ -210,6 +246,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   return AvroTypeFactory.getFileTransferStatus(this.proxy.getCurrentFileTransfer());
>               } catch (AvroRemoteException e) {
>                   throw new DataTransferException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new DataTransferException(e.getMessage());
>      +            }
>               }
>           }
>       
>      @@ -222,6 +264,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   }
>               } catch (AvroRemoteException e) {
>                   throw new DataTransferException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new DataTransferException(e.getMessage());
>      +            }
>               }
>               return fileTransferStatuses;
>           }
>      @@ -232,6 +280,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   return this.proxy.getProductPctTransferred(AvroTypeFactory.getAvroProduct(product));
>               } catch (AvroRemoteException e) {
>                   throw new DataTransferException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new DataTransferException(e.getMessage());
>      +            }
>               }
>           }
>       
>      @@ -241,6 +295,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   return this.proxy.getRefPctTransferred(AvroTypeFactory.getAvroReference(reference));
>               } catch (AvroRemoteException e) {
>                   throw new DataTransferException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new DataTransferException(e.getMessage());
>      +            }
>               }
>           }
>       
>      @@ -255,6 +315,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   ));
>               } catch (AvroRemoteException e) {
>                   throw new CatalogException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new CatalogException(e.getMessage());
>      +            }
>               }
>           }
>       
>      @@ -264,6 +330,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   return AvroTypeFactory.getProductPage(this.proxy.getFirstPage(AvroTypeFactory.getAvroProductType(type)));
>               } catch (AvroRemoteException e) {
>                   throw new CatalogException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new CatalogException(e.getMessage());
>      +            }
>               }
>           }
>       
>      @@ -273,6 +345,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   return AvroTypeFactory.getProductPage(this.proxy.getLastPage(AvroTypeFactory.getAvroProductType(type)));
>               } catch (AvroRemoteException e) {
>                   throw new CatalogException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new CatalogException(e.getMessage());
>      +            }
>               }
>           }
>       
>      @@ -285,6 +363,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   ));
>               } catch (AvroRemoteException e) {
>                   throw new CatalogException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new CatalogException(e.getMessage());
>      +            }
>               }
>           }
>       
>      @@ -297,6 +381,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   ));
>               } catch (AvroRemoteException e) {
>                   throw new CatalogException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new CatalogException(e.getMessage());
>      +            }
>               }
>           }
>       
>      @@ -306,6 +396,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   return this.proxy.addProductType(AvroTypeFactory.getAvroProductType(type));
>               } catch (AvroRemoteException e) {
>                   throw new RepositoryManagerException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new RepositoryManagerException(e.getMessage());
>      +            }
>               }
>           }
>       
>      @@ -315,6 +411,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   return this.proxy.hasProduct(productName);
>               } catch (AvroRemoteException e) {
>                   throw new CatalogException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new CatalogException(e.getMessage());
>      +            }
>               }
>           }
>       
>      @@ -324,6 +426,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   return this.proxy.getNumProducts(AvroTypeFactory.getAvroProductType(type));
>               } catch (AvroRemoteException e) {
>                   throw new CatalogException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new CatalogException(e.getMessage());
>      +            }
>               }
>           }
>       
>      @@ -336,6 +444,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   }
>               } catch (AvroRemoteException e) {
>                   throw new CatalogException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new CatalogException(e.getMessage());
>      +            }
>               }
>               return products;
>           }
>      @@ -349,6 +463,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   }
>               } catch (AvroRemoteException e) {
>                   throw new CatalogException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new CatalogException(e.getMessage());
>      +            }
>               }
>               return products;
>           }
>      @@ -359,6 +479,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   this.proxy.setProductTransferStatus(AvroTypeFactory.getAvroProduct(product));
>               } catch (AvroRemoteException e) {
>                   throw new CatalogException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new CatalogException(e.getMessage());
>      +            }
>               }
>           }
>       
>      @@ -368,6 +494,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   this.proxy.addProductReferences(AvroTypeFactory.getAvroProduct(product));
>               } catch (AvroRemoteException e) {
>                   throw new CatalogException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new CatalogException(e.getMessage());
>      +            }
>               }
>           }
>       
>      @@ -378,6 +510,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                           AvroTypeFactory.getAvroMetadata(metadata));
>               } catch (AvroRemoteException e) {
>                   throw new CatalogException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new CatalogException(e.getMessage());
>      +            }
>               }
>       
>           }
>      @@ -391,6 +529,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   );
>               } catch (AvroRemoteException e) {
>                   throw new CatalogException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new CatalogException(e.getMessage());
>      +            }
>               }
>           }
>       
>      @@ -400,6 +544,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   return this.proxy.catalogProduct(AvroTypeFactory.getAvroProduct(product));
>               } catch (AvroRemoteException e) {
>                   throw new CatalogException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new CatalogException(e.getMessage());
>      +            }
>               }
>           }
>       
>      @@ -409,6 +559,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   return AvroTypeFactory.getMetadata(this.proxy.getMetadata(AvroTypeFactory.getAvroProduct(product)));
>               } catch (AvroRemoteException e) {
>                   throw new CatalogException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new CatalogException(e.getMessage());
>      +            }
>               }
>           }
>       
>      @@ -419,6 +575,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                           this.proxy.getReducedMetadata(AvroTypeFactory.getAvroProduct(product), (List<String>) elements));
>               } catch (AvroRemoteException e) {
>                   throw new CatalogException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new CatalogException(e.getMessage());
>      +            }
>               }
>           }
>       
>      @@ -428,6 +590,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   return this.proxy.removeFile(filePath);
>               } catch (AvroRemoteException e) {
>                   throw new DataTransferException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new DataTransferException(e.getMessage());
>      +            }
>               }
>           }
>       
>      @@ -437,6 +605,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   return this.proxy.retrieveFile(filePath, offset, numBytes).array();
>               } catch (AvroRemoteException e) {
>                   throw new DataTransferException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new DataTransferException(e.getMessage());
>      +            }
>               }
>           }
>       
>      @@ -446,6 +620,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   this.proxy.transferFile(filePath, ByteBuffer.wrap(fileData), offset, numBytes);
>               } catch (AvroRemoteException e) {
>                   throw new DataTransferException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new DataTransferException(e.getMessage());
>      +            }
>               }
>       
>           }
>      @@ -461,6 +641,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>       
>               } catch (AvroRemoteException e) {
>                   throw new CatalogException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new CatalogException(e.getMessage());
>      +            }
>               }
>       
>           }
>      @@ -474,6 +660,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   }
>               } catch (AvroRemoteException e) {
>                   throw new ValidationLayerException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new ValidationLayerException(e.getMessage());
>      +            }
>               }
>               return products;
>           }
>      @@ -484,6 +676,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   return AvroTypeFactory.getElement(this.proxy.getElementById(elementId));
>               } catch (AvroRemoteException e) {
>                   throw new ValidationLayerException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new ValidationLayerException(e.getMessage());
>      +            }
>               }
>           }
>       
>      @@ -493,6 +691,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   return AvroTypeFactory.getElement(this.proxy.getElementByName(elementName));
>               } catch (AvroRemoteException e) {
>                   throw new ValidationLayerException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new ValidationLayerException(e.getMessage());
>      +            }
>               }
>           }
>       
>      @@ -506,6 +710,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   }
>               } catch (AvroRemoteException e) {
>                   throw new CatalogException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new CatalogException(e.getMessage());
>      +            }
>               }
>               return queryResults;
>           }
>      @@ -519,6 +729,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   }
>               } catch (AvroRemoteException e) {
>                   throw new CatalogException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new CatalogException(e.getMessage());
>      +            }
>               }
>               return products;
>           }
>      @@ -529,6 +745,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   return AvroTypeFactory.getProductType(this.proxy.getProductTypeByName(productTypeName));
>               } catch (AvroRemoteException e) {
>                   throw new RepositoryManagerException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new RepositoryManagerException(e.getMessage());
>      +            }
>               }
>           }
>       
>      @@ -538,6 +760,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   return AvroTypeFactory.getProductType(this.proxy.getProductTypeById(productTypeId));
>               } catch (AvroRemoteException e) {
>                   throw new RepositoryManagerException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new RepositoryManagerException(e.getMessage());
>      +            }
>               }
>           }
>       
>      @@ -550,6 +778,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   }
>               } catch (AvroRemoteException e) {
>                   throw new RepositoryManagerException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new RepositoryManagerException(e.getMessage());
>      +            }
>               }
>               return productTypes;
>           }
>      @@ -563,6 +797,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   }
>               } catch (AvroRemoteException e) {
>                   throw new CatalogException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new CatalogException(e.getMessage());
>      +            }
>               }
>               return references;
>           }
>      @@ -573,6 +813,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   return AvroTypeFactory.getProduct(this.proxy.getProductById(productId));
>               } catch (AvroRemoteException e) {
>                   throw new CatalogException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new CatalogException(e.getMessage());
>      +            }
>               }
>           }
>       
>      @@ -582,6 +828,12 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   return AvroTypeFactory.getProduct(this.proxy.getProductByName(productName));
>               } catch (AvroRemoteException e) {
>                   throw new CatalogException(e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new CatalogException(e.getMessage());
>      +            }
>               }
>           }
>       
>      @@ -696,30 +948,60 @@ public class AvroFileManagerClient implements FileManagerClient {
>                   }
>                   throw new Exception("Failed to ingest product [" + product + "] : "
>                           + e.getMessage());
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new FileManagerException(e.getMessage());
>      +            }
>               }
>       
>           }
>       
>           @Override
>           public Metadata getCatalogValues(Metadata metadata, ProductType productType) throws Exception {
>      -        return AvroTypeFactory.getMetadata(this.proxy.getCatalogValues(
>      +        try {
>      +            return AvroTypeFactory.getMetadata(this.proxy.getCatalogValues(
>                       AvroTypeFactory.getAvroMetadata(metadata),
>                       AvroTypeFactory.getAvroProductType(productType)));
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new FileManagerException(e.getMessage());
>      +            }
>      +        }
>           }
>       
>           @Override
>           public Metadata getOrigValues(Metadata metadata, ProductType productType) throws Exception {
>      -        return AvroTypeFactory.getMetadata(this.proxy.getOrigValues(
>      +        try {
>      +            return AvroTypeFactory.getMetadata(this.proxy.getOrigValues(
>                       AvroTypeFactory.getAvroMetadata(metadata),
>                       AvroTypeFactory.getAvroProductType(productType)));
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new FileManagerException(e.getMessage());
>      +            }
>      +        }
>           }
>       
>           @Override
>           public Query getCatalogQuery(Query query, ProductType productType) throws Exception {
>      -        return AvroTypeFactory.getQuery(this.proxy.getCatalogQuery(
>      +        try {
>      +            return AvroTypeFactory.getQuery(this.proxy.getCatalogQuery(
>                       AvroTypeFactory.getAvroQuery(query),
>                       AvroTypeFactory.getAvroProductType(productType)
>      -        ));
>      +            ));
>      +        } finally {
>      +            try {
>      +                this.client.close();
>      +            } catch (IOException e) {
>      +                throw new FileManagerException(e.getMessage());
>      +            }
>      +        }
>           }
>       
>           @Override
>      
>      
>
>


-- 


Spicule Limited is registered in England & Wales. Company Number: 09954122. 
Registered office: First Floor, Telecom House, 125-135 Preston Road, 
Brighton, England, BN1 6AF. VAT No. 251478891.


All engagements are subject to Spicule Terms and Conditions of Business. 
This email and its contents are intended solely for the individual to whom 
it is addressed and may contain information that is confidential, 
privileged or otherwise protected from disclosure, distributing or copying. 
Any views or opinions presented in this email are solely those of the 
author and do not necessarily represent those of Spicule Limited. The 
company accepts no liability for any damage caused by any virus transmitted 
by this email. If you have received this message in error, please notify us 
immediately by reply email before deleting it from your system. Service of 
legal notice cannot be effected on Spicule Limited by email.