<!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>DefaultRepositoryProxyHandler xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../apidocs/org/apache/archiva/proxy/DefaultRepositoryProxyHandler.html">View Javadoc</a></div><pre>
<a class="jxr_linenumber" name="L1" href="#L1">1</a>   <strong class="jxr_keyword">package</strong> org.apache.archiva.proxy;
<a class="jxr_linenumber" name="L2" href="#L2">2</a>   
<a class="jxr_linenumber" name="L3" href="#L3">3</a>   <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="L4" href="#L4">4</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one</em>
<a class="jxr_linenumber" name="L5" href="#L5">5</a>   <em class="jxr_comment"> * or more contributor license agreements.  See the NOTICE file</em>
<a class="jxr_linenumber" name="L6" href="#L6">6</a>   <em class="jxr_comment"> * distributed with this work for additional information</em>
<a class="jxr_linenumber" name="L7" href="#L7">7</a>   <em class="jxr_comment"> * regarding copyright ownership.  The ASF licenses this file</em>
<a class="jxr_linenumber" name="L8" href="#L8">8</a>   <em class="jxr_comment"> * to you under the Apache License, Version 2.0 (the</em>
<a class="jxr_linenumber" name="L9" href="#L9">9</a>   <em class="jxr_comment"> * "License"); you may not use this file except in compliance</em>
<a class="jxr_linenumber" name="L10" href="#L10">10</a>  <em class="jxr_comment"> * with the License.  You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="L11" href="#L11">11</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L12" href="#L12">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="L13" href="#L13">13</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L14" href="#L14">14</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing,</em>
<a class="jxr_linenumber" name="L15" href="#L15">15</a>  <em class="jxr_comment"> * software distributed under the License is distributed on an</em>
<a class="jxr_linenumber" name="L16" href="#L16">16</a>  <em class="jxr_comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a class="jxr_linenumber" name="L17" href="#L17">17</a>  <em class="jxr_comment"> * KIND, either express or implied.  See the License for the</em>
<a class="jxr_linenumber" name="L18" href="#L18">18</a>  <em class="jxr_comment"> * specific language governing permissions and limitations</em>
<a class="jxr_linenumber" name="L19" href="#L19">19</a>  <em class="jxr_comment"> * under the License.</em>
<a class="jxr_linenumber" name="L20" href="#L20">20</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="L21" href="#L21">21</a>  
<a class="jxr_linenumber" name="L22" href="#L22">22</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.checksum.ChecksumAlgorithm;
<a class="jxr_linenumber" name="L23" href="#L23">23</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.checksum.ChecksumUtil;
<a class="jxr_linenumber" name="L24" href="#L24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.common.filelock.FileLockManager;
<a class="jxr_linenumber" name="L25" href="#L25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.configuration.ArchivaConfiguration;
<a class="jxr_linenumber" name="L26" href="#L26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.configuration.ProxyConnectorConfiguration;
<a class="jxr_linenumber" name="L27" href="#L27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.configuration.ProxyConnectorRuleConfiguration;
<a class="jxr_linenumber" name="L28" href="#L28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.model.ArtifactReference;
<a class="jxr_linenumber" name="L29" href="#L29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.model.Keys;
<a class="jxr_linenumber" name="L30" href="#L30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.policies.DownloadErrorPolicy;
<a class="jxr_linenumber" name="L31" href="#L31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.policies.DownloadPolicy;
<a class="jxr_linenumber" name="L32" href="#L32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.policies.Policy;
<a class="jxr_linenumber" name="L33" href="#L33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.policies.PolicyConfigurationException;
<a class="jxr_linenumber" name="L34" href="#L34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.policies.PolicyOption;
<a class="jxr_linenumber" name="L35" href="#L35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.policies.PolicyViolationException;
<a class="jxr_linenumber" name="L36" href="#L36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.policies.PostDownloadPolicy;
<a class="jxr_linenumber" name="L37" href="#L37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.policies.PreDownloadPolicy;
<a class="jxr_linenumber" name="L38" href="#L38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.policies.ProxyDownloadException;
<a class="jxr_linenumber" name="L39" href="#L39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.policies.urlcache.UrlFailureCache;
<a class="jxr_linenumber" name="L40" href="#L40">40</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.proxy.model.NetworkProxy;
<a class="jxr_linenumber" name="L41" href="#L41">41</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.proxy.model.ProxyConnector;
<a class="jxr_linenumber" name="L42" href="#L42">42</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.proxy.model.ProxyFetchResult;
<a class="jxr_linenumber" name="L43" href="#L43">43</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.proxy.model.RepositoryProxyHandler;
<a class="jxr_linenumber" name="L44" href="#L44">44</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.components.taskqueue.TaskQueueException;
<a class="jxr_linenumber" name="L45" href="#L45">45</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.repository.ManagedRepository;
<a class="jxr_linenumber" name="L46" href="#L46">46</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.repository.RemoteRepository;
<a class="jxr_linenumber" name="L47" href="#L47">47</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.repository.RemoteRepositoryContent;
<a class="jxr_linenumber" name="L48" href="#L48">48</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.repository.RepositoryType;
<a class="jxr_linenumber" name="L49" href="#L49">49</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.repository.metadata.base.MetadataTools;
<a class="jxr_linenumber" name="L50" href="#L50">50</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.repository.metadata.RepositoryMetadataException;
<a class="jxr_linenumber" name="L51" href="#L51">51</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.repository.storage.FilesystemStorage;
<a class="jxr_linenumber" name="L52" href="#L52">52</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.repository.storage.StorageAsset;
<a class="jxr_linenumber" name="L53" href="#L53">53</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.repository.storage.StorageUtil;
<a class="jxr_linenumber" name="L54" href="#L54">54</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.scheduler.ArchivaTaskScheduler;
<a class="jxr_linenumber" name="L55" href="#L55">55</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.scheduler.repository.model.RepositoryTask;
<a class="jxr_linenumber" name="L56" href="#L56">56</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.collections4.CollectionUtils;
<a class="jxr_linenumber" name="L57" href="#L57">57</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.io.FilenameUtils;
<a class="jxr_linenumber" name="L58" href="#L58">58</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.lang3.StringUtils;
<a class="jxr_linenumber" name="L59" href="#L59">59</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.lang3.SystemUtils;
<a class="jxr_linenumber" name="L60" href="#L60">60</a>  <strong class="jxr_keyword">import</strong> org.apache.tools.ant.types.selectors.SelectorUtils;
<a class="jxr_linenumber" name="L61" href="#L61">61</a>  <strong class="jxr_keyword">import</strong> org.slf4j.Logger;
<a class="jxr_linenumber" name="L62" href="#L62">62</a>  <strong class="jxr_keyword">import</strong> org.slf4j.LoggerFactory;
<a class="jxr_linenumber" name="L63" href="#L63">63</a>  <strong class="jxr_keyword">import</strong> org.slf4j.MarkerFactory;
<a class="jxr_linenumber" name="L64" href="#L64">64</a>  
<a class="jxr_linenumber" name="L65" href="#L65">65</a>  <strong class="jxr_keyword">import</strong> javax.annotation.PostConstruct;
<a class="jxr_linenumber" name="L66" href="#L66">66</a>  <strong class="jxr_keyword">import</strong> javax.inject.Inject;
<a class="jxr_linenumber" name="L67" href="#L67">67</a>  <strong class="jxr_keyword">import</strong> javax.inject.Named;
<a class="jxr_linenumber" name="L68" href="#L68">68</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
<a class="jxr_linenumber" name="L69" href="#L69">69</a>  <strong class="jxr_keyword">import</strong> java.net.MalformedURLException;
<a class="jxr_linenumber" name="L70" href="#L70">70</a>  <strong class="jxr_keyword">import</strong> java.nio.file.Files;
<a class="jxr_linenumber" name="L71" href="#L71">71</a>  <strong class="jxr_keyword">import</strong> java.nio.file.Path;
<a class="jxr_linenumber" name="L72" href="#L72">72</a>  <strong class="jxr_keyword">import</strong> java.nio.file.StandardCopyOption;
<a class="jxr_linenumber" name="L73" href="#L73">73</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a class="jxr_linenumber" name="L74" href="#L74">74</a>  <strong class="jxr_keyword">import</strong> java.util.Collections;
<a class="jxr_linenumber" name="L75" href="#L75">75</a>  <strong class="jxr_keyword">import</strong> java.util.HashMap;
<a class="jxr_linenumber" name="L76" href="#L76">76</a>  <strong class="jxr_keyword">import</strong> java.util.LinkedHashMap;
<a class="jxr_linenumber" name="L77" href="#L77">77</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<a class="jxr_linenumber" name="L78" href="#L78">78</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a class="jxr_linenumber" name="L79" href="#L79">79</a>  <strong class="jxr_keyword">import</strong> java.util.Properties;
<a class="jxr_linenumber" name="L80" href="#L80">80</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.ConcurrentHashMap;
<a class="jxr_linenumber" name="L81" href="#L81">81</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.ConcurrentMap;
<a class="jxr_linenumber" name="L82" href="#L82">82</a>  
<a class="jxr_linenumber" name="L83" href="#L83">83</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a name="DefaultRepositoryProxyHandler" href="../../../../org/apache/archiva/proxy/DefaultRepositoryProxyHandler.html#DefaultRepositoryProxyHandler">DefaultRepositoryProxyHandler</a> <strong class="jxr_keyword">implements</strong> RepositoryProxyHandler {
<a class="jxr_linenumber" name="L84" href="#L84">84</a>  
<a class="jxr_linenumber" name="L85" href="#L85">85</a>      <strong class="jxr_keyword">protected</strong> Logger log = LoggerFactory.getLogger( DefaultRepositoryProxyHandler.<strong class="jxr_keyword">class</strong> );
<a class="jxr_linenumber" name="L86" href="#L86">86</a>      @Inject
<a class="jxr_linenumber" name="L87" href="#L87">87</a>      <strong class="jxr_keyword">protected</strong> UrlFailureCache urlFailureCache;
<a class="jxr_linenumber" name="L88" href="#L88">88</a>  
<a class="jxr_linenumber" name="L89" href="#L89">89</a>      @Inject
<a class="jxr_linenumber" name="L90" href="#L90">90</a>      @Named(value = <span class="jxr_string">"metadataTools#default"</span>)
<a class="jxr_linenumber" name="L91" href="#L91">91</a>      <strong class="jxr_keyword">private</strong> MetadataTools metadataTools;
<a class="jxr_linenumber" name="L92" href="#L92">92</a>  
<a class="jxr_linenumber" name="L93" href="#L93">93</a>      <strong class="jxr_keyword">private</strong> Map&lt;String, PreDownloadPolicy&gt; preDownloadPolicies = <strong class="jxr_keyword">new</strong> HashMap&lt;&gt;(  );
<a class="jxr_linenumber" name="L94" href="#L94">94</a>      <strong class="jxr_keyword">private</strong> Map&lt;String, PostDownloadPolicy&gt; postDownloadPolicies = <strong class="jxr_keyword">new</strong> HashMap&lt;&gt;(  );
<a class="jxr_linenumber" name="L95" href="#L95">95</a>      <strong class="jxr_keyword">private</strong> Map&lt;String, DownloadErrorPolicy&gt; downloadErrorPolicies = <strong class="jxr_keyword">new</strong> HashMap&lt;&gt;(  );
<a class="jxr_linenumber" name="L96" href="#L96">96</a>      <strong class="jxr_keyword">private</strong> ConcurrentMap&lt;String, List&lt;ProxyConnector&gt;&gt; proxyConnectorMap = <strong class="jxr_keyword">new</strong> ConcurrentHashMap&lt;&gt;();
<a class="jxr_linenumber" name="L97" href="#L97">97</a>  
<a class="jxr_linenumber" name="L98" href="#L98">98</a>      @Inject
<a class="jxr_linenumber" name="L99" href="#L99">99</a>      @Named(value = <span class="jxr_string">"archivaTaskScheduler#repository"</span>)
<a class="jxr_linenumber" name="L100" href="#L100">100</a>     <strong class="jxr_keyword">private</strong> ArchivaTaskScheduler&lt;RepositoryTask&gt; scheduler;
<a class="jxr_linenumber" name="L101" href="#L101">101</a> 
<a class="jxr_linenumber" name="L102" href="#L102">102</a>     @Inject
<a class="jxr_linenumber" name="L103" href="#L103">103</a>     <strong class="jxr_keyword">private</strong> ArchivaConfiguration archivaConfiguration;
<a class="jxr_linenumber" name="L104" href="#L104">104</a> 
<a class="jxr_linenumber" name="L105" href="#L105">105</a>     @Inject
<a class="jxr_linenumber" name="L106" href="#L106">106</a>     @Named(value = <span class="jxr_string">"fileLockManager#default"</span>)
<a class="jxr_linenumber" name="L107" href="#L107">107</a>     <strong class="jxr_keyword">private</strong> FileLockManager fileLockManager;
<a class="jxr_linenumber" name="L108" href="#L108">108</a> 
<a class="jxr_linenumber" name="L109" href="#L109">109</a>     <strong class="jxr_keyword">private</strong> Map&lt;String, NetworkProxy&gt; networkProxyMap = <strong class="jxr_keyword">new</strong> ConcurrentHashMap&lt;&gt;();
<a class="jxr_linenumber" name="L110" href="#L110">110</a>     <strong class="jxr_keyword">private</strong> List&lt;ChecksumAlgorithm&gt; checksumAlgorithms;
<a class="jxr_linenumber" name="L111" href="#L111">111</a> 
<a class="jxr_linenumber" name="L112" href="#L112">112</a>     @PostConstruct
<a class="jxr_linenumber" name="L113" href="#L113">113</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> initialize()
<a class="jxr_linenumber" name="L114" href="#L114">114</a>     {
<a class="jxr_linenumber" name="L115" href="#L115">115</a>         checksumAlgorithms = ChecksumUtil.getAlgorithms(archivaConfiguration.getConfiguration().getArchivaRuntimeConfiguration().getChecksumTypes());
<a class="jxr_linenumber" name="L116" href="#L116">116</a>     }
<a class="jxr_linenumber" name="L117" href="#L117">117</a> 
<a class="jxr_linenumber" name="L118" href="#L118">118</a>     <strong class="jxr_keyword">private</strong> List&lt;ProxyConnectorRuleConfiguration&gt; findProxyConnectorRules(String sourceRepository,
<a class="jxr_linenumber" name="L119" href="#L119">119</a>                                                                           String targetRepository,
<a class="jxr_linenumber" name="L120" href="#L120">120</a>                                                                           List&lt;ProxyConnectorRuleConfiguration&gt; all )
<a class="jxr_linenumber" name="L121" href="#L121">121</a>     {
<a class="jxr_linenumber" name="L122" href="#L122">122</a>         List&lt;ProxyConnectorRuleConfiguration&gt; proxyConnectorRuleConfigurations = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
<a class="jxr_linenumber" name="L123" href="#L123">123</a> 
<a class="jxr_linenumber" name="L124" href="#L124">124</a>         <strong class="jxr_keyword">for</strong> ( ProxyConnectorRuleConfiguration proxyConnectorRuleConfiguration : all )
<a class="jxr_linenumber" name="L125" href="#L125">125</a>         {
<a class="jxr_linenumber" name="L126" href="#L126">126</a>             <strong class="jxr_keyword">for</strong> ( ProxyConnectorConfiguration proxyConnector : proxyConnectorRuleConfiguration.getProxyConnectors() )
<a class="jxr_linenumber" name="L127" href="#L127">127</a>             {
<a class="jxr_linenumber" name="L128" href="#L128">128</a>                 <strong class="jxr_keyword">if</strong> ( StringUtils.equals( sourceRepository, proxyConnector.getSourceRepoId() ) &amp;&amp; StringUtils.equals(
<a class="jxr_linenumber" name="L129" href="#L129">129</a>                     targetRepository, proxyConnector.getTargetRepoId() ) )
<a class="jxr_linenumber" name="L130" href="#L130">130</a>                 {
<a class="jxr_linenumber" name="L131" href="#L131">131</a>                     proxyConnectorRuleConfigurations.add( proxyConnectorRuleConfiguration );
<a class="jxr_linenumber" name="L132" href="#L132">132</a>                 }
<a class="jxr_linenumber" name="L133" href="#L133">133</a>             }
<a class="jxr_linenumber" name="L134" href="#L134">134</a>         }
<a class="jxr_linenumber" name="L135" href="#L135">135</a> 
<a class="jxr_linenumber" name="L136" href="#L136">136</a>         <strong class="jxr_keyword">return</strong> proxyConnectorRuleConfigurations;
<a class="jxr_linenumber" name="L137" href="#L137">137</a>     }
<a class="jxr_linenumber" name="L138" href="#L138">138</a> 
<a class="jxr_linenumber" name="L139" href="#L139">139</a>     @Override
<a class="jxr_linenumber" name="L140" href="#L140">140</a>     <strong class="jxr_keyword">public</strong> StorageAsset fetchFromProxies( ManagedRepository repository, ArtifactReference artifact )
<a class="jxr_linenumber" name="L141" href="#L141">141</a>         <strong class="jxr_keyword">throws</strong> ProxyDownloadException
<a class="jxr_linenumber" name="L142" href="#L142">142</a>     {
<a class="jxr_linenumber" name="L143" href="#L143">143</a>         StorageAsset localFile = toLocalFile( repository, artifact );
<a class="jxr_linenumber" name="L144" href="#L144">144</a> 
<a class="jxr_linenumber" name="L145" href="#L145">145</a>         Properties requestProperties = <strong class="jxr_keyword">new</strong> Properties();
<a class="jxr_linenumber" name="L146" href="#L146">146</a>         requestProperties.setProperty( <span class="jxr_string">"filetype"</span>, <span class="jxr_string">"artifact"</span> );
<a class="jxr_linenumber" name="L147" href="#L147">147</a>         requestProperties.setProperty( <span class="jxr_string">"version"</span>, artifact.getVersion() );
<a class="jxr_linenumber" name="L148" href="#L148">148</a>         requestProperties.setProperty( <span class="jxr_string">"managedRepositoryId"</span>, repository.getId() );
<a class="jxr_linenumber" name="L149" href="#L149">149</a> 
<a class="jxr_linenumber" name="L150" href="#L150">150</a>         List&lt;ProxyConnector&gt; connectors = getProxyConnectors( repository );
<a class="jxr_linenumber" name="L151" href="#L151">151</a>         Map&lt;String, Exception&gt; previousExceptions = <strong class="jxr_keyword">new</strong> LinkedHashMap&lt;&gt;();
<a class="jxr_linenumber" name="L152" href="#L152">152</a>         <strong class="jxr_keyword">for</strong> ( ProxyConnector connector : connectors )
<a class="jxr_linenumber" name="L153" href="#L153">153</a>         {
<a class="jxr_linenumber" name="L154" href="#L154">154</a>             <strong class="jxr_keyword">if</strong> ( !connector.isEnabled() )
<a class="jxr_linenumber" name="L155" href="#L155">155</a>             {
<a class="jxr_linenumber" name="L156" href="#L156">156</a>                 <strong class="jxr_keyword">continue</strong>;
<a class="jxr_linenumber" name="L157" href="#L157">157</a>             }
<a class="jxr_linenumber" name="L158" href="#L158">158</a> 
<a class="jxr_linenumber" name="L159" href="#L159">159</a>             RemoteRepository targetRepository = connector.getTargetRepository();
<a class="jxr_linenumber" name="L160" href="#L160">160</a>             requestProperties.setProperty( <span class="jxr_string">"remoteRepositoryId"</span>, targetRepository.getId() );
<a class="jxr_linenumber" name="L161" href="#L161">161</a> 
<a class="jxr_linenumber" name="L162" href="#L162">162</a>             String targetPath = targetRepository.getContent().toPath( artifact );
<a class="jxr_linenumber" name="L163" href="#L163">163</a> 
<a class="jxr_linenumber" name="L164" href="#L164">164</a>             <strong class="jxr_keyword">if</strong> ( SystemUtils.IS_OS_WINDOWS )
<a class="jxr_linenumber" name="L165" href="#L165">165</a>             {
<a class="jxr_linenumber" name="L166" href="#L166">166</a>                 <em class="jxr_comment">// toPath use system PATH_SEPARATOR so on windows url are \ which doesn't work very well :-)</em>
<a class="jxr_linenumber" name="L167" href="#L167">167</a>                 targetPath = FilenameUtils.separatorsToUnix( targetPath );
<a class="jxr_linenumber" name="L168" href="#L168">168</a>             }
<a class="jxr_linenumber" name="L169" href="#L169">169</a> 
<a class="jxr_linenumber" name="L170" href="#L170">170</a>             <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L171" href="#L171">171</a>             {
<a class="jxr_linenumber" name="L172" href="#L172">172</a>                 StorageAsset downloadedFile =
<a class="jxr_linenumber" name="L173" href="#L173">173</a>                     transferFile( connector, targetRepository, targetPath, repository, localFile, requestProperties,
<a class="jxr_linenumber" name="L174" href="#L174">174</a>                                   <strong class="jxr_keyword">true</strong> );
<a class="jxr_linenumber" name="L175" href="#L175">175</a> 
<a class="jxr_linenumber" name="L176" href="#L176">176</a>                 <strong class="jxr_keyword">if</strong> ( fileExists(downloadedFile) )
<a class="jxr_linenumber" name="L177" href="#L177">177</a>                 {
<a class="jxr_linenumber" name="L178" href="#L178">178</a>                     log.debug( <span class="jxr_string">"Successfully transferred: {}"</span>, downloadedFile.getPath() );
<a class="jxr_linenumber" name="L179" href="#L179">179</a>                     <strong class="jxr_keyword">return</strong> downloadedFile;
<a class="jxr_linenumber" name="L180" href="#L180">180</a>                 }
<a class="jxr_linenumber" name="L181" href="#L181">181</a>             }
<a class="jxr_linenumber" name="L182" href="#L182">182</a>             <strong class="jxr_keyword">catch</strong> ( <a name="NotFoundException" href="../../../../org/apache/archiva/proxy/NotFoundException.html#NotFoundException">NotFoundException</a> e )
<a class="jxr_linenumber" name="L183" href="#L183">183</a>             {
<a class="jxr_linenumber" name="L184" href="#L184">184</a>                 log.debug( <span class="jxr_string">"Artifact {} not found on repository \&quot;{}\&quot;."</span>, Keys.toKey( artifact ),
<a class="jxr_linenumber" name="L185" href="#L185">185</a>                            targetRepository.getId() );
<a class="jxr_linenumber" name="L186" href="#L186">186</a>             }
<a class="jxr_linenumber" name="L187" href="#L187">187</a>             <strong class="jxr_keyword">catch</strong> ( <a name="NotModifiedException" href="../../../../org/apache/archiva/proxy/NotModifiedException.html#NotModifiedException">NotModifiedException</a> e )
<a class="jxr_linenumber" name="L188" href="#L188">188</a>             {
<a class="jxr_linenumber" name="L189" href="#L189">189</a>                 log.debug( <span class="jxr_string">"Artifact {} not updated on repository \&quot;{}\&quot;."</span>, Keys.toKey( artifact ),
<a class="jxr_linenumber" name="L190" href="#L190">190</a>                            targetRepository.getId() );
<a class="jxr_linenumber" name="L191" href="#L191">191</a>             }
<a class="jxr_linenumber" name="L192" href="#L192">192</a>             <strong class="jxr_keyword">catch</strong> ( <a name="ProxyException" href="../../../../org/apache/archiva/proxy/ProxyException.html#ProxyException">ProxyException</a> e )
<a class="jxr_linenumber" name="L193" href="#L193">193</a>             {
<a class="jxr_linenumber" name="L194" href="#L194">194</a>                 validatePolicies( <strong class="jxr_keyword">this</strong>.downloadErrorPolicies, connector.getPolicies(), requestProperties, artifact,
<a class="jxr_linenumber" name="L195" href="#L195">195</a>                                   targetRepository.getContent(), localFile, e, previousExceptions );
<a class="jxr_linenumber" name="L196" href="#L196">196</a>             }
<a class="jxr_linenumber" name="L197" href="#L197">197</a>         }
<a class="jxr_linenumber" name="L198" href="#L198">198</a> 
<a class="jxr_linenumber" name="L199" href="#L199">199</a>         <strong class="jxr_keyword">if</strong> ( !previousExceptions.isEmpty() )
<a class="jxr_linenumber" name="L200" href="#L200">200</a>         {
<a class="jxr_linenumber" name="L201" href="#L201">201</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> ProxyDownloadException( <span class="jxr_string">"Failures occurred downloading from some remote repositories"</span>,
<a class="jxr_linenumber" name="L202" href="#L202">202</a>                                               previousExceptions );
<a class="jxr_linenumber" name="L203" href="#L203">203</a>         }
<a class="jxr_linenumber" name="L204" href="#L204">204</a> 
<a class="jxr_linenumber" name="L205" href="#L205">205</a>         log.debug( <span class="jxr_string">"Exhausted all target repositories, artifact {} not found."</span>, Keys.toKey( artifact ) );
<a class="jxr_linenumber" name="L206" href="#L206">206</a> 
<a class="jxr_linenumber" name="L207" href="#L207">207</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L208" href="#L208">208</a>     }
<a class="jxr_linenumber" name="L209" href="#L209">209</a> 
<a class="jxr_linenumber" name="L210" href="#L210">210</a>     @Override
<a class="jxr_linenumber" name="L211" href="#L211">211</a>     <strong class="jxr_keyword">public</strong> StorageAsset fetchFromProxies( ManagedRepository repository, String path )
<a class="jxr_linenumber" name="L212" href="#L212">212</a>     {
<a class="jxr_linenumber" name="L213" href="#L213">213</a>         StorageAsset localFile = repository.getAsset( path );
<a class="jxr_linenumber" name="L214" href="#L214">214</a> 
<a class="jxr_linenumber" name="L215" href="#L215">215</a>         <em class="jxr_comment">// no update policies for these paths</em>
<a class="jxr_linenumber" name="L216" href="#L216">216</a>         <strong class="jxr_keyword">if</strong> ( localFile.exists() )
<a class="jxr_linenumber" name="L217" href="#L217">217</a>         {
<a class="jxr_linenumber" name="L218" href="#L218">218</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L219" href="#L219">219</a>         }
<a class="jxr_linenumber" name="L220" href="#L220">220</a> 
<a class="jxr_linenumber" name="L221" href="#L221">221</a>         Properties requestProperties = <strong class="jxr_keyword">new</strong> Properties();
<a class="jxr_linenumber" name="L222" href="#L222">222</a>         requestProperties.setProperty( <span class="jxr_string">"filetype"</span>, <span class="jxr_string">"resource"</span> );
<a class="jxr_linenumber" name="L223" href="#L223">223</a>         requestProperties.setProperty( <span class="jxr_string">"managedRepositoryId"</span>, repository.getId() );
<a class="jxr_linenumber" name="L224" href="#L224">224</a> 
<a class="jxr_linenumber" name="L225" href="#L225">225</a>         List&lt;ProxyConnector&gt; connectors = getProxyConnectors( repository );
<a class="jxr_linenumber" name="L226" href="#L226">226</a>         <strong class="jxr_keyword">for</strong> ( ProxyConnector connector : connectors )
<a class="jxr_linenumber" name="L227" href="#L227">227</a>         {
<a class="jxr_linenumber" name="L228" href="#L228">228</a>             <strong class="jxr_keyword">if</strong> ( !connector.isEnabled() )
<a class="jxr_linenumber" name="L229" href="#L229">229</a>             {
<a class="jxr_linenumber" name="L230" href="#L230">230</a>                 <strong class="jxr_keyword">continue</strong>;
<a class="jxr_linenumber" name="L231" href="#L231">231</a>             }
<a class="jxr_linenumber" name="L232" href="#L232">232</a> 
<a class="jxr_linenumber" name="L233" href="#L233">233</a>             RemoteRepository targetRepository = connector.getTargetRepository();
<a class="jxr_linenumber" name="L234" href="#L234">234</a>             requestProperties.setProperty( <span class="jxr_string">"remoteRepositoryId"</span>, targetRepository.getId() );
<a class="jxr_linenumber" name="L235" href="#L235">235</a> 
<a class="jxr_linenumber" name="L236" href="#L236">236</a>             String targetPath = path;
<a class="jxr_linenumber" name="L237" href="#L237">237</a> 
<a class="jxr_linenumber" name="L238" href="#L238">238</a>             <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L239" href="#L239">239</a>             {
<a class="jxr_linenumber" name="L240" href="#L240">240</a>                 StorageAsset downloadedFile =
<a class="jxr_linenumber" name="L241" href="#L241">241</a>                     transferFile( connector, targetRepository, targetPath, repository, localFile, requestProperties,
<a class="jxr_linenumber" name="L242" href="#L242">242</a>                                   false );
<a class="jxr_linenumber" name="L243" href="#L243">243</a> 
<a class="jxr_linenumber" name="L244" href="#L244">244</a>                 <strong class="jxr_keyword">if</strong> ( fileExists( downloadedFile ) )
<a class="jxr_linenumber" name="L245" href="#L245">245</a>                 {
<a class="jxr_linenumber" name="L246" href="#L246">246</a>                     log.debug( <span class="jxr_string">"Successfully transferred: {}"</span>, downloadedFile.getPath() );
<a class="jxr_linenumber" name="L247" href="#L247">247</a>                     <strong class="jxr_keyword">return</strong> downloadedFile;
<a class="jxr_linenumber" name="L248" href="#L248">248</a>                 }
<a class="jxr_linenumber" name="L249" href="#L249">249</a>             }
<a class="jxr_linenumber" name="L250" href="#L250">250</a>             <strong class="jxr_keyword">catch</strong> ( <a name="NotFoundException" href="../../../../org/apache/archiva/proxy/NotFoundException.html#NotFoundException">NotFoundException</a> e )
<a class="jxr_linenumber" name="L251" href="#L251">251</a>             {
<a class="jxr_linenumber" name="L252" href="#L252">252</a>                 log.debug( <span class="jxr_string">"Resource {} not found on repository \&quot;{}\&quot;."</span>, path,
<a class="jxr_linenumber" name="L253" href="#L253">253</a>                            targetRepository.getId() );
<a class="jxr_linenumber" name="L254" href="#L254">254</a>             }
<a class="jxr_linenumber" name="L255" href="#L255">255</a>             <strong class="jxr_keyword">catch</strong> ( <a name="NotModifiedException" href="../../../../org/apache/archiva/proxy/NotModifiedException.html#NotModifiedException">NotModifiedException</a> e )
<a class="jxr_linenumber" name="L256" href="#L256">256</a>             {
<a class="jxr_linenumber" name="L257" href="#L257">257</a>                 log.debug( <span class="jxr_string">"Resource {} not updated on repository \&quot;{}\&quot;."</span>, path,
<a class="jxr_linenumber" name="L258" href="#L258">258</a>                            targetRepository.getId() );
<a class="jxr_linenumber" name="L259" href="#L259">259</a>             }
<a class="jxr_linenumber" name="L260" href="#L260">260</a>             <strong class="jxr_keyword">catch</strong> ( <a name="ProxyException" href="../../../../org/apache/archiva/proxy/ProxyException.html#ProxyException">ProxyException</a> e )
<a class="jxr_linenumber" name="L261" href="#L261">261</a>             {
<a class="jxr_linenumber" name="L262" href="#L262">262</a>                 log.warn(
<a class="jxr_linenumber" name="L263" href="#L263">263</a>                     <span class="jxr_string">"Transfer error from repository {} for resource {}, continuing to next repository. Error message: {}"</span>,
<a class="jxr_linenumber" name="L264" href="#L264">264</a>                     targetRepository.getId(), path, e.getMessage() );
<a class="jxr_linenumber" name="L265" href="#L265">265</a>                 log.debug( MarkerFactory.getDetachedMarker( <span class="jxr_string">"transfer.error"</span> ),
<a class="jxr_linenumber" name="L266" href="#L266">266</a>                            <span class="jxr_string">"Transfer error from repository \&quot;{}"</span>
<a class="jxr_linenumber" name="L267" href="#L267">267</a>                                + <span class="jxr_string">"\&quot; for resource {}, continuing to next repository. Error message: {}"</span>,
<a class="jxr_linenumber" name="L268" href="#L268">268</a>                            targetRepository.getId(), path, e.getMessage(), e );
<a class="jxr_linenumber" name="L269" href="#L269">269</a>             }
<a class="jxr_linenumber" name="L270" href="#L270">270</a> 
<a class="jxr_linenumber" name="L271" href="#L271">271</a>         }
<a class="jxr_linenumber" name="L272" href="#L272">272</a> 
<a class="jxr_linenumber" name="L273" href="#L273">273</a>         log.debug( <span class="jxr_string">"Exhausted all target repositories, resource {} not found."</span>, path );
<a class="jxr_linenumber" name="L274" href="#L274">274</a> 
<a class="jxr_linenumber" name="L275" href="#L275">275</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L276" href="#L276">276</a>     }
<a class="jxr_linenumber" name="L277" href="#L277">277</a> 
<a class="jxr_linenumber" name="L278" href="#L278">278</a>     @Override
<a class="jxr_linenumber" name="L279" href="#L279">279</a>     <strong class="jxr_keyword">public</strong> ProxyFetchResult fetchMetadataFromProxies( ManagedRepository repository, String logicalPath )
<a class="jxr_linenumber" name="L280" href="#L280">280</a>     {
<a class="jxr_linenumber" name="L281" href="#L281">281</a>         StorageAsset localFile = repository.getAsset( logicalPath );
<a class="jxr_linenumber" name="L282" href="#L282">282</a> 
<a class="jxr_linenumber" name="L283" href="#L283">283</a>         Properties requestProperties = <strong class="jxr_keyword">new</strong> Properties();
<a class="jxr_linenumber" name="L284" href="#L284">284</a>         requestProperties.setProperty( <span class="jxr_string">"filetype"</span>, <span class="jxr_string">"metadata"</span> );
<a class="jxr_linenumber" name="L285" href="#L285">285</a>         <strong class="jxr_keyword">boolean</strong> metadataNeedsUpdating = false;
<a class="jxr_linenumber" name="L286" href="#L286">286</a>         <strong class="jxr_keyword">long</strong> originalTimestamp = getLastModified( localFile );
<a class="jxr_linenumber" name="L287" href="#L287">287</a> 
<a class="jxr_linenumber" name="L288" href="#L288">288</a>         List&lt;ProxyConnector&gt; connectors = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;( getProxyConnectors( repository ) );
<a class="jxr_linenumber" name="L289" href="#L289">289</a>         <strong class="jxr_keyword">for</strong> ( ProxyConnector connector : connectors )
<a class="jxr_linenumber" name="L290" href="#L290">290</a>         {
<a class="jxr_linenumber" name="L291" href="#L291">291</a>             <strong class="jxr_keyword">if</strong> ( !connector.isEnabled() )
<a class="jxr_linenumber" name="L292" href="#L292">292</a>             {
<a class="jxr_linenumber" name="L293" href="#L293">293</a>                 <strong class="jxr_keyword">continue</strong>;
<a class="jxr_linenumber" name="L294" href="#L294">294</a>             }
<a class="jxr_linenumber" name="L295" href="#L295">295</a> 
<a class="jxr_linenumber" name="L296" href="#L296">296</a>             RemoteRepository targetRepository = connector.getTargetRepository();
<a class="jxr_linenumber" name="L297" href="#L297">297</a> 
<a class="jxr_linenumber" name="L298" href="#L298">298</a>             StorageAsset localRepoFile = toLocalRepoFile( repository, targetRepository.getContent(), logicalPath );
<a class="jxr_linenumber" name="L299" href="#L299">299</a>             <strong class="jxr_keyword">long</strong> originalMetadataTimestamp = getLastModified( localRepoFile );
<a class="jxr_linenumber" name="L300" href="#L300">300</a> 
<a class="jxr_linenumber" name="L301" href="#L301">301</a>             <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L302" href="#L302">302</a>             {
<a class="jxr_linenumber" name="L303" href="#L303">303</a>                 transferFile( connector, targetRepository, logicalPath, repository, localRepoFile, requestProperties,
<a class="jxr_linenumber" name="L304" href="#L304">304</a>                               <strong class="jxr_keyword">true</strong> );
<a class="jxr_linenumber" name="L305" href="#L305">305</a> 
<a class="jxr_linenumber" name="L306" href="#L306">306</a>                 <strong class="jxr_keyword">if</strong> ( hasBeenUpdated( localRepoFile, originalMetadataTimestamp ) )
<a class="jxr_linenumber" name="L307" href="#L307">307</a>                 {
<a class="jxr_linenumber" name="L308" href="#L308">308</a>                     metadataNeedsUpdating = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L309" href="#L309">309</a>                 }
<a class="jxr_linenumber" name="L310" href="#L310">310</a>             }
<a class="jxr_linenumber" name="L311" href="#L311">311</a>             <strong class="jxr_keyword">catch</strong> ( <a name="NotFoundException" href="../../../../org/apache/archiva/proxy/NotFoundException.html#NotFoundException">NotFoundException</a> e )
<a class="jxr_linenumber" name="L312" href="#L312">312</a>             {
<a class="jxr_linenumber" name="L313" href="#L313">313</a> 
<a class="jxr_linenumber" name="L314" href="#L314">314</a>                 log.debug( <span class="jxr_string">"Metadata {} not found on remote repository '{}'."</span>, logicalPath,
<a class="jxr_linenumber" name="L315" href="#L315">315</a>                            targetRepository.getId(), e );
<a class="jxr_linenumber" name="L316" href="#L316">316</a> 
<a class="jxr_linenumber" name="L317" href="#L317">317</a>             }
<a class="jxr_linenumber" name="L318" href="#L318">318</a>             <strong class="jxr_keyword">catch</strong> ( <a name="NotModifiedException" href="../../../../org/apache/archiva/proxy/NotModifiedException.html#NotModifiedException">NotModifiedException</a> e )
<a class="jxr_linenumber" name="L319" href="#L319">319</a>             {
<a class="jxr_linenumber" name="L320" href="#L320">320</a> 
<a class="jxr_linenumber" name="L321" href="#L321">321</a>                 log.debug( <span class="jxr_string">"Metadata {} not updated on remote repository '{}'."</span>, logicalPath,
<a class="jxr_linenumber" name="L322" href="#L322">322</a>                            targetRepository.getId(), e );
<a class="jxr_linenumber" name="L323" href="#L323">323</a> 
<a class="jxr_linenumber" name="L324" href="#L324">324</a>             }
<a class="jxr_linenumber" name="L325" href="#L325">325</a>             <strong class="jxr_keyword">catch</strong> ( <a name="ProxyException" href="../../../../org/apache/archiva/proxy/ProxyException.html#ProxyException">ProxyException</a> e )
<a class="jxr_linenumber" name="L326" href="#L326">326</a>             {
<a class="jxr_linenumber" name="L327" href="#L327">327</a>                 log.warn(
<a class="jxr_linenumber" name="L328" href="#L328">328</a>                     <span class="jxr_string">"Transfer error from repository {} for versioned Metadata {}, continuing to next repository. Error message: {}"</span>,
<a class="jxr_linenumber" name="L329" href="#L329">329</a>                     targetRepository.getId(), logicalPath, e.getMessage() );
<a class="jxr_linenumber" name="L330" href="#L330">330</a>                 log.debug( <span class="jxr_string">"Full stack trace"</span>, e );
<a class="jxr_linenumber" name="L331" href="#L331">331</a>             }
<a class="jxr_linenumber" name="L332" href="#L332">332</a>         }
<a class="jxr_linenumber" name="L333" href="#L333">333</a> 
<a class="jxr_linenumber" name="L334" href="#L334">334</a>         <strong class="jxr_keyword">if</strong> ( hasBeenUpdated( localFile, originalTimestamp ) )
<a class="jxr_linenumber" name="L335" href="#L335">335</a>         {
<a class="jxr_linenumber" name="L336" href="#L336">336</a>             metadataNeedsUpdating = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L337" href="#L337">337</a>         }
<a class="jxr_linenumber" name="L338" href="#L338">338</a> 
<a class="jxr_linenumber" name="L339" href="#L339">339</a>         <strong class="jxr_keyword">if</strong> ( metadataNeedsUpdating || !localFile.exists())
<a class="jxr_linenumber" name="L340" href="#L340">340</a>         {
<a class="jxr_linenumber" name="L341" href="#L341">341</a>             <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L342" href="#L342">342</a>             {
<a class="jxr_linenumber" name="L343" href="#L343">343</a>                 metadataTools.updateMetadata( repository.getContent(), logicalPath );
<a class="jxr_linenumber" name="L344" href="#L344">344</a>             }
<a class="jxr_linenumber" name="L345" href="#L345">345</a>             <strong class="jxr_keyword">catch</strong> ( RepositoryMetadataException e )
<a class="jxr_linenumber" name="L346" href="#L346">346</a>             {
<a class="jxr_linenumber" name="L347" href="#L347">347</a>                 log.warn( <span class="jxr_string">"Unable to update metadata {}:{}"</span>, localFile.getPath(), e.getMessage(), e );
<a class="jxr_linenumber" name="L348" href="#L348">348</a>             }
<a class="jxr_linenumber" name="L349" href="#L349">349</a> 
<a class="jxr_linenumber" name="L350" href="#L350">350</a>         }
<a class="jxr_linenumber" name="L351" href="#L351">351</a> 
<a class="jxr_linenumber" name="L352" href="#L352">352</a>         <strong class="jxr_keyword">if</strong> ( fileExists( localFile ) )
<a class="jxr_linenumber" name="L353" href="#L353">353</a>         {
<a class="jxr_linenumber" name="L354" href="#L354">354</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> ProxyFetchResult( localFile, metadataNeedsUpdating );
<a class="jxr_linenumber" name="L355" href="#L355">355</a>         }
<a class="jxr_linenumber" name="L356" href="#L356">356</a> 
<a class="jxr_linenumber" name="L357" href="#L357">357</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> ProxyFetchResult( <strong class="jxr_keyword">null</strong>, false );
<a class="jxr_linenumber" name="L358" href="#L358">358</a>     }
<a class="jxr_linenumber" name="L359" href="#L359">359</a> 
<a class="jxr_linenumber" name="L360" href="#L360">360</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> getLastModified(StorageAsset file )
<a class="jxr_linenumber" name="L361" href="#L361">361</a>     {
<a class="jxr_linenumber" name="L362" href="#L362">362</a>         <strong class="jxr_keyword">if</strong> ( !file.exists() || file.isContainer() )
<a class="jxr_linenumber" name="L363" href="#L363">363</a>         {
<a class="jxr_linenumber" name="L364" href="#L364">364</a>             <strong class="jxr_keyword">return</strong> 0;
<a class="jxr_linenumber" name="L365" href="#L365">365</a>         }
<a class="jxr_linenumber" name="L366" href="#L366">366</a> 
<a class="jxr_linenumber" name="L367" href="#L367">367</a>         <strong class="jxr_keyword">return</strong> file.getModificationTime().toEpochMilli();
<a class="jxr_linenumber" name="L368" href="#L368">368</a>     }
<a class="jxr_linenumber" name="L369" href="#L369">369</a> 
<a class="jxr_linenumber" name="L370" href="#L370">370</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> hasBeenUpdated(StorageAsset file, <strong class="jxr_keyword">long</strong> originalLastModified )
<a class="jxr_linenumber" name="L371" href="#L371">371</a>     {
<a class="jxr_linenumber" name="L372" href="#L372">372</a>         <strong class="jxr_keyword">if</strong> ( !file.exists() || file.isContainer() )
<a class="jxr_linenumber" name="L373" href="#L373">373</a>         {
<a class="jxr_linenumber" name="L374" href="#L374">374</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="L375" href="#L375">375</a>         }
<a class="jxr_linenumber" name="L376" href="#L376">376</a> 
<a class="jxr_linenumber" name="L377" href="#L377">377</a>         <strong class="jxr_keyword">long</strong> currentLastModified = getLastModified( file );
<a class="jxr_linenumber" name="L378" href="#L378">378</a>         <strong class="jxr_keyword">return</strong> ( currentLastModified &gt; originalLastModified );
<a class="jxr_linenumber" name="L379" href="#L379">379</a>     }
<a class="jxr_linenumber" name="L380" href="#L380">380</a> 
<a class="jxr_linenumber" name="L381" href="#L381">381</a>     <strong class="jxr_keyword">private</strong> StorageAsset toLocalRepoFile( ManagedRepository repository, RemoteRepositoryContent targetRepository,
<a class="jxr_linenumber" name="L382" href="#L382">382</a>                                           String targetPath )
<a class="jxr_linenumber" name="L383" href="#L383">383</a>     {
<a class="jxr_linenumber" name="L384" href="#L384">384</a>         String repoPath = metadataTools.getRepositorySpecificName( targetRepository, targetPath );
<a class="jxr_linenumber" name="L385" href="#L385">385</a>         <strong class="jxr_keyword">return</strong> repository.getAsset( repoPath );
<a class="jxr_linenumber" name="L386" href="#L386">386</a>     }
<a class="jxr_linenumber" name="L387" href="#L387">387</a> 
<a class="jxr_linenumber" name="L388" href="#L388">388</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L389" href="#L389">389</a> <em class="jxr_javadoccomment">     * Test if the provided ManagedRepositoryContent has any proxies configured for it.</em>
<a class="jxr_linenumber" name="L390" href="#L390">390</a> <em class="jxr_javadoccomment">     * @param repository</em>
<a class="jxr_linenumber" name="L391" href="#L391">391</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L392" href="#L392">392</a>     @Override
<a class="jxr_linenumber" name="L393" href="#L393">393</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> hasProxies( ManagedRepository repository )
<a class="jxr_linenumber" name="L394" href="#L394">394</a>     {
<a class="jxr_linenumber" name="L395" href="#L395">395</a>         <strong class="jxr_keyword">synchronized</strong> ( <strong class="jxr_keyword">this</strong>.proxyConnectorMap )
<a class="jxr_linenumber" name="L396" href="#L396">396</a>         {
<a class="jxr_linenumber" name="L397" href="#L397">397</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.proxyConnectorMap.containsKey( repository.getId() );
<a class="jxr_linenumber" name="L398" href="#L398">398</a>         }
<a class="jxr_linenumber" name="L399" href="#L399">399</a>     }
<a class="jxr_linenumber" name="L400" href="#L400">400</a> 
<a class="jxr_linenumber" name="L401" href="#L401">401</a>     <strong class="jxr_keyword">private</strong> StorageAsset toLocalFile(ManagedRepository repository, ArtifactReference artifact )
<a class="jxr_linenumber" name="L402" href="#L402">402</a>     {
<a class="jxr_linenumber" name="L403" href="#L403">403</a>         <strong class="jxr_keyword">return</strong> repository.getContent().toFile( artifact );
<a class="jxr_linenumber" name="L404" href="#L404">404</a>     }
<a class="jxr_linenumber" name="L405" href="#L405">405</a> 
<a class="jxr_linenumber" name="L406" href="#L406">406</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L407" href="#L407">407</a> <em class="jxr_javadoccomment">     * Simple method to test if the file exists on the local disk.</em>
<a class="jxr_linenumber" name="L408" href="#L408">408</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L409" href="#L409">409</a> <em class="jxr_javadoccomment">     * @param file the file to test. (may be null)</em>
<a class="jxr_linenumber" name="L410" href="#L410">410</a> <em class="jxr_javadoccomment">     * @return true if file exists. false if the file param is null, doesn't exist, or is not of type File.</em>
<a class="jxr_linenumber" name="L411" href="#L411">411</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L412" href="#L412">412</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> fileExists( StorageAsset file )
<a class="jxr_linenumber" name="L413" href="#L413">413</a>     {
<a class="jxr_linenumber" name="L414" href="#L414">414</a>         <strong class="jxr_keyword">if</strong> ( file == <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L415" href="#L415">415</a>         {
<a class="jxr_linenumber" name="L416" href="#L416">416</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="L417" href="#L417">417</a>         }
<a class="jxr_linenumber" name="L418" href="#L418">418</a> 
<a class="jxr_linenumber" name="L419" href="#L419">419</a>         <strong class="jxr_keyword">if</strong> ( !file.exists())
<a class="jxr_linenumber" name="L420" href="#L420">420</a>         {
<a class="jxr_linenumber" name="L421" href="#L421">421</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="L422" href="#L422">422</a>         }
<a class="jxr_linenumber" name="L423" href="#L423">423</a> 
<a class="jxr_linenumber" name="L424" href="#L424">424</a>         <strong class="jxr_keyword">return</strong> !file.isContainer();
<a class="jxr_linenumber" name="L425" href="#L425">425</a>     }
<a class="jxr_linenumber" name="L426" href="#L426">426</a> 
<a class="jxr_linenumber" name="L427" href="#L427">427</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L428" href="#L428">428</a> <em class="jxr_javadoccomment">     * Perform the transfer of the file.</em>
<a class="jxr_linenumber" name="L429" href="#L429">429</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L430" href="#L430">430</a> <em class="jxr_javadoccomment">     * @param connector         the connector configuration to use.</em>
<a class="jxr_linenumber" name="L431" href="#L431">431</a> <em class="jxr_javadoccomment">     * @param remoteRepository  the remote repository get the resource from.</em>
<a class="jxr_linenumber" name="L432" href="#L432">432</a> <em class="jxr_javadoccomment">     * @param remotePath        the path in the remote repository to the resource to get.</em>
<a class="jxr_linenumber" name="L433" href="#L433">433</a> <em class="jxr_javadoccomment">     * @param repository        the managed repository that will hold the file</em>
<a class="jxr_linenumber" name="L434" href="#L434">434</a> <em class="jxr_javadoccomment">     * @param resource          the path relative to the repository storage where the file should be downloaded to</em>
<a class="jxr_linenumber" name="L435" href="#L435">435</a> <em class="jxr_javadoccomment">     * @param requestProperties the request properties to utilize for policy handling.</em>
<a class="jxr_linenumber" name="L436" href="#L436">436</a> <em class="jxr_javadoccomment">     * @param executeConsumers  whether to execute the consumers after proxying</em>
<a class="jxr_linenumber" name="L437" href="#L437">437</a> <em class="jxr_javadoccomment">     * @return the local file that was downloaded, or null if not downloaded.</em>
<a class="jxr_linenumber" name="L438" href="#L438">438</a> <em class="jxr_javadoccomment">     * @throws NotFoundException    if the file was not found on the remote repository.</em>
<a class="jxr_linenumber" name="L439" href="#L439">439</a> <em class="jxr_javadoccomment">     * @throws NotModifiedException if the localFile was present, and the resource was present on remote repository, but</em>
<a class="jxr_linenumber" name="L440" href="#L440">440</a> <em class="jxr_javadoccomment">     *                              the remote resource is not newer than the local File.</em>
<a class="jxr_linenumber" name="L441" href="#L441">441</a> <em class="jxr_javadoccomment">     * @throws ProxyException       if transfer was unsuccessful.</em>
<a class="jxr_linenumber" name="L442" href="#L442">442</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L443" href="#L443">443</a>     <strong class="jxr_keyword">protected</strong> StorageAsset transferFile( ProxyConnector connector, RemoteRepository remoteRepository, String remotePath,
<a class="jxr_linenumber" name="L444" href="#L444">444</a>                                          ManagedRepository repository, StorageAsset resource, Properties requestProperties,
<a class="jxr_linenumber" name="L445" href="#L445">445</a>                                          <strong class="jxr_keyword">boolean</strong> executeConsumers )
<a class="jxr_linenumber" name="L446" href="#L446">446</a>         <strong class="jxr_keyword">throws</strong> ProxyException, <a name="NotModifiedException" href="../../../../org/apache/archiva/proxy/NotModifiedException.html#NotModifiedException">NotModifiedException</a>
<a class="jxr_linenumber" name="L447" href="#L447">447</a>     {
<a class="jxr_linenumber" name="L448" href="#L448">448</a>         String url = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L449" href="#L449">449</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L450" href="#L450">450</a>         {
<a class="jxr_linenumber" name="L451" href="#L451">451</a>             url = remoteRepository.getLocation().toURL().toString();
<a class="jxr_linenumber" name="L452" href="#L452">452</a>         }
<a class="jxr_linenumber" name="L453" href="#L453">453</a>         <strong class="jxr_keyword">catch</strong> ( MalformedURLException e )
<a class="jxr_linenumber" name="L454" href="#L454">454</a>         {
<a class="jxr_linenumber" name="L455" href="#L455">455</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a name="ProxyException" href="../../../../org/apache/archiva/proxy/ProxyException.html#ProxyException">ProxyException</a>( e.getMessage(), e );
<a class="jxr_linenumber" name="L456" href="#L456">456</a>         }
<a class="jxr_linenumber" name="L457" href="#L457">457</a>         <strong class="jxr_keyword">if</strong> ( !url.endsWith( <span class="jxr_string">"/"</span> ) )
<a class="jxr_linenumber" name="L458" href="#L458">458</a>         {
<a class="jxr_linenumber" name="L459" href="#L459">459</a>             url = url + <span class="jxr_string">"/"</span>;
<a class="jxr_linenumber" name="L460" href="#L460">460</a>         }
<a class="jxr_linenumber" name="L461" href="#L461">461</a>         url = url + remotePath;
<a class="jxr_linenumber" name="L462" href="#L462">462</a>         requestProperties.setProperty( <span class="jxr_string">"url"</span>, url );
<a class="jxr_linenumber" name="L463" href="#L463">463</a> 
<a class="jxr_linenumber" name="L464" href="#L464">464</a>         <em class="jxr_comment">// Is a whitelist defined?</em>
<a class="jxr_linenumber" name="L465" href="#L465">465</a>         <strong class="jxr_keyword">if</strong> ( CollectionUtils.isNotEmpty( connector.getWhitelist() ) )
<a class="jxr_linenumber" name="L466" href="#L466">466</a>         {
<a class="jxr_linenumber" name="L467" href="#L467">467</a>             <em class="jxr_comment">// Path must belong to whitelist.</em>
<a class="jxr_linenumber" name="L468" href="#L468">468</a>             <strong class="jxr_keyword">if</strong> ( !matchesPattern( remotePath, connector.getWhitelist() ) )
<a class="jxr_linenumber" name="L469" href="#L469">469</a>             {
<a class="jxr_linenumber" name="L470" href="#L470">470</a>                 log.debug( <span class="jxr_string">"Path [{}] is not part of defined whitelist (skipping transfer from repository [{}])."</span>,
<a class="jxr_linenumber" name="L471" href="#L471">471</a>                            remotePath, remoteRepository.getId() );
<a class="jxr_linenumber" name="L472" href="#L472">472</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L473" href="#L473">473</a>             }
<a class="jxr_linenumber" name="L474" href="#L474">474</a>         }
<a class="jxr_linenumber" name="L475" href="#L475">475</a> 
<a class="jxr_linenumber" name="L476" href="#L476">476</a>         <em class="jxr_comment">// Is target path part of blacklist?</em>
<a class="jxr_linenumber" name="L477" href="#L477">477</a>         <strong class="jxr_keyword">if</strong> ( matchesPattern( remotePath, connector.getBlacklist() ) )
<a class="jxr_linenumber" name="L478" href="#L478">478</a>         {
<a class="jxr_linenumber" name="L479" href="#L479">479</a>             log.debug( <span class="jxr_string">"Path [{}] is part of blacklist (skipping transfer from repository [{}])."</span>, remotePath,
<a class="jxr_linenumber" name="L480" href="#L480">480</a>                        remoteRepository.getId() );
<a class="jxr_linenumber" name="L481" href="#L481">481</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L482" href="#L482">482</a>         }
<a class="jxr_linenumber" name="L483" href="#L483">483</a> 
<a class="jxr_linenumber" name="L484" href="#L484">484</a>         <em class="jxr_comment">// Handle pre-download policy</em>
<a class="jxr_linenumber" name="L485" href="#L485">485</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L486" href="#L486">486</a>         {
<a class="jxr_linenumber" name="L487" href="#L487">487</a>             validatePolicies( <strong class="jxr_keyword">this</strong>.preDownloadPolicies, connector.getPolicies(), requestProperties, resource );
<a class="jxr_linenumber" name="L488" href="#L488">488</a>         }
<a class="jxr_linenumber" name="L489" href="#L489">489</a>         <strong class="jxr_keyword">catch</strong> ( PolicyViolationException e )
<a class="jxr_linenumber" name="L490" href="#L490">490</a>         {
<a class="jxr_linenumber" name="L491" href="#L491">491</a>             String emsg = <span class="jxr_string">"Transfer not attempted on "</span> + url + <span class="jxr_string">" : "</span> + e.getMessage();
<a class="jxr_linenumber" name="L492" href="#L492">492</a>             <strong class="jxr_keyword">if</strong> ( resource.exists() )
<a class="jxr_linenumber" name="L493" href="#L493">493</a>             {
<a class="jxr_linenumber" name="L494" href="#L494">494</a>                 log.debug( <span class="jxr_string">"{} : using already present local file."</span>, emsg );
<a class="jxr_linenumber" name="L495" href="#L495">495</a>                 <strong class="jxr_keyword">return</strong> resource;
<a class="jxr_linenumber" name="L496" href="#L496">496</a>             }
<a class="jxr_linenumber" name="L497" href="#L497">497</a> 
<a class="jxr_linenumber" name="L498" href="#L498">498</a>             log.debug( emsg );
<a class="jxr_linenumber" name="L499" href="#L499">499</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L500" href="#L500">500</a>         }
<a class="jxr_linenumber" name="L501" href="#L501">501</a> 
<a class="jxr_linenumber" name="L502" href="#L502">502</a>         Path workingDirectory = createWorkingDirectory( repository );
<a class="jxr_linenumber" name="L503" href="#L503">503</a>         FilesystemStorage tmpStorage = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L504" href="#L504">504</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L505" href="#L505">505</a>         {
<a class="jxr_linenumber" name="L506" href="#L506">506</a>             tmpStorage = <strong class="jxr_keyword">new</strong> FilesystemStorage( workingDirectory, fileLockManager );
<a class="jxr_linenumber" name="L507" href="#L507">507</a>         }
<a class="jxr_linenumber" name="L508" href="#L508">508</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L509" href="#L509">509</a>         {
<a class="jxr_linenumber" name="L510" href="#L510">510</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a name="ProxyException" href="../../../../org/apache/archiva/proxy/ProxyException.html#ProxyException">ProxyException</a>( <span class="jxr_string">"Could not create tmp storage"</span> );
<a class="jxr_linenumber" name="L511" href="#L511">511</a>         }
<a class="jxr_linenumber" name="L512" href="#L512">512</a>         StorageAsset tmpResource = tmpStorage.getAsset( resource.getName( ) );
<a class="jxr_linenumber" name="L513" href="#L513">513</a>         StorageAsset[] tmpChecksumFiles = <strong class="jxr_keyword">new</strong> StorageAsset[checksumAlgorithms.size()];
<a class="jxr_linenumber" name="L514" href="#L514">514</a>         <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i=0; i&lt;checksumAlgorithms.size(); i++) {
<a class="jxr_linenumber" name="L515" href="#L515">515</a>             ChecksumAlgorithm alg = checksumAlgorithms.get( i );
<a class="jxr_linenumber" name="L516" href="#L516">516</a>             tmpChecksumFiles[i] = tmpStorage.getAsset( resource.getName() + <span class="jxr_string">"."</span> + alg.getDefaultExtension() );
<a class="jxr_linenumber" name="L517" href="#L517">517</a>         }
<a class="jxr_linenumber" name="L518" href="#L518">518</a> 
<a class="jxr_linenumber" name="L519" href="#L519">519</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L520" href="#L520">520</a>         {
<a class="jxr_linenumber" name="L521" href="#L521">521</a> 
<a class="jxr_linenumber" name="L522" href="#L522">522</a>             transferResources( connector, remoteRepository, tmpResource,tmpChecksumFiles , url, remotePath,
<a class="jxr_linenumber" name="L523" href="#L523">523</a>                 resource, workingDirectory, repository );
<a class="jxr_linenumber" name="L524" href="#L524">524</a> 
<a class="jxr_linenumber" name="L525" href="#L525">525</a>             <em class="jxr_comment">// Handle post-download policies.</em>
<a class="jxr_linenumber" name="L526" href="#L526">526</a>             <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L527" href="#L527">527</a>             {
<a class="jxr_linenumber" name="L528" href="#L528">528</a>                 validatePolicies( <strong class="jxr_keyword">this</strong>.postDownloadPolicies, connector.getPolicies(), requestProperties, tmpResource );
<a class="jxr_linenumber" name="L529" href="#L529">529</a>             }
<a class="jxr_linenumber" name="L530" href="#L530">530</a>             <strong class="jxr_keyword">catch</strong> ( PolicyViolationException e )
<a class="jxr_linenumber" name="L531" href="#L531">531</a>             {
<a class="jxr_linenumber" name="L532" href="#L532">532</a>                 log.warn( <span class="jxr_string">"Transfer invalidated from {} : {}"</span>, url, e.getMessage() );
<a class="jxr_linenumber" name="L533" href="#L533">533</a>                 executeConsumers = false;
<a class="jxr_linenumber" name="L534" href="#L534">534</a>                 <strong class="jxr_keyword">if</strong> ( !fileExists( tmpResource ) )
<a class="jxr_linenumber" name="L535" href="#L535">535</a>                 {
<a class="jxr_linenumber" name="L536" href="#L536">536</a>                     resource = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L537" href="#L537">537</a>                 }
<a class="jxr_linenumber" name="L538" href="#L538">538</a>             }
<a class="jxr_linenumber" name="L539" href="#L539">539</a> 
<a class="jxr_linenumber" name="L540" href="#L540">540</a>             <strong class="jxr_keyword">if</strong> ( resource != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L541" href="#L541">541</a>             {
<a class="jxr_linenumber" name="L542" href="#L542">542</a>                 <strong class="jxr_keyword">synchronized</strong> ( resource.getPath().intern() )
<a class="jxr_linenumber" name="L543" href="#L543">543</a>                 {
<a class="jxr_linenumber" name="L544" href="#L544">544</a>                     StorageAsset directory = resource.getParent();
<a class="jxr_linenumber" name="L545" href="#L545">545</a>                     <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i=0; i&lt;tmpChecksumFiles.length; i++) {
<a class="jxr_linenumber" name="L546" href="#L546">546</a>                         moveFileIfExists( tmpChecksumFiles[i], directory );
<a class="jxr_linenumber" name="L547" href="#L547">547</a>                     }
<a class="jxr_linenumber" name="L548" href="#L548">548</a>                     moveFileIfExists( tmpResource, directory );
<a class="jxr_linenumber" name="L549" href="#L549">549</a>                 }
<a class="jxr_linenumber" name="L550" href="#L550">550</a>             }
<a class="jxr_linenumber" name="L551" href="#L551">551</a>         }
<a class="jxr_linenumber" name="L552" href="#L552">552</a>         <strong class="jxr_keyword">finally</strong>
<a class="jxr_linenumber" name="L553" href="#L553">553</a>         {
<a class="jxr_linenumber" name="L554" href="#L554">554</a>             org.apache.archiva.common.utils.FileUtils.deleteQuietly( workingDirectory );
<a class="jxr_linenumber" name="L555" href="#L555">555</a>         }
<a class="jxr_linenumber" name="L556" href="#L556">556</a> 
<a class="jxr_linenumber" name="L557" href="#L557">557</a>         <strong class="jxr_keyword">if</strong> ( executeConsumers )
<a class="jxr_linenumber" name="L558" href="#L558">558</a>         {
<a class="jxr_linenumber" name="L559" href="#L559">559</a>             <em class="jxr_comment">// Just-in-time update of the index and database by executing the consumers for this artifact</em>
<a class="jxr_linenumber" name="L560" href="#L560">560</a>             <em class="jxr_comment">//consumers.executeConsumers( connector.getSourceRepository().getRepository(), resource );</em>
<a class="jxr_linenumber" name="L561" href="#L561">561</a>             queueRepositoryTask( connector.getSourceRepository().getId(), resource );
<a class="jxr_linenumber" name="L562" href="#L562">562</a>         }
<a class="jxr_linenumber" name="L563" href="#L563">563</a> 
<a class="jxr_linenumber" name="L564" href="#L564">564</a>         <strong class="jxr_keyword">return</strong> resource;
<a class="jxr_linenumber" name="L565" href="#L565">565</a>     }
<a class="jxr_linenumber" name="L566" href="#L566">566</a> 
<a class="jxr_linenumber" name="L567" href="#L567">567</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> transferResources( ProxyConnector connector, RemoteRepository remoteRepository,
<a class="jxr_linenumber" name="L568" href="#L568">568</a>                                                StorageAsset tmpResource, StorageAsset[] checksumFiles, String url, String remotePath, StorageAsset resource, Path workingDirectory,
<a class="jxr_linenumber" name="L569" href="#L569">569</a>                                                ManagedRepository repository ) <strong class="jxr_keyword">throws</strong> ProxyException;
<a class="jxr_linenumber" name="L570" href="#L570">570</a> 
<a class="jxr_linenumber" name="L571" href="#L571">571</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> queueRepositoryTask(String repositoryId, StorageAsset localFile )
<a class="jxr_linenumber" name="L572" href="#L572">572</a>     {
<a class="jxr_linenumber" name="L573" href="#L573">573</a>         RepositoryTask task = <strong class="jxr_keyword">new</strong> RepositoryTask();
<a class="jxr_linenumber" name="L574" href="#L574">574</a>         task.setRepositoryId( repositoryId );
<a class="jxr_linenumber" name="L575" href="#L575">575</a>         task.setResourceFile( localFile );
<a class="jxr_linenumber" name="L576" href="#L576">576</a>         task.setUpdateRelatedArtifacts( <strong class="jxr_keyword">true</strong> );
<a class="jxr_linenumber" name="L577" href="#L577">577</a>         task.setScanAll( <strong class="jxr_keyword">true</strong> );
<a class="jxr_linenumber" name="L578" href="#L578">578</a> 
<a class="jxr_linenumber" name="L579" href="#L579">579</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L580" href="#L580">580</a>         {
<a class="jxr_linenumber" name="L581" href="#L581">581</a>             scheduler.queueTask( task );
<a class="jxr_linenumber" name="L582" href="#L582">582</a>         }
<a class="jxr_linenumber" name="L583" href="#L583">583</a>         <strong class="jxr_keyword">catch</strong> ( TaskQueueException e )
<a class="jxr_linenumber" name="L584" href="#L584">584</a>         {
<a class="jxr_linenumber" name="L585" href="#L585">585</a>             log.error( <span class="jxr_string">"Unable to queue repository task to execute consumers on resource file ['{}"</span>
<a class="jxr_linenumber" name="L586" href="#L586">586</a>                            + <span class="jxr_string">"']."</span>, localFile.getName() );
<a class="jxr_linenumber" name="L587" href="#L587">587</a>         }
<a class="jxr_linenumber" name="L588" href="#L588">588</a>     }
<a class="jxr_linenumber" name="L589" href="#L589">589</a> 
<a class="jxr_linenumber" name="L590" href="#L590">590</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L591" href="#L591">591</a> <em class="jxr_javadoccomment">     * Moves the file into repository location if it exists</em>
<a class="jxr_linenumber" name="L592" href="#L592">592</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L593" href="#L593">593</a> <em class="jxr_javadoccomment">     * @param fileToMove this could be either the main artifact, sha1 or md5 checksum file.</em>
<a class="jxr_linenumber" name="L594" href="#L594">594</a> <em class="jxr_javadoccomment">     * @param directory  directory to write files to</em>
<a class="jxr_linenumber" name="L595" href="#L595">595</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L596" href="#L596">596</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> moveFileIfExists( StorageAsset fileToMove, StorageAsset directory )
<a class="jxr_linenumber" name="L597" href="#L597">597</a>         <strong class="jxr_keyword">throws</strong> <a name="ProxyException" href="../../../../org/apache/archiva/proxy/ProxyException.html#ProxyException">ProxyException</a>
<a class="jxr_linenumber" name="L598" href="#L598">598</a>     {
<a class="jxr_linenumber" name="L599" href="#L599">599</a>         <strong class="jxr_keyword">if</strong> ( fileToMove != <strong class="jxr_keyword">null</strong> &amp;&amp; fileToMove.exists() )
<a class="jxr_linenumber" name="L600" href="#L600">600</a>         {
<a class="jxr_linenumber" name="L601" href="#L601">601</a>             StorageAsset newLocation = directory.getStorage().getAsset( directory.getPath()+ <span class="jxr_string">"/"</span> + fileToMove.getName());
<a class="jxr_linenumber" name="L602" href="#L602">602</a>             moveTempToTarget( fileToMove, newLocation );
<a class="jxr_linenumber" name="L603" href="#L603">603</a>         }
<a class="jxr_linenumber" name="L604" href="#L604">604</a>     }
<a class="jxr_linenumber" name="L605" href="#L605">605</a> 
<a class="jxr_linenumber" name="L606" href="#L606">606</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L607" href="#L607">607</a> <em class="jxr_javadoccomment">     * Apply the policies.</em>
<a class="jxr_linenumber" name="L608" href="#L608">608</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L609" href="#L609">609</a> <em class="jxr_javadoccomment">     * @param policies  the map of policies to execute. (Map of String policy keys, to {@link DownloadPolicy} objects)</em>
<a class="jxr_linenumber" name="L610" href="#L610">610</a> <em class="jxr_javadoccomment">     * @param settings  the map of settings for the policies to execute. (Map of String policy keys, to String policy</em>
<a class="jxr_linenumber" name="L611" href="#L611">611</a> <em class="jxr_javadoccomment">     *                  setting)</em>
<a class="jxr_linenumber" name="L612" href="#L612">612</a> <em class="jxr_javadoccomment">     * @param request   the request properties (utilized by the {@link DownloadPolicy#applyPolicy(PolicyOption, Properties, StorageAsset)}</em>
<a class="jxr_linenumber" name="L613" href="#L613">613</a> <em class="jxr_javadoccomment">     *                  )</em>
<a class="jxr_linenumber" name="L614" href="#L614">614</a> <em class="jxr_javadoccomment">     * @param localFile the local file (utilized by the {@link DownloadPolicy#applyPolicy(PolicyOption, Properties, StorageAsset)})</em>
<a class="jxr_linenumber" name="L615" href="#L615">615</a> <em class="jxr_javadoccomment">     * @throws PolicyViolationException</em>
<a class="jxr_linenumber" name="L616" href="#L616">616</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L617" href="#L617">617</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> validatePolicies( Map&lt;String, ? <strong class="jxr_keyword">extends</strong> DownloadPolicy&gt; policies, Map&lt;Policy, PolicyOption&gt; settings,
<a class="jxr_linenumber" name="L618" href="#L618">618</a>                                    Properties request, StorageAsset localFile )
<a class="jxr_linenumber" name="L619" href="#L619">619</a>         <strong class="jxr_keyword">throws</strong> PolicyViolationException
<a class="jxr_linenumber" name="L620" href="#L620">620</a>     {
<a class="jxr_linenumber" name="L621" href="#L621">621</a>         <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;String, ? <strong class="jxr_keyword">extends</strong> DownloadPolicy&gt; entry : policies.entrySet() )
<a class="jxr_linenumber" name="L622" href="#L622">622</a>         {
<a class="jxr_linenumber" name="L623" href="#L623">623</a>             <em class="jxr_comment">// olamy with spring rolehint is now downloadPolicy#hint</em>
<a class="jxr_linenumber" name="L624" href="#L624">624</a>             <em class="jxr_comment">// so substring after last # to get the hint as with plexus</em>
<a class="jxr_linenumber" name="L625" href="#L625">625</a>             String key = entry.getValue( ).getId( );
<a class="jxr_linenumber" name="L626" href="#L626">626</a>             DownloadPolicy policy = entry.getValue();
<a class="jxr_linenumber" name="L627" href="#L627">627</a>             PolicyOption option = settings.containsKey(policy ) ? settings.get(policy) : policy.getDefaultOption();
<a class="jxr_linenumber" name="L628" href="#L628">628</a> 
<a class="jxr_linenumber" name="L629" href="#L629">629</a>             log.debug( <span class="jxr_string">"Applying [{}] policy with [{}]"</span>, key, option );
<a class="jxr_linenumber" name="L630" href="#L630">630</a>             <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L631" href="#L631">631</a>             {
<a class="jxr_linenumber" name="L632" href="#L632">632</a>                 policy.applyPolicy( option, request, localFile );
<a class="jxr_linenumber" name="L633" href="#L633">633</a>             }
<a class="jxr_linenumber" name="L634" href="#L634">634</a>             <strong class="jxr_keyword">catch</strong> ( PolicyConfigurationException e )
<a class="jxr_linenumber" name="L635" href="#L635">635</a>             {
<a class="jxr_linenumber" name="L636" href="#L636">636</a>                 log.error( e.getMessage(), e );
<a class="jxr_linenumber" name="L637" href="#L637">637</a>             }
<a class="jxr_linenumber" name="L638" href="#L638">638</a>         }
<a class="jxr_linenumber" name="L639" href="#L639">639</a>     }
<a class="jxr_linenumber" name="L640" href="#L640">640</a> 
<a class="jxr_linenumber" name="L641" href="#L641">641</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> validatePolicies( Map&lt;String, DownloadErrorPolicy&gt; policies, Map&lt;Policy, PolicyOption&gt; settings,
<a class="jxr_linenumber" name="L642" href="#L642">642</a>                                    Properties request, ArtifactReference artifact, RemoteRepositoryContent content,
<a class="jxr_linenumber" name="L643" href="#L643">643</a>                                    StorageAsset localFile, Exception exception, Map&lt;String, Exception&gt; previousExceptions )
<a class="jxr_linenumber" name="L644" href="#L644">644</a>         <strong class="jxr_keyword">throws</strong> ProxyDownloadException
<a class="jxr_linenumber" name="L645" href="#L645">645</a>     {
<a class="jxr_linenumber" name="L646" href="#L646">646</a>         <strong class="jxr_keyword">boolean</strong> process = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L647" href="#L647">647</a>         <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;String, ? <strong class="jxr_keyword">extends</strong> DownloadErrorPolicy&gt; entry : policies.entrySet() )
<a class="jxr_linenumber" name="L648" href="#L648">648</a>         {
<a class="jxr_linenumber" name="L649" href="#L649">649</a> 
<a class="jxr_linenumber" name="L650" href="#L650">650</a>             <em class="jxr_comment">// olamy with spring rolehint is now downloadPolicy#hint</em>
<a class="jxr_linenumber" name="L651" href="#L651">651</a>             <em class="jxr_comment">// so substring after last # to get the hint as with plexus</em>
<a class="jxr_linenumber" name="L652" href="#L652">652</a>             String key = entry.getValue( ).getId( );
<a class="jxr_linenumber" name="L653" href="#L653">653</a>             DownloadErrorPolicy policy = entry.getValue();
<a class="jxr_linenumber" name="L654" href="#L654">654</a>             PolicyOption option = settings.containsKey( policy ) ? settings.get(policy) : policy.getDefaultOption();
<a class="jxr_linenumber" name="L655" href="#L655">655</a> 
<a class="jxr_linenumber" name="L656" href="#L656">656</a>             log.debug( <span class="jxr_string">"Applying [{}] policy with [{}]"</span>, key, option );
<a class="jxr_linenumber" name="L657" href="#L657">657</a>             <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L658" href="#L658">658</a>             {
<a class="jxr_linenumber" name="L659" href="#L659">659</a>                 <em class="jxr_comment">// all policies must approve the exception, any can cancel</em>
<a class="jxr_linenumber" name="L660" href="#L660">660</a>                 process = policy.applyPolicy( option, request, localFile, exception, previousExceptions );
<a class="jxr_linenumber" name="L661" href="#L661">661</a>                 <strong class="jxr_keyword">if</strong> ( !process )
<a class="jxr_linenumber" name="L662" href="#L662">662</a>                 {
<a class="jxr_linenumber" name="L663" href="#L663">663</a>                     <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="L664" href="#L664">664</a>                 }
<a class="jxr_linenumber" name="L665" href="#L665">665</a>             }
<a class="jxr_linenumber" name="L666" href="#L666">666</a>             <strong class="jxr_keyword">catch</strong> ( PolicyConfigurationException e )
<a class="jxr_linenumber" name="L667" href="#L667">667</a>             {
<a class="jxr_linenumber" name="L668" href="#L668">668</a>                 log.error( e.getMessage(), e );
<a class="jxr_linenumber" name="L669" href="#L669">669</a>             }
<a class="jxr_linenumber" name="L670" href="#L670">670</a>         }
<a class="jxr_linenumber" name="L671" href="#L671">671</a> 
<a class="jxr_linenumber" name="L672" href="#L672">672</a>         <strong class="jxr_keyword">if</strong> ( process )
<a class="jxr_linenumber" name="L673" href="#L673">673</a>         {
<a class="jxr_linenumber" name="L674" href="#L674">674</a>             <em class="jxr_comment">// if the exception was queued, don't throw it</em>
<a class="jxr_linenumber" name="L675" href="#L675">675</a>             <strong class="jxr_keyword">if</strong> ( !previousExceptions.containsKey( content.getId() ) )
<a class="jxr_linenumber" name="L676" href="#L676">676</a>             {
<a class="jxr_linenumber" name="L677" href="#L677">677</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> ProxyDownloadException(
<a class="jxr_linenumber" name="L678" href="#L678">678</a>                     <span class="jxr_string">"An error occurred in downloading from the remote repository, and the policy is to fail immediately"</span>,
<a class="jxr_linenumber" name="L679" href="#L679">679</a>                     content.getId(), exception );
<a class="jxr_linenumber" name="L680" href="#L680">680</a>             }
<a class="jxr_linenumber" name="L681" href="#L681">681</a>         }
<a class="jxr_linenumber" name="L682" href="#L682">682</a>         <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L683" href="#L683">683</a>         {
<a class="jxr_linenumber" name="L684" href="#L684">684</a>             <em class="jxr_comment">// if the exception was queued, but cancelled, remove it</em>
<a class="jxr_linenumber" name="L685" href="#L685">685</a>             previousExceptions.remove( content.getId() );
<a class="jxr_linenumber" name="L686" href="#L686">686</a>         }
<a class="jxr_linenumber" name="L687" href="#L687">687</a> 
<a class="jxr_linenumber" name="L688" href="#L688">688</a>         log.warn(
<a class="jxr_linenumber" name="L689" href="#L689">689</a>             <span class="jxr_string">"Transfer error from repository {} for artifact {} , continuing to next repository. Error message: {}"</span>,
<a class="jxr_linenumber" name="L690" href="#L690">690</a>             content.getRepository().getId(), Keys.toKey( artifact ), exception.getMessage() );
<a class="jxr_linenumber" name="L691" href="#L691">691</a>         log.debug( <span class="jxr_string">"Full stack trace"</span>, exception );
<a class="jxr_linenumber" name="L692" href="#L692">692</a>     }
<a class="jxr_linenumber" name="L693" href="#L693">693</a> 
<a class="jxr_linenumber" name="L694" href="#L694">694</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L695" href="#L695">695</a> <em class="jxr_javadoccomment">     * Creates a working directory</em>
<a class="jxr_linenumber" name="L696" href="#L696">696</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L697" href="#L697">697</a> <em class="jxr_javadoccomment">     * @param repository</em>
<a class="jxr_linenumber" name="L698" href="#L698">698</a> <em class="jxr_javadoccomment">     * @return file location of working directory</em>
<a class="jxr_linenumber" name="L699" href="#L699">699</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L700" href="#L700">700</a>     <strong class="jxr_keyword">private</strong> Path createWorkingDirectory( ManagedRepository repository )
<a class="jxr_linenumber" name="L701" href="#L701">701</a>     {
<a class="jxr_linenumber" name="L702" href="#L702">702</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L703" href="#L703">703</a>         {
<a class="jxr_linenumber" name="L704" href="#L704">704</a>             <strong class="jxr_keyword">return</strong> Files.createTempDirectory( <span class="jxr_string">"temp"</span> );
<a class="jxr_linenumber" name="L705" href="#L705">705</a>         }
<a class="jxr_linenumber" name="L706" href="#L706">706</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L707" href="#L707">707</a>         {
<a class="jxr_linenumber" name="L708" href="#L708">708</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeException( e.getMessage(), e );
<a class="jxr_linenumber" name="L709" href="#L709">709</a>         }
<a class="jxr_linenumber" name="L710" href="#L710">710</a> 
<a class="jxr_linenumber" name="L711" href="#L711">711</a>     }
<a class="jxr_linenumber" name="L712" href="#L712">712</a> 
<a class="jxr_linenumber" name="L713" href="#L713">713</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L714" href="#L714">714</a> <em class="jxr_javadoccomment">     * Used to move the temporary file to its real destination. This is patterned from the way WagonManager handles its</em>
<a class="jxr_linenumber" name="L715" href="#L715">715</a> <em class="jxr_javadoccomment">     * downloaded files.</em>
<a class="jxr_linenumber" name="L716" href="#L716">716</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L717" href="#L717">717</a> <em class="jxr_javadoccomment">     * @param temp   The completed download file</em>
<a class="jxr_linenumber" name="L718" href="#L718">718</a> <em class="jxr_javadoccomment">     * @param target The final location of the downloaded file</em>
<a class="jxr_linenumber" name="L719" href="#L719">719</a> <em class="jxr_javadoccomment">     * @throws ProxyException when the temp file cannot replace the target file</em>
<a class="jxr_linenumber" name="L720" href="#L720">720</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L721" href="#L721">721</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> moveTempToTarget( StorageAsset temp, StorageAsset target )
<a class="jxr_linenumber" name="L722" href="#L722">722</a>         <strong class="jxr_keyword">throws</strong> <a name="ProxyException" href="../../../../org/apache/archiva/proxy/ProxyException.html#ProxyException">ProxyException</a>
<a class="jxr_linenumber" name="L723" href="#L723">723</a>     {
<a class="jxr_linenumber" name="L724" href="#L724">724</a> 
<a class="jxr_linenumber" name="L725" href="#L725">725</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L726" href="#L726">726</a>         {
<a class="jxr_linenumber" name="L727" href="#L727">727</a>             StorageUtil.moveAsset( temp, target, <strong class="jxr_keyword">true</strong> , StandardCopyOption.REPLACE_EXISTING);
<a class="jxr_linenumber" name="L728" href="#L728">728</a>         }
<a class="jxr_linenumber" name="L729" href="#L729">729</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L730" href="#L730">730</a>         {
<a class="jxr_linenumber" name="L731" href="#L731">731</a>             log.error( <span class="jxr_string">"Move failed from {} to {}, trying copy."</span>, temp, target );
<a class="jxr_linenumber" name="L732" href="#L732">732</a>             <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L733" href="#L733">733</a>             {
<a class="jxr_linenumber" name="L734" href="#L734">734</a>                 StorageUtil.copyAsset( temp, target, <strong class="jxr_keyword">true</strong> );
<a class="jxr_linenumber" name="L735" href="#L735">735</a>                 <strong class="jxr_keyword">if</strong> (temp.exists()) {
<a class="jxr_linenumber" name="L736" href="#L736">736</a>                     temp.getStorage( ).removeAsset( temp );
<a class="jxr_linenumber" name="L737" href="#L737">737</a>                 }
<a class="jxr_linenumber" name="L738" href="#L738">738</a>             }
<a class="jxr_linenumber" name="L739" href="#L739">739</a>             <strong class="jxr_keyword">catch</strong> ( IOException ex )
<a class="jxr_linenumber" name="L740" href="#L740">740</a>             {
<a class="jxr_linenumber" name="L741" href="#L741">741</a>                 log.error(<span class="jxr_string">"Copy failed from {} to {}: ({}) {}"</span>, temp, target, e.getClass(), e.getMessage());
<a class="jxr_linenumber" name="L742" href="#L742">742</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a name="ProxyException" href="../../../../org/apache/archiva/proxy/ProxyException.html#ProxyException">ProxyException</a>(<span class="jxr_string">"Could not move temp file "</span>+temp.getPath()+<span class="jxr_string">" to target "</span>+target.getPath()+<span class="jxr_string">": ("</span>+e.getClass()+<span class="jxr_string">") "</span>+e.getMessage(), e);
<a class="jxr_linenumber" name="L743" href="#L743">743</a>             }
<a class="jxr_linenumber" name="L744" href="#L744">744</a>         }
<a class="jxr_linenumber" name="L745" href="#L745">745</a>     }
<a class="jxr_linenumber" name="L746" href="#L746">746</a> 
<a class="jxr_linenumber" name="L747" href="#L747">747</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L748" href="#L748">748</a> <em class="jxr_javadoccomment">     * Tests whitelist and blacklist patterns against path.</em>
<a class="jxr_linenumber" name="L749" href="#L749">749</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L750" href="#L750">750</a> <em class="jxr_javadoccomment">     * @param path     the path to test.</em>
<a class="jxr_linenumber" name="L751" href="#L751">751</a> <em class="jxr_javadoccomment">     * @param patterns the list of patterns to check.</em>
<a class="jxr_linenumber" name="L752" href="#L752">752</a> <em class="jxr_javadoccomment">     * @return true if the path matches at least 1 pattern in the provided patterns list.</em>
<a class="jxr_linenumber" name="L753" href="#L753">753</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L754" href="#L754">754</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> matchesPattern( String path, List&lt;String&gt; patterns )
<a class="jxr_linenumber" name="L755" href="#L755">755</a>     {
<a class="jxr_linenumber" name="L756" href="#L756">756</a>         <strong class="jxr_keyword">if</strong> ( CollectionUtils.isEmpty( patterns ) )
<a class="jxr_linenumber" name="L757" href="#L757">757</a>         {
<a class="jxr_linenumber" name="L758" href="#L758">758</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="L759" href="#L759">759</a>         }
<a class="jxr_linenumber" name="L760" href="#L760">760</a> 
<a class="jxr_linenumber" name="L761" href="#L761">761</a>         <strong class="jxr_keyword">if</strong> ( !path.startsWith( <span class="jxr_string">"/"</span> ) )
<a class="jxr_linenumber" name="L762" href="#L762">762</a>         {
<a class="jxr_linenumber" name="L763" href="#L763">763</a>             path = <span class="jxr_string">"/"</span> + path;
<a class="jxr_linenumber" name="L764" href="#L764">764</a>         }
<a class="jxr_linenumber" name="L765" href="#L765">765</a> 
<a class="jxr_linenumber" name="L766" href="#L766">766</a>         <strong class="jxr_keyword">for</strong> ( String pattern : patterns )
<a class="jxr_linenumber" name="L767" href="#L767">767</a>         {
<a class="jxr_linenumber" name="L768" href="#L768">768</a>             <strong class="jxr_keyword">if</strong> ( !pattern.startsWith( <span class="jxr_string">"/"</span> ) )
<a class="jxr_linenumber" name="L769" href="#L769">769</a>             {
<a class="jxr_linenumber" name="L770" href="#L770">770</a>                 pattern = <span class="jxr_string">"/"</span> + pattern;
<a class="jxr_linenumber" name="L771" href="#L771">771</a>             }
<a class="jxr_linenumber" name="L772" href="#L772">772</a> 
<a class="jxr_linenumber" name="L773" href="#L773">773</a>             <strong class="jxr_keyword">if</strong> ( SelectorUtils.matchPath( pattern, path, false ) )
<a class="jxr_linenumber" name="L774" href="#L774">774</a>             {
<a class="jxr_linenumber" name="L775" href="#L775">775</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L776" href="#L776">776</a>             }
<a class="jxr_linenumber" name="L777" href="#L777">777</a>         }
<a class="jxr_linenumber" name="L778" href="#L778">778</a> 
<a class="jxr_linenumber" name="L779" href="#L779">779</a>         <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="L780" href="#L780">780</a>     }
<a class="jxr_linenumber" name="L781" href="#L781">781</a> 
<a class="jxr_linenumber" name="L782" href="#L782">782</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L783" href="#L783">783</a> <em class="jxr_javadoccomment">     * TODO: Ensure that list is correctly ordered based on configuration. See MRM-477</em>
<a class="jxr_linenumber" name="L784" href="#L784">784</a> <em class="jxr_javadoccomment">     * @param repository</em>
<a class="jxr_linenumber" name="L785" href="#L785">785</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L786" href="#L786">786</a>     @Override
<a class="jxr_linenumber" name="L787" href="#L787">787</a>     <strong class="jxr_keyword">public</strong> List&lt;ProxyConnector&gt; getProxyConnectors( ManagedRepository repository )
<a class="jxr_linenumber" name="L788" href="#L788">788</a>     {
<a class="jxr_linenumber" name="L789" href="#L789">789</a> 
<a class="jxr_linenumber" name="L790" href="#L790">790</a>         <strong class="jxr_keyword">if</strong> ( !<strong class="jxr_keyword">this</strong>.proxyConnectorMap.containsKey( repository.getId() ) )
<a class="jxr_linenumber" name="L791" href="#L791">791</a>         {
<a class="jxr_linenumber" name="L792" href="#L792">792</a>             <strong class="jxr_keyword">return</strong> Collections.emptyList();
<a class="jxr_linenumber" name="L793" href="#L793">793</a>         }
<a class="jxr_linenumber" name="L794" href="#L794">794</a>         List&lt;ProxyConnector&gt; ret = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;( <strong class="jxr_keyword">this</strong>.proxyConnectorMap.get( repository.getId() ) );
<a class="jxr_linenumber" name="L795" href="#L795">795</a> 
<a class="jxr_linenumber" name="L796" href="#L796">796</a>         Collections.sort( ret, ProxyConnectorOrderComparator.getInstance() );
<a class="jxr_linenumber" name="L797" href="#L797">797</a>         <strong class="jxr_keyword">return</strong> ret;
<a class="jxr_linenumber" name="L798" href="#L798">798</a> 
<a class="jxr_linenumber" name="L799" href="#L799">799</a>     }
<a class="jxr_linenumber" name="L800" href="#L800">800</a> 
<a class="jxr_linenumber" name="L801" href="#L801">801</a> 
<a class="jxr_linenumber" name="L802" href="#L802">802</a>     <strong class="jxr_keyword">protected</strong> String addParameters(String path, RemoteRepository remoteRepository )
<a class="jxr_linenumber" name="L803" href="#L803">803</a>     {
<a class="jxr_linenumber" name="L804" href="#L804">804</a>         <strong class="jxr_keyword">if</strong> ( remoteRepository.getExtraParameters().isEmpty() )
<a class="jxr_linenumber" name="L805" href="#L805">805</a>         {
<a class="jxr_linenumber" name="L806" href="#L806">806</a>             <strong class="jxr_keyword">return</strong> path;
<a class="jxr_linenumber" name="L807" href="#L807">807</a>         }
<a class="jxr_linenumber" name="L808" href="#L808">808</a> 
<a class="jxr_linenumber" name="L809" href="#L809">809</a>         <strong class="jxr_keyword">boolean</strong> question = false;
<a class="jxr_linenumber" name="L810" href="#L810">810</a> 
<a class="jxr_linenumber" name="L811" href="#L811">811</a>         StringBuilder res = <strong class="jxr_keyword">new</strong> StringBuilder( path == <strong class="jxr_keyword">null</strong> ? <span class="jxr_string">""</span> : path );
<a class="jxr_linenumber" name="L812" href="#L812">812</a> 
<a class="jxr_linenumber" name="L813" href="#L813">813</a>         <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;String, String&gt; entry : remoteRepository.getExtraParameters().entrySet() )
<a class="jxr_linenumber" name="L814" href="#L814">814</a>         {
<a class="jxr_linenumber" name="L815" href="#L815">815</a>             <strong class="jxr_keyword">if</strong> ( !question )
<a class="jxr_linenumber" name="L816" href="#L816">816</a>             {
<a class="jxr_linenumber" name="L817" href="#L817">817</a>                 res.append( '?' ).append( entry.getKey() ).append( '=' ).append( entry.getValue() );
<a class="jxr_linenumber" name="L818" href="#L818">818</a>             }
<a class="jxr_linenumber" name="L819" href="#L819">819</a>         }
<a class="jxr_linenumber" name="L820" href="#L820">820</a> 
<a class="jxr_linenumber" name="L821" href="#L821">821</a>         <strong class="jxr_keyword">return</strong> res.toString();
<a class="jxr_linenumber" name="L822" href="#L822">822</a>     }
<a class="jxr_linenumber" name="L823" href="#L823">823</a> 
<a class="jxr_linenumber" name="L824" href="#L824">824</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setArchivaConfiguration(ArchivaConfiguration archivaConfiguration )
<a class="jxr_linenumber" name="L825" href="#L825">825</a>     {
<a class="jxr_linenumber" name="L826" href="#L826">826</a>         <strong class="jxr_keyword">this</strong>.archivaConfiguration = archivaConfiguration;
<a class="jxr_linenumber" name="L827" href="#L827">827</a>     }
<a class="jxr_linenumber" name="L828" href="#L828">828</a> 
<a class="jxr_linenumber" name="L829" href="#L829">829</a>     <strong class="jxr_keyword">public</strong> MetadataTools getMetadataTools()
<a class="jxr_linenumber" name="L830" href="#L830">830</a>     {
<a class="jxr_linenumber" name="L831" href="#L831">831</a>         <strong class="jxr_keyword">return</strong> metadataTools;
<a class="jxr_linenumber" name="L832" href="#L832">832</a>     }
<a class="jxr_linenumber" name="L833" href="#L833">833</a> 
<a class="jxr_linenumber" name="L834" href="#L834">834</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setMetadataTools(MetadataTools metadataTools )
<a class="jxr_linenumber" name="L835" href="#L835">835</a>     {
<a class="jxr_linenumber" name="L836" href="#L836">836</a>         <strong class="jxr_keyword">this</strong>.metadataTools = metadataTools;
<a class="jxr_linenumber" name="L837" href="#L837">837</a>     }
<a class="jxr_linenumber" name="L838" href="#L838">838</a> 
<a class="jxr_linenumber" name="L839" href="#L839">839</a>     <strong class="jxr_keyword">public</strong> UrlFailureCache getUrlFailureCache()
<a class="jxr_linenumber" name="L840" href="#L840">840</a>     {
<a class="jxr_linenumber" name="L841" href="#L841">841</a>         <strong class="jxr_keyword">return</strong> urlFailureCache;
<a class="jxr_linenumber" name="L842" href="#L842">842</a>     }
<a class="jxr_linenumber" name="L843" href="#L843">843</a> 
<a class="jxr_linenumber" name="L844" href="#L844">844</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUrlFailureCache(UrlFailureCache urlFailureCache )
<a class="jxr_linenumber" name="L845" href="#L845">845</a>     {
<a class="jxr_linenumber" name="L846" href="#L846">846</a>         <strong class="jxr_keyword">this</strong>.urlFailureCache = urlFailureCache;
<a class="jxr_linenumber" name="L847" href="#L847">847</a>     }
<a class="jxr_linenumber" name="L848" href="#L848">848</a> 
<a class="jxr_linenumber" name="L849" href="#L849">849</a>     <strong class="jxr_keyword">public</strong> Map&lt;String, PreDownloadPolicy&gt; getPreDownloadPolicies()
<a class="jxr_linenumber" name="L850" href="#L850">850</a>     {
<a class="jxr_linenumber" name="L851" href="#L851">851</a>         <strong class="jxr_keyword">return</strong> preDownloadPolicies;
<a class="jxr_linenumber" name="L852" href="#L852">852</a>     }
<a class="jxr_linenumber" name="L853" href="#L853">853</a> 
<a class="jxr_linenumber" name="L854" href="#L854">854</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setPreDownloadPolicies(Map&lt;String, PreDownloadPolicy&gt; preDownloadPolicies )
<a class="jxr_linenumber" name="L855" href="#L855">855</a>     {
<a class="jxr_linenumber" name="L856" href="#L856">856</a>         <strong class="jxr_keyword">this</strong>.preDownloadPolicies = preDownloadPolicies;
<a class="jxr_linenumber" name="L857" href="#L857">857</a>     }
<a class="jxr_linenumber" name="L858" href="#L858">858</a> 
<a class="jxr_linenumber" name="L859" href="#L859">859</a>     <strong class="jxr_keyword">public</strong> Map&lt;String, PostDownloadPolicy&gt; getPostDownloadPolicies()
<a class="jxr_linenumber" name="L860" href="#L860">860</a>     {
<a class="jxr_linenumber" name="L861" href="#L861">861</a>         <strong class="jxr_keyword">return</strong> postDownloadPolicies;
<a class="jxr_linenumber" name="L862" href="#L862">862</a>     }
<a class="jxr_linenumber" name="L863" href="#L863">863</a> 
<a class="jxr_linenumber" name="L864" href="#L864">864</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setPostDownloadPolicies(Map&lt;String, PostDownloadPolicy&gt; postDownloadPolicies )
<a class="jxr_linenumber" name="L865" href="#L865">865</a>     {
<a class="jxr_linenumber" name="L866" href="#L866">866</a>         <strong class="jxr_keyword">this</strong>.postDownloadPolicies = postDownloadPolicies;
<a class="jxr_linenumber" name="L867" href="#L867">867</a>     }
<a class="jxr_linenumber" name="L868" href="#L868">868</a> 
<a class="jxr_linenumber" name="L869" href="#L869">869</a>     <strong class="jxr_keyword">public</strong> Map&lt;String, DownloadErrorPolicy&gt; getDownloadErrorPolicies()
<a class="jxr_linenumber" name="L870" href="#L870">870</a>     {
<a class="jxr_linenumber" name="L871" href="#L871">871</a>         <strong class="jxr_keyword">return</strong> downloadErrorPolicies;
<a class="jxr_linenumber" name="L872" href="#L872">872</a>     }
<a class="jxr_linenumber" name="L873" href="#L873">873</a> 
<a class="jxr_linenumber" name="L874" href="#L874">874</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setDownloadErrorPolicies(Map&lt;String, DownloadErrorPolicy&gt; downloadErrorPolicies )
<a class="jxr_linenumber" name="L875" href="#L875">875</a>     {
<a class="jxr_linenumber" name="L876" href="#L876">876</a>         <strong class="jxr_keyword">this</strong>.downloadErrorPolicies = downloadErrorPolicies;
<a class="jxr_linenumber" name="L877" href="#L877">877</a>     }
<a class="jxr_linenumber" name="L878" href="#L878">878</a> 
<a class="jxr_linenumber" name="L879" href="#L879">879</a>     @Override
<a class="jxr_linenumber" name="L880" href="#L880">880</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setNetworkProxies(Map&lt;String, NetworkProxy&gt; networkProxies ) {
<a class="jxr_linenumber" name="L881" href="#L881">881</a>         <strong class="jxr_keyword">this</strong>.networkProxyMap.clear();
<a class="jxr_linenumber" name="L882" href="#L882">882</a>         <strong class="jxr_keyword">this</strong>.networkProxyMap.putAll( networkProxies );
<a class="jxr_linenumber" name="L883" href="#L883">883</a>     }
<a class="jxr_linenumber" name="L884" href="#L884">884</a> 
<a class="jxr_linenumber" name="L885" href="#L885">885</a>     @Override
<a class="jxr_linenumber" name="L886" href="#L886">886</a>     <strong class="jxr_keyword">public</strong> NetworkProxy getNetworkProxy(String id) {
<a class="jxr_linenumber" name="L887" href="#L887">887</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.networkProxyMap.get(id);
<a class="jxr_linenumber" name="L888" href="#L888">888</a>     }
<a class="jxr_linenumber" name="L889" href="#L889">889</a> 
<a class="jxr_linenumber" name="L890" href="#L890">890</a>     @Override
<a class="jxr_linenumber" name="L891" href="#L891">891</a>     <strong class="jxr_keyword">public</strong> Map&lt;String, NetworkProxy&gt; getNetworkProxies() {
<a class="jxr_linenumber" name="L892" href="#L892">892</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.networkProxyMap;
<a class="jxr_linenumber" name="L893" href="#L893">893</a>     }
<a class="jxr_linenumber" name="L894" href="#L894">894</a> 
<a class="jxr_linenumber" name="L895" href="#L895">895</a>     @Override
<a class="jxr_linenumber" name="L896" href="#L896">896</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> List&lt;RepositoryType&gt; supports();
<a class="jxr_linenumber" name="L897" href="#L897">897</a> 
<a class="jxr_linenumber" name="L898" href="#L898">898</a>     @Override
<a class="jxr_linenumber" name="L899" href="#L899">899</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setPolicies( List&lt;Policy&gt; policyList )
<a class="jxr_linenumber" name="L900" href="#L900">900</a>     {
<a class="jxr_linenumber" name="L901" href="#L901">901</a>         preDownloadPolicies.clear();
<a class="jxr_linenumber" name="L902" href="#L902">902</a>         postDownloadPolicies.clear();
<a class="jxr_linenumber" name="L903" href="#L903">903</a>         downloadErrorPolicies.clear();
<a class="jxr_linenumber" name="L904" href="#L904">904</a>         <strong class="jxr_keyword">for</strong> (Policy policy : policyList) {
<a class="jxr_linenumber" name="L905" href="#L905">905</a>             addPolicy( policy );
<a class="jxr_linenumber" name="L906" href="#L906">906</a>         }
<a class="jxr_linenumber" name="L907" href="#L907">907</a>     }
<a class="jxr_linenumber" name="L908" href="#L908">908</a> 
<a class="jxr_linenumber" name="L909" href="#L909">909</a>     <strong class="jxr_keyword">void</strong> addPolicy(PreDownloadPolicy policy) {
<a class="jxr_linenumber" name="L910" href="#L910">910</a>         preDownloadPolicies.put( policy.getId( ), policy );
<a class="jxr_linenumber" name="L911" href="#L911">911</a>     }
<a class="jxr_linenumber" name="L912" href="#L912">912</a> 
<a class="jxr_linenumber" name="L913" href="#L913">913</a>     <strong class="jxr_keyword">void</strong> addPolicy(PostDownloadPolicy policy) {
<a class="jxr_linenumber" name="L914" href="#L914">914</a>         postDownloadPolicies.put( policy.getId( ), policy );
<a class="jxr_linenumber" name="L915" href="#L915">915</a>     }
<a class="jxr_linenumber" name="L916" href="#L916">916</a>     <strong class="jxr_keyword">void</strong> addPolicy(DownloadErrorPolicy policy) {
<a class="jxr_linenumber" name="L917" href="#L917">917</a>         downloadErrorPolicies.put( policy.getId( ), policy );
<a class="jxr_linenumber" name="L918" href="#L918">918</a>     }
<a class="jxr_linenumber" name="L919" href="#L919">919</a> 
<a class="jxr_linenumber" name="L920" href="#L920">920</a>     @Override
<a class="jxr_linenumber" name="L921" href="#L921">921</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addPolicy( Policy policy )
<a class="jxr_linenumber" name="L922" href="#L922">922</a>     {
<a class="jxr_linenumber" name="L923" href="#L923">923</a>         <strong class="jxr_keyword">if</strong> (policy instanceof PreDownloadPolicy) {
<a class="jxr_linenumber" name="L924" href="#L924">924</a>             addPolicy( (PreDownloadPolicy)policy );
<a class="jxr_linenumber" name="L925" href="#L925">925</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (policy instanceof PostDownloadPolicy) {
<a class="jxr_linenumber" name="L926" href="#L926">926</a>             addPolicy( (PostDownloadPolicy) policy );
<a class="jxr_linenumber" name="L927" href="#L927">927</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (policy instanceof DownloadErrorPolicy) {
<a class="jxr_linenumber" name="L928" href="#L928">928</a>             addPolicy( (DownloadErrorPolicy) policy );
<a class="jxr_linenumber" name="L929" href="#L929">929</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L930" href="#L930">930</a>             log.warn( <span class="jxr_string">"Policy not known: {}, {}"</span>, policy.getId( ), policy.getClass( ).getName( ) );
<a class="jxr_linenumber" name="L931" href="#L931">931</a>         }
<a class="jxr_linenumber" name="L932" href="#L932">932</a>     }
<a class="jxr_linenumber" name="L933" href="#L933">933</a> 
<a class="jxr_linenumber" name="L934" href="#L934">934</a>     @Override
<a class="jxr_linenumber" name="L935" href="#L935">935</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removePolicy( Policy policy )
<a class="jxr_linenumber" name="L936" href="#L936">936</a>     {
<a class="jxr_linenumber" name="L937" href="#L937">937</a>         <strong class="jxr_keyword">final</strong> String id = policy.getId();
<a class="jxr_linenumber" name="L938" href="#L938">938</a>         <strong class="jxr_keyword">if</strong> (preDownloadPolicies.containsKey( id )) {
<a class="jxr_linenumber" name="L939" href="#L939">939</a>             preDownloadPolicies.remove( id );
<a class="jxr_linenumber" name="L940" href="#L940">940</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (postDownloadPolicies.containsKey( id )) {
<a class="jxr_linenumber" name="L941" href="#L941">941</a>             postDownloadPolicies.remove( id );
<a class="jxr_linenumber" name="L942" href="#L942">942</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (downloadErrorPolicies.containsKey( id )) {
<a class="jxr_linenumber" name="L943" href="#L943">943</a>             downloadErrorPolicies.remove( id );
<a class="jxr_linenumber" name="L944" href="#L944">944</a>         }
<a class="jxr_linenumber" name="L945" href="#L945">945</a>     }
<a class="jxr_linenumber" name="L946" href="#L946">946</a> 
<a class="jxr_linenumber" name="L947" href="#L947">947</a>     @Override
<a class="jxr_linenumber" name="L948" href="#L948">948</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addProxyConnector( ProxyConnector connector )
<a class="jxr_linenumber" name="L949" href="#L949">949</a>     {
<a class="jxr_linenumber" name="L950" href="#L950">950</a>         <strong class="jxr_keyword">final</strong> String sourceId = connector.getSourceRepository( ).getId( );
<a class="jxr_linenumber" name="L951" href="#L951">951</a>         List&lt;ProxyConnector&gt; connectors;
<a class="jxr_linenumber" name="L952" href="#L952">952</a>         <strong class="jxr_keyword">if</strong> (proxyConnectorMap.containsKey( sourceId )) {
<a class="jxr_linenumber" name="L953" href="#L953">953</a>             connectors = proxyConnectorMap.get( sourceId );
<a class="jxr_linenumber" name="L954" href="#L954">954</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L955" href="#L955">955</a>             connectors = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;( );
<a class="jxr_linenumber" name="L956" href="#L956">956</a>             proxyConnectorMap.put( sourceId, connectors );
<a class="jxr_linenumber" name="L957" href="#L957">957</a>         }
<a class="jxr_linenumber" name="L958" href="#L958">958</a>         connectors.add( connector );
<a class="jxr_linenumber" name="L959" href="#L959">959</a>     }
<a class="jxr_linenumber" name="L960" href="#L960">960</a> 
<a class="jxr_linenumber" name="L961" href="#L961">961</a>     @Override
<a class="jxr_linenumber" name="L962" href="#L962">962</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setProxyConnectors( List&lt;ProxyConnector&gt; proxyConnectors )
<a class="jxr_linenumber" name="L963" href="#L963">963</a>     {
<a class="jxr_linenumber" name="L964" href="#L964">964</a>         proxyConnectorMap.clear();
<a class="jxr_linenumber" name="L965" href="#L965">965</a>         <strong class="jxr_keyword">for</strong> ( ProxyConnector connector : proxyConnectors )
<a class="jxr_linenumber" name="L966" href="#L966">966</a>         {
<a class="jxr_linenumber" name="L967" href="#L967">967</a>             addProxyConnector( connector );
<a class="jxr_linenumber" name="L968" href="#L968">968</a>         }
<a class="jxr_linenumber" name="L969" href="#L969">969</a>     }
<a class="jxr_linenumber" name="L970" href="#L970">970</a> }
</pre>
<hr/>
<div id="footer">Copyright &#169; 2006&#x2013;2019 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div>
</body>
</html>