Coverage report

  %line %branch
org.apache.jetspeed.util.MultiFileChecksumHelper
0% 
0% 

 1  
 /*
 2  
  * Licensed to the Apache Software Foundation (ASF) under one or more
 3  
  * contributor license agreements.  See the NOTICE file distributed with
 4  
  * this work for additional information regarding copyright ownership.
 5  
  * The ASF licenses this file to You under the Apache License, Version 2.0
 6  
  * (the "License"); you may not use this file except in compliance with
 7  
  * the License.  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.apache.jetspeed.util;
 18  
 
 19  
 import java.io.File;
 20  
 import java.io.FileInputStream;
 21  
 import java.io.IOException;
 22  
 import java.util.zip.Adler32;
 23  
 import java.util.zip.CheckedInputStream;
 24  
 import java.util.zip.Checksum;
 25  
 
 26  
 /**
 27  
  * Perform a single checksum calculation for multiple files
 28  
  *
 29  
  * @author <a href="mailto:ate@douma.nu">Ate Douma</a>
 30  
  * @author <a href="mailto:taylor@apache.org">David Sean Taylor </a>
 31  
  * @version $Id$
 32  
  */
 33  0
 public class MultiFileChecksumHelper
 34  
 {
 35  
     public static long getChecksum(File[] files)
 36  
     {
 37  0
         CheckedInputStream cis = null;
 38  0
         FileInputStream is = null;
 39  0
         Checksum checksum = new Adler32();
 40  0
         byte[] tempBuf = new byte[128];
 41  
         
 42  0
         for ( int i = 0; i < files.length && files[i] != null && files[i].exists() && files[i].isFile(); i++ )
 43  
         {
 44  
             try 
 45  
             {
 46  0
                 is = new FileInputStream(files[i]);
 47  0
                 cis = new CheckedInputStream(is, checksum);
 48  0
                 while (cis.read(tempBuf) >= 0) {}                
 49  
             }
 50  0
             catch (Exception e)
 51  
             {
 52  0
                 throw new RuntimeException(e);
 53  
             }
 54  
             finally
 55  
             {
 56  0
                 if (cis != null)
 57  
                 {
 58  
                     try
 59  
                     {
 60  0
                         cis.close();
 61  
                     }
 62  0
                     catch (IOException ioe) {}
 63  0
                     cis = null;
 64  
                 }
 65  0
                 if (is != null)
 66  
                 {
 67  
                     try
 68  
                     {
 69  0
                         is.close();
 70  
                     }
 71  0
                     catch (IOException ioe) {}
 72  0
                     is = null;
 73  
                 }
 74  
             }
 75  
         }
 76  0
         return checksum.getValue();
 77  
     }
 78  
 }

This report is generated by jcoverage, Maven and Maven JCoverage Plugin.