Coverage Report - org.codehaus.plexus.archiver.snappy.SnappyCompressor
 
Classes in this File Line Coverage Branch Coverage Complexity
SnappyCompressor
58 %
10/17
100 %
2/2
3,5
 
 1  
 /**
 2  
  *
 3  
  * Copyright 2004 The Apache Software Foundation
 4  
  *
 5  
  * Licensed under the Apache License, Version 2.0 (the "License");
 6  
  * you may not use this file except in compliance with the License.
 7  
  * You may obtain a copy of the License at
 8  
  *
 9  
  * http://www.apache.org/licenses/LICENSE-2.0
 10  
  *
 11  
  * Unless required by applicable law or agreed to in writing, software
 12  
  * distributed under the License is distributed on an "AS IS" BASIS,
 13  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 14  
  * See the License for the specific language governing permissions and
 15  
  * limitations under the License.
 16  
  */
 17  
 package org.codehaus.plexus.archiver.snappy;
 18  
 
 19  
 import java.io.IOException;
 20  
 import org.codehaus.plexus.archiver.ArchiverException;
 21  
 import org.codehaus.plexus.archiver.util.Compressor;
 22  
 import org.iq80.snappy.SnappyOutputStream;
 23  
 import static org.codehaus.plexus.archiver.util.Streams.bufferedOutputStream;
 24  
 import static org.codehaus.plexus.archiver.util.Streams.fileOutputStream;
 25  
 
 26  
 /**
 27  
  * Snappy compression
 28  
  */
 29  7
 public class SnappyCompressor
 30  
     extends Compressor
 31  
 {
 32  
 
 33  
     private SnappyOutputStream zOut;
 34  
 
 35  
     /**
 36  
      * perform the Snappy compression operation.
 37  
      */
 38  
     @Override
 39  
     public void compress()
 40  
         throws ArchiverException
 41  
     {
 42  
         try
 43  
         {
 44  5
             zOut = new SnappyOutputStream( bufferedOutputStream( fileOutputStream( getDestFile() ) ) );
 45  5
             compress( getSource(), zOut );
 46  0
         }
 47  0
         catch ( IOException ioe )
 48  
         {
 49  0
             String msg = "Problem creating snappy " + ioe.getMessage();
 50  0
             throw new ArchiverException( msg, ioe );
 51  5
         }
 52  5
     }
 53  
 
 54  
     @Override
 55  
     public void close()
 56  
     {
 57  
         try
 58  
         {
 59  7
             if ( this.zOut != null )
 60  
             {
 61  5
                 this.zOut.close();
 62  5
                 zOut = null;
 63  
             }
 64  0
         }
 65  0
         catch ( final IOException e )
 66  
         {
 67  0
             throw new ArchiverException( "Failure closing target.", e );
 68  7
         }
 69  7
     }
 70  
 
 71  
 }