<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>ChecksummedFile xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../apidocs/org/apache/archiva/checksum/ChecksummedFile.html">View Javadoc</a></div><pre>

<a class="jxr_linenumber" name="1" href="#1">1</a>   <strong class="jxr_keyword">package</strong> org.apache.archiva.checksum;
<a class="jxr_linenumber" name="2" href="#2">2</a>   
<a class="jxr_linenumber" name="3" href="#3">3</a>   <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="4" href="#4">4</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one</em>
<a class="jxr_linenumber" name="5" href="#5">5</a>   <em class="jxr_comment"> * or more contributor license agreements.  See the NOTICE file</em>
<a class="jxr_linenumber" name="6" href="#6">6</a>   <em class="jxr_comment"> * distributed with this work for additional information</em>
<a class="jxr_linenumber" name="7" href="#7">7</a>   <em class="jxr_comment"> * regarding copyright ownership.  The ASF licenses this file</em>
<a class="jxr_linenumber" name="8" href="#8">8</a>   <em class="jxr_comment"> * to you under the Apache License, Version 2.0 (the</em>
<a class="jxr_linenumber" name="9" href="#9">9</a>   <em class="jxr_comment"> * "License"); you may not use this file except in compliance</em>
<a class="jxr_linenumber" name="10" href="#10">10</a>  <em class="jxr_comment"> * with the License.  You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="12" href="#12">12</a>  <em class="jxr_comment"> *   <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a class="jxr_linenumber" name="13" href="#13">13</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="14" href="#14">14</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing,</em>
<a class="jxr_linenumber" name="15" href="#15">15</a>  <em class="jxr_comment"> * software distributed under the License is distributed on an</em>
<a class="jxr_linenumber" name="16" href="#16">16</a>  <em class="jxr_comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a class="jxr_linenumber" name="17" href="#17">17</a>  <em class="jxr_comment"> * KIND, either express or implied.  See the License for the</em>
<a class="jxr_linenumber" name="18" href="#18">18</a>  <em class="jxr_comment"> * specific language governing permissions and limitations</em>
<a class="jxr_linenumber" name="19" href="#19">19</a>  <em class="jxr_comment"> * under the License.</em>
<a class="jxr_linenumber" name="20" href="#20">20</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="21" href="#21">21</a>  
<a class="jxr_linenumber" name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.io.FileUtils;
<a class="jxr_linenumber" name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.io.IOUtils;
<a class="jxr_linenumber" name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.lang.StringUtils;
<a class="jxr_linenumber" name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> org.slf4j.Logger;
<a class="jxr_linenumber" name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> org.slf4j.LoggerFactory;
<a class="jxr_linenumber" name="27" href="#27">27</a>  
<a class="jxr_linenumber" name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.io.File;
<a class="jxr_linenumber" name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.io.FileInputStream;
<a class="jxr_linenumber" name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
<a class="jxr_linenumber" name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a class="jxr_linenumber" name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<a class="jxr_linenumber" name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> java.util.regex.Matcher;
<a class="jxr_linenumber" name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> java.util.regex.Pattern;
<a class="jxr_linenumber" name="35" href="#35">35</a>  
<a class="jxr_linenumber" name="36" href="#36">36</a>  <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> * ChecksummedFile</em>
<a class="jxr_linenumber" name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> * &lt;p/&gt;</em>
<a class="jxr_linenumber" name="39" href="#39">39</a>  <em class="jxr_javadoccomment"> * &lt;dl&gt;</em>
<a class="jxr_linenumber" name="40" href="#40">40</a>  <em class="jxr_javadoccomment"> * &lt;lh&gt;Terminology:&lt;/lh&gt;</em>
<a class="jxr_linenumber" name="41" href="#41">41</a>  <em class="jxr_javadoccomment"> * &lt;dt&gt;Checksum File&lt;/dt&gt;</em>
<a class="jxr_linenumber" name="42" href="#42">42</a>  <em class="jxr_javadoccomment"> * &lt;dd&gt;The file that contains the previously calculated checksum value for the reference file.</em>
<a class="jxr_linenumber" name="43" href="#43">43</a>  <em class="jxr_javadoccomment"> * This is a text file with the extension ".sha1" or ".md5", and contains a single entry</em>
<a class="jxr_linenumber" name="44" href="#44">44</a>  <em class="jxr_javadoccomment"> * consisting of an optional reference filename, and a checksum string.</em>
<a class="jxr_linenumber" name="45" href="#45">45</a>  <em class="jxr_javadoccomment"> * &lt;/dd&gt;</em>
<a class="jxr_linenumber" name="46" href="#46">46</a>  <em class="jxr_javadoccomment"> * &lt;dt&gt;Reference File&lt;/dt&gt;</em>
<a class="jxr_linenumber" name="47" href="#47">47</a>  <em class="jxr_javadoccomment"> * &lt;dd&gt;The file that is being referenced in the checksum file.&lt;/dd&gt;</em>
<a class="jxr_linenumber" name="48" href="#48">48</a>  <em class="jxr_javadoccomment"> * &lt;/dl&gt;</em>
<a class="jxr_linenumber" name="49" href="#49">49</a>  <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="50" href="#50">50</a>  <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="51" href="#51">51</a>  <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="52" href="#52">52</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/archiva/checksum/ChecksummedFile.html">ChecksummedFile</a>
<a class="jxr_linenumber" name="53" href="#53">53</a>  {
<a class="jxr_linenumber" name="54" href="#54">54</a>      <strong class="jxr_keyword">private</strong> Logger log = LoggerFactory.getLogger( ChecksummedFile.<strong class="jxr_keyword">class</strong> );
<a class="jxr_linenumber" name="55" href="#55">55</a>  
<a class="jxr_linenumber" name="56" href="#56">56</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> File referenceFile;
<a class="jxr_linenumber" name="57" href="#57">57</a>  
<a class="jxr_linenumber" name="58" href="#58">58</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="59" href="#59">59</a>  <em class="jxr_javadoccomment">     * Construct a ChecksummedFile object.</em>
<a class="jxr_linenumber" name="60" href="#60">60</a>  <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="61" href="#61">61</a>  <em class="jxr_javadoccomment">     * @param referenceFile</em>
<a class="jxr_linenumber" name="62" href="#62">62</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="63" href="#63">63</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/archiva/checksum/ChecksummedFile.html">ChecksummedFile</a>( <strong class="jxr_keyword">final</strong> File referenceFile )
<a class="jxr_linenumber" name="64" href="#64">64</a>      {
<a class="jxr_linenumber" name="65" href="#65">65</a>          <strong class="jxr_keyword">this</strong>.referenceFile = referenceFile;
<a class="jxr_linenumber" name="66" href="#66">66</a>      }
<a class="jxr_linenumber" name="67" href="#67">67</a>  
<a class="jxr_linenumber" name="68" href="#68">68</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="69" href="#69">69</a>  <em class="jxr_javadoccomment">     * Calculate the checksum based on a given checksum.</em>
<a class="jxr_linenumber" name="70" href="#70">70</a>  <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="71" href="#71">71</a>  <em class="jxr_javadoccomment">     * @param checksumAlgorithm the algorithm to use.</em>
<a class="jxr_linenumber" name="72" href="#72">72</a>  <em class="jxr_javadoccomment">     * @return the checksum string for the file.</em>
<a class="jxr_linenumber" name="73" href="#73">73</a>  <em class="jxr_javadoccomment">     * @throws IOException if unable to calculate the checksum.</em>
<a class="jxr_linenumber" name="74" href="#74">74</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="75" href="#75">75</a>      <strong class="jxr_keyword">public</strong> String calculateChecksum( ChecksumAlgorithm checksumAlgorithm )
<a class="jxr_linenumber" name="76" href="#76">76</a>          <strong class="jxr_keyword">throws</strong> IOException
<a class="jxr_linenumber" name="77" href="#77">77</a>      {
<a class="jxr_linenumber" name="78" href="#78">78</a>          FileInputStream fis = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="79" href="#79">79</a>          <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="80" href="#80">80</a>          {
<a class="jxr_linenumber" name="81" href="#81">81</a>              <a href="../../../../org/apache/archiva/checksum/Checksum.html">Checksum</a> checksum = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/archiva/checksum/Checksum.html">Checksum</a>( checksumAlgorithm );
<a class="jxr_linenumber" name="82" href="#82">82</a>              fis = <strong class="jxr_keyword">new</strong> FileInputStream( referenceFile );
<a class="jxr_linenumber" name="83" href="#83">83</a>              checksum.update( fis );
<a class="jxr_linenumber" name="84" href="#84">84</a>              <strong class="jxr_keyword">return</strong> checksum.getChecksum();
<a class="jxr_linenumber" name="85" href="#85">85</a>          }
<a class="jxr_linenumber" name="86" href="#86">86</a>          <strong class="jxr_keyword">finally</strong>
<a class="jxr_linenumber" name="87" href="#87">87</a>          {
<a class="jxr_linenumber" name="88" href="#88">88</a>              IOUtils.closeQuietly( fis );
<a class="jxr_linenumber" name="89" href="#89">89</a>          }
<a class="jxr_linenumber" name="90" href="#90">90</a>      }
<a class="jxr_linenumber" name="91" href="#91">91</a>  
<a class="jxr_linenumber" name="92" href="#92">92</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="93" href="#93">93</a>  <em class="jxr_javadoccomment">     * Creates a checksum file of the provided referenceFile.</em>
<a class="jxr_linenumber" name="94" href="#94">94</a>  <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="95" href="#95">95</a>  <em class="jxr_javadoccomment">     * @param checksumAlgorithm the hash to use.</em>
<a class="jxr_linenumber" name="96" href="#96">96</a>  <em class="jxr_javadoccomment">     * @return the checksum File that was created.</em>
<a class="jxr_linenumber" name="97" href="#97">97</a>  <em class="jxr_javadoccomment">     * @throws IOException if there was a problem either reading the referenceFile, or writing the checksum file.</em>
<a class="jxr_linenumber" name="98" href="#98">98</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="99" href="#99">99</a>      <strong class="jxr_keyword">public</strong> File createChecksum( ChecksumAlgorithm checksumAlgorithm )
<a class="jxr_linenumber" name="100" href="#100">100</a>         <strong class="jxr_keyword">throws</strong> IOException
<a class="jxr_linenumber" name="101" href="#101">101</a>     {
<a class="jxr_linenumber" name="102" href="#102">102</a>         File checksumFile = <strong class="jxr_keyword">new</strong> File( referenceFile.getAbsolutePath() + <span class="jxr_string">"."</span> + checksumAlgorithm.getExt() );
<a class="jxr_linenumber" name="103" href="#103">103</a>         String checksum = calculateChecksum( checksumAlgorithm );
<a class="jxr_linenumber" name="104" href="#104">104</a>         FileUtils.writeStringToFile( checksumFile, checksum + <span class="jxr_string">"  "</span> + referenceFile.getName() );
<a class="jxr_linenumber" name="105" href="#105">105</a>         <strong class="jxr_keyword">return</strong> checksumFile;
<a class="jxr_linenumber" name="106" href="#106">106</a>     }
<a class="jxr_linenumber" name="107" href="#107">107</a> 
<a class="jxr_linenumber" name="108" href="#108">108</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="109" href="#109">109</a> <em class="jxr_javadoccomment">     * Get the checksum file for the reference file and hash.</em>
<a class="jxr_linenumber" name="110" href="#110">110</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="111" href="#111">111</a> <em class="jxr_javadoccomment">     * @param checksumAlgorithm the hash that we are interested in.</em>
<a class="jxr_linenumber" name="112" href="#112">112</a> <em class="jxr_javadoccomment">     * @return the checksum file to return</em>
<a class="jxr_linenumber" name="113" href="#113">113</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="114" href="#114">114</a>     <strong class="jxr_keyword">public</strong> File getChecksumFile( ChecksumAlgorithm checksumAlgorithm )
<a class="jxr_linenumber" name="115" href="#115">115</a>     {
<a class="jxr_linenumber" name="116" href="#116">116</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> File( referenceFile.getAbsolutePath() + <span class="jxr_string">"."</span> + checksumAlgorithm.getExt() );
<a class="jxr_linenumber" name="117" href="#117">117</a>     }
<a class="jxr_linenumber" name="118" href="#118">118</a> 
<a class="jxr_linenumber" name="119" href="#119">119</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="120" href="#120">120</a> <em class="jxr_javadoccomment">     * &lt;p&gt;</em>
<a class="jxr_linenumber" name="121" href="#121">121</a> <em class="jxr_javadoccomment">     * Given a checksum file, check to see if the file it represents is valid according to the checksum.</em>
<a class="jxr_linenumber" name="122" href="#122">122</a> <em class="jxr_javadoccomment">     * &lt;/p&gt;</em>
<a class="jxr_linenumber" name="123" href="#123">123</a> <em class="jxr_javadoccomment">     * &lt;p/&gt;</em>
<a class="jxr_linenumber" name="124" href="#124">124</a> <em class="jxr_javadoccomment">     * &lt;p&gt;</em>
<a class="jxr_linenumber" name="125" href="#125">125</a> <em class="jxr_javadoccomment">     * NOTE: Only supports single file checksums of type MD5 or SHA1.</em>
<a class="jxr_linenumber" name="126" href="#126">126</a> <em class="jxr_javadoccomment">     * &lt;/p&gt;</em>
<a class="jxr_linenumber" name="127" href="#127">127</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="128" href="#128">128</a> <em class="jxr_javadoccomment">     * @param checksumFile the algorithms to check for.</em>
<a class="jxr_linenumber" name="129" href="#129">129</a> <em class="jxr_javadoccomment">     * @return true if the checksum is valid for the file it represents. or if the checksum file does not exist.</em>
<a class="jxr_linenumber" name="130" href="#130">130</a> <em class="jxr_javadoccomment">     * @throws IOException if the reading of the checksumFile or the file it refers to fails.</em>
<a class="jxr_linenumber" name="131" href="#131">131</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="132" href="#132">132</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isValidChecksum( ChecksumAlgorithm algorithm )
<a class="jxr_linenumber" name="133" href="#133">133</a>         <strong class="jxr_keyword">throws</strong> IOException
<a class="jxr_linenumber" name="134" href="#134">134</a>     {
<a class="jxr_linenumber" name="135" href="#135">135</a>         <strong class="jxr_keyword">return</strong> isValidChecksums( <strong class="jxr_keyword">new</strong> ChecksumAlgorithm[]{ algorithm } );
<a class="jxr_linenumber" name="136" href="#136">136</a>     }
<a class="jxr_linenumber" name="137" href="#137">137</a> 
<a class="jxr_linenumber" name="138" href="#138">138</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="139" href="#139">139</a> <em class="jxr_javadoccomment">     * Of any checksum files present, validate that the reference file conforms</em>
<a class="jxr_linenumber" name="140" href="#140">140</a> <em class="jxr_javadoccomment">     * the to the checksum.</em>
<a class="jxr_linenumber" name="141" href="#141">141</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="142" href="#142">142</a> <em class="jxr_javadoccomment">     * @param algorithms the algorithms to check for.</em>
<a class="jxr_linenumber" name="143" href="#143">143</a> <em class="jxr_javadoccomment">     * @return true if the checksums report that the the reference file is valid, false if invalid.</em>
<a class="jxr_linenumber" name="144" href="#144">144</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="145" href="#145">145</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isValidChecksums( ChecksumAlgorithm algorithms[] )
<a class="jxr_linenumber" name="146" href="#146">146</a>     {
<a class="jxr_linenumber" name="147" href="#147">147</a>         FileInputStream fis = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="148" href="#148">148</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="149" href="#149">149</a>         {
<a class="jxr_linenumber" name="150" href="#150">150</a>             List&lt;Checksum&gt; checksums = <strong class="jxr_keyword">new</strong> ArrayList&lt;Checksum&gt;( algorithms.length );
<a class="jxr_linenumber" name="151" href="#151">151</a>             <em class="jxr_comment">// Create checksum object for each algorithm.</em>
<a class="jxr_linenumber" name="152" href="#152">152</a>             <strong class="jxr_keyword">for</strong> ( ChecksumAlgorithm checksumAlgorithm : algorithms )
<a class="jxr_linenumber" name="153" href="#153">153</a>             {
<a class="jxr_linenumber" name="154" href="#154">154</a>                 File checksumFile = getChecksumFile( checksumAlgorithm );
<a class="jxr_linenumber" name="155" href="#155">155</a> 
<a class="jxr_linenumber" name="156" href="#156">156</a>                 <em class="jxr_comment">// Only add algorithm if checksum file exists.</em>
<a class="jxr_linenumber" name="157" href="#157">157</a>                 <strong class="jxr_keyword">if</strong> ( checksumFile.exists() )
<a class="jxr_linenumber" name="158" href="#158">158</a>                 {
<a class="jxr_linenumber" name="159" href="#159">159</a>                     checksums.add( <strong class="jxr_keyword">new</strong> Checksum( checksumAlgorithm ) );
<a class="jxr_linenumber" name="160" href="#160">160</a>                 }
<a class="jxr_linenumber" name="161" href="#161">161</a>             }
<a class="jxr_linenumber" name="162" href="#162">162</a> 
<a class="jxr_linenumber" name="163" href="#163">163</a>             <em class="jxr_comment">// Any checksums?</em>
<a class="jxr_linenumber" name="164" href="#164">164</a>             <strong class="jxr_keyword">if</strong> ( checksums.isEmpty() )
<a class="jxr_linenumber" name="165" href="#165">165</a>             {
<a class="jxr_linenumber" name="166" href="#166">166</a>                 <em class="jxr_comment">// No checksum objects, no checksum files, default to is invalid.</em>
<a class="jxr_linenumber" name="167" href="#167">167</a>                 <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="168" href="#168">168</a>             }
<a class="jxr_linenumber" name="169" href="#169">169</a> 
<a class="jxr_linenumber" name="170" href="#170">170</a>             <em class="jxr_comment">// Parse file once, for all checksums.</em>
<a class="jxr_linenumber" name="171" href="#171">171</a>             <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="172" href="#172">172</a>             {
<a class="jxr_linenumber" name="173" href="#173">173</a>                 fis = <strong class="jxr_keyword">new</strong> FileInputStream( referenceFile );
<a class="jxr_linenumber" name="174" href="#174">174</a>                 Checksum.update( checksums, fis );
<a class="jxr_linenumber" name="175" href="#175">175</a>             }
<a class="jxr_linenumber" name="176" href="#176">176</a>             <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="177" href="#177">177</a>             {
<a class="jxr_linenumber" name="178" href="#178">178</a>                 log.warn( <span class="jxr_string">"Unable to update checksum:"</span> + e.getMessage() );
<a class="jxr_linenumber" name="179" href="#179">179</a>                 <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="180" href="#180">180</a>             }
<a class="jxr_linenumber" name="181" href="#181">181</a> 
<a class="jxr_linenumber" name="182" href="#182">182</a>             <strong class="jxr_keyword">boolean</strong> valid = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="183" href="#183">183</a> 
<a class="jxr_linenumber" name="184" href="#184">184</a>             <em class="jxr_comment">// check the checksum files</em>
<a class="jxr_linenumber" name="185" href="#185">185</a>             <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="186" href="#186">186</a>             {
<a class="jxr_linenumber" name="187" href="#187">187</a>                 <strong class="jxr_keyword">for</strong> ( Checksum checksum : checksums )
<a class="jxr_linenumber" name="188" href="#188">188</a>                 {
<a class="jxr_linenumber" name="189" href="#189">189</a>                     <a href="../../../../org/apache/archiva/checksum/ChecksumAlgorithm.html">ChecksumAlgorithm</a> checksumAlgorithm = checksum.getAlgorithm();
<a class="jxr_linenumber" name="190" href="#190">190</a>                     File checksumFile = getChecksumFile( checksumAlgorithm );
<a class="jxr_linenumber" name="191" href="#191">191</a> 
<a class="jxr_linenumber" name="192" href="#192">192</a>                     String rawChecksum = FileUtils.readFileToString( checksumFile );
<a class="jxr_linenumber" name="193" href="#193">193</a>                     String expectedChecksum = parseChecksum( rawChecksum, checksumAlgorithm, referenceFile.getName() );
<a class="jxr_linenumber" name="194" href="#194">194</a> 
<a class="jxr_linenumber" name="195" href="#195">195</a>                     <strong class="jxr_keyword">if</strong> ( !StringUtils.equalsIgnoreCase( expectedChecksum, checksum.getChecksum() ) )
<a class="jxr_linenumber" name="196" href="#196">196</a>                     {
<a class="jxr_linenumber" name="197" href="#197">197</a>                         valid = false;
<a class="jxr_linenumber" name="198" href="#198">198</a>                     }
<a class="jxr_linenumber" name="199" href="#199">199</a>                 }
<a class="jxr_linenumber" name="200" href="#200">200</a>             }
<a class="jxr_linenumber" name="201" href="#201">201</a>             <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="202" href="#202">202</a>             {
<a class="jxr_linenumber" name="203" href="#203">203</a>                 log.warn( <span class="jxr_string">"Unable to read / parse checksum: "</span> + e.getMessage() );
<a class="jxr_linenumber" name="204" href="#204">204</a>                 <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="205" href="#205">205</a>             }
<a class="jxr_linenumber" name="206" href="#206">206</a> 
<a class="jxr_linenumber" name="207" href="#207">207</a>             <strong class="jxr_keyword">return</strong> valid;
<a class="jxr_linenumber" name="208" href="#208">208</a>         }
<a class="jxr_linenumber" name="209" href="#209">209</a>         <strong class="jxr_keyword">finally</strong>
<a class="jxr_linenumber" name="210" href="#210">210</a>         {
<a class="jxr_linenumber" name="211" href="#211">211</a>             IOUtils.closeQuietly( fis );
<a class="jxr_linenumber" name="212" href="#212">212</a>         }
<a class="jxr_linenumber" name="213" href="#213">213</a>     }
<a class="jxr_linenumber" name="214" href="#214">214</a> 
<a class="jxr_linenumber" name="215" href="#215">215</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="216" href="#216">216</a> <em class="jxr_javadoccomment">     * Fix or create checksum files for the reference file.</em>
<a class="jxr_linenumber" name="217" href="#217">217</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="218" href="#218">218</a> <em class="jxr_javadoccomment">     * @param algorithms the hashes to check for.</em>
<a class="jxr_linenumber" name="219" href="#219">219</a> <em class="jxr_javadoccomment">     * @return true if checksums were created successfully.</em>
<a class="jxr_linenumber" name="220" href="#220">220</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="221" href="#221">221</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> fixChecksums( ChecksumAlgorithm[] algorithms )
<a class="jxr_linenumber" name="222" href="#222">222</a>     {
<a class="jxr_linenumber" name="223" href="#223">223</a>         List&lt;Checksum&gt; checksums = <strong class="jxr_keyword">new</strong> ArrayList&lt;Checksum&gt;( algorithms.length );
<a class="jxr_linenumber" name="224" href="#224">224</a>         <em class="jxr_comment">// Create checksum object for each algorithm.</em>
<a class="jxr_linenumber" name="225" href="#225">225</a>         <strong class="jxr_keyword">for</strong> ( ChecksumAlgorithm checksumAlgorithm : algorithms )
<a class="jxr_linenumber" name="226" href="#226">226</a>         {
<a class="jxr_linenumber" name="227" href="#227">227</a>             checksums.add( <strong class="jxr_keyword">new</strong> Checksum( checksumAlgorithm ) );
<a class="jxr_linenumber" name="228" href="#228">228</a>         }
<a class="jxr_linenumber" name="229" href="#229">229</a> 
<a class="jxr_linenumber" name="230" href="#230">230</a>         <em class="jxr_comment">// Any checksums?</em>
<a class="jxr_linenumber" name="231" href="#231">231</a>         <strong class="jxr_keyword">if</strong> ( checksums.isEmpty() )
<a class="jxr_linenumber" name="232" href="#232">232</a>         {
<a class="jxr_linenumber" name="233" href="#233">233</a>             <em class="jxr_comment">// No checksum objects, no checksum files, default to is valid.</em>
<a class="jxr_linenumber" name="234" href="#234">234</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="235" href="#235">235</a>         }
<a class="jxr_linenumber" name="236" href="#236">236</a> 
<a class="jxr_linenumber" name="237" href="#237">237</a>         FileInputStream fis = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="238" href="#238">238</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="239" href="#239">239</a>         {
<a class="jxr_linenumber" name="240" href="#240">240</a>             <em class="jxr_comment">// Parse file once, for all checksums.</em>
<a class="jxr_linenumber" name="241" href="#241">241</a>             fis = <strong class="jxr_keyword">new</strong> FileInputStream( referenceFile );
<a class="jxr_linenumber" name="242" href="#242">242</a>             Checksum.update( checksums, fis );
<a class="jxr_linenumber" name="243" href="#243">243</a>         }
<a class="jxr_linenumber" name="244" href="#244">244</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="245" href="#245">245</a>         {
<a class="jxr_linenumber" name="246" href="#246">246</a>             log.warn( e.getMessage(), e );
<a class="jxr_linenumber" name="247" href="#247">247</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="248" href="#248">248</a>         }
<a class="jxr_linenumber" name="249" href="#249">249</a>         <strong class="jxr_keyword">finally</strong>
<a class="jxr_linenumber" name="250" href="#250">250</a>         {
<a class="jxr_linenumber" name="251" href="#251">251</a>             IOUtils.closeQuietly( fis );
<a class="jxr_linenumber" name="252" href="#252">252</a>         }
<a class="jxr_linenumber" name="253" href="#253">253</a> 
<a class="jxr_linenumber" name="254" href="#254">254</a>         <strong class="jxr_keyword">boolean</strong> valid = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="255" href="#255">255</a> 
<a class="jxr_linenumber" name="256" href="#256">256</a>         <em class="jxr_comment">// check the hash files</em>
<a class="jxr_linenumber" name="257" href="#257">257</a>         <strong class="jxr_keyword">for</strong> ( Checksum checksum : checksums )
<a class="jxr_linenumber" name="258" href="#258">258</a>         {
<a class="jxr_linenumber" name="259" href="#259">259</a>             <a href="../../../../org/apache/archiva/checksum/ChecksumAlgorithm.html">ChecksumAlgorithm</a> checksumAlgorithm = checksum.getAlgorithm();
<a class="jxr_linenumber" name="260" href="#260">260</a>             <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="261" href="#261">261</a>             {
<a class="jxr_linenumber" name="262" href="#262">262</a>                 File checksumFile = getChecksumFile( checksumAlgorithm );
<a class="jxr_linenumber" name="263" href="#263">263</a>                 String actualChecksum = checksum.getChecksum();
<a class="jxr_linenumber" name="264" href="#264">264</a> 
<a class="jxr_linenumber" name="265" href="#265">265</a>                 <strong class="jxr_keyword">if</strong> ( checksumFile.exists() )
<a class="jxr_linenumber" name="266" href="#266">266</a>                 {
<a class="jxr_linenumber" name="267" href="#267">267</a>                     String rawChecksum = FileUtils.readFileToString( checksumFile );
<a class="jxr_linenumber" name="268" href="#268">268</a>                     String expectedChecksum = parseChecksum( rawChecksum, checksumAlgorithm, referenceFile.getName() );
<a class="jxr_linenumber" name="269" href="#269">269</a> 
<a class="jxr_linenumber" name="270" href="#270">270</a>                     <strong class="jxr_keyword">if</strong> ( !StringUtils.equalsIgnoreCase( expectedChecksum, actualChecksum ) )
<a class="jxr_linenumber" name="271" href="#271">271</a>                     {
<a class="jxr_linenumber" name="272" href="#272">272</a>                         <em class="jxr_comment">// create checksum (again)</em>
<a class="jxr_linenumber" name="273" href="#273">273</a>                         FileUtils.writeStringToFile( checksumFile, actualChecksum + <span class="jxr_string">"  "</span> + referenceFile.getName() );
<a class="jxr_linenumber" name="274" href="#274">274</a>                     }
<a class="jxr_linenumber" name="275" href="#275">275</a>                 }
<a class="jxr_linenumber" name="276" href="#276">276</a>                 <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="277" href="#277">277</a>                 {
<a class="jxr_linenumber" name="278" href="#278">278</a>                     FileUtils.writeStringToFile( checksumFile, actualChecksum + <span class="jxr_string">"  "</span> + referenceFile.getName() );
<a class="jxr_linenumber" name="279" href="#279">279</a>                 }
<a class="jxr_linenumber" name="280" href="#280">280</a>             }
<a class="jxr_linenumber" name="281" href="#281">281</a>             <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="282" href="#282">282</a>             {
<a class="jxr_linenumber" name="283" href="#283">283</a>                 log.warn( e.getMessage(), e );
<a class="jxr_linenumber" name="284" href="#284">284</a>                 valid = false;
<a class="jxr_linenumber" name="285" href="#285">285</a>             }
<a class="jxr_linenumber" name="286" href="#286">286</a>         }
<a class="jxr_linenumber" name="287" href="#287">287</a> 
<a class="jxr_linenumber" name="288" href="#288">288</a>         <strong class="jxr_keyword">return</strong> valid;
<a class="jxr_linenumber" name="289" href="#289">289</a> 
<a class="jxr_linenumber" name="290" href="#290">290</a>     }
<a class="jxr_linenumber" name="291" href="#291">291</a> 
<a class="jxr_linenumber" name="292" href="#292">292</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> isValidChecksumPattern( String filename, String path )
<a class="jxr_linenumber" name="293" href="#293">293</a>     {
<a class="jxr_linenumber" name="294" href="#294">294</a>         <em class="jxr_comment">// check if it is a remote metadata file</em>
<a class="jxr_linenumber" name="295" href="#295">295</a>         Pattern pattern = Pattern.compile( <span class="jxr_string">"maven-metadata-&#92;&#92;S*.xml"</span> );
<a class="jxr_linenumber" name="296" href="#296">296</a>         Matcher m = pattern.matcher( path );
<a class="jxr_linenumber" name="297" href="#297">297</a>         <strong class="jxr_keyword">if</strong> ( m.matches() )
<a class="jxr_linenumber" name="298" href="#298">298</a>         {
<a class="jxr_linenumber" name="299" href="#299">299</a>             <strong class="jxr_keyword">return</strong> filename.endsWith( path ) || ( <span class="jxr_string">"-"</span>.equals( filename ) ) || filename.endsWith( <span class="jxr_string">"maven-metadata.xml"</span> );
<a class="jxr_linenumber" name="300" href="#300">300</a>         }
<a class="jxr_linenumber" name="301" href="#301">301</a> 
<a class="jxr_linenumber" name="302" href="#302">302</a>         <strong class="jxr_keyword">return</strong> filename.endsWith( path ) || ( <span class="jxr_string">"-"</span>.equals( filename ) );
<a class="jxr_linenumber" name="303" href="#303">303</a>     }
<a class="jxr_linenumber" name="304" href="#304">304</a> 
<a class="jxr_linenumber" name="305" href="#305">305</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="306" href="#306">306</a> <em class="jxr_javadoccomment">     * Parse a checksum string.</em>
<a class="jxr_linenumber" name="307" href="#307">307</a> <em class="jxr_javadoccomment">     * &lt;p/&gt;</em>
<a class="jxr_linenumber" name="308" href="#308">308</a> <em class="jxr_javadoccomment">     * Validate the expected path, and expected checksum algorithm, then return</em>
<a class="jxr_linenumber" name="309" href="#309">309</a> <em class="jxr_javadoccomment">     * the trimmed checksum hex string.</em>
<a class="jxr_linenumber" name="310" href="#310">310</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="311" href="#311">311</a> <em class="jxr_javadoccomment">     * @param rawChecksumString</em>
<a class="jxr_linenumber" name="312" href="#312">312</a> <em class="jxr_javadoccomment">     * @param expectedHash</em>
<a class="jxr_linenumber" name="313" href="#313">313</a> <em class="jxr_javadoccomment">     * @param expectedPath</em>
<a class="jxr_linenumber" name="314" href="#314">314</a> <em class="jxr_javadoccomment">     * @return</em>
<a class="jxr_linenumber" name="315" href="#315">315</a> <em class="jxr_javadoccomment">     * @throws IOException</em>
<a class="jxr_linenumber" name="316" href="#316">316</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="317" href="#317">317</a>     <strong class="jxr_keyword">public</strong> String parseChecksum( String rawChecksumString, ChecksumAlgorithm expectedHash, String expectedPath )
<a class="jxr_linenumber" name="318" href="#318">318</a>         <strong class="jxr_keyword">throws</strong> IOException
<a class="jxr_linenumber" name="319" href="#319">319</a>     {
<a class="jxr_linenumber" name="320" href="#320">320</a>         String trimmedChecksum = rawChecksumString.replace( '\n', ' ' ).trim();
<a class="jxr_linenumber" name="321" href="#321">321</a> 
<a class="jxr_linenumber" name="322" href="#322">322</a>         <em class="jxr_comment">// Free-BSD / openssl</em>
<a class="jxr_linenumber" name="323" href="#323">323</a>         String regex = expectedHash.getType() + <span class="jxr_string">"&#92;&#92;s*&#92;&#92;(([^)]*)&#92;&#92;)&#92;&#92;s*=&#92;&#92;s*([a-fA-F0-9]+)"</span>;
<a class="jxr_linenumber" name="324" href="#324">324</a>         Matcher m = Pattern.compile( regex ).matcher( trimmedChecksum );
<a class="jxr_linenumber" name="325" href="#325">325</a>         <strong class="jxr_keyword">if</strong> ( m.matches() )
<a class="jxr_linenumber" name="326" href="#326">326</a>         {
<a class="jxr_linenumber" name="327" href="#327">327</a>             String filename = m.group( 1 );
<a class="jxr_linenumber" name="328" href="#328">328</a>             <strong class="jxr_keyword">if</strong> ( !isValidChecksumPattern( filename, expectedPath ) )
<a class="jxr_linenumber" name="329" href="#329">329</a>             {
<a class="jxr_linenumber" name="330" href="#330">330</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IOException(
<a class="jxr_linenumber" name="331" href="#331">331</a>                     <span class="jxr_string">"Supplied checksum file '"</span> + filename + <span class="jxr_string">"' does not match expected file: '"</span> + expectedPath + <span class="jxr_string">"'"</span> );
<a class="jxr_linenumber" name="332" href="#332">332</a>             }
<a class="jxr_linenumber" name="333" href="#333">333</a>             trimmedChecksum = m.group( 2 );
<a class="jxr_linenumber" name="334" href="#334">334</a>         }
<a class="jxr_linenumber" name="335" href="#335">335</a>         <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="336" href="#336">336</a>         {
<a class="jxr_linenumber" name="337" href="#337">337</a>             <em class="jxr_comment">// GNU tools</em>
<a class="jxr_linenumber" name="338" href="#338">338</a>             m = Pattern.compile( <span class="jxr_string">"([a-fA-F0-9]+)&#92;&#92;s+&#92;&#92;*?(.+)"</span> ).matcher( trimmedChecksum );
<a class="jxr_linenumber" name="339" href="#339">339</a>             <strong class="jxr_keyword">if</strong> ( m.matches() )
<a class="jxr_linenumber" name="340" href="#340">340</a>             {
<a class="jxr_linenumber" name="341" href="#341">341</a>                 String filename = m.group( 2 );
<a class="jxr_linenumber" name="342" href="#342">342</a>                 <strong class="jxr_keyword">if</strong> ( !isValidChecksumPattern( filename, expectedPath ) )
<a class="jxr_linenumber" name="343" href="#343">343</a>                 {
<a class="jxr_linenumber" name="344" href="#344">344</a>                     <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IOException(
<a class="jxr_linenumber" name="345" href="#345">345</a>                         <span class="jxr_string">"Supplied checksum file '"</span> + filename + <span class="jxr_string">"' does not match expected file: '"</span> + expectedPath
<a class="jxr_linenumber" name="346" href="#346">346</a>                             + <span class="jxr_string">"'"</span> );
<a class="jxr_linenumber" name="347" href="#347">347</a>                 }
<a class="jxr_linenumber" name="348" href="#348">348</a>                 trimmedChecksum = m.group( 1 );
<a class="jxr_linenumber" name="349" href="#349">349</a>             }
<a class="jxr_linenumber" name="350" href="#350">350</a>         }
<a class="jxr_linenumber" name="351" href="#351">351</a>         <strong class="jxr_keyword">return</strong> trimmedChecksum;
<a class="jxr_linenumber" name="352" href="#352">352</a>     }
<a class="jxr_linenumber" name="353" href="#353">353</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>
