<!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>AbstractProxyTestCase xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../testapidocs/org/apache/archiva/proxy/AbstractProxyTestCase.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.proxy;
<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> net.sf.ehcache.CacheManager;
<a class="jxr_linenumber" name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.admin.model.beans.ManagedRepository;
<a class="jxr_linenumber" name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.admin.model.managed.ManagedRepositoryAdmin;
<a class="jxr_linenumber" name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.admin.repository.managed.DefaultManagedRepositoryAdmin;
<a class="jxr_linenumber" name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.common.plexusbridge.PlexusSisuBridge;
<a class="jxr_linenumber" name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.configuration.ArchivaConfiguration;
<a class="jxr_linenumber" name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.configuration.ManagedRepositoryConfiguration;
<a class="jxr_linenumber" name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.configuration.ProxyConnectorConfiguration;
<a class="jxr_linenumber" name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.configuration.RemoteRepositoryConfiguration;
<a class="jxr_linenumber" name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.policies.CachedFailuresPolicy;
<a class="jxr_linenumber" name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.policies.ChecksumPolicy;
<a class="jxr_linenumber" name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.policies.PropagateErrorsDownloadPolicy;
<a class="jxr_linenumber" name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.policies.PropagateErrorsOnUpdateDownloadPolicy;
<a class="jxr_linenumber" name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.policies.ReleasesPolicy;
<a class="jxr_linenumber" name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.policies.SnapshotsPolicy;
<a class="jxr_linenumber" name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.proxy.model.RepositoryProxyConnectors;
<a class="jxr_linenumber" name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.repository.ManagedRepositoryContent;
<a class="jxr_linenumber" name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.test.utils.ArchivaSpringJUnit4ClassRunner;
<a class="jxr_linenumber" name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.io.FileUtils;
<a class="jxr_linenumber" name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.lang.ArrayUtils;
<a class="jxr_linenumber" name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.index.NexusIndexer;
<a class="jxr_linenumber" name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.index.context.IndexingContext;
<a class="jxr_linenumber" name="44" href="#44">44</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.wagon.Wagon;
<a class="jxr_linenumber" name="45" href="#45">45</a>  <strong class="jxr_keyword">import</strong> org.easymock.ArgumentsMatcher;
<a class="jxr_linenumber" name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> org.easymock.MockControl;
<a class="jxr_linenumber" name="47" href="#47">47</a>  <strong class="jxr_keyword">import</strong> org.junit.After;
<a class="jxr_linenumber" name="48" href="#48">48</a>  <strong class="jxr_keyword">import</strong> org.junit.Before;
<a class="jxr_linenumber" name="49" href="#49">49</a>  <strong class="jxr_keyword">import</strong> org.junit.runner.RunWith;
<a class="jxr_linenumber" name="50" href="#50">50</a>  <strong class="jxr_keyword">import</strong> org.slf4j.Logger;
<a class="jxr_linenumber" name="51" href="#51">51</a>  <strong class="jxr_keyword">import</strong> org.slf4j.LoggerFactory;
<a class="jxr_linenumber" name="52" href="#52">52</a>  <strong class="jxr_keyword">import</strong> org.springframework.context.ApplicationContext;
<a class="jxr_linenumber" name="53" href="#53">53</a>  <strong class="jxr_keyword">import</strong> org.springframework.test.context.ContextConfiguration;
<a class="jxr_linenumber" name="54" href="#54">54</a>  
<a class="jxr_linenumber" name="55" href="#55">55</a>  <strong class="jxr_keyword">import</strong> javax.inject.Inject;
<a class="jxr_linenumber" name="56" href="#56">56</a>  <strong class="jxr_keyword">import</strong> java.io.BufferedReader;
<a class="jxr_linenumber" name="57" href="#57">57</a>  <strong class="jxr_keyword">import</strong> java.io.File;
<a class="jxr_linenumber" name="58" href="#58">58</a>  <strong class="jxr_keyword">import</strong> java.io.FileReader;
<a class="jxr_linenumber" name="59" href="#59">59</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
<a class="jxr_linenumber" name="60" href="#60">60</a>  <strong class="jxr_keyword">import</strong> java.nio.charset.Charset;
<a class="jxr_linenumber" name="61" href="#61">61</a>  <strong class="jxr_keyword">import</strong> java.text.ParseException;
<a class="jxr_linenumber" name="62" href="#62">62</a>  <strong class="jxr_keyword">import</strong> java.text.SimpleDateFormat;
<a class="jxr_linenumber" name="63" href="#63">63</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a class="jxr_linenumber" name="64" href="#64">64</a>  <strong class="jxr_keyword">import</strong> java.util.Calendar;
<a class="jxr_linenumber" name="65" href="#65">65</a>  <strong class="jxr_keyword">import</strong> java.util.Collection;
<a class="jxr_linenumber" name="66" href="#66">66</a>  <strong class="jxr_keyword">import</strong> java.util.Date;
<a class="jxr_linenumber" name="67" href="#67">67</a>  <strong class="jxr_keyword">import</strong> java.util.Locale;
<a class="jxr_linenumber" name="68" href="#68">68</a>  
<a class="jxr_linenumber" name="69" href="#69">69</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.*;
<a class="jxr_linenumber" name="70" href="#70">70</a>  
<a class="jxr_linenumber" name="71" href="#71">71</a>  <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="72" href="#72">72</a>  <em class="jxr_javadoccomment"> * AbstractProxyTestCase</em>
<a class="jxr_linenumber" name="73" href="#73">73</a>  <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="74" href="#74">74</a>  @RunWith ( ArchivaSpringJUnit4ClassRunner.<strong class="jxr_keyword">class</strong> )
<a class="jxr_linenumber" name="75" href="#75">75</a>  @ContextConfiguration ( locations = { <span class="jxr_string">"classpath*:/META-INF/spring-context.xml"</span>, <span class="jxr_string">"classpath:/spring-context.xml"</span> } )
<a class="jxr_linenumber" name="76" href="#76">76</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/archiva/proxy/AbstractProxyTestCase.html">AbstractProxyTestCase</a>
<a class="jxr_linenumber" name="77" href="#77">77</a>  {
<a class="jxr_linenumber" name="78" href="#78">78</a>      @Inject
<a class="jxr_linenumber" name="79" href="#79">79</a>      <strong class="jxr_keyword">protected</strong> ApplicationContext applicationContext;
<a class="jxr_linenumber" name="80" href="#80">80</a>  
<a class="jxr_linenumber" name="81" href="#81">81</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ID_LEGACY_PROXIED = <span class="jxr_string">"legacy-proxied"</span>;
<a class="jxr_linenumber" name="82" href="#82">82</a>  
<a class="jxr_linenumber" name="83" href="#83">83</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ID_PROXIED1 = <span class="jxr_string">"proxied1"</span>;
<a class="jxr_linenumber" name="84" href="#84">84</a>  
<a class="jxr_linenumber" name="85" href="#85">85</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ID_PROXIED1_TARGET = <span class="jxr_string">"proxied1-target"</span>;
<a class="jxr_linenumber" name="86" href="#86">86</a>  
<a class="jxr_linenumber" name="87" href="#87">87</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ID_PROXIED2 = <span class="jxr_string">"proxied2"</span>;
<a class="jxr_linenumber" name="88" href="#88">88</a>  
<a class="jxr_linenumber" name="89" href="#89">89</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ID_PROXIED2_TARGET = <span class="jxr_string">"proxied2-target"</span>;
<a class="jxr_linenumber" name="90" href="#90">90</a>  
<a class="jxr_linenumber" name="91" href="#91">91</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ID_DEFAULT_MANAGED = <span class="jxr_string">"default-managed-repository"</span>;
<a class="jxr_linenumber" name="92" href="#92">92</a>  
<a class="jxr_linenumber" name="93" href="#93">93</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ID_LEGACY_MANAGED = <span class="jxr_string">"legacy-managed-repository"</span>;
<a class="jxr_linenumber" name="94" href="#94">94</a>  
<a class="jxr_linenumber" name="95" href="#95">95</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String REPOPATH_PROXIED_LEGACY = <span class="jxr_string">"src/test/repositories/legacy-proxied"</span>;
<a class="jxr_linenumber" name="96" href="#96">96</a>  
<a class="jxr_linenumber" name="97" href="#97">97</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String REPOPATH_PROXIED1 = <span class="jxr_string">"src/test/repositories/proxied1"</span>;
<a class="jxr_linenumber" name="98" href="#98">98</a>  
<a class="jxr_linenumber" name="99" href="#99">99</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String REPOPATH_PROXIED1_TARGET = <span class="jxr_string">"target/test-repository/proxied1"</span>;
<a class="jxr_linenumber" name="100" href="#100">100</a> 
<a class="jxr_linenumber" name="101" href="#101">101</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String REPOPATH_PROXIED2 = <span class="jxr_string">"src/test/repositories/proxied2"</span>;
<a class="jxr_linenumber" name="102" href="#102">102</a> 
<a class="jxr_linenumber" name="103" href="#103">103</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String REPOPATH_PROXIED2_TARGET = <span class="jxr_string">"target/test-repository/proxied2"</span>;
<a class="jxr_linenumber" name="104" href="#104">104</a> 
<a class="jxr_linenumber" name="105" href="#105">105</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String REPOPATH_DEFAULT_MANAGED = <span class="jxr_string">"src/test/repositories/managed"</span>;
<a class="jxr_linenumber" name="106" href="#106">106</a> 
<a class="jxr_linenumber" name="107" href="#107">107</a>     <em class="jxr_comment">// protected static final String REPOPATH_DEFAULT_MANAGED_TARGET = "target/test-repository/managed";</em>
<a class="jxr_linenumber" name="108" href="#108">108</a> 
<a class="jxr_linenumber" name="109" href="#109">109</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String REPOPATH_LEGACY_MANAGED = <span class="jxr_string">"src/test/repositories/legacy-managed"</span>;
<a class="jxr_linenumber" name="110" href="#110">110</a> 
<a class="jxr_linenumber" name="111" href="#111">111</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String REPOPATH_LEGACY_MANAGED_TARGET = <span class="jxr_string">"target/test-repository/legacy-managed"</span>;
<a class="jxr_linenumber" name="112" href="#112">112</a> 
<a class="jxr_linenumber" name="113" href="#113">113</a>     <strong class="jxr_keyword">protected</strong> MockControl wagonMockControl;
<a class="jxr_linenumber" name="114" href="#114">114</a> 
<a class="jxr_linenumber" name="115" href="#115">115</a>     <strong class="jxr_keyword">protected</strong> Wagon wagonMock;
<a class="jxr_linenumber" name="116" href="#116">116</a> 
<a class="jxr_linenumber" name="117" href="#117">117</a> 
<a class="jxr_linenumber" name="118" href="#118">118</a>     <strong class="jxr_keyword">protected</strong> RepositoryProxyConnectors proxyHandler;
<a class="jxr_linenumber" name="119" href="#119">119</a> 
<a class="jxr_linenumber" name="120" href="#120">120</a>     <strong class="jxr_keyword">protected</strong> ManagedRepositoryContent managedDefaultRepository;
<a class="jxr_linenumber" name="121" href="#121">121</a> 
<a class="jxr_linenumber" name="122" href="#122">122</a>     <strong class="jxr_keyword">protected</strong> File managedDefaultDir;
<a class="jxr_linenumber" name="123" href="#123">123</a> 
<a class="jxr_linenumber" name="124" href="#124">124</a>     <strong class="jxr_keyword">protected</strong> ManagedRepositoryContent managedLegacyRepository;
<a class="jxr_linenumber" name="125" href="#125">125</a> 
<a class="jxr_linenumber" name="126" href="#126">126</a>     <strong class="jxr_keyword">protected</strong> File managedLegacyDir;
<a class="jxr_linenumber" name="127" href="#127">127</a> 
<a class="jxr_linenumber" name="128" href="#128">128</a>     <strong class="jxr_keyword">protected</strong> <a href="../../../../org/apache/archiva/proxy/MockConfiguration.html">MockConfiguration</a> config;
<a class="jxr_linenumber" name="129" href="#129">129</a> 
<a class="jxr_linenumber" name="130" href="#130">130</a>     <strong class="jxr_keyword">protected</strong> Logger log = LoggerFactory.getLogger( getClass() );
<a class="jxr_linenumber" name="131" href="#131">131</a> 
<a class="jxr_linenumber" name="132" href="#132">132</a>     <a href="../../../../org/apache/archiva/proxy/WagonDelegate.html">WagonDelegate</a> delegate;
<a class="jxr_linenumber" name="133" href="#133">133</a> 
<a class="jxr_linenumber" name="134" href="#134">134</a>     @Inject
<a class="jxr_linenumber" name="135" href="#135">135</a>     <strong class="jxr_keyword">protected</strong> ManagedRepositoryAdmin managedRepositoryAdmin;
<a class="jxr_linenumber" name="136" href="#136">136</a> 
<a class="jxr_linenumber" name="137" href="#137">137</a>     @Inject
<a class="jxr_linenumber" name="138" href="#138">138</a>     <strong class="jxr_keyword">protected</strong> PlexusSisuBridge plexusSisuBridge;
<a class="jxr_linenumber" name="139" href="#139">139</a> 
<a class="jxr_linenumber" name="140" href="#140">140</a>     @Before
<a class="jxr_linenumber" name="141" href="#141">141</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp()
<a class="jxr_linenumber" name="142" href="#142">142</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="143" href="#143">143</a>     {
<a class="jxr_linenumber" name="144" href="#144">144</a>         config =
<a class="jxr_linenumber" name="145" href="#145">145</a>             (<a href="../../../../org/apache/archiva/proxy/MockConfiguration.html">MockConfiguration</a>) applicationContext.getBean( <span class="jxr_string">"archivaConfiguration#mock"</span>, ArchivaConfiguration.<strong class="jxr_keyword">class</strong> );
<a class="jxr_linenumber" name="146" href="#146">146</a> 
<a class="jxr_linenumber" name="147" href="#147">147</a>         config.getConfiguration().setManagedRepositories( <strong class="jxr_keyword">new</strong> ArrayList&lt;ManagedRepositoryConfiguration&gt;() );
<a class="jxr_linenumber" name="148" href="#148">148</a>         config.getConfiguration().setRemoteRepositories( <strong class="jxr_keyword">new</strong> ArrayList&lt;RemoteRepositoryConfiguration&gt;() );
<a class="jxr_linenumber" name="149" href="#149">149</a>         config.getConfiguration().setProxyConnectors( <strong class="jxr_keyword">new</strong> ArrayList&lt;ProxyConnectorConfiguration&gt;() );
<a class="jxr_linenumber" name="150" href="#150">150</a> 
<a class="jxr_linenumber" name="151" href="#151">151</a>         <em class="jxr_comment">// Setup source repository (using default layout)</em>
<a class="jxr_linenumber" name="152" href="#152">152</a>         String name = getClass().getSimpleName();
<a class="jxr_linenumber" name="153" href="#153">153</a>         String repoPath = <span class="jxr_string">"target/test-repository/managed/"</span> + name;
<a class="jxr_linenumber" name="154" href="#154">154</a>         File repoLocation = <strong class="jxr_keyword">new</strong> File( repoPath );
<a class="jxr_linenumber" name="155" href="#155">155</a> 
<a class="jxr_linenumber" name="156" href="#156">156</a>         managedDefaultRepository =
<a class="jxr_linenumber" name="157" href="#157">157</a>             createRepository( ID_DEFAULT_MANAGED, <span class="jxr_string">"Default Managed Repository"</span>, repoPath, <span class="jxr_string">"default"</span> );
<a class="jxr_linenumber" name="158" href="#158">158</a> 
<a class="jxr_linenumber" name="159" href="#159">159</a>         managedDefaultDir = <strong class="jxr_keyword">new</strong> File( managedDefaultRepository.getRepoRoot() );
<a class="jxr_linenumber" name="160" href="#160">160</a> 
<a class="jxr_linenumber" name="161" href="#161">161</a>         ManagedRepository repoConfig = managedDefaultRepository.getRepository();
<a class="jxr_linenumber" name="162" href="#162">162</a> 
<a class="jxr_linenumber" name="163" href="#163">163</a>         ( (DefaultManagedRepositoryAdmin) applicationContext.getBean(
<a class="jxr_linenumber" name="164" href="#164">164</a>             ManagedRepositoryAdmin.<strong class="jxr_keyword">class</strong> ) ).setArchivaConfiguration( config );
<a class="jxr_linenumber" name="165" href="#165">165</a> 
<a class="jxr_linenumber" name="166" href="#166">166</a>         applicationContext.getBean( ManagedRepositoryAdmin.<strong class="jxr_keyword">class</strong> ).addManagedRepository( repoConfig, false, <strong class="jxr_keyword">null</strong> );
<a class="jxr_linenumber" name="167" href="#167">167</a> 
<a class="jxr_linenumber" name="168" href="#168">168</a>         <em class="jxr_comment">// to prevent windauze file leaking</em>
<a class="jxr_linenumber" name="169" href="#169">169</a>         removeMavenIndexes();
<a class="jxr_linenumber" name="170" href="#170">170</a> 
<a class="jxr_linenumber" name="171" href="#171">171</a>         <em class="jxr_comment">// Setup source repository (using legacy layout)</em>
<a class="jxr_linenumber" name="172" href="#172">172</a>         repoLocation = <strong class="jxr_keyword">new</strong> File( REPOPATH_LEGACY_MANAGED_TARGET );
<a class="jxr_linenumber" name="173" href="#173">173</a>         <strong class="jxr_keyword">if</strong> ( repoLocation.exists() )
<a class="jxr_linenumber" name="174" href="#174">174</a>         {
<a class="jxr_linenumber" name="175" href="#175">175</a>             FileUtils.deleteDirectory( repoLocation );
<a class="jxr_linenumber" name="176" href="#176">176</a>         }
<a class="jxr_linenumber" name="177" href="#177">177</a>         copyDirectoryStructure( <strong class="jxr_keyword">new</strong> File( REPOPATH_LEGACY_MANAGED ), repoLocation );
<a class="jxr_linenumber" name="178" href="#178">178</a> 
<a class="jxr_linenumber" name="179" href="#179">179</a>         managedLegacyRepository =
<a class="jxr_linenumber" name="180" href="#180">180</a>             createRepository( ID_LEGACY_MANAGED, <span class="jxr_string">"Legacy Managed Repository"</span>, REPOPATH_LEGACY_MANAGED_TARGET,
<a class="jxr_linenumber" name="181" href="#181">181</a>                               <span class="jxr_string">"legacy"</span> );
<a class="jxr_linenumber" name="182" href="#182">182</a> 
<a class="jxr_linenumber" name="183" href="#183">183</a>         managedLegacyDir = <strong class="jxr_keyword">new</strong> File( managedLegacyRepository.getRepoRoot() );
<a class="jxr_linenumber" name="184" href="#184">184</a> 
<a class="jxr_linenumber" name="185" href="#185">185</a>         repoConfig = managedLegacyRepository.getRepository();
<a class="jxr_linenumber" name="186" href="#186">186</a> 
<a class="jxr_linenumber" name="187" href="#187">187</a>         <em class="jxr_comment">//config.getConfiguration().addManagedRepository( repoConfig );</em>
<a class="jxr_linenumber" name="188" href="#188">188</a>         applicationContext.getBean( ManagedRepositoryAdmin.<strong class="jxr_keyword">class</strong> ).addManagedRepository( repoConfig, false, <strong class="jxr_keyword">null</strong> );
<a class="jxr_linenumber" name="189" href="#189">189</a> 
<a class="jxr_linenumber" name="190" href="#190">190</a>         <em class="jxr_comment">// Setup target (proxied to) repository.</em>
<a class="jxr_linenumber" name="191" href="#191">191</a>         saveRemoteRepositoryConfig( ID_PROXIED1, <span class="jxr_string">"Proxied Repository 1"</span>,
<a class="jxr_linenumber" name="192" href="#192">192</a>                                     <strong class="jxr_keyword">new</strong> File( REPOPATH_PROXIED1 ).toURL().toExternalForm(), <span class="jxr_string">"default"</span> );
<a class="jxr_linenumber" name="193" href="#193">193</a> 
<a class="jxr_linenumber" name="194" href="#194">194</a>         <em class="jxr_comment">// Setup target (proxied to) repository.</em>
<a class="jxr_linenumber" name="195" href="#195">195</a>         saveRemoteRepositoryConfig( ID_PROXIED2, <span class="jxr_string">"Proxied Repository 2"</span>,
<a class="jxr_linenumber" name="196" href="#196">196</a>                                     <strong class="jxr_keyword">new</strong> File( REPOPATH_PROXIED2 ).toURL().toExternalForm(), <span class="jxr_string">"default"</span> );
<a class="jxr_linenumber" name="197" href="#197">197</a> 
<a class="jxr_linenumber" name="198" href="#198">198</a>         <em class="jxr_comment">// Setup target (proxied to) repository using legacy layout.</em>
<a class="jxr_linenumber" name="199" href="#199">199</a>         saveRemoteRepositoryConfig( ID_LEGACY_PROXIED, <span class="jxr_string">"Proxied Legacy Repository"</span>,
<a class="jxr_linenumber" name="200" href="#200">200</a>                                     <strong class="jxr_keyword">new</strong> File( REPOPATH_PROXIED_LEGACY ).toURL().toExternalForm(), <span class="jxr_string">"legacy"</span> );
<a class="jxr_linenumber" name="201" href="#201">201</a> 
<a class="jxr_linenumber" name="202" href="#202">202</a>         <em class="jxr_comment">// Setup the proxy handler.</em>
<a class="jxr_linenumber" name="203" href="#203">203</a>         <em class="jxr_comment">//proxyHandler = applicationContext.getBean (RepositoryProxyConnectors) lookup( RepositoryProxyConnectors.class.getName() );</em>
<a class="jxr_linenumber" name="204" href="#204">204</a> 
<a class="jxr_linenumber" name="205" href="#205">205</a>         proxyHandler = applicationContext.getBean( <span class="jxr_string">"repositoryProxyConnectors#test"</span>, RepositoryProxyConnectors.<strong class="jxr_keyword">class</strong> );
<a class="jxr_linenumber" name="206" href="#206">206</a> 
<a class="jxr_linenumber" name="207" href="#207">207</a>         <em class="jxr_comment">// Setup the wagon mock.</em>
<a class="jxr_linenumber" name="208" href="#208">208</a>         wagonMockControl = MockControl.createNiceControl( Wagon.<strong class="jxr_keyword">class</strong> );
<a class="jxr_linenumber" name="209" href="#209">209</a>         wagonMock = (Wagon) wagonMockControl.getMock();
<a class="jxr_linenumber" name="210" href="#210">210</a> 
<a class="jxr_linenumber" name="211" href="#211">211</a>         delegate = (WagonDelegate) applicationContext.getBean( <span class="jxr_string">"wagon#test"</span>, Wagon.<strong class="jxr_keyword">class</strong> );
<a class="jxr_linenumber" name="212" href="#212">212</a> 
<a class="jxr_linenumber" name="213" href="#213">213</a>         delegate.setDelegate( wagonMock );
<a class="jxr_linenumber" name="214" href="#214">214</a> 
<a class="jxr_linenumber" name="215" href="#215">215</a>         CacheManager.getInstance().clearAll();
<a class="jxr_linenumber" name="216" href="#216">216</a> 
<a class="jxr_linenumber" name="217" href="#217">217</a>         log.info( <span class="jxr_string">"\n.&#92;&#92; "</span> + name + <span class="jxr_string">"() &#92;&#92;._________________________________________\n"</span> );
<a class="jxr_linenumber" name="218" href="#218">218</a>     }
<a class="jxr_linenumber" name="219" href="#219">219</a> 
<a class="jxr_linenumber" name="220" href="#220">220</a>     @After
<a class="jxr_linenumber" name="221" href="#221">221</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> shutdown()
<a class="jxr_linenumber" name="222" href="#222">222</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="223" href="#223">223</a>     {
<a class="jxr_linenumber" name="224" href="#224">224</a>         removeMavenIndexes();
<a class="jxr_linenumber" name="225" href="#225">225</a>     }
<a class="jxr_linenumber" name="226" href="#226">226</a> 
<a class="jxr_linenumber" name="227" href="#227">227</a> 
<a class="jxr_linenumber" name="228" href="#228">228</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> removeMavenIndexes()
<a class="jxr_linenumber" name="229" href="#229">229</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="230" href="#230">230</a>     {
<a class="jxr_linenumber" name="231" href="#231">231</a>         NexusIndexer nexusIndexer = plexusSisuBridge.lookup( NexusIndexer.<strong class="jxr_keyword">class</strong> );
<a class="jxr_linenumber" name="232" href="#232">232</a> 
<a class="jxr_linenumber" name="233" href="#233">233</a>         <strong class="jxr_keyword">for</strong> ( IndexingContext indexingContext : nexusIndexer.getIndexingContexts().values() )
<a class="jxr_linenumber" name="234" href="#234">234</a>         {
<a class="jxr_linenumber" name="235" href="#235">235</a>             nexusIndexer.removeIndexingContext( indexingContext, false );
<a class="jxr_linenumber" name="236" href="#236">236</a>         }
<a class="jxr_linenumber" name="237" href="#237">237</a>     }
<a class="jxr_linenumber" name="238" href="#238">238</a> 
<a class="jxr_linenumber" name="239" href="#239">239</a> 
<a class="jxr_linenumber" name="240" href="#240">240</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> ArgumentsMatcher customWagonGetIfNewerMatcher = <strong class="jxr_keyword">new</strong> ArgumentsMatcher()
<a class="jxr_linenumber" name="241" href="#241">241</a>     {
<a class="jxr_linenumber" name="242" href="#242">242</a> 
<a class="jxr_linenumber" name="243" href="#243">243</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> matches( Object[] expected, Object[] actual )
<a class="jxr_linenumber" name="244" href="#244">244</a>         {
<a class="jxr_linenumber" name="245" href="#245">245</a>             <strong class="jxr_keyword">if</strong> ( expected.length &lt; 1 || actual.length &lt; 1 )
<a class="jxr_linenumber" name="246" href="#246">246</a>             {
<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">return</strong> MockControl.ARRAY_MATCHER.matches( ArrayUtils.remove( expected, 1 ),
<a class="jxr_linenumber" name="250" href="#250">250</a>                                                       ArrayUtils.remove( actual, 1 ) );
<a class="jxr_linenumber" name="251" href="#251">251</a>         }
<a class="jxr_linenumber" name="252" href="#252">252</a> 
<a class="jxr_linenumber" name="253" href="#253">253</a>         <strong class="jxr_keyword">public</strong> String toString( Object[] arguments )
<a class="jxr_linenumber" name="254" href="#254">254</a>         {
<a class="jxr_linenumber" name="255" href="#255">255</a>             <strong class="jxr_keyword">return</strong> ArrayUtils.toString( arguments );
<a class="jxr_linenumber" name="256" href="#256">256</a>         }
<a class="jxr_linenumber" name="257" href="#257">257</a>     };
<a class="jxr_linenumber" name="258" href="#258">258</a> 
<a class="jxr_linenumber" name="259" href="#259">259</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> ArgumentsMatcher customWagonGetMatcher = <strong class="jxr_keyword">new</strong> ArgumentsMatcher()
<a class="jxr_linenumber" name="260" href="#260">260</a>     {
<a class="jxr_linenumber" name="261" href="#261">261</a> 
<a class="jxr_linenumber" name="262" href="#262">262</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> matches( Object[] expected, Object[] actual )
<a class="jxr_linenumber" name="263" href="#263">263</a>         {
<a class="jxr_linenumber" name="264" href="#264">264</a>             <strong class="jxr_keyword">if</strong> ( expected.length == 2 &amp;&amp; actual.length == 2 )
<a class="jxr_linenumber" name="265" href="#265">265</a>             {
<a class="jxr_linenumber" name="266" href="#266">266</a>                 <strong class="jxr_keyword">if</strong> ( expected[0] == <strong class="jxr_keyword">null</strong> &amp;&amp; actual[0] == <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="267" href="#267">267</a>                 {
<a class="jxr_linenumber" name="268" href="#268">268</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="269" href="#269">269</a>                 }
<a class="jxr_linenumber" name="270" href="#270">270</a> 
<a class="jxr_linenumber" name="271" href="#271">271</a>                 <strong class="jxr_keyword">if</strong> ( expected[0] == <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="272" href="#272">272</a>                 {
<a class="jxr_linenumber" name="273" href="#273">273</a>                     <strong class="jxr_keyword">return</strong> actual[0] == <strong class="jxr_keyword">null</strong>;
<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">if</strong> ( actual[0] == <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="277" href="#277">277</a>                 {
<a class="jxr_linenumber" name="278" href="#278">278</a>                     <strong class="jxr_keyword">return</strong> expected[0] == <strong class="jxr_keyword">null</strong>;
<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">return</strong> expected[0].equals( actual[0] );
<a class="jxr_linenumber" name="282" href="#282">282</a>             }
<a class="jxr_linenumber" name="283" href="#283">283</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="284" href="#284">284</a>         }
<a class="jxr_linenumber" name="285" href="#285">285</a> 
<a class="jxr_linenumber" name="286" href="#286">286</a>         <strong class="jxr_keyword">public</strong> String toString( Object[] arguments )
<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> ArrayUtils.toString( arguments );
<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> 
<a class="jxr_linenumber" name="293" href="#293">293</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> assertChecksums( File expectedFile, String expectedSha1Contents, String expectedMd5Contents )
<a class="jxr_linenumber" name="294" href="#294">294</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="295" href="#295">295</a>     {
<a class="jxr_linenumber" name="296" href="#296">296</a>         File sha1File = <strong class="jxr_keyword">new</strong> File( expectedFile.getAbsolutePath() + <span class="jxr_string">".sha1"</span> );
<a class="jxr_linenumber" name="297" href="#297">297</a>         File md5File = <strong class="jxr_keyword">new</strong> File( expectedFile.getAbsolutePath() + <span class="jxr_string">".md5"</span> );
<a class="jxr_linenumber" name="298" href="#298">298</a> 
<a class="jxr_linenumber" name="299" href="#299">299</a>         <strong class="jxr_keyword">if</strong> ( expectedSha1Contents == <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="300" href="#300">300</a>         {
<a class="jxr_linenumber" name="301" href="#301">301</a>             assertFalse( <span class="jxr_string">"SHA1 File should NOT exist: "</span> + sha1File.getPath(), sha1File.exists() );
<a class="jxr_linenumber" name="302" href="#302">302</a>         }
<a class="jxr_linenumber" name="303" href="#303">303</a>         <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="304" href="#304">304</a>         {
<a class="jxr_linenumber" name="305" href="#305">305</a>             assertTrue( <span class="jxr_string">"SHA1 File should exist: "</span> + sha1File.getPath(), sha1File.exists() );
<a class="jxr_linenumber" name="306" href="#306">306</a>             String actualSha1Contents = readChecksumFile( sha1File );
<a class="jxr_linenumber" name="307" href="#307">307</a>             assertEquals( <span class="jxr_string">"SHA1 File contents: "</span> + sha1File.getPath(), expectedSha1Contents, actualSha1Contents );
<a class="jxr_linenumber" name="308" href="#308">308</a>         }
<a class="jxr_linenumber" name="309" href="#309">309</a> 
<a class="jxr_linenumber" name="310" href="#310">310</a>         <strong class="jxr_keyword">if</strong> ( expectedMd5Contents == <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="311" href="#311">311</a>         {
<a class="jxr_linenumber" name="312" href="#312">312</a>             assertFalse( <span class="jxr_string">"MD5 File should NOT exist: "</span> + md5File.getPath(), md5File.exists() );
<a class="jxr_linenumber" name="313" href="#313">313</a>         }
<a class="jxr_linenumber" name="314" href="#314">314</a>         <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="315" href="#315">315</a>         {
<a class="jxr_linenumber" name="316" href="#316">316</a>             assertTrue( <span class="jxr_string">"MD5 File should exist: "</span> + md5File.getPath(), md5File.exists() );
<a class="jxr_linenumber" name="317" href="#317">317</a>             String actualMd5Contents = readChecksumFile( md5File );
<a class="jxr_linenumber" name="318" href="#318">318</a>             assertEquals( <span class="jxr_string">"MD5 File contents: "</span> + md5File.getPath(), expectedMd5Contents, actualMd5Contents );
<a class="jxr_linenumber" name="319" href="#319">319</a>         }
<a class="jxr_linenumber" name="320" href="#320">320</a>     }
<a class="jxr_linenumber" name="321" href="#321">321</a> 
<a class="jxr_linenumber" name="322" href="#322">322</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> assertFileEquals( File expectedFile, File actualFile, File sourceFile )
<a class="jxr_linenumber" name="323" href="#323">323</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="324" href="#324">324</a>     {
<a class="jxr_linenumber" name="325" href="#325">325</a>         assertNotNull( <span class="jxr_string">"Expected File should not be null."</span>, expectedFile );
<a class="jxr_linenumber" name="326" href="#326">326</a>         assertNotNull( <span class="jxr_string">"Actual File should not be null."</span>, actualFile );
<a class="jxr_linenumber" name="327" href="#327">327</a> 
<a class="jxr_linenumber" name="328" href="#328">328</a>         assertTrue( <span class="jxr_string">"Check actual file exists."</span>, actualFile.exists() );
<a class="jxr_linenumber" name="329" href="#329">329</a>         assertEquals( <span class="jxr_string">"Check filename path is appropriate."</span>, expectedFile.getCanonicalPath(),
<a class="jxr_linenumber" name="330" href="#330">330</a>                       actualFile.getCanonicalPath() );
<a class="jxr_linenumber" name="331" href="#331">331</a>         assertEquals( <span class="jxr_string">"Check file path matches."</span>, expectedFile.getAbsolutePath(), actualFile.getAbsolutePath() );
<a class="jxr_linenumber" name="332" href="#332">332</a> 
<a class="jxr_linenumber" name="333" href="#333">333</a>         String expectedContents =
<a class="jxr_linenumber" name="334" href="#334">334</a>             org.apache.commons.io.FileUtils.readFileToString( sourceFile, Charset.defaultCharset() );
<a class="jxr_linenumber" name="335" href="#335">335</a>         String actualContents =
<a class="jxr_linenumber" name="336" href="#336">336</a>             org.apache.commons.io.FileUtils.readFileToString( actualFile, Charset.defaultCharset() );
<a class="jxr_linenumber" name="337" href="#337">337</a>         assertEquals( <span class="jxr_string">"Check file contents."</span>, expectedContents, actualContents );
<a class="jxr_linenumber" name="338" href="#338">338</a>     }
<a class="jxr_linenumber" name="339" href="#339">339</a> 
<a class="jxr_linenumber" name="340" href="#340">340</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> assertNotDownloaded( File downloadedFile )
<a class="jxr_linenumber" name="341" href="#341">341</a>     {
<a class="jxr_linenumber" name="342" href="#342">342</a>         assertNull( <span class="jxr_string">"Found file: "</span> + downloadedFile + <span class="jxr_string">"; but was expecting a failure"</span>, downloadedFile );
<a class="jxr_linenumber" name="343" href="#343">343</a>     }
<a class="jxr_linenumber" name="344" href="#344">344</a> 
<a class="jxr_linenumber" name="345" href="#345">345</a>     @SuppressWarnings ( <span class="jxr_string">"unchecked"</span> )
<a class="jxr_linenumber" name="346" href="#346">346</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> assertNoTempFiles( File expectedFile )
<a class="jxr_linenumber" name="347" href="#347">347</a>     {
<a class="jxr_linenumber" name="348" href="#348">348</a>         File workingDir = expectedFile.getParentFile();
<a class="jxr_linenumber" name="349" href="#349">349</a>         <strong class="jxr_keyword">if</strong> ( ( workingDir == <strong class="jxr_keyword">null</strong> ) || !workingDir.isDirectory() )
<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>;
<a class="jxr_linenumber" name="352" href="#352">352</a>         }
<a class="jxr_linenumber" name="353" href="#353">353</a> 
<a class="jxr_linenumber" name="354" href="#354">354</a>         Collection&lt;File&gt; tmpFiles =
<a class="jxr_linenumber" name="355" href="#355">355</a>             org.apache.commons.io.FileUtils.listFiles( workingDir, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"tmp"</span> }, false );
<a class="jxr_linenumber" name="356" href="#356">356</a>         <strong class="jxr_keyword">if</strong> ( !tmpFiles.isEmpty() )
<a class="jxr_linenumber" name="357" href="#357">357</a>         {
<a class="jxr_linenumber" name="358" href="#358">358</a>             StringBuilder emsg = <strong class="jxr_keyword">new</strong> StringBuilder();
<a class="jxr_linenumber" name="359" href="#359">359</a>             emsg.append( <span class="jxr_string">"Found Temp Files in dir: "</span> ).append( workingDir.getPath() );
<a class="jxr_linenumber" name="360" href="#360">360</a>             <strong class="jxr_keyword">for</strong> ( File tfile : tmpFiles )
<a class="jxr_linenumber" name="361" href="#361">361</a>             {
<a class="jxr_linenumber" name="362" href="#362">362</a>                 emsg.append( <span class="jxr_string">"\n   "</span> ).append( tfile.getName() );
<a class="jxr_linenumber" name="363" href="#363">363</a>             }
<a class="jxr_linenumber" name="364" href="#364">364</a>             fail( emsg.toString() );
<a class="jxr_linenumber" name="365" href="#365">365</a>         }
<a class="jxr_linenumber" name="366" href="#366">366</a>     }
<a class="jxr_linenumber" name="367" href="#367">367</a> 
<a class="jxr_linenumber" name="368" href="#368">368</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="369" href="#369">369</a> <em class="jxr_javadoccomment">     * A faster recursive copy that omits .svn directories.</em>
<a class="jxr_linenumber" name="370" href="#370">370</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="371" href="#371">371</a> <em class="jxr_javadoccomment">     * @param sourceDirectory the source directory to copy</em>
<a class="jxr_linenumber" name="372" href="#372">372</a> <em class="jxr_javadoccomment">     * @param destDirectory   the target location</em>
<a class="jxr_linenumber" name="373" href="#373">373</a> <em class="jxr_javadoccomment">     * @throws java.io.IOException if there is a copying problem</em>
<a class="jxr_linenumber" name="374" href="#374">374</a> <em class="jxr_javadoccomment">     * @todo get back into plexus-utils, share with converter module</em>
<a class="jxr_linenumber" name="375" href="#375">375</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="376" href="#376">376</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> copyDirectoryStructure( File sourceDirectory, File destDirectory )
<a class="jxr_linenumber" name="377" href="#377">377</a>         <strong class="jxr_keyword">throws</strong> IOException
<a class="jxr_linenumber" name="378" href="#378">378</a>     {
<a class="jxr_linenumber" name="379" href="#379">379</a>         <strong class="jxr_keyword">if</strong> ( !sourceDirectory.exists() )
<a class="jxr_linenumber" name="380" href="#380">380</a>         {
<a class="jxr_linenumber" name="381" href="#381">381</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IOException( <span class="jxr_string">"Source directory doesn't exists ("</span> + sourceDirectory.getAbsolutePath() + <span class="jxr_string">")."</span> );
<a class="jxr_linenumber" name="382" href="#382">382</a>         }
<a class="jxr_linenumber" name="383" href="#383">383</a> 
<a class="jxr_linenumber" name="384" href="#384">384</a>         File[] files = sourceDirectory.listFiles();
<a class="jxr_linenumber" name="385" href="#385">385</a> 
<a class="jxr_linenumber" name="386" href="#386">386</a>         String sourcePath = sourceDirectory.getAbsolutePath();
<a class="jxr_linenumber" name="387" href="#387">387</a> 
<a class="jxr_linenumber" name="388" href="#388">388</a>         <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; files.length; i++ )
<a class="jxr_linenumber" name="389" href="#389">389</a>         {
<a class="jxr_linenumber" name="390" href="#390">390</a>             File file = files[i];
<a class="jxr_linenumber" name="391" href="#391">391</a> 
<a class="jxr_linenumber" name="392" href="#392">392</a>             String dest = file.getAbsolutePath();
<a class="jxr_linenumber" name="393" href="#393">393</a> 
<a class="jxr_linenumber" name="394" href="#394">394</a>             dest = dest.substring( sourcePath.length() + 1 );
<a class="jxr_linenumber" name="395" href="#395">395</a> 
<a class="jxr_linenumber" name="396" href="#396">396</a>             File destination = <strong class="jxr_keyword">new</strong> File( destDirectory, dest );
<a class="jxr_linenumber" name="397" href="#397">397</a> 
<a class="jxr_linenumber" name="398" href="#398">398</a>             <strong class="jxr_keyword">if</strong> ( file.isFile() )
<a class="jxr_linenumber" name="399" href="#399">399</a>             {
<a class="jxr_linenumber" name="400" href="#400">400</a>                 destination = destination.getParentFile();
<a class="jxr_linenumber" name="401" href="#401">401</a> 
<a class="jxr_linenumber" name="402" href="#402">402</a>                 org.apache.commons.io.FileUtils.copyFile( file, <strong class="jxr_keyword">new</strong> File( destination, file.getName() ), false );
<a class="jxr_linenumber" name="403" href="#403">403</a>                 <em class="jxr_comment">// TODO: Change when there is a FileUtils.copyFileToDirectory(file, destination, boolean) option</em>
<a class="jxr_linenumber" name="404" href="#404">404</a>                 <em class="jxr_comment">//FileUtils.copyFileToDirectory( file, destination );</em>
<a class="jxr_linenumber" name="405" href="#405">405</a>             }
<a class="jxr_linenumber" name="406" href="#406">406</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( file.isDirectory() )
<a class="jxr_linenumber" name="407" href="#407">407</a>             {
<a class="jxr_linenumber" name="408" href="#408">408</a>                 <strong class="jxr_keyword">if</strong> ( !<span class="jxr_string">".svn"</span>.equals( file.getName() ) )
<a class="jxr_linenumber" name="409" href="#409">409</a>                 {
<a class="jxr_linenumber" name="410" href="#410">410</a>                     <strong class="jxr_keyword">if</strong> ( !destination.exists() &amp;&amp; !destination.mkdirs() )
<a class="jxr_linenumber" name="411" href="#411">411</a>                     {
<a class="jxr_linenumber" name="412" href="#412">412</a>                         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IOException(
<a class="jxr_linenumber" name="413" href="#413">413</a>                             <span class="jxr_string">"Could not create destination directory '"</span> + destination.getAbsolutePath() + <span class="jxr_string">"'."</span> );
<a class="jxr_linenumber" name="414" href="#414">414</a>                     }
<a class="jxr_linenumber" name="415" href="#415">415</a> 
<a class="jxr_linenumber" name="416" href="#416">416</a>                     copyDirectoryStructure( file, destination );
<a class="jxr_linenumber" name="417" href="#417">417</a>                 }
<a class="jxr_linenumber" name="418" href="#418">418</a>             }
<a class="jxr_linenumber" name="419" href="#419">419</a>             <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="420" href="#420">420</a>             {
<a class="jxr_linenumber" name="421" href="#421">421</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IOException( <span class="jxr_string">"Unknown file type: "</span> + file.getAbsolutePath() );
<a class="jxr_linenumber" name="422" href="#422">422</a>             }
<a class="jxr_linenumber" name="423" href="#423">423</a>         }
<a class="jxr_linenumber" name="424" href="#424">424</a>     }
<a class="jxr_linenumber" name="425" href="#425">425</a> 
<a class="jxr_linenumber" name="426" href="#426">426</a>     <strong class="jxr_keyword">protected</strong> ManagedRepositoryContent createManagedLegacyRepository()
<a class="jxr_linenumber" name="427" href="#427">427</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="428" href="#428">428</a>     {
<a class="jxr_linenumber" name="429" href="#429">429</a>         <strong class="jxr_keyword">return</strong> createRepository( <span class="jxr_string">"testManagedLegacyRepo"</span>, <span class="jxr_string">"Test Managed (Legacy) Repository"</span>,
<a class="jxr_linenumber" name="430" href="#430">430</a>                                  <span class="jxr_string">"src/test/repositories/legacy-managed"</span>, <span class="jxr_string">"legacy"</span> );
<a class="jxr_linenumber" name="431" href="#431">431</a>     }
<a class="jxr_linenumber" name="432" href="#432">432</a> 
<a class="jxr_linenumber" name="433" href="#433">433</a>     <strong class="jxr_keyword">protected</strong> ManagedRepositoryContent createProxiedLegacyRepository()
<a class="jxr_linenumber" name="434" href="#434">434</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="435" href="#435">435</a>     {
<a class="jxr_linenumber" name="436" href="#436">436</a>         <strong class="jxr_keyword">return</strong> createRepository( <span class="jxr_string">"testProxiedLegacyRepo"</span>, <span class="jxr_string">"Test Proxied (Legacy) Repository"</span>,
<a class="jxr_linenumber" name="437" href="#437">437</a>                                  <span class="jxr_string">"src/test/repositories/legacy-proxied"</span>, <span class="jxr_string">"legacy"</span> );
<a class="jxr_linenumber" name="438" href="#438">438</a>     }
<a class="jxr_linenumber" name="439" href="#439">439</a> 
<a class="jxr_linenumber" name="440" href="#440">440</a>     <strong class="jxr_keyword">protected</strong> ManagedRepositoryContent createRepository( String id, String name, String path, String layout )
<a class="jxr_linenumber" name="441" href="#441">441</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="442" href="#442">442</a>     {
<a class="jxr_linenumber" name="443" href="#443">443</a>         ManagedRepository repo = <strong class="jxr_keyword">new</strong> ManagedRepository();
<a class="jxr_linenumber" name="444" href="#444">444</a>         repo.setId( id );
<a class="jxr_linenumber" name="445" href="#445">445</a>         repo.setName( name );
<a class="jxr_linenumber" name="446" href="#446">446</a>         repo.setLocation( path );
<a class="jxr_linenumber" name="447" href="#447">447</a>         repo.setLayout( layout );
<a class="jxr_linenumber" name="448" href="#448">448</a> 
<a class="jxr_linenumber" name="449" href="#449">449</a>         ManagedRepositoryContent repoContent =
<a class="jxr_linenumber" name="450" href="#450">450</a>             applicationContext.getBean( <span class="jxr_string">"managedRepositoryContent#"</span> + layout, ManagedRepositoryContent.<strong class="jxr_keyword">class</strong> );
<a class="jxr_linenumber" name="451" href="#451">451</a>         repoContent.setRepository( repo );
<a class="jxr_linenumber" name="452" href="#452">452</a>         <strong class="jxr_keyword">return</strong> repoContent;
<a class="jxr_linenumber" name="453" href="#453">453</a>     }
<a class="jxr_linenumber" name="454" href="#454">454</a> 
<a class="jxr_linenumber" name="455" href="#455">455</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="456" href="#456">456</a> <em class="jxr_javadoccomment">     * Read the first line from the checksum file, and return it (trimmed).</em>
<a class="jxr_linenumber" name="457" href="#457">457</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="458" href="#458">458</a>     <strong class="jxr_keyword">protected</strong> String readChecksumFile( File checksumFile )
<a class="jxr_linenumber" name="459" href="#459">459</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="460" href="#460">460</a>     {
<a class="jxr_linenumber" name="461" href="#461">461</a>         FileReader freader = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="462" href="#462">462</a>         BufferedReader buf = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="463" href="#463">463</a> 
<a class="jxr_linenumber" name="464" href="#464">464</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="465" href="#465">465</a>         {
<a class="jxr_linenumber" name="466" href="#466">466</a>             freader = <strong class="jxr_keyword">new</strong> FileReader( checksumFile );
<a class="jxr_linenumber" name="467" href="#467">467</a>             buf = <strong class="jxr_keyword">new</strong> BufferedReader( freader );
<a class="jxr_linenumber" name="468" href="#468">468</a>             <strong class="jxr_keyword">return</strong> buf.readLine();
<a class="jxr_linenumber" name="469" href="#469">469</a>         }
<a class="jxr_linenumber" name="470" href="#470">470</a>         <strong class="jxr_keyword">finally</strong>
<a class="jxr_linenumber" name="471" href="#471">471</a>         {
<a class="jxr_linenumber" name="472" href="#472">472</a>             <strong class="jxr_keyword">if</strong> ( buf != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="473" href="#473">473</a>             {
<a class="jxr_linenumber" name="474" href="#474">474</a>                 buf.close();
<a class="jxr_linenumber" name="475" href="#475">475</a>             }
<a class="jxr_linenumber" name="476" href="#476">476</a> 
<a class="jxr_linenumber" name="477" href="#477">477</a>             <strong class="jxr_keyword">if</strong> ( freader != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="478" href="#478">478</a>             {
<a class="jxr_linenumber" name="479" href="#479">479</a>                 freader.close();
<a class="jxr_linenumber" name="480" href="#480">480</a>             }
<a class="jxr_linenumber" name="481" href="#481">481</a>         }
<a class="jxr_linenumber" name="482" href="#482">482</a>     }
<a class="jxr_linenumber" name="483" href="#483">483</a> 
<a class="jxr_linenumber" name="484" href="#484">484</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> saveConnector( String sourceRepoId, String targetRepoId, <strong class="jxr_keyword">boolean</strong> disabled )
<a class="jxr_linenumber" name="485" href="#485">485</a>     {
<a class="jxr_linenumber" name="486" href="#486">486</a>         saveConnector( sourceRepoId, targetRepoId, ChecksumPolicy.IGNORE, ReleasesPolicy.ALWAYS, SnapshotsPolicy.ALWAYS,
<a class="jxr_linenumber" name="487" href="#487">487</a>                        CachedFailuresPolicy.NO, disabled );
<a class="jxr_linenumber" name="488" href="#488">488</a>     }
<a class="jxr_linenumber" name="489" href="#489">489</a> 
<a class="jxr_linenumber" name="490" href="#490">490</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> saveConnector( String sourceRepoId, String targetRepoId, String checksumPolicy, String releasePolicy,
<a class="jxr_linenumber" name="491" href="#491">491</a>                                   String snapshotPolicy, String cacheFailuresPolicy, <strong class="jxr_keyword">boolean</strong> disabled )
<a class="jxr_linenumber" name="492" href="#492">492</a>     {
<a class="jxr_linenumber" name="493" href="#493">493</a>         saveConnector( sourceRepoId, targetRepoId, checksumPolicy, releasePolicy, snapshotPolicy, cacheFailuresPolicy,
<a class="jxr_linenumber" name="494" href="#494">494</a>                        PropagateErrorsDownloadPolicy.QUEUE, disabled );
<a class="jxr_linenumber" name="495" href="#495">495</a>     }
<a class="jxr_linenumber" name="496" href="#496">496</a> 
<a class="jxr_linenumber" name="497" href="#497">497</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> saveConnector( String sourceRepoId, String targetRepoId, String checksumPolicy, String releasePolicy,
<a class="jxr_linenumber" name="498" href="#498">498</a>                                   String snapshotPolicy, String cacheFailuresPolicy, String errorPolicy,
<a class="jxr_linenumber" name="499" href="#499">499</a>                                   <strong class="jxr_keyword">boolean</strong> disabled )
<a class="jxr_linenumber" name="500" href="#500">500</a>     {
<a class="jxr_linenumber" name="501" href="#501">501</a>         saveConnector( sourceRepoId, targetRepoId, checksumPolicy, releasePolicy, snapshotPolicy, cacheFailuresPolicy,
<a class="jxr_linenumber" name="502" href="#502">502</a>                        errorPolicy, PropagateErrorsOnUpdateDownloadPolicy.NOT_PRESENT, disabled );
<a class="jxr_linenumber" name="503" href="#503">503</a>     }
<a class="jxr_linenumber" name="504" href="#504">504</a> 
<a class="jxr_linenumber" name="505" href="#505">505</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> saveConnector( String sourceRepoId, String targetRepoId, String checksumPolicy, String releasePolicy,
<a class="jxr_linenumber" name="506" href="#506">506</a>                                   String snapshotPolicy, String cacheFailuresPolicy, String errorPolicy,
<a class="jxr_linenumber" name="507" href="#507">507</a>                                   String errorOnUpdatePolicy, <strong class="jxr_keyword">boolean</strong> disabled )
<a class="jxr_linenumber" name="508" href="#508">508</a>     {
<a class="jxr_linenumber" name="509" href="#509">509</a>         ProxyConnectorConfiguration connectorConfig = <strong class="jxr_keyword">new</strong> ProxyConnectorConfiguration();
<a class="jxr_linenumber" name="510" href="#510">510</a>         connectorConfig.setSourceRepoId( sourceRepoId );
<a class="jxr_linenumber" name="511" href="#511">511</a>         connectorConfig.setTargetRepoId( targetRepoId );
<a class="jxr_linenumber" name="512" href="#512">512</a>         connectorConfig.addPolicy( ProxyConnectorConfiguration.POLICY_CHECKSUM, checksumPolicy );
<a class="jxr_linenumber" name="513" href="#513">513</a>         connectorConfig.addPolicy( ProxyConnectorConfiguration.POLICY_RELEASES, releasePolicy );
<a class="jxr_linenumber" name="514" href="#514">514</a>         connectorConfig.addPolicy( ProxyConnectorConfiguration.POLICY_SNAPSHOTS, snapshotPolicy );
<a class="jxr_linenumber" name="515" href="#515">515</a>         connectorConfig.addPolicy( ProxyConnectorConfiguration.POLICY_CACHE_FAILURES, cacheFailuresPolicy );
<a class="jxr_linenumber" name="516" href="#516">516</a>         connectorConfig.addPolicy( ProxyConnectorConfiguration.POLICY_PROPAGATE_ERRORS, errorPolicy );
<a class="jxr_linenumber" name="517" href="#517">517</a>         connectorConfig.addPolicy( ProxyConnectorConfiguration.POLICY_PROPAGATE_ERRORS_ON_UPDATE, errorOnUpdatePolicy );
<a class="jxr_linenumber" name="518" href="#518">518</a>         connectorConfig.setDisabled( disabled );
<a class="jxr_linenumber" name="519" href="#519">519</a> 
<a class="jxr_linenumber" name="520" href="#520">520</a>         <strong class="jxr_keyword">int</strong> count = config.getConfiguration().getProxyConnectors().size();
<a class="jxr_linenumber" name="521" href="#521">521</a>         config.getConfiguration().addProxyConnector( connectorConfig );
<a class="jxr_linenumber" name="522" href="#522">522</a> 
<a class="jxr_linenumber" name="523" href="#523">523</a>         <em class="jxr_comment">// Proper Triggering ...</em>
<a class="jxr_linenumber" name="524" href="#524">524</a>         String prefix = <span class="jxr_string">"proxyConnectors.proxyConnector("</span> + count + <span class="jxr_string">")"</span>;
<a class="jxr_linenumber" name="525" href="#525">525</a>         config.triggerChange( prefix + <span class="jxr_string">".sourceRepoId"</span>, connectorConfig.getSourceRepoId() );
<a class="jxr_linenumber" name="526" href="#526">526</a>         config.triggerChange( prefix + <span class="jxr_string">".targetRepoId"</span>, connectorConfig.getTargetRepoId() );
<a class="jxr_linenumber" name="527" href="#527">527</a>         config.triggerChange( prefix + <span class="jxr_string">".proxyId"</span>, connectorConfig.getProxyId() );
<a class="jxr_linenumber" name="528" href="#528">528</a>         config.triggerChange( prefix + <span class="jxr_string">".policies.releases"</span>, connectorConfig.getPolicy( <span class="jxr_string">"releases"</span>, <span class="jxr_string">""</span> ) );
<a class="jxr_linenumber" name="529" href="#529">529</a>         config.triggerChange( prefix + <span class="jxr_string">".policies.checksum"</span>, connectorConfig.getPolicy( <span class="jxr_string">"checksum"</span>, <span class="jxr_string">""</span> ) );
<a class="jxr_linenumber" name="530" href="#530">530</a>         config.triggerChange( prefix + <span class="jxr_string">".policies.snapshots"</span>, connectorConfig.getPolicy( <span class="jxr_string">"snapshots"</span>, <span class="jxr_string">""</span> ) );
<a class="jxr_linenumber" name="531" href="#531">531</a>         config.triggerChange( prefix + <span class="jxr_string">".policies.cache-failures"</span>, connectorConfig.getPolicy( <span class="jxr_string">"cache-failures"</span>, <span class="jxr_string">""</span> ) );
<a class="jxr_linenumber" name="532" href="#532">532</a>         config.triggerChange( prefix + <span class="jxr_string">".policies.propagate-errors"</span>,
<a class="jxr_linenumber" name="533" href="#533">533</a>                               connectorConfig.getPolicy( <span class="jxr_string">"propagate-errors"</span>, <span class="jxr_string">""</span> ) );
<a class="jxr_linenumber" name="534" href="#534">534</a>         config.triggerChange( prefix + <span class="jxr_string">".policies.propagate-errors-on-update"</span>,
<a class="jxr_linenumber" name="535" href="#535">535</a>                               connectorConfig.getPolicy( <span class="jxr_string">"propagate-errors-on-update"</span>, <span class="jxr_string">""</span> ) );
<a class="jxr_linenumber" name="536" href="#536">536</a>     }
<a class="jxr_linenumber" name="537" href="#537">537</a> 
<a class="jxr_linenumber" name="538" href="#538">538</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> saveManagedRepositoryConfig( String id, String name, String path, String layout )
<a class="jxr_linenumber" name="539" href="#539">539</a>     {
<a class="jxr_linenumber" name="540" href="#540">540</a>         ManagedRepositoryConfiguration repoConfig = <strong class="jxr_keyword">new</strong> ManagedRepositoryConfiguration();
<a class="jxr_linenumber" name="541" href="#541">541</a> 
<a class="jxr_linenumber" name="542" href="#542">542</a>         repoConfig.setId( id );
<a class="jxr_linenumber" name="543" href="#543">543</a>         repoConfig.setName( name );
<a class="jxr_linenumber" name="544" href="#544">544</a>         repoConfig.setLayout( layout );
<a class="jxr_linenumber" name="545" href="#545">545</a> 
<a class="jxr_linenumber" name="546" href="#546">546</a>         repoConfig.setLocation( path );
<a class="jxr_linenumber" name="547" href="#547">547</a> 
<a class="jxr_linenumber" name="548" href="#548">548</a>         <strong class="jxr_keyword">int</strong> count = config.getConfiguration().getManagedRepositories().size();
<a class="jxr_linenumber" name="549" href="#549">549</a>         config.getConfiguration().addManagedRepository( repoConfig );
<a class="jxr_linenumber" name="550" href="#550">550</a> 
<a class="jxr_linenumber" name="551" href="#551">551</a>         String prefix = <span class="jxr_string">"managedRepositories.managedRepository("</span> + count + <span class="jxr_string">")"</span>;
<a class="jxr_linenumber" name="552" href="#552">552</a>         config.triggerChange( prefix + <span class="jxr_string">".id"</span>, repoConfig.getId() );
<a class="jxr_linenumber" name="553" href="#553">553</a>         config.triggerChange( prefix + <span class="jxr_string">".name"</span>, repoConfig.getName() );
<a class="jxr_linenumber" name="554" href="#554">554</a>         config.triggerChange( prefix + <span class="jxr_string">".location"</span>, repoConfig.getLocation() );
<a class="jxr_linenumber" name="555" href="#555">555</a>         config.triggerChange( prefix + <span class="jxr_string">".layout"</span>, repoConfig.getLayout() );
<a class="jxr_linenumber" name="556" href="#556">556</a>     }
<a class="jxr_linenumber" name="557" href="#557">557</a> 
<a class="jxr_linenumber" name="558" href="#558">558</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> saveRemoteRepositoryConfig( String id, String name, String url, String layout )
<a class="jxr_linenumber" name="559" href="#559">559</a>     {
<a class="jxr_linenumber" name="560" href="#560">560</a>         RemoteRepositoryConfiguration repoConfig = <strong class="jxr_keyword">new</strong> RemoteRepositoryConfiguration();
<a class="jxr_linenumber" name="561" href="#561">561</a> 
<a class="jxr_linenumber" name="562" href="#562">562</a>         repoConfig.setId( id );
<a class="jxr_linenumber" name="563" href="#563">563</a>         repoConfig.setName( name );
<a class="jxr_linenumber" name="564" href="#564">564</a>         repoConfig.setLayout( layout );
<a class="jxr_linenumber" name="565" href="#565">565</a>         repoConfig.setUrl( url );
<a class="jxr_linenumber" name="566" href="#566">566</a> 
<a class="jxr_linenumber" name="567" href="#567">567</a>         <strong class="jxr_keyword">int</strong> count = config.getConfiguration().getRemoteRepositories().size();
<a class="jxr_linenumber" name="568" href="#568">568</a>         config.getConfiguration().addRemoteRepository( repoConfig );
<a class="jxr_linenumber" name="569" href="#569">569</a> 
<a class="jxr_linenumber" name="570" href="#570">570</a>         String prefix = <span class="jxr_string">"remoteRepositories.remoteRepository("</span> + count + <span class="jxr_string">")"</span>;
<a class="jxr_linenumber" name="571" href="#571">571</a>         config.triggerChange( prefix + <span class="jxr_string">".id"</span>, repoConfig.getId() );
<a class="jxr_linenumber" name="572" href="#572">572</a>         config.triggerChange( prefix + <span class="jxr_string">".name"</span>, repoConfig.getName() );
<a class="jxr_linenumber" name="573" href="#573">573</a>         config.triggerChange( prefix + <span class="jxr_string">".url"</span>, repoConfig.getUrl() );
<a class="jxr_linenumber" name="574" href="#574">574</a>         config.triggerChange( prefix + <span class="jxr_string">".layout"</span>, repoConfig.getLayout() );
<a class="jxr_linenumber" name="575" href="#575">575</a>     }
<a class="jxr_linenumber" name="576" href="#576">576</a> 
<a class="jxr_linenumber" name="577" href="#577">577</a>     <strong class="jxr_keyword">protected</strong> File saveTargetedRepositoryConfig( String id, String originalPath, String targetPath, String layout )
<a class="jxr_linenumber" name="578" href="#578">578</a>         <strong class="jxr_keyword">throws</strong> IOException
<a class="jxr_linenumber" name="579" href="#579">579</a>     {
<a class="jxr_linenumber" name="580" href="#580">580</a>         File repoLocation = <strong class="jxr_keyword">new</strong> File( targetPath );
<a class="jxr_linenumber" name="581" href="#581">581</a>         FileUtils.deleteDirectory( repoLocation );
<a class="jxr_linenumber" name="582" href="#582">582</a>         copyDirectoryStructure( <strong class="jxr_keyword">new</strong> File( originalPath ), repoLocation );
<a class="jxr_linenumber" name="583" href="#583">583</a> 
<a class="jxr_linenumber" name="584" href="#584">584</a>         saveRemoteRepositoryConfig( id, <span class="jxr_string">"Target Repo-"</span> + id, targetPath, layout );
<a class="jxr_linenumber" name="585" href="#585">585</a> 
<a class="jxr_linenumber" name="586" href="#586">586</a>         <strong class="jxr_keyword">return</strong> repoLocation;
<a class="jxr_linenumber" name="587" href="#587">587</a>     }
<a class="jxr_linenumber" name="588" href="#588">588</a> 
<a class="jxr_linenumber" name="589" href="#589">589</a> 
<a class="jxr_linenumber" name="590" href="#590">590</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="591" href="#591">591</a> <em class="jxr_javadoccomment">     * Copy the specified resource directory from the src/test/repository/managed/ to</em>
<a class="jxr_linenumber" name="592" href="#592">592</a> <em class="jxr_javadoccomment">     * the testable directory under target/test-repository/managed/${testName}/</em>
<a class="jxr_linenumber" name="593" href="#593">593</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="594" href="#594">594</a> <em class="jxr_javadoccomment">     * @param resourcePath</em>
<a class="jxr_linenumber" name="595" href="#595">595</a> <em class="jxr_javadoccomment">     * @throws IOException</em>
<a class="jxr_linenumber" name="596" href="#596">596</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="597" href="#597">597</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setupTestableManagedRepository( String resourcePath )
<a class="jxr_linenumber" name="598" href="#598">598</a>         <strong class="jxr_keyword">throws</strong> IOException
<a class="jxr_linenumber" name="599" href="#599">599</a>     {
<a class="jxr_linenumber" name="600" href="#600">600</a>         String resourceDir = resourcePath;
<a class="jxr_linenumber" name="601" href="#601">601</a> 
<a class="jxr_linenumber" name="602" href="#602">602</a>         <strong class="jxr_keyword">if</strong> ( !resourcePath.endsWith( <span class="jxr_string">"/"</span> ) )
<a class="jxr_linenumber" name="603" href="#603">603</a>         {
<a class="jxr_linenumber" name="604" href="#604">604</a>             <strong class="jxr_keyword">int</strong> idx = resourcePath.lastIndexOf( '/' );
<a class="jxr_linenumber" name="605" href="#605">605</a>             resourceDir = resourcePath.substring( 0, idx );
<a class="jxr_linenumber" name="606" href="#606">606</a>         }
<a class="jxr_linenumber" name="607" href="#607">607</a> 
<a class="jxr_linenumber" name="608" href="#608">608</a>         File sourceRepoDir = <strong class="jxr_keyword">new</strong> File( REPOPATH_DEFAULT_MANAGED );
<a class="jxr_linenumber" name="609" href="#609">609</a>         File sourceDir = <strong class="jxr_keyword">new</strong> File( sourceRepoDir, resourceDir );
<a class="jxr_linenumber" name="610" href="#610">610</a> 
<a class="jxr_linenumber" name="611" href="#611">611</a>         File destRepoDir = managedDefaultDir;
<a class="jxr_linenumber" name="612" href="#612">612</a>         File destDir = <strong class="jxr_keyword">new</strong> File( destRepoDir, resourceDir );
<a class="jxr_linenumber" name="613" href="#613">613</a> 
<a class="jxr_linenumber" name="614" href="#614">614</a>         <em class="jxr_comment">// Cleanout destination dirs.</em>
<a class="jxr_linenumber" name="615" href="#615">615</a>         <strong class="jxr_keyword">if</strong> ( destDir.exists() )
<a class="jxr_linenumber" name="616" href="#616">616</a>         {
<a class="jxr_linenumber" name="617" href="#617">617</a>             FileUtils.deleteDirectory( destDir );
<a class="jxr_linenumber" name="618" href="#618">618</a>         }
<a class="jxr_linenumber" name="619" href="#619">619</a> 
<a class="jxr_linenumber" name="620" href="#620">620</a>         <em class="jxr_comment">// Make the destination dir.</em>
<a class="jxr_linenumber" name="621" href="#621">621</a>         destDir.mkdirs();
<a class="jxr_linenumber" name="622" href="#622">622</a> 
<a class="jxr_linenumber" name="623" href="#623">623</a>         <em class="jxr_comment">// Test the source dir.</em>
<a class="jxr_linenumber" name="624" href="#624">624</a>         <strong class="jxr_keyword">if</strong> ( !sourceDir.exists() )
<a class="jxr_linenumber" name="625" href="#625">625</a>         {
<a class="jxr_linenumber" name="626" href="#626">626</a>             <em class="jxr_comment">// This is just a warning.</em>
<a class="jxr_linenumber" name="627" href="#627">627</a>             System.err.println(
<a class="jxr_linenumber" name="628" href="#628">628</a>                 <span class="jxr_string">"[WARN] Skipping setup of testable managed repository, source dir does not exist: "</span> + sourceDir );
<a class="jxr_linenumber" name="629" href="#629">629</a>         }
<a class="jxr_linenumber" name="630" href="#630">630</a>         <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="631" href="#631">631</a>         {
<a class="jxr_linenumber" name="632" href="#632">632</a> 
<a class="jxr_linenumber" name="633" href="#633">633</a>             <em class="jxr_comment">// Test that the source is a dir.</em>
<a class="jxr_linenumber" name="634" href="#634">634</a>             <strong class="jxr_keyword">if</strong> ( !sourceDir.isDirectory() )
<a class="jxr_linenumber" name="635" href="#635">635</a>             {
<a class="jxr_linenumber" name="636" href="#636">636</a>                 fail( <span class="jxr_string">"Unable to setup testable managed repository, source is not a directory: "</span> + sourceDir );
<a class="jxr_linenumber" name="637" href="#637">637</a>             }
<a class="jxr_linenumber" name="638" href="#638">638</a> 
<a class="jxr_linenumber" name="639" href="#639">639</a>             <em class="jxr_comment">// Copy directory structure.</em>
<a class="jxr_linenumber" name="640" href="#640">640</a>             copyDirectoryStructure( sourceDir, destDir );
<a class="jxr_linenumber" name="641" href="#641">641</a>         }
<a class="jxr_linenumber" name="642" href="#642">642</a>     }
<a class="jxr_linenumber" name="643" href="#643">643</a> 
<a class="jxr_linenumber" name="644" href="#644">644</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setManagedNewerThanRemote( File managedFile, File remoteFile )
<a class="jxr_linenumber" name="645" href="#645">645</a>     {
<a class="jxr_linenumber" name="646" href="#646">646</a>         setManagedNewerThanRemote( managedFile, remoteFile, 55000 );
<a class="jxr_linenumber" name="647" href="#647">647</a>     }
<a class="jxr_linenumber" name="648" href="#648">648</a> 
<a class="jxr_linenumber" name="649" href="#649">649</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setManagedNewerThanRemote( File managedFile, File remoteFile, <strong class="jxr_keyword">long</strong> time )
<a class="jxr_linenumber" name="650" href="#650">650</a>     {
<a class="jxr_linenumber" name="651" href="#651">651</a>         assertTrue( <span class="jxr_string">"Managed File should exist: "</span>, managedFile.exists() );
<a class="jxr_linenumber" name="652" href="#652">652</a>         assertTrue( <span class="jxr_string">"Remote File should exist: "</span>, remoteFile.exists() );
<a class="jxr_linenumber" name="653" href="#653">653</a> 
<a class="jxr_linenumber" name="654" href="#654">654</a>         managedFile.setLastModified( remoteFile.lastModified() + time );
<a class="jxr_linenumber" name="655" href="#655">655</a> 
<a class="jxr_linenumber" name="656" href="#656">656</a>         assertTrue( managedFile.lastModified() &gt; remoteFile.lastModified() );
<a class="jxr_linenumber" name="657" href="#657">657</a>     }
<a class="jxr_linenumber" name="658" href="#658">658</a> 
<a class="jxr_linenumber" name="659" href="#659">659</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setManagedOlderThanRemote( File managedFile, File remoteFile )
<a class="jxr_linenumber" name="660" href="#660">660</a>     {
<a class="jxr_linenumber" name="661" href="#661">661</a>         setManagedOlderThanRemote( managedFile, remoteFile, 55000 );
<a class="jxr_linenumber" name="662" href="#662">662</a>     }
<a class="jxr_linenumber" name="663" href="#663">663</a> 
<a class="jxr_linenumber" name="664" href="#664">664</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setManagedOlderThanRemote( File managedFile, File remoteFile, <strong class="jxr_keyword">long</strong> time )
<a class="jxr_linenumber" name="665" href="#665">665</a>     {
<a class="jxr_linenumber" name="666" href="#666">666</a>         assertTrue( <span class="jxr_string">"Managed File should exist: "</span>, managedFile.exists() );
<a class="jxr_linenumber" name="667" href="#667">667</a>         assertTrue( <span class="jxr_string">"Remote File should exist: "</span>, remoteFile.exists() );
<a class="jxr_linenumber" name="668" href="#668">668</a> 
<a class="jxr_linenumber" name="669" href="#669">669</a>         managedFile.setLastModified( remoteFile.lastModified() - time );
<a class="jxr_linenumber" name="670" href="#670">670</a> 
<a class="jxr_linenumber" name="671" href="#671">671</a>         assertTrue( managedFile.lastModified() &lt; remoteFile.lastModified() );
<a class="jxr_linenumber" name="672" href="#672">672</a> 
<a class="jxr_linenumber" name="673" href="#673">673</a>     }
<a class="jxr_linenumber" name="674" href="#674">674</a> 
<a class="jxr_linenumber" name="675" href="#675">675</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> assertNotModified( File file, <strong class="jxr_keyword">long</strong> expectedModificationTime )
<a class="jxr_linenumber" name="676" href="#676">676</a>     {
<a class="jxr_linenumber" name="677" href="#677">677</a>         assertEquals( <span class="jxr_string">"File &lt;"</span> + file.getAbsolutePath() + <span class="jxr_string">"&gt; not have been modified."</span>, expectedModificationTime,
<a class="jxr_linenumber" name="678" href="#678">678</a>                       file.lastModified() );
<a class="jxr_linenumber" name="679" href="#679">679</a>     }
<a class="jxr_linenumber" name="680" href="#680">680</a> 
<a class="jxr_linenumber" name="681" href="#681">681</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> assertNotExistsInManagedLegacyRepo( File file )
<a class="jxr_linenumber" name="682" href="#682">682</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="683" href="#683">683</a>     {
<a class="jxr_linenumber" name="684" href="#684">684</a>         String managedLegacyPath = managedLegacyDir.getCanonicalPath();
<a class="jxr_linenumber" name="685" href="#685">685</a>         String testFile = file.getCanonicalPath();
<a class="jxr_linenumber" name="686" href="#686">686</a> 
<a class="jxr_linenumber" name="687" href="#687">687</a>         assertTrue(
<a class="jxr_linenumber" name="688" href="#688">688</a>             <span class="jxr_string">"Unit Test Failure: File &lt;"</span> + testFile + <span class="jxr_string">"&gt; should be have been defined within the legacy managed path of &lt;"</span>
<a class="jxr_linenumber" name="689" href="#689">689</a>                 + managedLegacyPath + <span class="jxr_string">"&gt;"</span>, testFile.startsWith( managedLegacyPath ) );
<a class="jxr_linenumber" name="690" href="#690">690</a> 
<a class="jxr_linenumber" name="691" href="#691">691</a>         assertFalse( <span class="jxr_string">"File &lt; "</span> + testFile + <span class="jxr_string">"&gt; should not exist in managed legacy repository."</span>, file.exists() );
<a class="jxr_linenumber" name="692" href="#692">692</a>     }
<a class="jxr_linenumber" name="693" href="#693">693</a> 
<a class="jxr_linenumber" name="694" href="#694">694</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> assertNotExistsInManagedDefaultRepo( File file )
<a class="jxr_linenumber" name="695" href="#695">695</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="696" href="#696">696</a>     {
<a class="jxr_linenumber" name="697" href="#697">697</a>         String managedDefaultPath = managedDefaultDir.getCanonicalPath();
<a class="jxr_linenumber" name="698" href="#698">698</a>         String testFile = file.getCanonicalPath();
<a class="jxr_linenumber" name="699" href="#699">699</a> 
<a class="jxr_linenumber" name="700" href="#700">700</a>         assertTrue( <span class="jxr_string">"Unit Test Failure: File &lt;"</span> + testFile
<a class="jxr_linenumber" name="701" href="#701">701</a>                         + <span class="jxr_string">"&gt; should be have been defined within the managed default path of &lt;"</span> + managedDefaultPath
<a class="jxr_linenumber" name="702" href="#702">702</a>                         + <span class="jxr_string">"&gt;"</span>, testFile.startsWith( managedDefaultPath ) );
<a class="jxr_linenumber" name="703" href="#703">703</a> 
<a class="jxr_linenumber" name="704" href="#704">704</a>         assertFalse( <span class="jxr_string">"File &lt; "</span> + testFile + <span class="jxr_string">"&gt; should not exist in managed default repository."</span>, file.exists() );
<a class="jxr_linenumber" name="705" href="#705">705</a>     }
<a class="jxr_linenumber" name="706" href="#706">706</a> 
<a class="jxr_linenumber" name="707" href="#707">707</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Date getFutureDate()
<a class="jxr_linenumber" name="708" href="#708">708</a>         <strong class="jxr_keyword">throws</strong> ParseException
<a class="jxr_linenumber" name="709" href="#709">709</a>     {
<a class="jxr_linenumber" name="710" href="#710">710</a>         Calendar cal = Calendar.getInstance();
<a class="jxr_linenumber" name="711" href="#711">711</a>         cal.add( Calendar.YEAR, 1 );
<a class="jxr_linenumber" name="712" href="#712">712</a>         <strong class="jxr_keyword">return</strong> cal.getTime();
<a class="jxr_linenumber" name="713" href="#713">713</a>     }
<a class="jxr_linenumber" name="714" href="#714">714</a> 
<a class="jxr_linenumber" name="715" href="#715">715</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Date getPastDate()
<a class="jxr_linenumber" name="716" href="#716">716</a>         <strong class="jxr_keyword">throws</strong> ParseException
<a class="jxr_linenumber" name="717" href="#717">717</a>     {
<a class="jxr_linenumber" name="718" href="#718">718</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> SimpleDateFormat( <span class="jxr_string">"yyyy-MM-dd"</span>, Locale.US ).parse( <span class="jxr_string">"2000-01-01"</span> );
<a class="jxr_linenumber" name="719" href="#719">719</a>     }
<a class="jxr_linenumber" name="720" href="#720">720</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>
