<!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>ArchivaDavResourceFactory xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../apidocs/org/apache/archiva/webdav/ArchivaDavResourceFactory.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.webdav;
<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." target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.</a>0</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.admin.model.RepositoryAdminException;
<a class="jxr_linenumber" name="L23" href="#L23">23</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.admin.model.beans.ManagedRepository;
<a class="jxr_linenumber" name="L24" href="#L24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.admin.model.beans.RemoteRepository;
<a class="jxr_linenumber" name="L25" href="#L25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.admin.model.managed.ManagedRepositoryAdmin;
<a class="jxr_linenumber" name="L26" href="#L26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.admin.model.remote.RemoteRepositoryAdmin;
<a class="jxr_linenumber" name="L27" href="#L27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.audit.Auditable;
<a class="jxr_linenumber" name="L28" href="#L28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.common.filelock.FileLockManager;
<a class="jxr_linenumber" name="L29" href="#L29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.common.plexusbridge.PlexusSisuBridge;
<a class="jxr_linenumber" name="L30" href="#L30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.common.plexusbridge.PlexusSisuBridgeException;
<a class="jxr_linenumber" name="L31" href="#L31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.common.utils.PathUtil;
<a class="jxr_linenumber" name="L32" href="#L32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.common.utils.VersionUtil;
<a class="jxr_linenumber" name="L33" href="#L33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.configuration.ArchivaConfiguration;
<a class="jxr_linenumber" name="L34" href="#L34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.configuration.RepositoryGroupConfiguration;
<a class="jxr_linenumber" name="L35" href="#L35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.indexer.merger.IndexMerger;
<a class="jxr_linenumber" name="L36" href="#L36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.indexer.merger.IndexMergerException;
<a class="jxr_linenumber" name="L37" href="#L37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.indexer.merger.IndexMergerRequest;
<a class="jxr_linenumber" name="L38" href="#L38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.indexer.merger.MergedRemoteIndexesTask;
<a class="jxr_linenumber" name="L39" href="#L39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.indexer.merger.MergedRemoteIndexesTaskRequest;
<a class="jxr_linenumber" name="L40" href="#L40">40</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.indexer.merger.TemporaryGroupIndex;
<a class="jxr_linenumber" name="L41" href="#L41">41</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.indexer.search.RepositorySearch;
<a class="jxr_linenumber" name="L42" href="#L42">42</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.maven2.metadata.MavenMetadataReader;
<a class="jxr_linenumber" name="L43" href="#L43">43</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.metadata.model.facets.AuditEvent;
<a class="jxr_linenumber" name="L44" href="#L44">44</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.metadata.repository.storage.RelocationException;
<a class="jxr_linenumber" name="L45" href="#L45">45</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.metadata.repository.storage.RepositoryStorage;
<a class="jxr_linenumber" name="L46" href="#L46">46</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.model.ArchivaRepositoryMetadata;
<a class="jxr_linenumber" name="L47" href="#L47">47</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.model.ArtifactReference;
<a class="jxr_linenumber" name="L48" href="#L48">48</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.policies.ProxyDownloadException;
<a class="jxr_linenumber" name="L49" href="#L49">49</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.proxy.model.RepositoryProxyConnectors;
<a class="jxr_linenumber" name="L50" href="#L50">50</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.redback.authentication.AuthenticationException;
<a class="jxr_linenumber" name="L51" href="#L51">51</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.redback.authentication.AuthenticationResult;
<a class="jxr_linenumber" name="L52" href="#L52">52</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.redback.authorization.AuthorizationException;
<a class="jxr_linenumber" name="L53" href="#L53">53</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.redback.authorization.UnauthorizedException;
<a class="jxr_linenumber" name="L54" href="#L54">54</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.redback.integration.filter.authentication.HttpAuthenticator;
<a class="jxr_linenumber" name="L55" href="#L55">55</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.redback.policy.AccountLockedException;
<a class="jxr_linenumber" name="L56" href="#L56">56</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.redback.policy.MustChangePasswordException;
<a class="jxr_linenumber" name="L57" href="#L57">57</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.redback.system.SecuritySession;
<a class="jxr_linenumber" name="L58" href="#L58">58</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.redback.users.User;
<a class="jxr_linenumber" name="L59" href="#L59">59</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.redback.users.UserManager;
<a class="jxr_linenumber" name="L60" href="#L60">60</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.repository.ManagedRepositoryContent;
<a class="jxr_linenumber" name="L61" href="#L61">61</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.repository.RepositoryContentFactory;
<a class="jxr_linenumber" name="L62" href="#L62">62</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.repository.RepositoryException;
<a class="jxr_linenumber" name="L63" href="#L63">63</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.repository.RepositoryNotFoundException;
<a class="jxr_linenumber" name="L64" href="#L64">64</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.repository.content.maven2.RepositoryRequest;
<a class="jxr_linenumber" name="L65" href="#L65">65</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.repository.events.AuditListener;
<a class="jxr_linenumber" name="L66" href="#L66">66</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.repository.layout.LayoutException;
<a class="jxr_linenumber" name="L67" href="#L67">67</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.repository.metadata.MetadataTools;
<a class="jxr_linenumber" name="L68" href="#L68">68</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.repository.metadata.RepositoryMetadataException;
<a class="jxr_linenumber" name="L69" href="#L69">69</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.repository.metadata.RepositoryMetadataMerge;
<a class="jxr_linenumber" name="L70" href="#L70">70</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.repository.metadata.RepositoryMetadataWriter;
<a class="jxr_linenumber" name="L71" href="#L71">71</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.scheduler.repository.model.RepositoryArchivaTaskScheduler;
<a class="jxr_linenumber" name="L72" href="#L72">72</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.security.ServletAuthenticator;
<a class="jxr_linenumber" name="L73" href="#L73">73</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.webdav.util.MimeTypes;
<a class="jxr_linenumber" name="L74" href="#L74">74</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.webdav.util.TemporaryGroupIndexSessionCleaner;
<a class="jxr_linenumber" name="L75" href="#L75">75</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.webdav.util.WebdavMethodUtil;
<a class="jxr_linenumber" name="L76" href="#L76">76</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.xml.XMLException;
<a class="jxr_linenumber" name="L77" href="#L77">77</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.io.FileUtils;
<a class="jxr_linenumber" name="L78" href="#L78">78</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.io.FilenameUtils;
<a class="jxr_linenumber" name="L79" href="#L79">79</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.lang.StringUtils;
<a class="jxr_linenumber" name="L80" href="#L80">80</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.lang.SystemUtils;
<a class="jxr_linenumber" name="L81" href="#L81">81</a>  <strong class="jxr_keyword">import</strong> org.apache.jackrabbit.webdav.DavException;
<a class="jxr_linenumber" name="L82" href="#L82">82</a>  <strong class="jxr_keyword">import</strong> org.apache.jackrabbit.webdav.DavResource;
<a class="jxr_linenumber" name="L83" href="#L83">83</a>  <strong class="jxr_keyword">import</strong> org.apache.jackrabbit.webdav.DavResourceFactory;
<a class="jxr_linenumber" name="L84" href="#L84">84</a>  <strong class="jxr_keyword">import</strong> org.apache.jackrabbit.webdav.DavResourceLocator;
<a class="jxr_linenumber" name="L85" href="#L85">85</a>  <strong class="jxr_keyword">import</strong> org.apache.jackrabbit.webdav.DavServletRequest;
<a class="jxr_linenumber" name="L86" href="#L86">86</a>  <strong class="jxr_keyword">import</strong> org.apache.jackrabbit.webdav.DavServletResponse;
<a class="jxr_linenumber" name="L87" href="#L87">87</a>  <strong class="jxr_keyword">import</strong> org.apache.jackrabbit.webdav.DavSession;
<a class="jxr_linenumber" name="L88" href="#L88">88</a>  <strong class="jxr_keyword">import</strong> org.apache.jackrabbit.webdav.lock.LockManager;
<a class="jxr_linenumber" name="L89" href="#L89">89</a>  <strong class="jxr_keyword">import</strong> org.apache.jackrabbit.webdav.lock.SimpleLockManager;
<a class="jxr_linenumber" name="L90" href="#L90">90</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.index.context.IndexingContext;
<a class="jxr_linenumber" name="L91" href="#L91">91</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.digest.ChecksumFile;
<a class="jxr_linenumber" name="L92" href="#L92">92</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.digest.Digester;
<a class="jxr_linenumber" name="L93" href="#L93">93</a>  <strong class="jxr_keyword">import</strong> org.codehaus.plexus.digest.DigesterException;
<a class="jxr_linenumber" name="L94" href="#L94">94</a>  <strong class="jxr_keyword">import</strong> org.slf4j.Logger;
<a class="jxr_linenumber" name="L95" href="#L95">95</a>  <strong class="jxr_keyword">import</strong> org.slf4j.LoggerFactory;
<a class="jxr_linenumber" name="L96" href="#L96">96</a>  <strong class="jxr_keyword">import</strong> org.slf4j.MarkerFactory;
<a class="jxr_linenumber" name="L97" href="#L97">97</a>  <strong class="jxr_keyword">import</strong> org.springframework.context.ApplicationContext;
<a class="jxr_linenumber" name="L98" href="#L98">98</a>  <strong class="jxr_keyword">import</strong> org.springframework.stereotype.Service;
<a class="jxr_linenumber" name="L99" href="#L99">99</a>  
<a class="jxr_linenumber" name="L100" href="#L100">100</a> <strong class="jxr_keyword">import</strong> javax.annotation.PostConstruct;
<a class="jxr_linenumber" name="L101" href="#L101">101</a> <strong class="jxr_keyword">import</strong> javax.inject.Inject;
<a class="jxr_linenumber" name="L102" href="#L102">102</a> <strong class="jxr_keyword">import</strong> javax.inject.Named;
<a class="jxr_linenumber" name="L103" href="#L103">103</a> <strong class="jxr_keyword">import</strong> javax.servlet.http.HttpServletResponse;
<a class="jxr_linenumber" name="L104" href="#L104">104</a> <strong class="jxr_keyword">import</strong> javax.servlet.http.HttpSession;
<a class="jxr_linenumber" name="L105" href="#L105">105</a> <strong class="jxr_keyword">import</strong> java.io.File;
<a class="jxr_linenumber" name="L106" href="#L106">106</a> <strong class="jxr_keyword">import</strong> java.io.IOException;
<a class="jxr_linenumber" name="L107" href="#L107">107</a> <strong class="jxr_keyword">import</strong> java.nio.file.Files;
<a class="jxr_linenumber" name="L108" href="#L108">108</a> <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a class="jxr_linenumber" name="L109" href="#L109">109</a> <strong class="jxr_keyword">import</strong> java.util.Date;
<a class="jxr_linenumber" name="L110" href="#L110">110</a> <strong class="jxr_keyword">import</strong> java.util.HashMap;
<a class="jxr_linenumber" name="L111" href="#L111">111</a> <strong class="jxr_keyword">import</strong> java.util.HashSet;
<a class="jxr_linenumber" name="L112" href="#L112">112</a> <strong class="jxr_keyword">import</strong> java.util.List;
<a class="jxr_linenumber" name="L113" href="#L113">113</a> <strong class="jxr_keyword">import</strong> java.util.Map;
<a class="jxr_linenumber" name="L114" href="#L114">114</a> <strong class="jxr_keyword">import</strong> java.util.Set;
<a class="jxr_linenumber" name="L115" href="#L115">115</a> 
<a class="jxr_linenumber" name="L116" href="#L116">116</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L117" href="#L117">117</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L118" href="#L118">118</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L119" href="#L119">119</a> @Service( <span class="jxr_string">"davResourceFactory#archiva"</span> )
<a class="jxr_linenumber" name="L120" href="#L120">120</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/archiva/webdav/ArchivaDavResourceFactory.html">ArchivaDavResourceFactory</a>
<a class="jxr_linenumber" name="L121" href="#L121">121</a>     <strong class="jxr_keyword">implements</strong> DavResourceFactory, Auditable
<a class="jxr_linenumber" name="L122" href="#L122">122</a> {
<a class="jxr_linenumber" name="L123" href="#L123">123</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String PROXIED_SUFFIX = <span class="jxr_string">" (proxied)"</span>;
<a class="jxr_linenumber" name="L124" href="#L124">124</a> 
<a class="jxr_linenumber" name="L125" href="#L125">125</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String HTTP_PUT_METHOD = <span class="jxr_string">"PUT"</span>;
<a class="jxr_linenumber" name="L126" href="#L126">126</a> 
<a class="jxr_linenumber" name="L127" href="#L127">127</a>     <strong class="jxr_keyword">private</strong> Logger log = LoggerFactory.getLogger( ArchivaDavResourceFactory.<strong class="jxr_keyword">class</strong> );
<a class="jxr_linenumber" name="L128" href="#L128">128</a> 
<a class="jxr_linenumber" name="L129" href="#L129">129</a>     @Inject
<a class="jxr_linenumber" name="L130" href="#L130">130</a>     <strong class="jxr_keyword">private</strong> List&lt;AuditListener&gt; auditListeners = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
<a class="jxr_linenumber" name="L131" href="#L131">131</a> 
<a class="jxr_linenumber" name="L132" href="#L132">132</a>     @Inject
<a class="jxr_linenumber" name="L133" href="#L133">133</a>     <strong class="jxr_keyword">private</strong> RepositoryContentFactory repositoryFactory;
<a class="jxr_linenumber" name="L134" href="#L134">134</a> 
<a class="jxr_linenumber" name="L135" href="#L135">135</a>     <strong class="jxr_keyword">private</strong> RepositoryRequest repositoryRequest;
<a class="jxr_linenumber" name="L136" href="#L136">136</a> 
<a class="jxr_linenumber" name="L137" href="#L137">137</a>     @Inject
<a class="jxr_linenumber" name="L138" href="#L138">138</a>     @Named( value = <span class="jxr_string">"repositoryProxyConnectors#default"</span> )
<a class="jxr_linenumber" name="L139" href="#L139">139</a>     <strong class="jxr_keyword">private</strong> RepositoryProxyConnectors connectors;
<a class="jxr_linenumber" name="L140" href="#L140">140</a> 
<a class="jxr_linenumber" name="L141" href="#L141">141</a>     @Inject
<a class="jxr_linenumber" name="L142" href="#L142">142</a>     <strong class="jxr_keyword">private</strong> MetadataTools metadataTools;
<a class="jxr_linenumber" name="L143" href="#L143">143</a> 
<a class="jxr_linenumber" name="L144" href="#L144">144</a>     @Inject
<a class="jxr_linenumber" name="L145" href="#L145">145</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/archiva/webdav/util/MimeTypes.html">MimeTypes</a> mimeTypes;
<a class="jxr_linenumber" name="L146" href="#L146">146</a> 
<a class="jxr_linenumber" name="L147" href="#L147">147</a>     <strong class="jxr_keyword">private</strong> ArchivaConfiguration archivaConfiguration;
<a class="jxr_linenumber" name="L148" href="#L148">148</a> 
<a class="jxr_linenumber" name="L149" href="#L149">149</a>     @Inject
<a class="jxr_linenumber" name="L150" href="#L150">150</a>     <strong class="jxr_keyword">private</strong> ServletAuthenticator servletAuth;
<a class="jxr_linenumber" name="L151" href="#L151">151</a> 
<a class="jxr_linenumber" name="L152" href="#L152">152</a>     @Inject
<a class="jxr_linenumber" name="L153" href="#L153">153</a>     @Named( value = <span class="jxr_string">"httpAuthenticator#basic"</span> )
<a class="jxr_linenumber" name="L154" href="#L154">154</a>     <strong class="jxr_keyword">private</strong> HttpAuthenticator httpAuth;
<a class="jxr_linenumber" name="L155" href="#L155">155</a> 
<a class="jxr_linenumber" name="L156" href="#L156">156</a>     @Inject
<a class="jxr_linenumber" name="L157" href="#L157">157</a>     <strong class="jxr_keyword">private</strong> RemoteRepositoryAdmin remoteRepositoryAdmin;
<a class="jxr_linenumber" name="L158" href="#L158">158</a> 
<a class="jxr_linenumber" name="L159" href="#L159">159</a>     @Inject
<a class="jxr_linenumber" name="L160" href="#L160">160</a>     <strong class="jxr_keyword">private</strong> ManagedRepositoryAdmin managedRepositoryAdmin;
<a class="jxr_linenumber" name="L161" href="#L161">161</a> 
<a class="jxr_linenumber" name="L162" href="#L162">162</a>     @Inject
<a class="jxr_linenumber" name="L163" href="#L163">163</a>     <strong class="jxr_keyword">private</strong> IndexMerger indexMerger;
<a class="jxr_linenumber" name="L164" href="#L164">164</a> 
<a class="jxr_linenumber" name="L165" href="#L165">165</a>     @Inject
<a class="jxr_linenumber" name="L166" href="#L166">166</a>     <strong class="jxr_keyword">private</strong> RepositorySearch repositorySearch;
<a class="jxr_linenumber" name="L167" href="#L167">167</a> 
<a class="jxr_linenumber" name="L168" href="#L168">168</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L169" href="#L169">169</a> <em class="jxr_javadoccomment">     * Lock Manager - use simple implementation from JackRabbit</em>
<a class="jxr_linenumber" name="L170" href="#L170">170</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L171" href="#L171">171</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> LockManager lockManager = <strong class="jxr_keyword">new</strong> SimpleLockManager();
<a class="jxr_linenumber" name="L172" href="#L172">172</a> 
<a class="jxr_linenumber" name="L173" href="#L173">173</a>     <strong class="jxr_keyword">private</strong> ChecksumFile checksum;
<a class="jxr_linenumber" name="L174" href="#L174">174</a> 
<a class="jxr_linenumber" name="L175" href="#L175">175</a>     <strong class="jxr_keyword">private</strong> Digester digestSha1;
<a class="jxr_linenumber" name="L176" href="#L176">176</a> 
<a class="jxr_linenumber" name="L177" href="#L177">177</a>     <strong class="jxr_keyword">private</strong> Digester digestMd5;
<a class="jxr_linenumber" name="L178" href="#L178">178</a> 
<a class="jxr_linenumber" name="L179" href="#L179">179</a>     @Inject
<a class="jxr_linenumber" name="L180" href="#L180">180</a>     @Named( value = <span class="jxr_string">"archivaTaskScheduler#repository"</span> )
<a class="jxr_linenumber" name="L181" href="#L181">181</a>     <strong class="jxr_keyword">private</strong> RepositoryArchivaTaskScheduler scheduler;
<a class="jxr_linenumber" name="L182" href="#L182">182</a> 
<a class="jxr_linenumber" name="L183" href="#L183">183</a>     @Inject
<a class="jxr_linenumber" name="L184" href="#L184">184</a>     @Named( value = <span class="jxr_string">"fileLockManager#default"</span> )
<a class="jxr_linenumber" name="L185" href="#L185">185</a>     <strong class="jxr_keyword">private</strong> FileLockManager fileLockManager;
<a class="jxr_linenumber" name="L186" href="#L186">186</a> 
<a class="jxr_linenumber" name="L187" href="#L187">187</a>     <strong class="jxr_keyword">private</strong> ApplicationContext applicationContext;
<a class="jxr_linenumber" name="L188" href="#L188">188</a> 
<a class="jxr_linenumber" name="L189" href="#L189">189</a>     @Inject
<a class="jxr_linenumber" name="L190" href="#L190">190</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/archiva/webdav/ArchivaDavResourceFactory.html">ArchivaDavResourceFactory</a>( ApplicationContext applicationContext, PlexusSisuBridge plexusSisuBridge,
<a class="jxr_linenumber" name="L191" href="#L191">191</a>                                       ArchivaConfiguration archivaConfiguration )
<a class="jxr_linenumber" name="L192" href="#L192">192</a>         <strong class="jxr_keyword">throws</strong> PlexusSisuBridgeException
<a class="jxr_linenumber" name="L193" href="#L193">193</a>     {
<a class="jxr_linenumber" name="L194" href="#L194">194</a>         <strong class="jxr_keyword">this</strong>.archivaConfiguration = archivaConfiguration;
<a class="jxr_linenumber" name="L195" href="#L195">195</a>         <strong class="jxr_keyword">this</strong>.applicationContext = applicationContext;
<a class="jxr_linenumber" name="L196" href="#L196">196</a>         <strong class="jxr_keyword">this</strong>.checksum = plexusSisuBridge.lookup( ChecksumFile.<strong class="jxr_keyword">class</strong> );
<a class="jxr_linenumber" name="L197" href="#L197">197</a> 
<a class="jxr_linenumber" name="L198" href="#L198">198</a>         <strong class="jxr_keyword">this</strong>.digestMd5 = plexusSisuBridge.lookup( Digester.<strong class="jxr_keyword">class</strong>, <span class="jxr_string">"md5"</span> );
<a class="jxr_linenumber" name="L199" href="#L199">199</a>         <strong class="jxr_keyword">this</strong>.digestSha1 = plexusSisuBridge.lookup( Digester.<strong class="jxr_keyword">class</strong>, <span class="jxr_string">"sha1"</span> );
<a class="jxr_linenumber" name="L200" href="#L200">200</a> 
<a class="jxr_linenumber" name="L201" href="#L201">201</a>         <em class="jxr_comment">// TODO remove this hard dependency on maven !!</em>
<a class="jxr_linenumber" name="L202" href="#L202">202</a>         repositoryRequest = <strong class="jxr_keyword">new</strong> RepositoryRequest( );
<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>     @PostConstruct
<a class="jxr_linenumber" name="L206" href="#L206">206</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> initialize()
<a class="jxr_linenumber" name="L207" href="#L207">207</a>     {
<a class="jxr_linenumber" name="L208" href="#L208">208</a>         <em class="jxr_comment">// no op</em>
<a class="jxr_linenumber" name="L209" href="#L209">209</a>     }
<a class="jxr_linenumber" name="L210" href="#L210">210</a> 
<a class="jxr_linenumber" name="L211" href="#L211">211</a>     @Override
<a class="jxr_linenumber" name="L212" href="#L212">212</a>     <strong class="jxr_keyword">public</strong> DavResource createResource( <strong class="jxr_keyword">final</strong> DavResourceLocator locator, <strong class="jxr_keyword">final</strong> DavServletRequest request,
<a class="jxr_linenumber" name="L213" href="#L213">213</a>                                        <strong class="jxr_keyword">final</strong> DavServletResponse response )
<a class="jxr_linenumber" name="L214" href="#L214">214</a>         <strong class="jxr_keyword">throws</strong> DavException
<a class="jxr_linenumber" name="L215" href="#L215">215</a>     {
<a class="jxr_linenumber" name="L216" href="#L216">216</a>         <a href="../../../../org/apache/archiva/webdav/ArchivaDavResourceLocator.html">ArchivaDavResourceLocator</a> archivaLocator = checkLocatorIsInstanceOfRepositoryLocator( locator );
<a class="jxr_linenumber" name="L217" href="#L217">217</a> 
<a class="jxr_linenumber" name="L218" href="#L218">218</a>         RepositoryGroupConfiguration repoGroupConfig =
<a class="jxr_linenumber" name="L219" href="#L219">219</a>             archivaConfiguration.getConfiguration().getRepositoryGroupsAsMap().get( archivaLocator.getRepositoryId() );
<a class="jxr_linenumber" name="L220" href="#L220">220</a> 
<a class="jxr_linenumber" name="L221" href="#L221">221</a>         String activePrincipal = getActivePrincipal( request );
<a class="jxr_linenumber" name="L222" href="#L222">222</a> 
<a class="jxr_linenumber" name="L223" href="#L223">223</a>         List&lt;String&gt; resourcesInAbsolutePath = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
<a class="jxr_linenumber" name="L224" href="#L224">224</a> 
<a class="jxr_linenumber" name="L225" href="#L225">225</a>         <strong class="jxr_keyword">boolean</strong> readMethod = WebdavMethodUtil.isReadMethod( request.getMethod() );
<a class="jxr_linenumber" name="L226" href="#L226">226</a>         DavResource resource;
<a class="jxr_linenumber" name="L227" href="#L227">227</a>         <strong class="jxr_keyword">if</strong> ( repoGroupConfig != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L228" href="#L228">228</a>         {
<a class="jxr_linenumber" name="L229" href="#L229">229</a>             <strong class="jxr_keyword">if</strong> ( !readMethod )
<a class="jxr_linenumber" name="L230" href="#L230">230</a>             {
<a class="jxr_linenumber" name="L231" href="#L231">231</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_METHOD_NOT_ALLOWED,
<a class="jxr_linenumber" name="L232" href="#L232">232</a>                                         <span class="jxr_string">"Write method not allowed for repository groups."</span> );
<a class="jxr_linenumber" name="L233" href="#L233">233</a>             }
<a class="jxr_linenumber" name="L234" href="#L234">234</a> 
<a class="jxr_linenumber" name="L235" href="#L235">235</a>             log.debug( <span class="jxr_string">"Repository group '{}' accessed by '{}"</span>, repoGroupConfig.getId(), activePrincipal );
<a class="jxr_linenumber" name="L236" href="#L236">236</a> 
<a class="jxr_linenumber" name="L237" href="#L237">237</a>             <em class="jxr_comment">// handle browse requests for virtual repos</em>
<a class="jxr_linenumber" name="L238" href="#L238">238</a>             <strong class="jxr_keyword">if</strong> ( getLogicalResource( archivaLocator, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">true</strong> ).endsWith( <span class="jxr_string">"/"</span> ) )
<a class="jxr_linenumber" name="L239" href="#L239">239</a>             {
<a class="jxr_linenumber" name="L240" href="#L240">240</a>                 <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L241" href="#L241">241</a>                 {
<a class="jxr_linenumber" name="L242" href="#L242">242</a>                     DavResource davResource =
<a class="jxr_linenumber" name="L243" href="#L243">243</a>                         getResourceFromGroup( request, repoGroupConfig.getRepositories(), archivaLocator,
<a class="jxr_linenumber" name="L244" href="#L244">244</a>                                               repoGroupConfig );
<a class="jxr_linenumber" name="L245" href="#L245">245</a> 
<a class="jxr_linenumber" name="L246" href="#L246">246</a>                     setHeaders( response, locator, davResource, <strong class="jxr_keyword">true</strong> );
<a class="jxr_linenumber" name="L247" href="#L247">247</a> 
<a class="jxr_linenumber" name="L248" href="#L248">248</a>                     <strong class="jxr_keyword">return</strong> davResource;
<a class="jxr_linenumber" name="L249" href="#L249">249</a> 
<a class="jxr_linenumber" name="L250" href="#L250">250</a>                 }
<a class="jxr_linenumber" name="L251" href="#L251">251</a>                 <strong class="jxr_keyword">catch</strong> ( RepositoryAdminException e )
<a class="jxr_linenumber" name="L252" href="#L252">252</a>                 {
<a class="jxr_linenumber" name="L253" href="#L253">253</a>                     <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e );
<a class="jxr_linenumber" name="L254" href="#L254">254</a>                 }
<a class="jxr_linenumber" name="L255" href="#L255">255</a>             }
<a class="jxr_linenumber" name="L256" href="#L256">256</a>             <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L257" href="#L257">257</a>             {
<a class="jxr_linenumber" name="L258" href="#L258">258</a>                 <em class="jxr_comment">// make a copy to avoid potential concurrent modifications (eg. by configuration)</em>
<a class="jxr_linenumber" name="L259" href="#L259">259</a>                 <em class="jxr_comment">// TODO: ultimately, locking might be more efficient than copying in this fashion since updates are</em>
<a class="jxr_linenumber" name="L260" href="#L260">260</a>                 <em class="jxr_comment">//  infrequent</em>
<a class="jxr_linenumber" name="L261" href="#L261">261</a>                 List&lt;String&gt; repositories = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;( repoGroupConfig.getRepositories() );
<a class="jxr_linenumber" name="L262" href="#L262">262</a>                 resource = processRepositoryGroup( request, archivaLocator, repositories, activePrincipal,
<a class="jxr_linenumber" name="L263" href="#L263">263</a>                                                    resourcesInAbsolutePath, repoGroupConfig );
<a class="jxr_linenumber" name="L264" href="#L264">264</a>             }
<a class="jxr_linenumber" name="L265" href="#L265">265</a>         }
<a class="jxr_linenumber" name="L266" href="#L266">266</a>         <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L267" href="#L267">267</a>         {
<a class="jxr_linenumber" name="L268" href="#L268">268</a> 
<a class="jxr_linenumber" name="L269" href="#L269">269</a>             <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L270" href="#L270">270</a>             {
<a class="jxr_linenumber" name="L271" href="#L271">271</a>                 RemoteRepository remoteRepository =
<a class="jxr_linenumber" name="L272" href="#L272">272</a>                     remoteRepositoryAdmin.getRemoteRepository( archivaLocator.getRepositoryId() );
<a class="jxr_linenumber" name="L273" href="#L273">273</a> 
<a class="jxr_linenumber" name="L274" href="#L274">274</a>                 <strong class="jxr_keyword">if</strong> ( remoteRepository != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L275" href="#L275">275</a>                 {
<a class="jxr_linenumber" name="L276" href="#L276">276</a>                     String logicalResource = getLogicalResource( archivaLocator, <strong class="jxr_keyword">null</strong>, false );
<a class="jxr_linenumber" name="L277" href="#L277">277</a>                     IndexingContext indexingContext = remoteRepositoryAdmin.createIndexContext( remoteRepository );
<a class="jxr_linenumber" name="L278" href="#L278">278</a>                     File resourceFile = StringUtils.equals( logicalResource, <span class="jxr_string">"/"</span> )
<a class="jxr_linenumber" name="L279" href="#L279">279</a>                         ? <strong class="jxr_keyword">new</strong> File( indexingContext.getIndexDirectoryFile().getParent() )
<a class="jxr_linenumber" name="L280" href="#L280">280</a>                         : <strong class="jxr_keyword">new</strong> File( indexingContext.getIndexDirectoryFile().getParent(), logicalResource );
<a class="jxr_linenumber" name="L281" href="#L281">281</a>                     resource = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/archiva/webdav/ArchivaDavResource.html">ArchivaDavResource</a>( resourceFile.getAbsolutePath(), <em class="jxr_comment">//</em>
<a class="jxr_linenumber" name="L282" href="#L282">282</a>                                                        locator.getResourcePath(), <em class="jxr_comment">//</em>
<a class="jxr_linenumber" name="L283" href="#L283">283</a>                                                        <strong class="jxr_keyword">null</strong>, <em class="jxr_comment">//</em>
<a class="jxr_linenumber" name="L284" href="#L284">284</a>                                                        request.getRemoteAddr(), <em class="jxr_comment">//</em>
<a class="jxr_linenumber" name="L285" href="#L285">285</a>                                                        activePrincipal, <em class="jxr_comment">//</em>
<a class="jxr_linenumber" name="L286" href="#L286">286</a>                                                        request.getDavSession(), <em class="jxr_comment">//</em>
<a class="jxr_linenumber" name="L287" href="#L287">287</a>                                                        archivaLocator, <em class="jxr_comment">//</em>
<a class="jxr_linenumber" name="L288" href="#L288">288</a>                                                        <strong class="jxr_keyword">this</strong>, <em class="jxr_comment">//</em>
<a class="jxr_linenumber" name="L289" href="#L289">289</a>                                                        mimeTypes, <em class="jxr_comment">//</em>
<a class="jxr_linenumber" name="L290" href="#L290">290</a>                                                        auditListeners, <em class="jxr_comment">//</em>
<a class="jxr_linenumber" name="L291" href="#L291">291</a>                                                        scheduler, <em class="jxr_comment">//</em>
<a class="jxr_linenumber" name="L292" href="#L292">292</a>                                                        fileLockManager );
<a class="jxr_linenumber" name="L293" href="#L293">293</a>                     setHeaders( response, locator, resource, false );
<a class="jxr_linenumber" name="L294" href="#L294">294</a>                     <strong class="jxr_keyword">return</strong> resource;
<a class="jxr_linenumber" name="L295" href="#L295">295</a>                 }
<a class="jxr_linenumber" name="L296" href="#L296">296</a>             }
<a class="jxr_linenumber" name="L297" href="#L297">297</a>             <strong class="jxr_keyword">catch</strong> ( RepositoryAdminException e )
<a class="jxr_linenumber" name="L298" href="#L298">298</a>             {
<a class="jxr_linenumber" name="L299" href="#L299">299</a>                 log.debug( <span class="jxr_string">"RepositoryException remote repository with d'{}' not found, msg: {}"</span>,
<a class="jxr_linenumber" name="L300" href="#L300">300</a>                            archivaLocator.getRepositoryId(), e.getMessage() );
<a class="jxr_linenumber" name="L301" href="#L301">301</a>             }
<a class="jxr_linenumber" name="L302" href="#L302">302</a> 
<a class="jxr_linenumber" name="L303" href="#L303">303</a>             ManagedRepositoryContent managedRepositoryContent = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L304" href="#L304">304</a> 
<a class="jxr_linenumber" name="L305" href="#L305">305</a>             <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L306" href="#L306">306</a>             {
<a class="jxr_linenumber" name="L307" href="#L307">307</a>                 managedRepositoryContent =
<a class="jxr_linenumber" name="L308" href="#L308">308</a>                     repositoryFactory.getManagedRepositoryContent( archivaLocator.getRepositoryId() );
<a class="jxr_linenumber" name="L309" href="#L309">309</a>             }
<a class="jxr_linenumber" name="L310" href="#L310">310</a>             <strong class="jxr_keyword">catch</strong> ( RepositoryNotFoundException e )
<a class="jxr_linenumber" name="L311" href="#L311">311</a>             {
<a class="jxr_linenumber" name="L312" href="#L312">312</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_NOT_FOUND,
<a class="jxr_linenumber" name="L313" href="#L313">313</a>                                         <span class="jxr_string">"Invalid repository: "</span> + archivaLocator.getRepositoryId() );
<a class="jxr_linenumber" name="L314" href="#L314">314</a>             }
<a class="jxr_linenumber" name="L315" href="#L315">315</a>             <strong class="jxr_keyword">catch</strong> ( RepositoryException e )
<a class="jxr_linenumber" name="L316" href="#L316">316</a>             {
<a class="jxr_linenumber" name="L317" href="#L317">317</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e );
<a class="jxr_linenumber" name="L318" href="#L318">318</a>             }
<a class="jxr_linenumber" name="L319" href="#L319">319</a> 
<a class="jxr_linenumber" name="L320" href="#L320">320</a>             log.debug( <span class="jxr_string">"Managed repository '{}' accessed by '{}'"</span>, managedRepositoryContent.getId(), activePrincipal );
<a class="jxr_linenumber" name="L321" href="#L321">321</a> 
<a class="jxr_linenumber" name="L322" href="#L322">322</a>             <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L323" href="#L323">323</a>             {
<a class="jxr_linenumber" name="L324" href="#L324">324</a>                 resource = processRepository( request, archivaLocator, activePrincipal, managedRepositoryContent,
<a class="jxr_linenumber" name="L325" href="#L325">325</a>                                               managedRepositoryAdmin.getManagedRepository(
<a class="jxr_linenumber" name="L326" href="#L326">326</a>                                                   archivaLocator.getRepositoryId() ) );
<a class="jxr_linenumber" name="L327" href="#L327">327</a> 
<a class="jxr_linenumber" name="L328" href="#L328">328</a>                 String logicalResource = getLogicalResource( archivaLocator, <strong class="jxr_keyword">null</strong>, false );
<a class="jxr_linenumber" name="L329" href="#L329">329</a>                 resourcesInAbsolutePath.add(
<a class="jxr_linenumber" name="L330" href="#L330">330</a>                     <strong class="jxr_keyword">new</strong> File( managedRepositoryContent.getRepoRoot(), logicalResource ).getAbsolutePath() );
<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>             <strong class="jxr_keyword">catch</strong> ( RepositoryAdminException e )
<a class="jxr_linenumber" name="L334" href="#L334">334</a>             {
<a class="jxr_linenumber" name="L335" href="#L335">335</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e );
<a class="jxr_linenumber" name="L336" href="#L336">336</a>             }
<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>         String requestedResource = request.getRequestURI();
<a class="jxr_linenumber" name="L340" href="#L340">340</a> 
<a class="jxr_linenumber" name="L341" href="#L341">341</a>         <em class="jxr_comment">// MRM-872 : merge all available metadata</em>
<a class="jxr_linenumber" name="L342" href="#L342">342</a>         <em class="jxr_comment">// merge metadata only when requested via the repo group</em>
<a class="jxr_linenumber" name="L343" href="#L343">343</a>         <strong class="jxr_keyword">if</strong> ( ( repositoryRequest.isMetadata( requestedResource ) || repositoryRequest.isMetadataSupportFile(
<a class="jxr_linenumber" name="L344" href="#L344">344</a>             requestedResource ) ) &amp;&amp; repoGroupConfig != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L345" href="#L345">345</a>         {
<a class="jxr_linenumber" name="L346" href="#L346">346</a>             <em class="jxr_comment">// this should only be at the project level not version level!</em>
<a class="jxr_linenumber" name="L347" href="#L347">347</a>             <strong class="jxr_keyword">if</strong> ( isProjectReference( requestedResource ) )
<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 href="../../../../org/apache/archiva/webdav/ArchivaDavResource.html">ArchivaDavResource</a> res = (ArchivaDavResource) resource;
<a class="jxr_linenumber" name="L351" href="#L351">351</a>                 String filePath =
<a class="jxr_linenumber" name="L352" href="#L352">352</a>                     StringUtils.substringBeforeLast( res.getLocalResource().getAbsolutePath().replace( '&#92;&#92;', '/' ),
<a class="jxr_linenumber" name="L353" href="#L353">353</a>                                                      <span class="jxr_string">"/"</span> );
<a class="jxr_linenumber" name="L354" href="#L354">354</a>                 filePath = filePath + <span class="jxr_string">"/maven-metadata-"</span> + repoGroupConfig.getId() + <span class="jxr_string">".xml"</span>;
<a class="jxr_linenumber" name="L355" href="#L355">355</a> 
<a class="jxr_linenumber" name="L356" href="#L356">356</a>                 <em class="jxr_comment">// for MRM-872 handle checksums of the merged metadata files</em>
<a class="jxr_linenumber" name="L357" href="#L357">357</a>                 <strong class="jxr_keyword">if</strong> ( repositoryRequest.isSupportFile( requestedResource ) )
<a class="jxr_linenumber" name="L358" href="#L358">358</a>                 {
<a class="jxr_linenumber" name="L359" href="#L359">359</a>                     File metadataChecksum =
<a class="jxr_linenumber" name="L360" href="#L360">360</a>                         <strong class="jxr_keyword">new</strong> File( filePath + <span class="jxr_string">"."</span> + StringUtils.substringAfterLast( requestedResource, <span class="jxr_string">"."</span> ) );
<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> ( metadataChecksum.exists() )
<a class="jxr_linenumber" name="L363" href="#L363">363</a>                     {
<a class="jxr_linenumber" name="L364" href="#L364">364</a>                         <a href="../../../../org/apache/archiva/webdav/ArchivaDavResourceFactory.html">LogicalResource</a> logicalResource =
<a class="jxr_linenumber" name="L365" href="#L365">365</a>                             <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/archiva/webdav/ArchivaDavResourceFactory.html">LogicalResource</a>( getLogicalResource( archivaLocator, <strong class="jxr_keyword">null</strong>, false ) );
<a class="jxr_linenumber" name="L366" href="#L366">366</a> 
<a class="jxr_linenumber" name="L367" href="#L367">367</a>                         resource =
<a class="jxr_linenumber" name="L368" href="#L368">368</a>                             <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/archiva/webdav/ArchivaDavResource.html">ArchivaDavResource</a>( metadataChecksum.getAbsolutePath(), logicalResource.getPath(), <strong class="jxr_keyword">null</strong>,
<a class="jxr_linenumber" name="L369" href="#L369">369</a>                                                     request.getRemoteAddr(), activePrincipal, request.getDavSession(),
<a class="jxr_linenumber" name="L370" href="#L370">370</a>                                                     archivaLocator, <strong class="jxr_keyword">this</strong>, mimeTypes, auditListeners, scheduler,
<a class="jxr_linenumber" name="L371" href="#L371">371</a>                                                     fileLockManager );
<a class="jxr_linenumber" name="L372" href="#L372">372</a>                     }
<a class="jxr_linenumber" name="L373" href="#L373">373</a>                 }
<a class="jxr_linenumber" name="L374" href="#L374">374</a>                 <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L375" href="#L375">375</a>                 {
<a class="jxr_linenumber" name="L376" href="#L376">376</a>                     <strong class="jxr_keyword">if</strong> ( resourcesInAbsolutePath != <strong class="jxr_keyword">null</strong> &amp;&amp; resourcesInAbsolutePath.size() &gt; 1 )
<a class="jxr_linenumber" name="L377" href="#L377">377</a>                     {
<a class="jxr_linenumber" name="L378" href="#L378">378</a>                         <em class="jxr_comment">// merge the metadata of all repos under group</em>
<a class="jxr_linenumber" name="L379" href="#L379">379</a>                         ArchivaRepositoryMetadata mergedMetadata = <strong class="jxr_keyword">new</strong> ArchivaRepositoryMetadata();
<a class="jxr_linenumber" name="L380" href="#L380">380</a>                         <strong class="jxr_keyword">for</strong> ( String resourceAbsPath : resourcesInAbsolutePath )
<a class="jxr_linenumber" name="L381" href="#L381">381</a>                         {
<a class="jxr_linenumber" name="L382" href="#L382">382</a>                             <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L383" href="#L383">383</a>                             {
<a class="jxr_linenumber" name="L384" href="#L384">384</a>                                 File metadataFile = <strong class="jxr_keyword">new</strong> File( resourceAbsPath );
<a class="jxr_linenumber" name="L385" href="#L385">385</a>                                 ArchivaRepositoryMetadata repoMetadata = MavenMetadataReader.read( metadataFile );
<a class="jxr_linenumber" name="L386" href="#L386">386</a>                                 mergedMetadata = RepositoryMetadataMerge.merge( mergedMetadata, repoMetadata );
<a class="jxr_linenumber" name="L387" href="#L387">387</a>                             }
<a class="jxr_linenumber" name="L388" href="#L388">388</a>                             <strong class="jxr_keyword">catch</strong> ( XMLException e )
<a class="jxr_linenumber" name="L389" href="#L389">389</a>                             {
<a class="jxr_linenumber" name="L390" href="#L390">390</a>                                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
<a class="jxr_linenumber" name="L391" href="#L391">391</a>                                                         <span class="jxr_string">"Error occurred while reading metadata file."</span> );
<a class="jxr_linenumber" name="L392" href="#L392">392</a>                             }
<a class="jxr_linenumber" name="L393" href="#L393">393</a>                             <strong class="jxr_keyword">catch</strong> ( RepositoryMetadataException r )
<a class="jxr_linenumber" name="L394" href="#L394">394</a>                             {
<a class="jxr_linenumber" name="L395" href="#L395">395</a>                                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
<a class="jxr_linenumber" name="L396" href="#L396">396</a>                                                         <span class="jxr_string">"Error occurred while merging metadata file."</span> );
<a class="jxr_linenumber" name="L397" href="#L397">397</a>                             }
<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>                         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L401" href="#L401">401</a>                         {
<a class="jxr_linenumber" name="L402" href="#L402">402</a>                             File resourceFile = writeMergedMetadataToFile( mergedMetadata, filePath );
<a class="jxr_linenumber" name="L403" href="#L403">403</a> 
<a class="jxr_linenumber" name="L404" href="#L404">404</a>                             <a href="../../../../org/apache/archiva/webdav/ArchivaDavResourceFactory.html">LogicalResource</a> logicalResource =
<a class="jxr_linenumber" name="L405" href="#L405">405</a>                                 <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/archiva/webdav/ArchivaDavResourceFactory.html">LogicalResource</a>( getLogicalResource( archivaLocator, <strong class="jxr_keyword">null</strong>, false ) );
<a class="jxr_linenumber" name="L406" href="#L406">406</a> 
<a class="jxr_linenumber" name="L407" href="#L407">407</a>                             resource =
<a class="jxr_linenumber" name="L408" href="#L408">408</a>                                 <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/archiva/webdav/ArchivaDavResource.html">ArchivaDavResource</a>( resourceFile.getAbsolutePath(), logicalResource.getPath(), <strong class="jxr_keyword">null</strong>,
<a class="jxr_linenumber" name="L409" href="#L409">409</a>                                                         request.getRemoteAddr(), activePrincipal,
<a class="jxr_linenumber" name="L410" href="#L410">410</a>                                                         request.getDavSession(), archivaLocator, <strong class="jxr_keyword">this</strong>, mimeTypes,
<a class="jxr_linenumber" name="L411" href="#L411">411</a>                                                         auditListeners, scheduler, fileLockManager );
<a class="jxr_linenumber" name="L412" href="#L412">412</a>                         }
<a class="jxr_linenumber" name="L413" href="#L413">413</a>                         <strong class="jxr_keyword">catch</strong> ( RepositoryMetadataException r )
<a class="jxr_linenumber" name="L414" href="#L414">414</a>                         {
<a class="jxr_linenumber" name="L415" href="#L415">415</a>                             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
<a class="jxr_linenumber" name="L416" href="#L416">416</a>                                                     <span class="jxr_string">"Error occurred while writing metadata file."</span> );
<a class="jxr_linenumber" name="L417" href="#L417">417</a>                         }
<a class="jxr_linenumber" name="L418" href="#L418">418</a>                         <strong class="jxr_keyword">catch</strong> ( IOException ie )
<a class="jxr_linenumber" name="L419" href="#L419">419</a>                         {
<a class="jxr_linenumber" name="L420" href="#L420">420</a>                             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
<a class="jxr_linenumber" name="L421" href="#L421">421</a>                                                     <span class="jxr_string">"Error occurred while generating checksum files."</span> );
<a class="jxr_linenumber" name="L422" href="#L422">422</a>                         }
<a class="jxr_linenumber" name="L423" href="#L423">423</a>                         <strong class="jxr_keyword">catch</strong> ( DigesterException de )
<a class="jxr_linenumber" name="L424" href="#L424">424</a>                         {
<a class="jxr_linenumber" name="L425" href="#L425">425</a>                             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
<a class="jxr_linenumber" name="L426" href="#L426">426</a>                                                     <span class="jxr_string">"Error occurred while generating checksum files."</span>
<a class="jxr_linenumber" name="L427" href="#L427">427</a>                                                         + de.getMessage() );
<a class="jxr_linenumber" name="L428" href="#L428">428</a>                         }
<a class="jxr_linenumber" name="L429" href="#L429">429</a>                     }
<a class="jxr_linenumber" name="L430" href="#L430">430</a>                 }
<a class="jxr_linenumber" name="L431" href="#L431">431</a>             }
<a class="jxr_linenumber" name="L432" href="#L432">432</a>         }
<a class="jxr_linenumber" name="L433" href="#L433">433</a> 
<a class="jxr_linenumber" name="L434" href="#L434">434</a>         setHeaders( response, locator, resource, false );
<a class="jxr_linenumber" name="L435" href="#L435">435</a> 
<a class="jxr_linenumber" name="L436" href="#L436">436</a>         <em class="jxr_comment">// compatibility with MRM-440 to ensure browsing the repository works ok</em>
<a class="jxr_linenumber" name="L437" href="#L437">437</a>         <strong class="jxr_keyword">if</strong> ( resource.isCollection() &amp;&amp; !request.getRequestURI().endsWith( <span class="jxr_string">"/"</span> ) )
<a class="jxr_linenumber" name="L438" href="#L438">438</a>         {
<a class="jxr_linenumber" name="L439" href="#L439">439</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/archiva/webdav/BrowserRedirectException.html">BrowserRedirectException</a>( resource.getHref() );
<a class="jxr_linenumber" name="L440" href="#L440">440</a>         }
<a class="jxr_linenumber" name="L441" href="#L441">441</a>         resource.addLockManager( lockManager );
<a class="jxr_linenumber" name="L442" href="#L442">442</a>         <strong class="jxr_keyword">return</strong> resource;
<a class="jxr_linenumber" name="L443" href="#L443">443</a>     }
<a class="jxr_linenumber" name="L444" href="#L444">444</a> 
<a class="jxr_linenumber" name="L445" href="#L445">445</a>     <strong class="jxr_keyword">private</strong> DavResource processRepositoryGroup( <strong class="jxr_keyword">final</strong> DavServletRequest request,
<a class="jxr_linenumber" name="L446" href="#L446">446</a>                                                 <a href="../../../../org/apache/archiva/webdav/ArchivaDavResourceLocator.html">ArchivaDavResourceLocator</a> archivaLocator, List&lt;String&gt; repositories,
<a class="jxr_linenumber" name="L447" href="#L447">447</a>                                                 String activePrincipal, List&lt;String&gt; resourcesInAbsolutePath,
<a class="jxr_linenumber" name="L448" href="#L448">448</a>                                                 RepositoryGroupConfiguration repoGroupConfig )
<a class="jxr_linenumber" name="L449" href="#L449">449</a>         <strong class="jxr_keyword">throws</strong> DavException
<a class="jxr_linenumber" name="L450" href="#L450">450</a>     {
<a class="jxr_linenumber" name="L451" href="#L451">451</a>         DavResource resource = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L452" href="#L452">452</a>         List&lt;DavException&gt; storedExceptions = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
<a class="jxr_linenumber" name="L453" href="#L453">453</a> 
<a class="jxr_linenumber" name="L454" href="#L454">454</a>         String pathInfo = StringUtils.removeEnd( request.getPathInfo(), <span class="jxr_string">"/"</span> );
<a class="jxr_linenumber" name="L455" href="#L455">455</a> 
<a class="jxr_linenumber" name="L456" href="#L456">456</a>         String rootPath = StringUtils.substringBeforeLast( pathInfo, <span class="jxr_string">"/"</span> );
<a class="jxr_linenumber" name="L457" href="#L457">457</a> 
<a class="jxr_linenumber" name="L458" href="#L458">458</a>         <strong class="jxr_keyword">if</strong> ( StringUtils.endsWith( rootPath, repoGroupConfig.getMergedIndexPath() ) )
<a class="jxr_linenumber" name="L459" href="#L459">459</a>         {
<a class="jxr_linenumber" name="L460" href="#L460">460</a>             <em class="jxr_comment">// we are in the case of index file request</em>
<a class="jxr_linenumber" name="L461" href="#L461">461</a>             String requestedFileName = StringUtils.substringAfterLast( pathInfo, <span class="jxr_string">"/"</span> );
<a class="jxr_linenumber" name="L462" href="#L462">462</a>             File temporaryIndexDirectory =
<a class="jxr_linenumber" name="L463" href="#L463">463</a>                 buildMergedIndexDirectory( repositories, activePrincipal, request, repoGroupConfig );
<a class="jxr_linenumber" name="L464" href="#L464">464</a> 
<a class="jxr_linenumber" name="L465" href="#L465">465</a>             File resourceFile = <strong class="jxr_keyword">new</strong> File( temporaryIndexDirectory, requestedFileName );
<a class="jxr_linenumber" name="L466" href="#L466">466</a>             resource = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/archiva/webdav/ArchivaDavResource.html">ArchivaDavResource</a>( resourceFile.getAbsolutePath(), requestedFileName, <strong class="jxr_keyword">null</strong>,
<a class="jxr_linenumber" name="L467" href="#L467">467</a>                                                request.getRemoteAddr(), activePrincipal, request.getDavSession(),
<a class="jxr_linenumber" name="L468" href="#L468">468</a>                                                archivaLocator, <strong class="jxr_keyword">this</strong>, mimeTypes, auditListeners, scheduler,
<a class="jxr_linenumber" name="L469" href="#L469">469</a>                                                fileLockManager );
<a class="jxr_linenumber" name="L470" href="#L470">470</a> 
<a class="jxr_linenumber" name="L471" href="#L471">471</a>         }
<a class="jxr_linenumber" name="L472" href="#L472">472</a>         <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L473" href="#L473">473</a>         {
<a class="jxr_linenumber" name="L474" href="#L474">474</a>             <strong class="jxr_keyword">for</strong> ( String repositoryId : repositories )
<a class="jxr_linenumber" name="L475" href="#L475">475</a>             {
<a class="jxr_linenumber" name="L476" href="#L476">476</a>                 ManagedRepositoryContent managedRepositoryContent;
<a class="jxr_linenumber" name="L477" href="#L477">477</a>                 <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L478" href="#L478">478</a>                 {
<a class="jxr_linenumber" name="L479" href="#L479">479</a>                     managedRepositoryContent = repositoryFactory.getManagedRepositoryContent( repositoryId );
<a class="jxr_linenumber" name="L480" href="#L480">480</a>                 }
<a class="jxr_linenumber" name="L481" href="#L481">481</a>                 <strong class="jxr_keyword">catch</strong> ( RepositoryNotFoundException e )
<a class="jxr_linenumber" name="L482" href="#L482">482</a>                 {
<a class="jxr_linenumber" name="L483" href="#L483">483</a>                     <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e );
<a class="jxr_linenumber" name="L484" href="#L484">484</a>                 }
<a class="jxr_linenumber" name="L485" href="#L485">485</a>                 <strong class="jxr_keyword">catch</strong> ( RepositoryException e )
<a class="jxr_linenumber" name="L486" href="#L486">486</a>                 {
<a class="jxr_linenumber" name="L487" href="#L487">487</a>                     <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e );
<a class="jxr_linenumber" name="L488" href="#L488">488</a>                 }
<a class="jxr_linenumber" name="L489" href="#L489">489</a> 
<a class="jxr_linenumber" name="L490" href="#L490">490</a>                 <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L491" href="#L491">491</a>                 {
<a class="jxr_linenumber" name="L492" href="#L492">492</a>                     ManagedRepository managedRepository = managedRepositoryAdmin.getManagedRepository( repositoryId );
<a class="jxr_linenumber" name="L493" href="#L493">493</a>                     DavResource updatedResource =
<a class="jxr_linenumber" name="L494" href="#L494">494</a>                         processRepository( request, archivaLocator, activePrincipal, managedRepositoryContent,
<a class="jxr_linenumber" name="L495" href="#L495">495</a>                                            managedRepository );
<a class="jxr_linenumber" name="L496" href="#L496">496</a>                     <strong class="jxr_keyword">if</strong> ( resource == <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L497" href="#L497">497</a>                     {
<a class="jxr_linenumber" name="L498" href="#L498">498</a>                         resource = updatedResource;
<a class="jxr_linenumber" name="L499" href="#L499">499</a>                     }
<a class="jxr_linenumber" name="L500" href="#L500">500</a> 
<a class="jxr_linenumber" name="L501" href="#L501">501</a>                     String logicalResource = getLogicalResource( archivaLocator, <strong class="jxr_keyword">null</strong>, false );
<a class="jxr_linenumber" name="L502" href="#L502">502</a>                     <strong class="jxr_keyword">if</strong> ( logicalResource.endsWith( <span class="jxr_string">"/"</span> ) )
<a class="jxr_linenumber" name="L503" href="#L503">503</a>                     {
<a class="jxr_linenumber" name="L504" href="#L504">504</a>                         logicalResource = logicalResource.substring( 1 );
<a class="jxr_linenumber" name="L505" href="#L505">505</a>                     }
<a class="jxr_linenumber" name="L506" href="#L506">506</a>                     resourcesInAbsolutePath.add(
<a class="jxr_linenumber" name="L507" href="#L507">507</a>                         <strong class="jxr_keyword">new</strong> File( managedRepositoryContent.getRepoRoot(), logicalResource ).getAbsolutePath() );
<a class="jxr_linenumber" name="L508" href="#L508">508</a>                 }
<a class="jxr_linenumber" name="L509" href="#L509">509</a>                 <strong class="jxr_keyword">catch</strong> ( DavException e )
<a class="jxr_linenumber" name="L510" href="#L510">510</a>                 {
<a class="jxr_linenumber" name="L511" href="#L511">511</a>                     storedExceptions.add( e );
<a class="jxr_linenumber" name="L512" href="#L512">512</a>                 }
<a class="jxr_linenumber" name="L513" href="#L513">513</a>                 <strong class="jxr_keyword">catch</strong> ( RepositoryAdminException e )
<a class="jxr_linenumber" name="L514" href="#L514">514</a>                 {
<a class="jxr_linenumber" name="L515" href="#L515">515</a>                     storedExceptions.add( <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e ) );
<a class="jxr_linenumber" name="L516" href="#L516">516</a>                 }
<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">if</strong> ( resource == <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L520" href="#L520">520</a>         {
<a class="jxr_linenumber" name="L521" href="#L521">521</a>             <strong class="jxr_keyword">if</strong> ( !storedExceptions.isEmpty() )
<a class="jxr_linenumber" name="L522" href="#L522">522</a>             {
<a class="jxr_linenumber" name="L523" href="#L523">523</a>                 <em class="jxr_comment">// MRM-1232</em>
<a class="jxr_linenumber" name="L524" href="#L524">524</a>                 <strong class="jxr_keyword">for</strong> ( DavException e : storedExceptions )
<a class="jxr_linenumber" name="L525" href="#L525">525</a>                 {
<a class="jxr_linenumber" name="L526" href="#L526">526</a>                     <strong class="jxr_keyword">if</strong> ( 401 == e.getErrorCode() )
<a class="jxr_linenumber" name="L527" href="#L527">527</a>                     {
<a class="jxr_linenumber" name="L528" href="#L528">528</a>                         <strong class="jxr_keyword">throw</strong> e;
<a class="jxr_linenumber" name="L529" href="#L529">529</a>                     }
<a class="jxr_linenumber" name="L530" href="#L530">530</a>                 }
<a class="jxr_linenumber" name="L531" href="#L531">531</a> 
<a class="jxr_linenumber" name="L532" href="#L532">532</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_NOT_FOUND );
<a class="jxr_linenumber" name="L533" href="#L533">533</a>             }
<a class="jxr_linenumber" name="L534" href="#L534">534</a>             <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L535" href="#L535">535</a>             {
<a class="jxr_linenumber" name="L536" href="#L536">536</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_NOT_FOUND );
<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>         <strong class="jxr_keyword">return</strong> resource;
<a class="jxr_linenumber" name="L540" href="#L540">540</a>     }
<a class="jxr_linenumber" name="L541" href="#L541">541</a> 
<a class="jxr_linenumber" name="L542" href="#L542">542</a>     <strong class="jxr_keyword">private</strong> String getLogicalResource( ArchivaDavResourceLocator archivaLocator, ManagedRepository managedRepository,
<a class="jxr_linenumber" name="L543" href="#L543">543</a>                                        <strong class="jxr_keyword">boolean</strong> useOrigResourcePath )
<a class="jxr_linenumber" name="L544" href="#L544">544</a>     {
<a class="jxr_linenumber" name="L545" href="#L545">545</a>         <em class="jxr_comment">// FIXME remove this hack</em>
<a class="jxr_linenumber" name="L546" href="#L546">546</a>         <em class="jxr_comment">// but currently managedRepository can be null in case of group</em>
<a class="jxr_linenumber" name="L547" href="#L547">547</a>         String layout = managedRepository == <strong class="jxr_keyword">null</strong> ? <strong class="jxr_keyword">new</strong> ManagedRepository().getLayout() : managedRepository.getLayout();
<a class="jxr_linenumber" name="L548" href="#L548">548</a>         RepositoryStorage repositoryStorage =
<a class="jxr_linenumber" name="L549" href="#L549">549</a>             <strong class="jxr_keyword">this</strong>.applicationContext.getBean( <span class="jxr_string">"repositoryStorage#"</span> + layout, RepositoryStorage.<strong class="jxr_keyword">class</strong> );
<a class="jxr_linenumber" name="L550" href="#L550">550</a>         String path = repositoryStorage.getFilePath(
<a class="jxr_linenumber" name="L551" href="#L551">551</a>             useOrigResourcePath ? archivaLocator.getOrigResourcePath() : archivaLocator.getResourcePath(),
<a class="jxr_linenumber" name="L552" href="#L552">552</a>             managedRepository );
<a class="jxr_linenumber" name="L553" href="#L553">553</a>         log.debug( <span class="jxr_string">"found path {} for resourcePath: '{}' with managedRepo '{}' and layout '{}'"</span>, path,
<a class="jxr_linenumber" name="L554" href="#L554">554</a>                    archivaLocator.getResourcePath(), managedRepository == <strong class="jxr_keyword">null</strong> ? <span class="jxr_string">"null"</span> : managedRepository.getId(),
<a class="jxr_linenumber" name="L555" href="#L555">555</a>                    layout );
<a class="jxr_linenumber" name="L556" href="#L556">556</a>         <strong class="jxr_keyword">return</strong> path;
<a class="jxr_linenumber" name="L557" href="#L557">557</a>     }
<a class="jxr_linenumber" name="L558" href="#L558">558</a> 
<a class="jxr_linenumber" name="L559" href="#L559">559</a>     <strong class="jxr_keyword">private</strong> String evaluatePathWithVersion( ArchivaDavResourceLocator archivaLocator, <em class="jxr_comment">//</em>
<a class="jxr_linenumber" name="L560" href="#L560">560</a>                                             ManagedRepositoryContent managedRepositoryContent, <em class="jxr_comment">//</em>
<a class="jxr_linenumber" name="L561" href="#L561">561</a>                                             String contextPath )
<a class="jxr_linenumber" name="L562" href="#L562">562</a>         <strong class="jxr_keyword">throws</strong> DavException
<a class="jxr_linenumber" name="L563" href="#L563">563</a>     {
<a class="jxr_linenumber" name="L564" href="#L564">564</a>         String layout = managedRepositoryContent.getRepository() == <strong class="jxr_keyword">null</strong>
<a class="jxr_linenumber" name="L565" href="#L565">565</a>             ? <strong class="jxr_keyword">new</strong> ManagedRepository().getLayout()
<a class="jxr_linenumber" name="L566" href="#L566">566</a>             : managedRepositoryContent.getRepository().getLayout();
<a class="jxr_linenumber" name="L567" href="#L567">567</a>         RepositoryStorage repositoryStorage =
<a class="jxr_linenumber" name="L568" href="#L568">568</a>             <strong class="jxr_keyword">this</strong>.applicationContext.getBean( <span class="jxr_string">"repositoryStorage#"</span> + layout, RepositoryStorage.<strong class="jxr_keyword">class</strong> );
<a class="jxr_linenumber" name="L569" href="#L569">569</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L570" href="#L570">570</a>         {
<a class="jxr_linenumber" name="L571" href="#L571">571</a>             <strong class="jxr_keyword">return</strong> repositoryStorage.getFilePathWithVersion( archivaLocator.getResourcePath(), <em class="jxr_comment">//</em>
<a class="jxr_linenumber" name="L572" href="#L572">572</a>                                                              managedRepositoryContent );
<a class="jxr_linenumber" name="L573" href="#L573">573</a>         }
<a class="jxr_linenumber" name="L574" href="#L574">574</a>         <strong class="jxr_keyword">catch</strong> ( RelocationException e )
<a class="jxr_linenumber" name="L575" href="#L575">575</a>         {
<a class="jxr_linenumber" name="L576" href="#L576">576</a>             String path = e.getPath();
<a class="jxr_linenumber" name="L577" href="#L577">577</a>             log.debug( <span class="jxr_string">"Relocation to {}"</span>, path );
<a class="jxr_linenumber" name="L578" href="#L578">578</a> 
<a class="jxr_linenumber" name="L579" href="#L579">579</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/archiva/webdav/BrowserRedirectException.html">BrowserRedirectException</a>( addHrefPrefix( contextPath, path ), e.getRelocationType() );
<a class="jxr_linenumber" name="L580" href="#L580">580</a>         }
<a class="jxr_linenumber" name="L581" href="#L581">581</a>         <strong class="jxr_keyword">catch</strong> ( XMLException e )
<a class="jxr_linenumber" name="L582" href="#L582">582</a>         {
<a class="jxr_linenumber" name="L583" href="#L583">583</a>             log.error( e.getMessage(), e );
<a class="jxr_linenumber" name="L584" href="#L584">584</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e );
<a class="jxr_linenumber" name="L585" href="#L585">585</a>         }
<a class="jxr_linenumber" name="L586" href="#L586">586</a>     }
<a class="jxr_linenumber" name="L587" href="#L587">587</a> 
<a class="jxr_linenumber" name="L588" href="#L588">588</a>     <strong class="jxr_keyword">private</strong> DavResource processRepository( <strong class="jxr_keyword">final</strong> DavServletRequest request, ArchivaDavResourceLocator archivaLocator,
<a class="jxr_linenumber" name="L589" href="#L589">589</a>                                            String activePrincipal, ManagedRepositoryContent managedRepositoryContent,
<a class="jxr_linenumber" name="L590" href="#L590">590</a>                                            ManagedRepository managedRepository )
<a class="jxr_linenumber" name="L591" href="#L591">591</a>         <strong class="jxr_keyword">throws</strong> DavException
<a class="jxr_linenumber" name="L592" href="#L592">592</a>     {
<a class="jxr_linenumber" name="L593" href="#L593">593</a>         DavResource resource = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L594" href="#L594">594</a>         <strong class="jxr_keyword">if</strong> ( isAuthorized( request, managedRepositoryContent.getId() ) )
<a class="jxr_linenumber" name="L595" href="#L595">595</a>         {
<a class="jxr_linenumber" name="L596" href="#L596">596</a>             <strong class="jxr_keyword">boolean</strong> readMethod = WebdavMethodUtil.isReadMethod( request.getMethod() );
<a class="jxr_linenumber" name="L597" href="#L597">597</a>             <em class="jxr_comment">// Maven Centric part ask evaluation if -SNAPSHOT</em>
<a class="jxr_linenumber" name="L598" href="#L598">598</a>             <em class="jxr_comment">// MRM-1846 test if read method to prevent issue with maven 2.2.1 and uniqueVersion false</em>
<a class="jxr_linenumber" name="L599" href="#L599">599</a> 
<a class="jxr_linenumber" name="L600" href="#L600">600</a>             String path = readMethod
<a class="jxr_linenumber" name="L601" href="#L601">601</a>                 ? evaluatePathWithVersion( archivaLocator, managedRepositoryContent, request.getContextPath() )
<a class="jxr_linenumber" name="L602" href="#L602">602</a>                 : getLogicalResource( archivaLocator, managedRepository, false );
<a class="jxr_linenumber" name="L603" href="#L603">603</a>             <strong class="jxr_keyword">if</strong> ( path.startsWith( <span class="jxr_string">"/"</span> ) )
<a class="jxr_linenumber" name="L604" href="#L604">604</a>             {
<a class="jxr_linenumber" name="L605" href="#L605">605</a>                 path = path.substring( 1 );
<a class="jxr_linenumber" name="L606" href="#L606">606</a>             }
<a class="jxr_linenumber" name="L607" href="#L607">607</a>             <a href="../../../../org/apache/archiva/webdav/ArchivaDavResourceFactory.html">LogicalResource</a> logicalResource = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/archiva/webdav/ArchivaDavResourceFactory.html">LogicalResource</a>( path );
<a class="jxr_linenumber" name="L608" href="#L608">608</a>             File resourceFile = <strong class="jxr_keyword">new</strong> File( managedRepositoryContent.getRepoRoot(), path );
<a class="jxr_linenumber" name="L609" href="#L609">609</a>             resource =
<a class="jxr_linenumber" name="L610" href="#L610">610</a>                 <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/archiva/webdav/ArchivaDavResource.html">ArchivaDavResource</a>( resourceFile.getAbsolutePath(), path, managedRepositoryContent.getRepository(),
<a class="jxr_linenumber" name="L611" href="#L611">611</a>                                         request.getRemoteAddr(), activePrincipal, request.getDavSession(),
<a class="jxr_linenumber" name="L612" href="#L612">612</a>                                         archivaLocator, <strong class="jxr_keyword">this</strong>, mimeTypes, auditListeners, scheduler, fileLockManager );
<a class="jxr_linenumber" name="L613" href="#L613">613</a> 
<a class="jxr_linenumber" name="L614" href="#L614">614</a>             <strong class="jxr_keyword">if</strong> ( WebdavMethodUtil.isReadMethod( request.getMethod() ) )
<a class="jxr_linenumber" name="L615" href="#L615">615</a>             {
<a class="jxr_linenumber" name="L616" href="#L616">616</a>                 <strong class="jxr_keyword">if</strong> ( archivaLocator.getHref( false ).endsWith( <span class="jxr_string">"/"</span> ) &amp;&amp; !resourceFile.isDirectory() )
<a class="jxr_linenumber" name="L617" href="#L617">617</a>                 {
<a class="jxr_linenumber" name="L618" href="#L618">618</a>                     <em class="jxr_comment">// force a resource not found</em>
<a class="jxr_linenumber" name="L619" href="#L619">619</a>                     <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_NOT_FOUND, <span class="jxr_string">"Resource does not exist"</span> );
<a class="jxr_linenumber" name="L620" href="#L620">620</a>                 }
<a class="jxr_linenumber" name="L621" href="#L621">621</a>                 <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L622" href="#L622">622</a>                 {
<a class="jxr_linenumber" name="L623" href="#L623">623</a>                     <strong class="jxr_keyword">if</strong> ( !resource.isCollection() )
<a class="jxr_linenumber" name="L624" href="#L624">624</a>                     {
<a class="jxr_linenumber" name="L625" href="#L625">625</a>                         <strong class="jxr_keyword">boolean</strong> previouslyExisted = resourceFile.exists();
<a class="jxr_linenumber" name="L626" href="#L626">626</a> 
<a class="jxr_linenumber" name="L627" href="#L627">627</a>                         <strong class="jxr_keyword">boolean</strong> fromProxy = fetchContentFromProxies( managedRepositoryContent, request, logicalResource );
<a class="jxr_linenumber" name="L628" href="#L628">628</a> 
<a class="jxr_linenumber" name="L629" href="#L629">629</a>                         <em class="jxr_comment">// At this point the incoming request can either be in default or</em>
<a class="jxr_linenumber" name="L630" href="#L630">630</a>                         <em class="jxr_comment">// legacy layout format.</em>
<a class="jxr_linenumber" name="L631" href="#L631">631</a>                         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L632" href="#L632">632</a>                         {
<a class="jxr_linenumber" name="L633" href="#L633">633</a>                             <em class="jxr_comment">// Perform an adjustment of the resource to the managed</em>
<a class="jxr_linenumber" name="L634" href="#L634">634</a>                             <em class="jxr_comment">// repository expected path.</em>
<a class="jxr_linenumber" name="L635" href="#L635">635</a>                             String localResourcePath =
<a class="jxr_linenumber" name="L636" href="#L636">636</a>                                 repositoryRequest.toNativePath( logicalResource.getPath(), managedRepositoryContent );
<a class="jxr_linenumber" name="L637" href="#L637">637</a>                             resourceFile = <strong class="jxr_keyword">new</strong> File( managedRepositoryContent.getRepoRoot(), localResourcePath );
<a class="jxr_linenumber" name="L638" href="#L638">638</a>                             resource =
<a class="jxr_linenumber" name="L639" href="#L639">639</a>                                 <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/archiva/webdav/ArchivaDavResource.html">ArchivaDavResource</a>( resourceFile.getAbsolutePath(), logicalResource.getPath(),
<a class="jxr_linenumber" name="L640" href="#L640">640</a>                                                         managedRepositoryContent.getRepository(),
<a class="jxr_linenumber" name="L641" href="#L641">641</a>                                                         request.getRemoteAddr(), activePrincipal,
<a class="jxr_linenumber" name="L642" href="#L642">642</a>                                                         request.getDavSession(), archivaLocator, <strong class="jxr_keyword">this</strong>, mimeTypes,
<a class="jxr_linenumber" name="L643" href="#L643">643</a>                                                         auditListeners, scheduler, fileLockManager );
<a class="jxr_linenumber" name="L644" href="#L644">644</a>                         }
<a class="jxr_linenumber" name="L645" href="#L645">645</a>                         <strong class="jxr_keyword">catch</strong> ( LayoutException e )
<a class="jxr_linenumber" name="L646" href="#L646">646</a>                         {
<a class="jxr_linenumber" name="L647" href="#L647">647</a>                             <strong class="jxr_keyword">if</strong> ( !resourceFile.exists() )
<a class="jxr_linenumber" name="L648" href="#L648">648</a>                             {
<a class="jxr_linenumber" name="L649" href="#L649">649</a>                                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_NOT_FOUND, e );
<a class="jxr_linenumber" name="L650" href="#L650">650</a>                             }
<a class="jxr_linenumber" name="L651" href="#L651">651</a>                         }
<a class="jxr_linenumber" name="L652" href="#L652">652</a> 
<a class="jxr_linenumber" name="L653" href="#L653">653</a>                         <strong class="jxr_keyword">if</strong> ( fromProxy )
<a class="jxr_linenumber" name="L654" href="#L654">654</a>                         {
<a class="jxr_linenumber" name="L655" href="#L655">655</a>                             String action = ( previouslyExisted ? AuditEvent.MODIFY_FILE : AuditEvent.CREATE_FILE )
<a class="jxr_linenumber" name="L656" href="#L656">656</a>                                 + PROXIED_SUFFIX;
<a class="jxr_linenumber" name="L657" href="#L657">657</a> 
<a class="jxr_linenumber" name="L658" href="#L658">658</a>                             log.debug( <span class="jxr_string">"Proxied artifact '{}' in repository '{}' (current user '{}')"</span>,
<a class="jxr_linenumber" name="L659" href="#L659">659</a>                                        resourceFile.getName(), managedRepositoryContent.getId(), activePrincipal );
<a class="jxr_linenumber" name="L660" href="#L660">660</a> 
<a class="jxr_linenumber" name="L661" href="#L661">661</a>                             triggerAuditEvent( request.getRemoteAddr(), archivaLocator.getRepositoryId(),
<a class="jxr_linenumber" name="L662" href="#L662">662</a>                                                logicalResource.getPath(), action, activePrincipal );
<a class="jxr_linenumber" name="L663" href="#L663">663</a>                         }
<a class="jxr_linenumber" name="L664" href="#L664">664</a> 
<a class="jxr_linenumber" name="L665" href="#L665">665</a>                         <strong class="jxr_keyword">if</strong> ( !resourceFile.exists() )
<a class="jxr_linenumber" name="L666" href="#L666">666</a>                         {
<a class="jxr_linenumber" name="L667" href="#L667">667</a>                             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_NOT_FOUND, <span class="jxr_string">"Resource does not exist"</span> );
<a class="jxr_linenumber" name="L668" href="#L668">668</a>                         }
<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> 
<a class="jxr_linenumber" name="L673" href="#L673">673</a>             <strong class="jxr_keyword">if</strong> ( request.getMethod().equals( HTTP_PUT_METHOD ) )
<a class="jxr_linenumber" name="L674" href="#L674">674</a>             {
<a class="jxr_linenumber" name="L675" href="#L675">675</a>                 String resourcePath = logicalResource.getPath();
<a class="jxr_linenumber" name="L676" href="#L676">676</a> 
<a class="jxr_linenumber" name="L677" href="#L677">677</a>                 <em class="jxr_comment">// check if target repo is enabled for releases</em>
<a class="jxr_linenumber" name="L678" href="#L678">678</a>                 <em class="jxr_comment">// we suppose that release-artifacts can be deployed only to repos enabled for releases</em>
<a class="jxr_linenumber" name="L679" href="#L679">679</a>                 <strong class="jxr_keyword">if</strong> ( managedRepositoryContent.getRepository().isReleases() &amp;&amp; !repositoryRequest.isMetadata(
<a class="jxr_linenumber" name="L680" href="#L680">680</a>                     resourcePath ) &amp;&amp; !repositoryRequest.isSupportFile( resourcePath ) )
<a class="jxr_linenumber" name="L681" href="#L681">681</a>                 {
<a class="jxr_linenumber" name="L682" href="#L682">682</a>                     ArtifactReference artifact = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L683" href="#L683">683</a>                     <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L684" href="#L684">684</a>                     {
<a class="jxr_linenumber" name="L685" href="#L685">685</a>                         artifact = managedRepositoryContent.toArtifactReference( resourcePath );
<a class="jxr_linenumber" name="L686" href="#L686">686</a> 
<a class="jxr_linenumber" name="L687" href="#L687">687</a>                         <strong class="jxr_keyword">if</strong> ( !VersionUtil.isSnapshot( artifact.getVersion() ) )
<a class="jxr_linenumber" name="L688" href="#L688">688</a>                         {
<a class="jxr_linenumber" name="L689" href="#L689">689</a>                             <em class="jxr_comment">// check if artifact already exists and if artifact re-deployment to the repository is allowed</em>
<a class="jxr_linenumber" name="L690" href="#L690">690</a>                             <strong class="jxr_keyword">if</strong> ( managedRepositoryContent.hasContent( artifact )
<a class="jxr_linenumber" name="L691" href="#L691">691</a>                                 &amp;&amp; managedRepositoryContent.getRepository().isBlockRedeployments() )
<a class="jxr_linenumber" name="L692" href="#L692">692</a>                             {
<a class="jxr_linenumber" name="L693" href="#L693">693</a>                                 log.warn( <span class="jxr_string">"Overwriting released artifacts in repository '{}' is not allowed."</span>,
<a class="jxr_linenumber" name="L694" href="#L694">694</a>                                           managedRepositoryContent.getId() );
<a class="jxr_linenumber" name="L695" href="#L695">695</a>                                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_CONFLICT,
<a class="jxr_linenumber" name="L696" href="#L696">696</a>                                                         <span class="jxr_string">"Overwriting released artifacts is not allowed."</span> );
<a class="jxr_linenumber" name="L697" href="#L697">697</a>                             }
<a class="jxr_linenumber" name="L698" href="#L698">698</a>                         }
<a class="jxr_linenumber" name="L699" href="#L699">699</a>                     }
<a class="jxr_linenumber" name="L700" href="#L700">700</a>                     <strong class="jxr_keyword">catch</strong> ( LayoutException e )
<a class="jxr_linenumber" name="L701" href="#L701">701</a>                     {
<a class="jxr_linenumber" name="L702" href="#L702">702</a>                         log.warn( <span class="jxr_string">"Artifact path '{}' is invalid."</span>, resourcePath );
<a class="jxr_linenumber" name="L703" href="#L703">703</a>                     }
<a class="jxr_linenumber" name="L704" href="#L704">704</a>                 }
<a class="jxr_linenumber" name="L705" href="#L705">705</a> 
<a class="jxr_linenumber" name="L706" href="#L706">706</a>                 <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="L707" href="#L707">707</a> <em class="jxr_comment">                 * Create parent directories that don't exist when writing a file This actually makes this</em>
<a class="jxr_linenumber" name="L708" href="#L708">708</a> <em class="jxr_comment">                 * implementation not compliant to the WebDAV RFC - but we have enough knowledge about how the</em>
<a class="jxr_linenumber" name="L709" href="#L709">709</a> <em class="jxr_comment">                 * collection is being used to do this reasonably and some versions of Maven's WebDAV don't correctly</em>
<a class="jxr_linenumber" name="L710" href="#L710">710</a> <em class="jxr_comment">                 * create the collections themselves.</em>
<a class="jxr_linenumber" name="L711" href="#L711">711</a> <em class="jxr_comment">                 */</em>
<a class="jxr_linenumber" name="L712" href="#L712">712</a> 
<a class="jxr_linenumber" name="L713" href="#L713">713</a>                 File rootDirectory = <strong class="jxr_keyword">new</strong> File( managedRepositoryContent.getRepoRoot() );
<a class="jxr_linenumber" name="L714" href="#L714">714</a>                 File destDir = <strong class="jxr_keyword">new</strong> File( rootDirectory, logicalResource.getPath() ).getParentFile();
<a class="jxr_linenumber" name="L715" href="#L715">715</a> 
<a class="jxr_linenumber" name="L716" href="#L716">716</a>                 <strong class="jxr_keyword">if</strong> ( !destDir.exists() )
<a class="jxr_linenumber" name="L717" href="#L717">717</a>                 {
<a class="jxr_linenumber" name="L718" href="#L718">718</a>                     destDir.mkdirs();
<a class="jxr_linenumber" name="L719" href="#L719">719</a>                     String relPath = PathUtil.getRelative( rootDirectory.getAbsolutePath(), destDir );
<a class="jxr_linenumber" name="L720" href="#L720">720</a> 
<a class="jxr_linenumber" name="L721" href="#L721">721</a>                     log.debug( <span class="jxr_string">"Creating destination directory '{}' (current user '{}')"</span>, destDir.getName(),
<a class="jxr_linenumber" name="L722" href="#L722">722</a>                                activePrincipal );
<a class="jxr_linenumber" name="L723" href="#L723">723</a> 
<a class="jxr_linenumber" name="L724" href="#L724">724</a>                     triggerAuditEvent( request.getRemoteAddr(), managedRepositoryContent.getId(), relPath,
<a class="jxr_linenumber" name="L725" href="#L725">725</a>                                        AuditEvent.CREATE_DIR, activePrincipal );
<a class="jxr_linenumber" name="L726" href="#L726">726</a>                 }
<a class="jxr_linenumber" name="L727" href="#L727">727</a>             }
<a class="jxr_linenumber" name="L728" href="#L728">728</a>         }
<a class="jxr_linenumber" name="L729" href="#L729">729</a>         <strong class="jxr_keyword">return</strong> resource;
<a class="jxr_linenumber" name="L730" href="#L730">730</a>     }
<a class="jxr_linenumber" name="L731" href="#L731">731</a> 
<a class="jxr_linenumber" name="L732" href="#L732">732</a>     @Override
<a class="jxr_linenumber" name="L733" href="#L733">733</a>     <strong class="jxr_keyword">public</strong> DavResource createResource( <strong class="jxr_keyword">final</strong> DavResourceLocator locator, <strong class="jxr_keyword">final</strong> DavSession davSession )
<a class="jxr_linenumber" name="L734" href="#L734">734</a>         <strong class="jxr_keyword">throws</strong> DavException
<a class="jxr_linenumber" name="L735" href="#L735">735</a>     {
<a class="jxr_linenumber" name="L736" href="#L736">736</a>         <a href="../../../../org/apache/archiva/webdav/ArchivaDavResourceLocator.html">ArchivaDavResourceLocator</a> archivaLocator = checkLocatorIsInstanceOfRepositoryLocator( locator );
<a class="jxr_linenumber" name="L737" href="#L737">737</a> 
<a class="jxr_linenumber" name="L738" href="#L738">738</a>         ManagedRepositoryContent managedRepositoryContent;
<a class="jxr_linenumber" name="L739" href="#L739">739</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L740" href="#L740">740</a>         {
<a class="jxr_linenumber" name="L741" href="#L741">741</a>             managedRepositoryContent =
<a class="jxr_linenumber" name="L742" href="#L742">742</a>                 repositoryFactory.getManagedRepositoryContent( archivaLocator.getRepositoryId() );
<a class="jxr_linenumber" name="L743" href="#L743">743</a>         }
<a class="jxr_linenumber" name="L744" href="#L744">744</a>         <strong class="jxr_keyword">catch</strong> ( RepositoryNotFoundException e )
<a class="jxr_linenumber" name="L745" href="#L745">745</a>         {
<a class="jxr_linenumber" name="L746" href="#L746">746</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_NOT_FOUND,
<a class="jxr_linenumber" name="L747" href="#L747">747</a>                                     <span class="jxr_string">"Invalid repository: "</span> + archivaLocator.getRepositoryId() );
<a class="jxr_linenumber" name="L748" href="#L748">748</a>         }
<a class="jxr_linenumber" name="L749" href="#L749">749</a>         <strong class="jxr_keyword">catch</strong> ( RepositoryException e )
<a class="jxr_linenumber" name="L750" href="#L750">750</a>         {
<a class="jxr_linenumber" name="L751" href="#L751">751</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e );
<a class="jxr_linenumber" name="L752" href="#L752">752</a>         }
<a class="jxr_linenumber" name="L753" href="#L753">753</a> 
<a class="jxr_linenumber" name="L754" href="#L754">754</a>         DavResource resource = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L755" href="#L755">755</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L756" href="#L756">756</a>         {
<a class="jxr_linenumber" name="L757" href="#L757">757</a>             String logicalResource = getLogicalResource( archivaLocator, managedRepositoryAdmin.getManagedRepository(
<a class="jxr_linenumber" name="L758" href="#L758">758</a>                 archivaLocator.getRepositoryId() ), false );
<a class="jxr_linenumber" name="L759" href="#L759">759</a>             <strong class="jxr_keyword">if</strong> ( logicalResource.startsWith( <span class="jxr_string">"/"</span> ) )
<a class="jxr_linenumber" name="L760" href="#L760">760</a>             {
<a class="jxr_linenumber" name="L761" href="#L761">761</a>                 logicalResource = logicalResource.substring( 1 );
<a class="jxr_linenumber" name="L762" href="#L762">762</a>             }
<a class="jxr_linenumber" name="L763" href="#L763">763</a>             File resourceFile = <strong class="jxr_keyword">new</strong> File( managedRepositoryContent.getRepoRoot(), logicalResource );
<a class="jxr_linenumber" name="L764" href="#L764">764</a>             resource = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/archiva/webdav/ArchivaDavResource.html">ArchivaDavResource</a>( resourceFile.getAbsolutePath(), logicalResource,
<a class="jxr_linenumber" name="L765" href="#L765">765</a>                                                managedRepositoryContent.getRepository(), davSession, archivaLocator,
<a class="jxr_linenumber" name="L766" href="#L766">766</a>                                                <strong class="jxr_keyword">this</strong>, mimeTypes, auditListeners, scheduler, fileLockManager );
<a class="jxr_linenumber" name="L767" href="#L767">767</a> 
<a class="jxr_linenumber" name="L768" href="#L768">768</a>             resource.addLockManager( lockManager );
<a class="jxr_linenumber" name="L769" href="#L769">769</a>         }
<a class="jxr_linenumber" name="L770" href="#L770">770</a>         <strong class="jxr_keyword">catch</strong> ( RepositoryAdminException e )
<a class="jxr_linenumber" name="L771" href="#L771">771</a>         {
<a class="jxr_linenumber" name="L772" href="#L772">772</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e );
<a class="jxr_linenumber" name="L773" href="#L773">773</a>         }
<a class="jxr_linenumber" name="L774" href="#L774">774</a>         <strong class="jxr_keyword">return</strong> resource;
<a class="jxr_linenumber" name="L775" href="#L775">775</a>     }
<a class="jxr_linenumber" name="L776" href="#L776">776</a> 
<a class="jxr_linenumber" name="L777" href="#L777">777</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> fetchContentFromProxies( ManagedRepositoryContent managedRepository, DavServletRequest request,
<a class="jxr_linenumber" name="L778" href="#L778">778</a>                                              <a href="../../../../org/apache/archiva/webdav/ArchivaDavResourceFactory.html">LogicalResource</a> resource )
<a class="jxr_linenumber" name="L779" href="#L779">779</a>         <strong class="jxr_keyword">throws</strong> DavException
<a class="jxr_linenumber" name="L780" href="#L780">780</a>     {
<a class="jxr_linenumber" name="L781" href="#L781">781</a>         String path = resource.getPath();
<a class="jxr_linenumber" name="L782" href="#L782">782</a>         <strong class="jxr_keyword">if</strong> ( repositoryRequest.isSupportFile( path ) )
<a class="jxr_linenumber" name="L783" href="#L783">783</a>         {
<a class="jxr_linenumber" name="L784" href="#L784">784</a>             File proxiedFile = connectors.fetchFromProxies( managedRepository, path );
<a class="jxr_linenumber" name="L785" href="#L785">785</a> 
<a class="jxr_linenumber" name="L786" href="#L786">786</a>             <strong class="jxr_keyword">return</strong> ( proxiedFile != <strong class="jxr_keyword">null</strong> );
<a class="jxr_linenumber" name="L787" href="#L787">787</a>         }
<a class="jxr_linenumber" name="L788" href="#L788">788</a> 
<a class="jxr_linenumber" name="L789" href="#L789">789</a>         <em class="jxr_comment">// Is it a Metadata resource?</em>
<a class="jxr_linenumber" name="L790" href="#L790">790</a>         <strong class="jxr_keyword">if</strong> ( repositoryRequest.isDefault( path ) &amp;&amp; repositoryRequest.isMetadata( path ) )
<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> connectors.fetchMetadataFromProxies( managedRepository, path ).isModified();
<a class="jxr_linenumber" name="L793" href="#L793">793</a>         }
<a class="jxr_linenumber" name="L794" href="#L794">794</a> 
<a class="jxr_linenumber" name="L795" href="#L795">795</a>         <em class="jxr_comment">// Is it an Archetype Catalog?</em>
<a class="jxr_linenumber" name="L796" href="#L796">796</a>         <strong class="jxr_keyword">if</strong> ( repositoryRequest.isArchetypeCatalog( path ) )
<a class="jxr_linenumber" name="L797" href="#L797">797</a>         {
<a class="jxr_linenumber" name="L798" href="#L798">798</a>             <em class="jxr_comment">// FIXME we must implement a merge of remote archetype catalog from remote servers.</em>
<a class="jxr_linenumber" name="L799" href="#L799">799</a>             File proxiedFile = connectors.fetchFromProxies( managedRepository, path );
<a class="jxr_linenumber" name="L800" href="#L800">800</a> 
<a class="jxr_linenumber" name="L801" href="#L801">801</a>             <strong class="jxr_keyword">return</strong> ( proxiedFile != <strong class="jxr_keyword">null</strong> );
<a class="jxr_linenumber" name="L802" href="#L802">802</a>         }
<a class="jxr_linenumber" name="L803" href="#L803">803</a> 
<a class="jxr_linenumber" name="L804" href="#L804">804</a>         <em class="jxr_comment">// Not any of the above? Then it's gotta be an artifact reference.</em>
<a class="jxr_linenumber" name="L805" href="#L805">805</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L806" href="#L806">806</a>         {
<a class="jxr_linenumber" name="L807" href="#L807">807</a>             <em class="jxr_comment">// Get the artifact reference in a layout neutral way.</em>
<a class="jxr_linenumber" name="L808" href="#L808">808</a>             ArtifactReference artifact = repositoryRequest.toArtifactReference( path );
<a class="jxr_linenumber" name="L809" href="#L809">809</a> 
<a class="jxr_linenumber" name="L810" href="#L810">810</a>             <strong class="jxr_keyword">if</strong> ( artifact != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L811" href="#L811">811</a>             {
<a class="jxr_linenumber" name="L812" href="#L812">812</a>                 String repositoryLayout = managedRepository.getRepository().getLayout();
<a class="jxr_linenumber" name="L813" href="#L813">813</a> 
<a class="jxr_linenumber" name="L814" href="#L814">814</a>                 RepositoryStorage repositoryStorage =
<a class="jxr_linenumber" name="L815" href="#L815">815</a>                     <strong class="jxr_keyword">this</strong>.applicationContext.getBean( <span class="jxr_string">"repositoryStorage#"</span> + repositoryLayout, RepositoryStorage.<strong class="jxr_keyword">class</strong> );
<a class="jxr_linenumber" name="L816" href="#L816">816</a>                 repositoryStorage.applyServerSideRelocation( managedRepository, artifact );
<a class="jxr_linenumber" name="L817" href="#L817">817</a> 
<a class="jxr_linenumber" name="L818" href="#L818">818</a>                 File proxiedFile = connectors.fetchFromProxies( managedRepository, artifact );
<a class="jxr_linenumber" name="L819" href="#L819">819</a> 
<a class="jxr_linenumber" name="L820" href="#L820">820</a>                 resource.setPath( managedRepository.toPath( artifact ) );
<a class="jxr_linenumber" name="L821" href="#L821">821</a> 
<a class="jxr_linenumber" name="L822" href="#L822">822</a>                 log.debug( <span class="jxr_string">"Proxied artifact '{}:{}:{}'"</span>, artifact.getGroupId(), artifact.getArtifactId(),
<a class="jxr_linenumber" name="L823" href="#L823">823</a>                            artifact.getVersion() );
<a class="jxr_linenumber" name="L824" href="#L824">824</a> 
<a class="jxr_linenumber" name="L825" href="#L825">825</a>                 <strong class="jxr_keyword">return</strong> ( proxiedFile != <strong class="jxr_keyword">null</strong> );
<a class="jxr_linenumber" name="L826" href="#L826">826</a>             }
<a class="jxr_linenumber" name="L827" href="#L827">827</a>         }
<a class="jxr_linenumber" name="L828" href="#L828">828</a>         <strong class="jxr_keyword">catch</strong> ( LayoutException e )
<a class="jxr_linenumber" name="L829" href="#L829">829</a>         {
<a class="jxr_linenumber" name="L830" href="#L830">830</a>             <em class="jxr_comment">/* eat it */</em>
<a class="jxr_linenumber" name="L831" href="#L831">831</a>         }
<a class="jxr_linenumber" name="L832" href="#L832">832</a>         <strong class="jxr_keyword">catch</strong> ( ProxyDownloadException e )
<a class="jxr_linenumber" name="L833" href="#L833">833</a>         {
<a class="jxr_linenumber" name="L834" href="#L834">834</a>             log.error( e.getMessage(), e );
<a class="jxr_linenumber" name="L835" href="#L835">835</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
<a class="jxr_linenumber" name="L836" href="#L836">836</a>                                     <span class="jxr_string">"Unable to fetch artifact resource."</span> );
<a class="jxr_linenumber" name="L837" href="#L837">837</a>         }
<a class="jxr_linenumber" name="L838" href="#L838">838</a>         <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="L839" href="#L839">839</a>     }
<a class="jxr_linenumber" name="L840" href="#L840">840</a> 
<a class="jxr_linenumber" name="L841" href="#L841">841</a>     <em class="jxr_comment">// TODO: remove?</em>
<a class="jxr_linenumber" name="L842" href="#L842">842</a> 
<a class="jxr_linenumber" name="L843" href="#L843">843</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> triggerAuditEvent( String remoteIP, String repositoryId, String resource, String action,
<a class="jxr_linenumber" name="L844" href="#L844">844</a>                                     String principal )
<a class="jxr_linenumber" name="L845" href="#L845">845</a>     {
<a class="jxr_linenumber" name="L846" href="#L846">846</a>         AuditEvent event = <strong class="jxr_keyword">new</strong> AuditEvent( repositoryId, principal, resource, action );
<a class="jxr_linenumber" name="L847" href="#L847">847</a>         event.setRemoteIP( remoteIP );
<a class="jxr_linenumber" name="L848" href="#L848">848</a> 
<a class="jxr_linenumber" name="L849" href="#L849">849</a>         <strong class="jxr_keyword">for</strong> ( AuditListener listener : auditListeners )
<a class="jxr_linenumber" name="L850" href="#L850">850</a>         {
<a class="jxr_linenumber" name="L851" href="#L851">851</a>             listener.auditEvent( event );
<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> 
<a class="jxr_linenumber" name="L855" href="#L855">855</a>     @Override
<a class="jxr_linenumber" name="L856" href="#L856">856</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addAuditListener( AuditListener listener )
<a class="jxr_linenumber" name="L857" href="#L857">857</a>     {
<a class="jxr_linenumber" name="L858" href="#L858">858</a>         <strong class="jxr_keyword">this</strong>.auditListeners.add( listener );
<a class="jxr_linenumber" name="L859" href="#L859">859</a>     }
<a class="jxr_linenumber" name="L860" href="#L860">860</a> 
<a class="jxr_linenumber" name="L861" href="#L861">861</a>     @Override
<a class="jxr_linenumber" name="L862" href="#L862">862</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> clearAuditListeners()
<a class="jxr_linenumber" name="L863" href="#L863">863</a>     {
<a class="jxr_linenumber" name="L864" href="#L864">864</a>         <strong class="jxr_keyword">this</strong>.auditListeners.clear();
<a class="jxr_linenumber" name="L865" href="#L865">865</a>     }
<a class="jxr_linenumber" name="L866" href="#L866">866</a> 
<a class="jxr_linenumber" name="L867" href="#L867">867</a>     @Override
<a class="jxr_linenumber" name="L868" href="#L868">868</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeAuditListener( AuditListener listener )
<a class="jxr_linenumber" name="L869" href="#L869">869</a>     {
<a class="jxr_linenumber" name="L870" href="#L870">870</a>         <strong class="jxr_keyword">this</strong>.auditListeners.remove( listener );
<a class="jxr_linenumber" name="L871" href="#L871">871</a>     }
<a class="jxr_linenumber" name="L872" href="#L872">872</a> 
<a class="jxr_linenumber" name="L873" href="#L873">873</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> setHeaders( DavServletResponse response, DavResourceLocator locator, DavResource resource,
<a class="jxr_linenumber" name="L874" href="#L874">874</a>                              <strong class="jxr_keyword">boolean</strong> group )
<a class="jxr_linenumber" name="L875" href="#L875">875</a>     {
<a class="jxr_linenumber" name="L876" href="#L876">876</a>         <em class="jxr_comment">// [MRM-503] - Metadata file need Pragma:no-cache response</em>
<a class="jxr_linenumber" name="L877" href="#L877">877</a>         <em class="jxr_comment">// header.</em>
<a class="jxr_linenumber" name="L878" href="#L878">878</a>         <strong class="jxr_keyword">if</strong> ( locator.getResourcePath().endsWith( <span class="jxr_string">"/maven-metadata.xml"</span> ) || ( resource instanceof ArchivaDavResource
<a class="jxr_linenumber" name="L879" href="#L879">879</a>             &amp;&amp; ( ArchivaDavResource.<strong class="jxr_keyword">class</strong>.<strong class="jxr_keyword">cast</strong>( resource ).getLocalResource().isDirectory() ) ) )
<a class="jxr_linenumber" name="L880" href="#L880">880</a>         {
<a class="jxr_linenumber" name="L881" href="#L881">881</a>             response.setHeader( <span class="jxr_string">"Pragma"</span>, <span class="jxr_string">"no-cache"</span> );
<a class="jxr_linenumber" name="L882" href="#L882">882</a>             response.setHeader( <span class="jxr_string">"Cache-Control"</span>, <span class="jxr_string">"no-cache"</span> );
<a class="jxr_linenumber" name="L883" href="#L883">883</a>             response.setDateHeader( <span class="jxr_string">"Last-Modified"</span>, <strong class="jxr_keyword">new</strong> Date().getTime() );
<a class="jxr_linenumber" name="L884" href="#L884">884</a>         }
<a class="jxr_linenumber" name="L885" href="#L885">885</a>         <em class="jxr_comment">// if the resource is a directory don't cache it as new groupId deployed will be available</em>
<a class="jxr_linenumber" name="L886" href="#L886">886</a>         <em class="jxr_comment">// without need of refreshing browser</em>
<a class="jxr_linenumber" name="L887" href="#L887">887</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( locator.getResourcePath().endsWith( <span class="jxr_string">"/maven-metadata.xml"</span> ) || (
<a class="jxr_linenumber" name="L888" href="#L888">888</a>             resource instanceof <a href="../../../../org/apache/archiva/webdav/ArchivaVirtualDavResource.html">ArchivaVirtualDavResource</a> &amp;&amp; ( <strong class="jxr_keyword">new</strong> File(
<a class="jxr_linenumber" name="L889" href="#L889">889</a>                 ArchivaVirtualDavResource.<strong class="jxr_keyword">class</strong>.<strong class="jxr_keyword">cast</strong>( resource ).getLogicalResource() ).isDirectory() ) ) )
<a class="jxr_linenumber" name="L890" href="#L890">890</a>         {
<a class="jxr_linenumber" name="L891" href="#L891">891</a>             response.setHeader( <span class="jxr_string">"Pragma"</span>, <span class="jxr_string">"no-cache"</span> );
<a class="jxr_linenumber" name="L892" href="#L892">892</a>             response.setHeader( <span class="jxr_string">"Cache-Control"</span>, <span class="jxr_string">"no-cache"</span> );
<a class="jxr_linenumber" name="L893" href="#L893">893</a>             response.setDateHeader( <span class="jxr_string">"Last-Modified"</span>, <strong class="jxr_keyword">new</strong> Date().getTime() );
<a class="jxr_linenumber" name="L894" href="#L894">894</a>         }
<a class="jxr_linenumber" name="L895" href="#L895">895</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( group )
<a class="jxr_linenumber" name="L896" href="#L896">896</a>         {
<a class="jxr_linenumber" name="L897" href="#L897">897</a>             <strong class="jxr_keyword">if</strong> ( resource instanceof ArchivaVirtualDavResource )
<a class="jxr_linenumber" name="L898" href="#L898">898</a>             {
<a class="jxr_linenumber" name="L899" href="#L899">899</a>                 <em class="jxr_comment">//MRM-1854 here we have a directory so force "Last-Modified"</em>
<a class="jxr_linenumber" name="L900" href="#L900">900</a>                 response.setDateHeader( <span class="jxr_string">"Last-Modified"</span>, <strong class="jxr_keyword">new</strong> Date().getTime() );
<a class="jxr_linenumber" name="L901" href="#L901">901</a>             }
<a class="jxr_linenumber" name="L902" href="#L902">902</a>         }
<a class="jxr_linenumber" name="L903" href="#L903">903</a>         <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L904" href="#L904">904</a>         {
<a class="jxr_linenumber" name="L905" href="#L905">905</a>             <em class="jxr_comment">// We need to specify this so connecting wagons can work correctly</em>
<a class="jxr_linenumber" name="L906" href="#L906">906</a>             response.setDateHeader( <span class="jxr_string">"Last-Modified"</span>, resource.getModificationTime() );
<a class="jxr_linenumber" name="L907" href="#L907">907</a>         }
<a class="jxr_linenumber" name="L908" href="#L908">908</a>         <em class="jxr_comment">// TODO: [MRM-524] determine http caching options for other types of files (artifacts, sha1, md5, snapshots)</em>
<a class="jxr_linenumber" name="L909" href="#L909">909</a>     }
<a class="jxr_linenumber" name="L910" href="#L910">910</a> 
<a class="jxr_linenumber" name="L911" href="#L911">911</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/archiva/webdav/ArchivaDavResourceLocator.html">ArchivaDavResourceLocator</a> checkLocatorIsInstanceOfRepositoryLocator( DavResourceLocator locator )
<a class="jxr_linenumber" name="L912" href="#L912">912</a>         <strong class="jxr_keyword">throws</strong> DavException
<a class="jxr_linenumber" name="L913" href="#L913">913</a>     {
<a class="jxr_linenumber" name="L914" href="#L914">914</a>         <strong class="jxr_keyword">if</strong> ( !( locator instanceof ArchivaDavResourceLocator ) )
<a class="jxr_linenumber" name="L915" href="#L915">915</a>         {
<a class="jxr_linenumber" name="L916" href="#L916">916</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
<a class="jxr_linenumber" name="L917" href="#L917">917</a>                                     <span class="jxr_string">"Locator does not implement RepositoryLocator"</span> );
<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>         <em class="jxr_comment">// Hidden paths</em>
<a class="jxr_linenumber" name="L921" href="#L921">921</a>         <strong class="jxr_keyword">if</strong> ( locator.getResourcePath().startsWith( ArchivaDavResource.HIDDEN_PATH_PREFIX ) )
<a class="jxr_linenumber" name="L922" href="#L922">922</a>         {
<a class="jxr_linenumber" name="L923" href="#L923">923</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_NOT_FOUND );
<a class="jxr_linenumber" name="L924" href="#L924">924</a>         }
<a class="jxr_linenumber" name="L925" href="#L925">925</a> 
<a class="jxr_linenumber" name="L926" href="#L926">926</a>         <a href="../../../../org/apache/archiva/webdav/ArchivaDavResourceLocator.html">ArchivaDavResourceLocator</a> archivaLocator = (ArchivaDavResourceLocator) locator;
<a class="jxr_linenumber" name="L927" href="#L927">927</a> 
<a class="jxr_linenumber" name="L928" href="#L928">928</a>         <em class="jxr_comment">// MRM-419 - Windows Webdav support. Should not 404 if there is no content.</em>
<a class="jxr_linenumber" name="L929" href="#L929">929</a>         <strong class="jxr_keyword">if</strong> ( StringUtils.isEmpty( archivaLocator.getRepositoryId() ) )
<a class="jxr_linenumber" name="L930" href="#L930">930</a>         {
<a class="jxr_linenumber" name="L931" href="#L931">931</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_NO_CONTENT );
<a class="jxr_linenumber" name="L932" href="#L932">932</a>         }
<a class="jxr_linenumber" name="L933" href="#L933">933</a>         <strong class="jxr_keyword">return</strong> archivaLocator;
<a class="jxr_linenumber" name="L934" href="#L934">934</a>     }
<a class="jxr_linenumber" name="L935" href="#L935">935</a> 
<a class="jxr_linenumber" name="L936" href="#L936">936</a>     <strong class="jxr_keyword">private</strong> String addHrefPrefix( String contextPath, String path ) {
<a class="jxr_linenumber" name="L937" href="#L937">937</a>         String prefix = archivaConfiguration.getConfiguration().getWebapp().getUi().getApplicationUrl();
<a class="jxr_linenumber" name="L938" href="#L938">938</a>         <strong class="jxr_keyword">if</strong> (prefix == <strong class="jxr_keyword">null</strong> || prefix.isEmpty()) {
<a class="jxr_linenumber" name="L939" href="#L939">939</a>             prefix = contextPath;
<a class="jxr_linenumber" name="L940" href="#L940">940</a>         }
<a class="jxr_linenumber" name="L941" href="#L941">941</a>         <strong class="jxr_keyword">return</strong> prefix + ( StringUtils.startsWith( path, <span class="jxr_string">"/"</span> ) ? <span class="jxr_string">""</span> :
<a class="jxr_linenumber" name="L942" href="#L942">942</a>                         ( StringUtils.endsWith( prefix, <span class="jxr_string">"/"</span> ) ? <span class="jxr_string">""</span> : <span class="jxr_string">"/"</span> ) )
<a class="jxr_linenumber" name="L943" href="#L943">943</a>                       + path;
<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>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/archiva/webdav/ArchivaDavResourceFactory.html">LogicalResource</a>
<a class="jxr_linenumber" name="L947" href="#L947">947</a>     {
<a class="jxr_linenumber" name="L948" href="#L948">948</a>         <strong class="jxr_keyword">private</strong> String path;
<a class="jxr_linenumber" name="L949" href="#L949">949</a> 
<a class="jxr_linenumber" name="L950" href="#L950">950</a>         <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/archiva/webdav/ArchivaDavResourceFactory.html">LogicalResource</a>( String path )
<a class="jxr_linenumber" name="L951" href="#L951">951</a>         {
<a class="jxr_linenumber" name="L952" href="#L952">952</a>             <strong class="jxr_keyword">this</strong>.path = path;
<a class="jxr_linenumber" name="L953" href="#L953">953</a>         }
<a class="jxr_linenumber" name="L954" href="#L954">954</a> 
<a class="jxr_linenumber" name="L955" href="#L955">955</a>         <strong class="jxr_keyword">public</strong> String getPath()
<a class="jxr_linenumber" name="L956" href="#L956">956</a>         {
<a class="jxr_linenumber" name="L957" href="#L957">957</a>             <strong class="jxr_keyword">return</strong> path;
<a class="jxr_linenumber" name="L958" href="#L958">958</a>         }
<a class="jxr_linenumber" name="L959" href="#L959">959</a> 
<a class="jxr_linenumber" name="L960" href="#L960">960</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setPath( String path )
<a class="jxr_linenumber" name="L961" href="#L961">961</a>         {
<a class="jxr_linenumber" name="L962" href="#L962">962</a>             <strong class="jxr_keyword">this</strong>.path = path;
<a class="jxr_linenumber" name="L963" href="#L963">963</a>         }
<a class="jxr_linenumber" name="L964" href="#L964">964</a>     }
<a class="jxr_linenumber" name="L965" href="#L965">965</a> 
<a class="jxr_linenumber" name="L966" href="#L966">966</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> isAuthorized( DavServletRequest request, String repositoryId )
<a class="jxr_linenumber" name="L967" href="#L967">967</a>         <strong class="jxr_keyword">throws</strong> DavException
<a class="jxr_linenumber" name="L968" href="#L968">968</a>     {
<a class="jxr_linenumber" name="L969" href="#L969">969</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L970" href="#L970">970</a>         {
<a class="jxr_linenumber" name="L971" href="#L971">971</a>             AuthenticationResult result = httpAuth.getAuthenticationResult( request, <strong class="jxr_keyword">null</strong> );
<a class="jxr_linenumber" name="L972" href="#L972">972</a>             SecuritySession securitySession = httpAuth.getSecuritySession( request.getSession( <strong class="jxr_keyword">true</strong> ) );
<a class="jxr_linenumber" name="L973" href="#L973">973</a> 
<a class="jxr_linenumber" name="L974" href="#L974">974</a>             <strong class="jxr_keyword">return</strong> servletAuth.isAuthenticated( request, result ) <em class="jxr_comment">//</em>
<a class="jxr_linenumber" name="L975" href="#L975">975</a>                 &amp;&amp; servletAuth.isAuthorized( request, securitySession, repositoryId, <em class="jxr_comment">//</em>
<a class="jxr_linenumber" name="L976" href="#L976">976</a>                                              WebdavMethodUtil.getMethodPermission( request.getMethod() ) );
<a class="jxr_linenumber" name="L977" href="#L977">977</a>         }
<a class="jxr_linenumber" name="L978" href="#L978">978</a>         <strong class="jxr_keyword">catch</strong> ( AuthenticationException e )
<a class="jxr_linenumber" name="L979" href="#L979">979</a>         {
<a class="jxr_linenumber" name="L980" href="#L980">980</a>             <em class="jxr_comment">// safety check for MRM-911</em>
<a class="jxr_linenumber" name="L981" href="#L981">981</a>             String guest = UserManager.GUEST_USERNAME;
<a class="jxr_linenumber" name="L982" href="#L982">982</a>             <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L983" href="#L983">983</a>             {
<a class="jxr_linenumber" name="L984" href="#L984">984</a>                 <strong class="jxr_keyword">if</strong> ( servletAuth.isAuthorized( guest,
<a class="jxr_linenumber" name="L985" href="#L985">985</a>                                                ( (<a href="../../../../org/apache/archiva/webdav/ArchivaDavResourceLocator.html">ArchivaDavResourceLocator</a>) request.getRequestLocator() ).getRepositoryId(),
<a class="jxr_linenumber" name="L986" href="#L986">986</a>                                                WebdavMethodUtil.getMethodPermission( request.getMethod() ) ) )
<a class="jxr_linenumber" name="L987" href="#L987">987</a>                 {
<a class="jxr_linenumber" name="L988" href="#L988">988</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L989" href="#L989">989</a>                 }
<a class="jxr_linenumber" name="L990" href="#L990">990</a>             }
<a class="jxr_linenumber" name="L991" href="#L991">991</a>             <strong class="jxr_keyword">catch</strong> ( UnauthorizedException ae )
<a class="jxr_linenumber" name="L992" href="#L992">992</a>             {
<a class="jxr_linenumber" name="L993" href="#L993">993</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/archiva/webdav/UnauthorizedDavException.html">UnauthorizedDavException</a>( repositoryId,
<a class="jxr_linenumber" name="L994" href="#L994">994</a>                                                     <span class="jxr_string">"You are not authenticated and authorized to access any repository."</span> );
<a class="jxr_linenumber" name="L995" href="#L995">995</a>             }
<a class="jxr_linenumber" name="L996" href="#L996">996</a> 
<a class="jxr_linenumber" name="L997" href="#L997">997</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/archiva/webdav/UnauthorizedDavException.html">UnauthorizedDavException</a>( repositoryId, <span class="jxr_string">"You are not authenticated"</span> );
<a class="jxr_linenumber" name="L998" href="#L998">998</a>         }
<a class="jxr_linenumber" name="L999" href="#L999">999</a>         <strong class="jxr_keyword">catch</strong> ( MustChangePasswordException e )
<a class="jxr_linenumber" name="L1000" href="#L1000">1000</a>         {
<a class="jxr_linenumber" name="L1001" href="#L1001">1001</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/archiva/webdav/UnauthorizedDavException.html">UnauthorizedDavException</a>( repositoryId, <span class="jxr_string">"You must change your password."</span> );
<a class="jxr_linenumber" name="L1002" href="#L1002">1002</a>         }
<a class="jxr_linenumber" name="L1003" href="#L1003">1003</a>         <strong class="jxr_keyword">catch</strong> ( AccountLockedException e )
<a class="jxr_linenumber" name="L1004" href="#L1004">1004</a>         {
<a class="jxr_linenumber" name="L1005" href="#L1005">1005</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/archiva/webdav/UnauthorizedDavException.html">UnauthorizedDavException</a>( repositoryId, <span class="jxr_string">"User account is locked."</span> );
<a class="jxr_linenumber" name="L1006" href="#L1006">1006</a>         }
<a class="jxr_linenumber" name="L1007" href="#L1007">1007</a>         <strong class="jxr_keyword">catch</strong> ( AuthorizationException e )
<a class="jxr_linenumber" name="L1008" href="#L1008">1008</a>         {
<a class="jxr_linenumber" name="L1009" href="#L1009">1009</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
<a class="jxr_linenumber" name="L1010" href="#L1010">1010</a>                                     <span class="jxr_string">"Fatal Authorization Subsystem Error."</span> );
<a class="jxr_linenumber" name="L1011" href="#L1011">1011</a>         }
<a class="jxr_linenumber" name="L1012" href="#L1012">1012</a>         <strong class="jxr_keyword">catch</strong> ( UnauthorizedException e )
<a class="jxr_linenumber" name="L1013" href="#L1013">1013</a>         {
<a class="jxr_linenumber" name="L1014" href="#L1014">1014</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/archiva/webdav/UnauthorizedDavException.html">UnauthorizedDavException</a>( repositoryId, e.getMessage() );
<a class="jxr_linenumber" name="L1015" href="#L1015">1015</a>         }
<a class="jxr_linenumber" name="L1016" href="#L1016">1016</a>     }
<a class="jxr_linenumber" name="L1017" href="#L1017">1017</a> 
<a class="jxr_linenumber" name="L1018" href="#L1018">1018</a>     <strong class="jxr_keyword">private</strong> DavResource getResourceFromGroup( DavServletRequest request, List&lt;String&gt; repositories,
<a class="jxr_linenumber" name="L1019" href="#L1019">1019</a>                                               <a href="../../../../org/apache/archiva/webdav/ArchivaDavResourceLocator.html">ArchivaDavResourceLocator</a> locator,
<a class="jxr_linenumber" name="L1020" href="#L1020">1020</a>                                               RepositoryGroupConfiguration repositoryGroupConfiguration )
<a class="jxr_linenumber" name="L1021" href="#L1021">1021</a>         <strong class="jxr_keyword">throws</strong> DavException, RepositoryAdminException
<a class="jxr_linenumber" name="L1022" href="#L1022">1022</a>     {
<a class="jxr_linenumber" name="L1023" href="#L1023">1023</a>         <strong class="jxr_keyword">if</strong> ( repositoryGroupConfiguration.getRepositories() == <strong class="jxr_keyword">null</strong>
<a class="jxr_linenumber" name="L1024" href="#L1024">1024</a>             || repositoryGroupConfiguration.getRepositories().isEmpty() )
<a class="jxr_linenumber" name="L1025" href="#L1025">1025</a>         {
<a class="jxr_linenumber" name="L1026" href="#L1026">1026</a>             File file =
<a class="jxr_linenumber" name="L1027" href="#L1027">1027</a>                 <strong class="jxr_keyword">new</strong> File( System.getProperty( <span class="jxr_string">"appserver.base"</span> ), <span class="jxr_string">"groups/"</span> + repositoryGroupConfiguration.getId() );
<a class="jxr_linenumber" name="L1028" href="#L1028">1028</a> 
<a class="jxr_linenumber" name="L1029" href="#L1029">1029</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/archiva/webdav/ArchivaDavResource.html">ArchivaDavResource</a>( file.getPath(), <span class="jxr_string">"groups/"</span> + repositoryGroupConfiguration.getId(), <strong class="jxr_keyword">null</strong>,
<a class="jxr_linenumber" name="L1030" href="#L1030">1030</a>                                            request.getDavSession(), locator, <strong class="jxr_keyword">this</strong>, mimeTypes, auditListeners, scheduler,
<a class="jxr_linenumber" name="L1031" href="#L1031">1031</a>                                            fileLockManager );
<a class="jxr_linenumber" name="L1032" href="#L1032">1032</a>         }
<a class="jxr_linenumber" name="L1033" href="#L1033">1033</a>         List&lt;File&gt; mergedRepositoryContents = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
<a class="jxr_linenumber" name="L1034" href="#L1034">1034</a>         <em class="jxr_comment">// multiple repo types so we guess they are all the same type</em>
<a class="jxr_linenumber" name="L1035" href="#L1035">1035</a>         <em class="jxr_comment">// so use the first one</em>
<a class="jxr_linenumber" name="L1036" href="#L1036">1036</a>         <em class="jxr_comment">// FIXME add a method with group in the repository storage</em>
<a class="jxr_linenumber" name="L1037" href="#L1037">1037</a>         String firstRepoId = repositoryGroupConfiguration.getRepositories().get( 0 );
<a class="jxr_linenumber" name="L1038" href="#L1038">1038</a> 
<a class="jxr_linenumber" name="L1039" href="#L1039">1039</a>         String path = getLogicalResource( locator, managedRepositoryAdmin.getManagedRepository( firstRepoId ), false );
<a class="jxr_linenumber" name="L1040" href="#L1040">1040</a>         <strong class="jxr_keyword">if</strong> ( path.startsWith( <span class="jxr_string">"/"</span> ) )
<a class="jxr_linenumber" name="L1041" href="#L1041">1041</a>         {
<a class="jxr_linenumber" name="L1042" href="#L1042">1042</a>             path = path.substring( 1 );
<a class="jxr_linenumber" name="L1043" href="#L1043">1043</a>         }
<a class="jxr_linenumber" name="L1044" href="#L1044">1044</a>         <a href="../../../../org/apache/archiva/webdav/ArchivaDavResourceFactory.html">LogicalResource</a> logicalResource = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/archiva/webdav/ArchivaDavResourceFactory.html">LogicalResource</a>( path );
<a class="jxr_linenumber" name="L1045" href="#L1045">1045</a> 
<a class="jxr_linenumber" name="L1046" href="#L1046">1046</a>         <em class="jxr_comment">// flow:</em>
<a class="jxr_linenumber" name="L1047" href="#L1047">1047</a>         <em class="jxr_comment">// if the current user logged in has permission to any of the repositories, allow user to</em>
<a class="jxr_linenumber" name="L1048" href="#L1048">1048</a>         <em class="jxr_comment">// browse the repo group but displaying only the repositories which the user has permission to access.</em>
<a class="jxr_linenumber" name="L1049" href="#L1049">1049</a>         <em class="jxr_comment">// otherwise, prompt for authentication.</em>
<a class="jxr_linenumber" name="L1050" href="#L1050">1050</a> 
<a class="jxr_linenumber" name="L1051" href="#L1051">1051</a>         String activePrincipal = getActivePrincipal( request );
<a class="jxr_linenumber" name="L1052" href="#L1052">1052</a> 
<a class="jxr_linenumber" name="L1053" href="#L1053">1053</a>         <strong class="jxr_keyword">boolean</strong> allow = isAllowedToContinue( request, repositories, activePrincipal );
<a class="jxr_linenumber" name="L1054" href="#L1054">1054</a> 
<a class="jxr_linenumber" name="L1055" href="#L1055">1055</a>         <em class="jxr_comment">// remove last /</em>
<a class="jxr_linenumber" name="L1056" href="#L1056">1056</a>         String pathInfo = StringUtils.removeEnd( request.getPathInfo(), <span class="jxr_string">"/"</span> );
<a class="jxr_linenumber" name="L1057" href="#L1057">1057</a> 
<a class="jxr_linenumber" name="L1058" href="#L1058">1058</a>         <strong class="jxr_keyword">if</strong> ( allow )
<a class="jxr_linenumber" name="L1059" href="#L1059">1059</a>         {
<a class="jxr_linenumber" name="L1060" href="#L1060">1060</a> 
<a class="jxr_linenumber" name="L1061" href="#L1061">1061</a>             <strong class="jxr_keyword">if</strong> ( StringUtils.endsWith( pathInfo, repositoryGroupConfiguration.getMergedIndexPath() ) )
<a class="jxr_linenumber" name="L1062" href="#L1062">1062</a>             {
<a class="jxr_linenumber" name="L1063" href="#L1063">1063</a>                 File mergedRepoDir =
<a class="jxr_linenumber" name="L1064" href="#L1064">1064</a>                     buildMergedIndexDirectory( repositories, activePrincipal, request, repositoryGroupConfiguration );
<a class="jxr_linenumber" name="L1065" href="#L1065">1065</a>                 mergedRepositoryContents.add( mergedRepoDir );
<a class="jxr_linenumber" name="L1066" href="#L1066">1066</a>             }
<a class="jxr_linenumber" name="L1067" href="#L1067">1067</a>             <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L1068" href="#L1068">1068</a>             {
<a class="jxr_linenumber" name="L1069" href="#L1069">1069</a>                 <strong class="jxr_keyword">if</strong> ( StringUtils.equalsIgnoreCase( pathInfo, <span class="jxr_string">"/"</span> + repositoryGroupConfiguration.getId() ) )
<a class="jxr_linenumber" name="L1070" href="#L1070">1070</a>                 {
<a class="jxr_linenumber" name="L1071" href="#L1071">1071</a>                     File tmpDirectory = <strong class="jxr_keyword">new</strong> File( SystemUtils.getJavaIoTmpDir(),
<a class="jxr_linenumber" name="L1072" href="#L1072">1072</a>                                                   repositoryGroupConfiguration.getId() + <span class="jxr_string">"/"</span>
<a class="jxr_linenumber" name="L1073" href="#L1073">1073</a>                                                       + repositoryGroupConfiguration.getMergedIndexPath() );
<a class="jxr_linenumber" name="L1074" href="#L1074">1074</a>                     <strong class="jxr_keyword">if</strong> ( !tmpDirectory.exists() )
<a class="jxr_linenumber" name="L1075" href="#L1075">1075</a>                     {
<a class="jxr_linenumber" name="L1076" href="#L1076">1076</a>                         <strong class="jxr_keyword">synchronized</strong> ( tmpDirectory.getAbsolutePath() )
<a class="jxr_linenumber" name="L1077" href="#L1077">1077</a>                         {
<a class="jxr_linenumber" name="L1078" href="#L1078">1078</a>                             <strong class="jxr_keyword">if</strong> ( !tmpDirectory.exists() )
<a class="jxr_linenumber" name="L1079" href="#L1079">1079</a>                             {
<a class="jxr_linenumber" name="L1080" href="#L1080">1080</a>                                 tmpDirectory.mkdirs();
<a class="jxr_linenumber" name="L1081" href="#L1081">1081</a>                             }
<a class="jxr_linenumber" name="L1082" href="#L1082">1082</a>                         }
<a class="jxr_linenumber" name="L1083" href="#L1083">1083</a>                     }
<a class="jxr_linenumber" name="L1084" href="#L1084">1084</a>                     mergedRepositoryContents.add( tmpDirectory.getParentFile() );
<a class="jxr_linenumber" name="L1085" href="#L1085">1085</a>                 }
<a class="jxr_linenumber" name="L1086" href="#L1086">1086</a>                 <strong class="jxr_keyword">for</strong> ( String repository : repositories )
<a class="jxr_linenumber" name="L1087" href="#L1087">1087</a>                 {
<a class="jxr_linenumber" name="L1088" href="#L1088">1088</a>                     ManagedRepositoryContent managedRepository = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L1089" href="#L1089">1089</a> 
<a class="jxr_linenumber" name="L1090" href="#L1090">1090</a>                     <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L1091" href="#L1091">1091</a>                     {
<a class="jxr_linenumber" name="L1092" href="#L1092">1092</a>                         managedRepository = repositoryFactory.getManagedRepositoryContent( repository );
<a class="jxr_linenumber" name="L1093" href="#L1093">1093</a>                     }
<a class="jxr_linenumber" name="L1094" href="#L1094">1094</a>                     <strong class="jxr_keyword">catch</strong> ( RepositoryNotFoundException e )
<a class="jxr_linenumber" name="L1095" href="#L1095">1095</a>                     {
<a class="jxr_linenumber" name="L1096" href="#L1096">1096</a>                         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
<a class="jxr_linenumber" name="L1097" href="#L1097">1097</a>                                                 <span class="jxr_string">"Invalid managed repository &lt;"</span> + repository + <span class="jxr_string">"&gt;: "</span> + e.getMessage() );
<a class="jxr_linenumber" name="L1098" href="#L1098">1098</a>                     }
<a class="jxr_linenumber" name="L1099" href="#L1099">1099</a>                     <strong class="jxr_keyword">catch</strong> ( RepositoryException e )
<a class="jxr_linenumber" name="L1100" href="#L1100">1100</a>                     {
<a class="jxr_linenumber" name="L1101" href="#L1101">1101</a>                         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
<a class="jxr_linenumber" name="L1102" href="#L1102">1102</a>                                                 <span class="jxr_string">"Invalid managed repository &lt;"</span> + repository + <span class="jxr_string">"&gt;: "</span> + e.getMessage() );
<a class="jxr_linenumber" name="L1103" href="#L1103">1103</a>                     }
<a class="jxr_linenumber" name="L1104" href="#L1104">1104</a> 
<a class="jxr_linenumber" name="L1105" href="#L1105">1105</a>                     File resourceFile = <strong class="jxr_keyword">new</strong> File( managedRepository.getRepoRoot(), logicalResource.getPath() );
<a class="jxr_linenumber" name="L1106" href="#L1106">1106</a>                     <strong class="jxr_keyword">if</strong> ( resourceFile.exists() )
<a class="jxr_linenumber" name="L1107" href="#L1107">1107</a>                     {
<a class="jxr_linenumber" name="L1108" href="#L1108">1108</a>                         <em class="jxr_comment">// in case of group displaying index directory doesn't have sense !!</em>
<a class="jxr_linenumber" name="L1109" href="#L1109">1109</a>                         String repoIndexDirectory = managedRepository.getRepository().getIndexDirectory();
<a class="jxr_linenumber" name="L1110" href="#L1110">1110</a>                         <strong class="jxr_keyword">if</strong> ( StringUtils.isNotEmpty( repoIndexDirectory ) )
<a class="jxr_linenumber" name="L1111" href="#L1111">1111</a>                         {
<a class="jxr_linenumber" name="L1112" href="#L1112">1112</a>                             <strong class="jxr_keyword">if</strong> ( !<strong class="jxr_keyword">new</strong> File( repoIndexDirectory ).isAbsolute() )
<a class="jxr_linenumber" name="L1113" href="#L1113">1113</a>                             {
<a class="jxr_linenumber" name="L1114" href="#L1114">1114</a>                                 repoIndexDirectory = <strong class="jxr_keyword">new</strong> File( managedRepository.getRepository().getLocation(),
<a class="jxr_linenumber" name="L1115" href="#L1115">1115</a>                                                                StringUtils.isEmpty( repoIndexDirectory )
<a class="jxr_linenumber" name="L1116" href="#L1116">1116</a>                                                                    ? <span class="jxr_string">".indexer"</span>
<a class="jxr_linenumber" name="L1117" href="#L1117">1117</a>                                                                    : repoIndexDirectory ).getAbsolutePath();
<a class="jxr_linenumber" name="L1118" href="#L1118">1118</a>                             }
<a class="jxr_linenumber" name="L1119" href="#L1119">1119</a>                         }
<a class="jxr_linenumber" name="L1120" href="#L1120">1120</a>                         <strong class="jxr_keyword">if</strong> ( StringUtils.isEmpty( repoIndexDirectory ) )
<a class="jxr_linenumber" name="L1121" href="#L1121">1121</a>                         {
<a class="jxr_linenumber" name="L1122" href="#L1122">1122</a>                             repoIndexDirectory = <strong class="jxr_keyword">new</strong> File( managedRepository.getRepository().getLocation(),
<a class="jxr_linenumber" name="L1123" href="#L1123">1123</a>                                                            <span class="jxr_string">".indexer"</span> ).getAbsolutePath();
<a class="jxr_linenumber" name="L1124" href="#L1124">1124</a>                         }
<a class="jxr_linenumber" name="L1125" href="#L1125">1125</a> 
<a class="jxr_linenumber" name="L1126" href="#L1126">1126</a>                         <strong class="jxr_keyword">if</strong> ( !StringUtils.equals( FilenameUtils.normalize( repoIndexDirectory ),
<a class="jxr_linenumber" name="L1127" href="#L1127">1127</a>                                                   FilenameUtils.normalize( resourceFile.getAbsolutePath() ) ) )
<a class="jxr_linenumber" name="L1128" href="#L1128">1128</a>                         {
<a class="jxr_linenumber" name="L1129" href="#L1129">1129</a>                             <em class="jxr_comment">// for prompted authentication</em>
<a class="jxr_linenumber" name="L1130" href="#L1130">1130</a>                             <strong class="jxr_keyword">if</strong> ( httpAuth.getSecuritySession( request.getSession( <strong class="jxr_keyword">true</strong> ) ) != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L1131" href="#L1131">1131</a>                             {
<a class="jxr_linenumber" name="L1132" href="#L1132">1132</a>                                 <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L1133" href="#L1133">1133</a>                                 {
<a class="jxr_linenumber" name="L1134" href="#L1134">1134</a>                                     <strong class="jxr_keyword">if</strong> ( isAuthorized( request, repository ) )
<a class="jxr_linenumber" name="L1135" href="#L1135">1135</a>                                     {
<a class="jxr_linenumber" name="L1136" href="#L1136">1136</a>                                         mergedRepositoryContents.add( resourceFile );
<a class="jxr_linenumber" name="L1137" href="#L1137">1137</a>                                         log.debug( <span class="jxr_string">"Repository '{}' accessed by '{}'"</span>, repository, activePrincipal );
<a class="jxr_linenumber" name="L1138" href="#L1138">1138</a>                                     }
<a class="jxr_linenumber" name="L1139" href="#L1139">1139</a>                                 }
<a class="jxr_linenumber" name="L1140" href="#L1140">1140</a>                                 <strong class="jxr_keyword">catch</strong> ( DavException e )
<a class="jxr_linenumber" name="L1141" href="#L1141">1141</a>                                 {
<a class="jxr_linenumber" name="L1142" href="#L1142">1142</a>                                     <em class="jxr_comment">// TODO: review exception handling</em>
<a class="jxr_linenumber" name="L1143" href="#L1143">1143</a> 
<a class="jxr_linenumber" name="L1144" href="#L1144">1144</a>                                     log.debug( <span class="jxr_string">"Skipping repository '{}' for user '{}': {}"</span>, managedRepository,
<a class="jxr_linenumber" name="L1145" href="#L1145">1145</a>                                                activePrincipal, e.getMessage() );
<a class="jxr_linenumber" name="L1146" href="#L1146">1146</a> 
<a class="jxr_linenumber" name="L1147" href="#L1147">1147</a>                                 }
<a class="jxr_linenumber" name="L1148" href="#L1148">1148</a> 
<a class="jxr_linenumber" name="L1149" href="#L1149">1149</a>                             }
<a class="jxr_linenumber" name="L1150" href="#L1150">1150</a>                             <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L1151" href="#L1151">1151</a>                             {
<a class="jxr_linenumber" name="L1152" href="#L1152">1152</a>                                 <em class="jxr_comment">// for the current user logged in</em>
<a class="jxr_linenumber" name="L1153" href="#L1153">1153</a>                                 <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L1154" href="#L1154">1154</a>                                 {
<a class="jxr_linenumber" name="L1155" href="#L1155">1155</a>                                     <strong class="jxr_keyword">if</strong> ( servletAuth.isAuthorized( activePrincipal, repository,
<a class="jxr_linenumber" name="L1156" href="#L1156">1156</a>                                                                    WebdavMethodUtil.getMethodPermission(
<a class="jxr_linenumber" name="L1157" href="#L1157">1157</a>                                                                        request.getMethod() ) ) )
<a class="jxr_linenumber" name="L1158" href="#L1158">1158</a>                                     {
<a class="jxr_linenumber" name="L1159" href="#L1159">1159</a>                                         mergedRepositoryContents.add( resourceFile );
<a class="jxr_linenumber" name="L1160" href="#L1160">1160</a>                                         log.debug( <span class="jxr_string">"Repository '{}' accessed by '{}'"</span>, repository, activePrincipal );
<a class="jxr_linenumber" name="L1161" href="#L1161">1161</a>                                     }
<a class="jxr_linenumber" name="L1162" href="#L1162">1162</a>                                 }
<a class="jxr_linenumber" name="L1163" href="#L1163">1163</a>                                 <strong class="jxr_keyword">catch</strong> ( UnauthorizedException e )
<a class="jxr_linenumber" name="L1164" href="#L1164">1164</a>                                 {
<a class="jxr_linenumber" name="L1165" href="#L1165">1165</a>                                     <em class="jxr_comment">// TODO: review exception handling</em>
<a class="jxr_linenumber" name="L1166" href="#L1166">1166</a> 
<a class="jxr_linenumber" name="L1167" href="#L1167">1167</a>                                     log.debug( <span class="jxr_string">"Skipping repository '{}' for user '{}': {}"</span>, managedRepository,
<a class="jxr_linenumber" name="L1168" href="#L1168">1168</a>                                                activePrincipal, e.getMessage() );
<a class="jxr_linenumber" name="L1169" href="#L1169">1169</a> 
<a class="jxr_linenumber" name="L1170" href="#L1170">1170</a>                                 }
<a class="jxr_linenumber" name="L1171" href="#L1171">1171</a>                             }
<a class="jxr_linenumber" name="L1172" href="#L1172">1172</a>                         }
<a class="jxr_linenumber" name="L1173" href="#L1173">1173</a>                     }
<a class="jxr_linenumber" name="L1174" href="#L1174">1174</a>                 }
<a class="jxr_linenumber" name="L1175" href="#L1175">1175</a>             }
<a class="jxr_linenumber" name="L1176" href="#L1176">1176</a>         }
<a class="jxr_linenumber" name="L1177" href="#L1177">1177</a>         <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L1178" href="#L1178">1178</a>         {
<a class="jxr_linenumber" name="L1179" href="#L1179">1179</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/archiva/webdav/UnauthorizedDavException.html">UnauthorizedDavException</a>( locator.getRepositoryId(), <span class="jxr_string">"User not authorized."</span> );
<a class="jxr_linenumber" name="L1180" href="#L1180">1180</a>         }
<a class="jxr_linenumber" name="L1181" href="#L1181">1181</a> 
<a class="jxr_linenumber" name="L1182" href="#L1182">1182</a>         <a href="../../../../org/apache/archiva/webdav/ArchivaVirtualDavResource.html">ArchivaVirtualDavResource</a> resource =
<a class="jxr_linenumber" name="L1183" href="#L1183">1183</a>             <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/archiva/webdav/ArchivaVirtualDavResource.html">ArchivaVirtualDavResource</a>( mergedRepositoryContents, logicalResource.getPath(), mimeTypes, locator,
<a class="jxr_linenumber" name="L1184" href="#L1184">1184</a>                                            <strong class="jxr_keyword">this</strong> );
<a class="jxr_linenumber" name="L1185" href="#L1185">1185</a> 
<a class="jxr_linenumber" name="L1186" href="#L1186">1186</a>         <em class="jxr_comment">// compatibility with MRM-440 to ensure browsing the repository group works ok</em>
<a class="jxr_linenumber" name="L1187" href="#L1187">1187</a>         <strong class="jxr_keyword">if</strong> ( resource.isCollection() &amp;&amp; !request.getRequestURI().endsWith( <span class="jxr_string">"/"</span> ) )
<a class="jxr_linenumber" name="L1188" href="#L1188">1188</a>         {
<a class="jxr_linenumber" name="L1189" href="#L1189">1189</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/archiva/webdav/BrowserRedirectException.html">BrowserRedirectException</a>( resource.getHref() );
<a class="jxr_linenumber" name="L1190" href="#L1190">1190</a>         }
<a class="jxr_linenumber" name="L1191" href="#L1191">1191</a> 
<a class="jxr_linenumber" name="L1192" href="#L1192">1192</a>         <strong class="jxr_keyword">return</strong> resource;
<a class="jxr_linenumber" name="L1193" href="#L1193">1193</a>     }
<a class="jxr_linenumber" name="L1194" href="#L1194">1194</a> 
<a class="jxr_linenumber" name="L1195" href="#L1195">1195</a>     <strong class="jxr_keyword">protected</strong> String getActivePrincipal( DavServletRequest request )
<a class="jxr_linenumber" name="L1196" href="#L1196">1196</a>     {
<a class="jxr_linenumber" name="L1197" href="#L1197">1197</a>         User sessionUser = httpAuth.getSessionUser( request.getSession() );
<a class="jxr_linenumber" name="L1198" href="#L1198">1198</a>         <strong class="jxr_keyword">return</strong> sessionUser != <strong class="jxr_keyword">null</strong> ? sessionUser.getUsername() : UserManager.GUEST_USERNAME;
<a class="jxr_linenumber" name="L1199" href="#L1199">1199</a>     }
<a class="jxr_linenumber" name="L1200" href="#L1200">1200</a> 
<a class="jxr_linenumber" name="L1201" href="#L1201">1201</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L1202" href="#L1202">1202</a> <em class="jxr_javadoccomment">     * Check if the current user is authorized to access any of the repos</em>
<a class="jxr_linenumber" name="L1203" href="#L1203">1203</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L1204" href="#L1204">1204</a> <em class="jxr_javadoccomment">     * @param request</em>
<a class="jxr_linenumber" name="L1205" href="#L1205">1205</a> <em class="jxr_javadoccomment">     * @param repositories</em>
<a class="jxr_linenumber" name="L1206" href="#L1206">1206</a> <em class="jxr_javadoccomment">     * @param activePrincipal</em>
<a class="jxr_linenumber" name="L1207" href="#L1207">1207</a> <em class="jxr_javadoccomment">     * @return</em>
<a class="jxr_linenumber" name="L1208" href="#L1208">1208</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L1209" href="#L1209">1209</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> isAllowedToContinue( DavServletRequest request, List&lt;String&gt; repositories, String activePrincipal )
<a class="jxr_linenumber" name="L1210" href="#L1210">1210</a>     {
<a class="jxr_linenumber" name="L1211" href="#L1211">1211</a>         <em class="jxr_comment">// when no repositories configured it's impossible to browse nothing !</em>
<a class="jxr_linenumber" name="L1212" href="#L1212">1212</a>         <em class="jxr_comment">// at least make possible to see nothing :-)</em>
<a class="jxr_linenumber" name="L1213" href="#L1213">1213</a>         <strong class="jxr_keyword">if</strong> ( repositories == <strong class="jxr_keyword">null</strong> || repositories.isEmpty() )
<a class="jxr_linenumber" name="L1214" href="#L1214">1214</a>         {
<a class="jxr_linenumber" name="L1215" href="#L1215">1215</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L1216" href="#L1216">1216</a>         }
<a class="jxr_linenumber" name="L1217" href="#L1217">1217</a> 
<a class="jxr_linenumber" name="L1218" href="#L1218">1218</a>         <strong class="jxr_keyword">boolean</strong> allow = false;
<a class="jxr_linenumber" name="L1219" href="#L1219">1219</a> 
<a class="jxr_linenumber" name="L1220" href="#L1220">1220</a>         <em class="jxr_comment">// if securitySession != null, it means that the user was prompted for authentication</em>
<a class="jxr_linenumber" name="L1221" href="#L1221">1221</a>         <strong class="jxr_keyword">if</strong> ( httpAuth.getSecuritySession( request.getSession() ) != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L1222" href="#L1222">1222</a>         {
<a class="jxr_linenumber" name="L1223" href="#L1223">1223</a>             <strong class="jxr_keyword">for</strong> ( String repository : repositories )
<a class="jxr_linenumber" name="L1224" href="#L1224">1224</a>             {
<a class="jxr_linenumber" name="L1225" href="#L1225">1225</a>                 <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L1226" href="#L1226">1226</a>                 {
<a class="jxr_linenumber" name="L1227" href="#L1227">1227</a>                     <strong class="jxr_keyword">if</strong> ( isAuthorized( request, repository ) )
<a class="jxr_linenumber" name="L1228" href="#L1228">1228</a>                     {
<a class="jxr_linenumber" name="L1229" href="#L1229">1229</a>                         allow = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L1230" href="#L1230">1230</a>                         <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="L1231" href="#L1231">1231</a>                     }
<a class="jxr_linenumber" name="L1232" href="#L1232">1232</a>                 }
<a class="jxr_linenumber" name="L1233" href="#L1233">1233</a>                 <strong class="jxr_keyword">catch</strong> ( DavException e )
<a class="jxr_linenumber" name="L1234" href="#L1234">1234</a>                 {
<a class="jxr_linenumber" name="L1235" href="#L1235">1235</a>                     <strong class="jxr_keyword">continue</strong>;
<a class="jxr_linenumber" name="L1236" href="#L1236">1236</a>                 }
<a class="jxr_linenumber" name="L1237" href="#L1237">1237</a>             }
<a class="jxr_linenumber" name="L1238" href="#L1238">1238</a>         }
<a class="jxr_linenumber" name="L1239" href="#L1239">1239</a>         <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L1240" href="#L1240">1240</a>         {
<a class="jxr_linenumber" name="L1241" href="#L1241">1241</a>             <strong class="jxr_keyword">for</strong> ( String repository : repositories )
<a class="jxr_linenumber" name="L1242" href="#L1242">1242</a>             {
<a class="jxr_linenumber" name="L1243" href="#L1243">1243</a>                 <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L1244" href="#L1244">1244</a>                 {
<a class="jxr_linenumber" name="L1245" href="#L1245">1245</a>                     <strong class="jxr_keyword">if</strong> ( servletAuth.isAuthorized( activePrincipal, repository,
<a class="jxr_linenumber" name="L1246" href="#L1246">1246</a>                                                    WebdavMethodUtil.getMethodPermission( request.getMethod() ) ) )
<a class="jxr_linenumber" name="L1247" href="#L1247">1247</a>                     {
<a class="jxr_linenumber" name="L1248" href="#L1248">1248</a>                         allow = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L1249" href="#L1249">1249</a>                         <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="L1250" href="#L1250">1250</a>                     }
<a class="jxr_linenumber" name="L1251" href="#L1251">1251</a>                 }
<a class="jxr_linenumber" name="L1252" href="#L1252">1252</a>                 <strong class="jxr_keyword">catch</strong> ( UnauthorizedException e )
<a class="jxr_linenumber" name="L1253" href="#L1253">1253</a>                 {
<a class="jxr_linenumber" name="L1254" href="#L1254">1254</a>                     <strong class="jxr_keyword">continue</strong>;
<a class="jxr_linenumber" name="L1255" href="#L1255">1255</a>                 }
<a class="jxr_linenumber" name="L1256" href="#L1256">1256</a>             }
<a class="jxr_linenumber" name="L1257" href="#L1257">1257</a>         }
<a class="jxr_linenumber" name="L1258" href="#L1258">1258</a> 
<a class="jxr_linenumber" name="L1259" href="#L1259">1259</a>         <strong class="jxr_keyword">return</strong> allow;
<a class="jxr_linenumber" name="L1260" href="#L1260">1260</a>     }
<a class="jxr_linenumber" name="L1261" href="#L1261">1261</a> 
<a class="jxr_linenumber" name="L1262" href="#L1262">1262</a>     <strong class="jxr_keyword">private</strong> File writeMergedMetadataToFile( ArchivaRepositoryMetadata mergedMetadata, String outputFilename )
<a class="jxr_linenumber" name="L1263" href="#L1263">1263</a>         <strong class="jxr_keyword">throws</strong> RepositoryMetadataException, DigesterException, IOException
<a class="jxr_linenumber" name="L1264" href="#L1264">1264</a>     {
<a class="jxr_linenumber" name="L1265" href="#L1265">1265</a>         File outputFile = <strong class="jxr_keyword">new</strong> File( outputFilename );
<a class="jxr_linenumber" name="L1266" href="#L1266">1266</a>         <strong class="jxr_keyword">if</strong> ( outputFile.exists() )
<a class="jxr_linenumber" name="L1267" href="#L1267">1267</a>         {
<a class="jxr_linenumber" name="L1268" href="#L1268">1268</a>             FileUtils.deleteQuietly( outputFile );
<a class="jxr_linenumber" name="L1269" href="#L1269">1269</a>         }
<a class="jxr_linenumber" name="L1270" href="#L1270">1270</a> 
<a class="jxr_linenumber" name="L1271" href="#L1271">1271</a>         outputFile.getParentFile().mkdirs();
<a class="jxr_linenumber" name="L1272" href="#L1272">1272</a>         RepositoryMetadataWriter.write( mergedMetadata, outputFile );
<a class="jxr_linenumber" name="L1273" href="#L1273">1273</a> 
<a class="jxr_linenumber" name="L1274" href="#L1274">1274</a>         createChecksumFile( outputFilename, digestSha1 );
<a class="jxr_linenumber" name="L1275" href="#L1275">1275</a>         createChecksumFile( outputFilename, digestMd5 );
<a class="jxr_linenumber" name="L1276" href="#L1276">1276</a> 
<a class="jxr_linenumber" name="L1277" href="#L1277">1277</a>         <strong class="jxr_keyword">return</strong> outputFile;
<a class="jxr_linenumber" name="L1278" href="#L1278">1278</a>     }
<a class="jxr_linenumber" name="L1279" href="#L1279">1279</a> 
<a class="jxr_linenumber" name="L1280" href="#L1280">1280</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> createChecksumFile( String path, Digester digester )
<a class="jxr_linenumber" name="L1281" href="#L1281">1281</a>         <strong class="jxr_keyword">throws</strong> DigesterException, IOException
<a class="jxr_linenumber" name="L1282" href="#L1282">1282</a>     {
<a class="jxr_linenumber" name="L1283" href="#L1283">1283</a>         File checksumFile = <strong class="jxr_keyword">new</strong> File( path + digester.getFilenameExtension() );
<a class="jxr_linenumber" name="L1284" href="#L1284">1284</a>         <strong class="jxr_keyword">if</strong> ( !checksumFile.exists() )
<a class="jxr_linenumber" name="L1285" href="#L1285">1285</a>         {
<a class="jxr_linenumber" name="L1286" href="#L1286">1286</a>             FileUtils.deleteQuietly( checksumFile );
<a class="jxr_linenumber" name="L1287" href="#L1287">1287</a>             checksum.createChecksum( <strong class="jxr_keyword">new</strong> File( path ), digester );
<a class="jxr_linenumber" name="L1288" href="#L1288">1288</a>         }
<a class="jxr_linenumber" name="L1289" href="#L1289">1289</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( !checksumFile.isFile() )
<a class="jxr_linenumber" name="L1290" href="#L1290">1290</a>         {
<a class="jxr_linenumber" name="L1291" href="#L1291">1291</a>             log.error( <span class="jxr_string">"Checksum file is not a file."</span> );
<a class="jxr_linenumber" name="L1292" href="#L1292">1292</a>         }
<a class="jxr_linenumber" name="L1293" href="#L1293">1293</a>     }
<a class="jxr_linenumber" name="L1294" href="#L1294">1294</a> 
<a class="jxr_linenumber" name="L1295" href="#L1295">1295</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> isProjectReference( String requestedResource )
<a class="jxr_linenumber" name="L1296" href="#L1296">1296</a>     {
<a class="jxr_linenumber" name="L1297" href="#L1297">1297</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L1298" href="#L1298">1298</a>         {
<a class="jxr_linenumber" name="L1299" href="#L1299">1299</a>             metadataTools.toVersionedReference( requestedResource );
<a class="jxr_linenumber" name="L1300" href="#L1300">1300</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="L1301" href="#L1301">1301</a>         }
<a class="jxr_linenumber" name="L1302" href="#L1302">1302</a>         <strong class="jxr_keyword">catch</strong> ( RepositoryMetadataException re )
<a class="jxr_linenumber" name="L1303" href="#L1303">1303</a>         {
<a class="jxr_linenumber" name="L1304" href="#L1304">1304</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L1305" href="#L1305">1305</a>         }
<a class="jxr_linenumber" name="L1306" href="#L1306">1306</a>     }
<a class="jxr_linenumber" name="L1307" href="#L1307">1307</a> 
<a class="jxr_linenumber" name="L1308" href="#L1308">1308</a>     <strong class="jxr_keyword">protected</strong> File buildMergedIndexDirectory( List&lt;String&gt; repositories, String activePrincipal,
<a class="jxr_linenumber" name="L1309" href="#L1309">1309</a>                                               DavServletRequest request,
<a class="jxr_linenumber" name="L1310" href="#L1310">1310</a>                                               RepositoryGroupConfiguration repositoryGroupConfiguration )
<a class="jxr_linenumber" name="L1311" href="#L1311">1311</a>         <strong class="jxr_keyword">throws</strong> DavException
<a class="jxr_linenumber" name="L1312" href="#L1312">1312</a>     {
<a class="jxr_linenumber" name="L1313" href="#L1313">1313</a> 
<a class="jxr_linenumber" name="L1314" href="#L1314">1314</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L1315" href="#L1315">1315</a>         {
<a class="jxr_linenumber" name="L1316" href="#L1316">1316</a>             HttpSession session = request.getSession();
<a class="jxr_linenumber" name="L1317" href="#L1317">1317</a> 
<a class="jxr_linenumber" name="L1318" href="#L1318">1318</a>             Map&lt;String, TemporaryGroupIndex&gt; temporaryGroupIndexMap =
<a class="jxr_linenumber" name="L1319" href="#L1319">1319</a>                 (Map&lt;String, TemporaryGroupIndex&gt;) session.getAttribute(
<a class="jxr_linenumber" name="L1320" href="#L1320">1320</a>                     TemporaryGroupIndexSessionCleaner.TEMPORARY_INDEX_SESSION_KEY );
<a class="jxr_linenumber" name="L1321" href="#L1321">1321</a>             <strong class="jxr_keyword">if</strong> ( temporaryGroupIndexMap == <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L1322" href="#L1322">1322</a>             {
<a class="jxr_linenumber" name="L1323" href="#L1323">1323</a>                 temporaryGroupIndexMap = <strong class="jxr_keyword">new</strong> HashMap&lt;&gt;();
<a class="jxr_linenumber" name="L1324" href="#L1324">1324</a>             }
<a class="jxr_linenumber" name="L1325" href="#L1325">1325</a> 
<a class="jxr_linenumber" name="L1326" href="#L1326">1326</a>             TemporaryGroupIndex tmp = temporaryGroupIndexMap.get( repositoryGroupConfiguration.getId() );
<a class="jxr_linenumber" name="L1327" href="#L1327">1327</a> 
<a class="jxr_linenumber" name="L1328" href="#L1328">1328</a>             <strong class="jxr_keyword">if</strong> ( tmp != <strong class="jxr_keyword">null</strong> &amp;&amp; tmp.getDirectory() != <strong class="jxr_keyword">null</strong> &amp;&amp; tmp.getDirectory().exists() )
<a class="jxr_linenumber" name="L1329" href="#L1329">1329</a>             {
<a class="jxr_linenumber" name="L1330" href="#L1330">1330</a>                 <strong class="jxr_keyword">if</strong> ( System.currentTimeMillis() - tmp.getCreationTime() &gt; (
<a class="jxr_linenumber" name="L1331" href="#L1331">1331</a>                     repositoryGroupConfiguration.getMergedIndexTtl() * 60 * 1000 ) )
<a class="jxr_linenumber" name="L1332" href="#L1332">1332</a>                 {
<a class="jxr_linenumber" name="L1333" href="#L1333">1333</a>                     log.debug( MarkerFactory.getMarker( <span class="jxr_string">"group.merged.index"</span> ),
<a class="jxr_linenumber" name="L1334" href="#L1334">1334</a>                                <span class="jxr_string">"tmp group index '{}' is too old so delete it"</span>, repositoryGroupConfiguration.getId() );
<a class="jxr_linenumber" name="L1335" href="#L1335">1335</a>                     indexMerger.cleanTemporaryGroupIndex( tmp );
<a class="jxr_linenumber" name="L1336" href="#L1336">1336</a>                 }
<a class="jxr_linenumber" name="L1337" href="#L1337">1337</a>                 <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L1338" href="#L1338">1338</a>                 {
<a class="jxr_linenumber" name="L1339" href="#L1339">1339</a>                     log.debug( MarkerFactory.getMarker( <span class="jxr_string">"group.merged.index"</span> ),
<a class="jxr_linenumber" name="L1340" href="#L1340">1340</a>                                <span class="jxr_string">"merged index for group '{}' found in cache"</span>, repositoryGroupConfiguration.getId() );
<a class="jxr_linenumber" name="L1341" href="#L1341">1341</a>                     <strong class="jxr_keyword">return</strong> tmp.getDirectory();
<a class="jxr_linenumber" name="L1342" href="#L1342">1342</a>                 }
<a class="jxr_linenumber" name="L1343" href="#L1343">1343</a>             }
<a class="jxr_linenumber" name="L1344" href="#L1344">1344</a> 
<a class="jxr_linenumber" name="L1345" href="#L1345">1345</a>             Set&lt;String&gt; authzRepos = <strong class="jxr_keyword">new</strong> HashSet&lt;String&gt;();
<a class="jxr_linenumber" name="L1346" href="#L1346">1346</a> 
<a class="jxr_linenumber" name="L1347" href="#L1347">1347</a>             String permission = WebdavMethodUtil.getMethodPermission( request.getMethod() );
<a class="jxr_linenumber" name="L1348" href="#L1348">1348</a> 
<a class="jxr_linenumber" name="L1349" href="#L1349">1349</a>             <strong class="jxr_keyword">for</strong> ( String repository : repositories )
<a class="jxr_linenumber" name="L1350" href="#L1350">1350</a>             {
<a class="jxr_linenumber" name="L1351" href="#L1351">1351</a>                 <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L1352" href="#L1352">1352</a>                 {
<a class="jxr_linenumber" name="L1353" href="#L1353">1353</a>                     <strong class="jxr_keyword">if</strong> ( servletAuth.isAuthorized( activePrincipal, repository, permission ) )
<a class="jxr_linenumber" name="L1354" href="#L1354">1354</a>                     {
<a class="jxr_linenumber" name="L1355" href="#L1355">1355</a>                         authzRepos.add( repository );
<a class="jxr_linenumber" name="L1356" href="#L1356">1356</a>                         authzRepos.addAll( <strong class="jxr_keyword">this</strong>.repositorySearch.getRemoteIndexingContextIds( repository ) );
<a class="jxr_linenumber" name="L1357" href="#L1357">1357</a>                     }
<a class="jxr_linenumber" name="L1358" href="#L1358">1358</a>                 }
<a class="jxr_linenumber" name="L1359" href="#L1359">1359</a>                 <strong class="jxr_keyword">catch</strong> ( UnauthorizedException e )
<a class="jxr_linenumber" name="L1360" href="#L1360">1360</a>                 {
<a class="jxr_linenumber" name="L1361" href="#L1361">1361</a>                     <em class="jxr_comment">// TODO: review exception handling</em>
<a class="jxr_linenumber" name="L1362" href="#L1362">1362</a> 
<a class="jxr_linenumber" name="L1363" href="#L1363">1363</a>                     log.debug( <span class="jxr_string">"Skipping repository '{}' for user '{}': {}"</span>, repository, activePrincipal,
<a class="jxr_linenumber" name="L1364" href="#L1364">1364</a>                                e.getMessage() );
<a class="jxr_linenumber" name="L1365" href="#L1365">1365</a>                 }
<a class="jxr_linenumber" name="L1366" href="#L1366">1366</a>             }
<a class="jxr_linenumber" name="L1367" href="#L1367">1367</a>             log.info( <span class="jxr_string">"generate temporary merged index for repository group '{}' for repositories '{}'"</span>,
<a class="jxr_linenumber" name="L1368" href="#L1368">1368</a>                       repositoryGroupConfiguration.getId(), authzRepos );
<a class="jxr_linenumber" name="L1369" href="#L1369">1369</a> 
<a class="jxr_linenumber" name="L1370" href="#L1370">1370</a>             File tempRepoFile = Files.createTempDirectory( <span class="jxr_string">"temp"</span> ).toFile();
<a class="jxr_linenumber" name="L1371" href="#L1371">1371</a>             tempRepoFile.deleteOnExit();
<a class="jxr_linenumber" name="L1372" href="#L1372">1372</a> 
<a class="jxr_linenumber" name="L1373" href="#L1373">1373</a>             IndexMergerRequest indexMergerRequest =
<a class="jxr_linenumber" name="L1374" href="#L1374">1374</a>                 <strong class="jxr_keyword">new</strong> IndexMergerRequest( authzRepos, <strong class="jxr_keyword">true</strong>, repositoryGroupConfiguration.getId(),
<a class="jxr_linenumber" name="L1375" href="#L1375">1375</a>                                         repositoryGroupConfiguration.getMergedIndexPath(),
<a class="jxr_linenumber" name="L1376" href="#L1376">1376</a>                                         repositoryGroupConfiguration.getMergedIndexTtl() ).mergedIndexDirectory(
<a class="jxr_linenumber" name="L1377" href="#L1377">1377</a>                     tempRepoFile ).temporary( <strong class="jxr_keyword">true</strong> );
<a class="jxr_linenumber" name="L1378" href="#L1378">1378</a> 
<a class="jxr_linenumber" name="L1379" href="#L1379">1379</a>             MergedRemoteIndexesTaskRequest taskRequest =
<a class="jxr_linenumber" name="L1380" href="#L1380">1380</a>                 <strong class="jxr_keyword">new</strong> MergedRemoteIndexesTaskRequest( indexMergerRequest, indexMerger );
<a class="jxr_linenumber" name="L1381" href="#L1381">1381</a> 
<a class="jxr_linenumber" name="L1382" href="#L1382">1382</a>             MergedRemoteIndexesTask job = <strong class="jxr_keyword">new</strong> MergedRemoteIndexesTask( taskRequest );
<a class="jxr_linenumber" name="L1383" href="#L1383">1383</a> 
<a class="jxr_linenumber" name="L1384" href="#L1384">1384</a>             IndexingContext indexingContext = job.execute().getIndexingContext();
<a class="jxr_linenumber" name="L1385" href="#L1385">1385</a> 
<a class="jxr_linenumber" name="L1386" href="#L1386">1386</a>             File mergedRepoDir = indexingContext.getIndexDirectoryFile();
<a class="jxr_linenumber" name="L1387" href="#L1387">1387</a>             TemporaryGroupIndex temporaryGroupIndex =
<a class="jxr_linenumber" name="L1388" href="#L1388">1388</a>                 <strong class="jxr_keyword">new</strong> TemporaryGroupIndex( mergedRepoDir, indexingContext.getId(), repositoryGroupConfiguration.getId(),
<a class="jxr_linenumber" name="L1389" href="#L1389">1389</a>                                          repositoryGroupConfiguration.getMergedIndexTtl() ) <em class="jxr_comment">//</em>
<a class="jxr_linenumber" name="L1390" href="#L1390">1390</a>                     .setCreationTime( <strong class="jxr_keyword">new</strong> Date().getTime() );
<a class="jxr_linenumber" name="L1391" href="#L1391">1391</a>             temporaryGroupIndexMap.put( repositoryGroupConfiguration.getId(), temporaryGroupIndex );
<a class="jxr_linenumber" name="L1392" href="#L1392">1392</a>             session.setAttribute( TemporaryGroupIndexSessionCleaner.TEMPORARY_INDEX_SESSION_KEY,
<a class="jxr_linenumber" name="L1393" href="#L1393">1393</a>                                   temporaryGroupIndexMap );
<a class="jxr_linenumber" name="L1394" href="#L1394">1394</a>             <strong class="jxr_keyword">return</strong> mergedRepoDir;
<a class="jxr_linenumber" name="L1395" href="#L1395">1395</a>         }
<a class="jxr_linenumber" name="L1396" href="#L1396">1396</a>         <strong class="jxr_keyword">catch</strong> ( RepositoryAdminException e )
<a class="jxr_linenumber" name="L1397" href="#L1397">1397</a>         {
<a class="jxr_linenumber" name="L1398" href="#L1398">1398</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e );
<a class="jxr_linenumber" name="L1399" href="#L1399">1399</a>         }
<a class="jxr_linenumber" name="L1400" href="#L1400">1400</a>         <strong class="jxr_keyword">catch</strong> ( IndexMergerException e )
<a class="jxr_linenumber" name="L1401" href="#L1401">1401</a>         {
<a class="jxr_linenumber" name="L1402" href="#L1402">1402</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e );
<a class="jxr_linenumber" name="L1403" href="#L1403">1403</a>         }
<a class="jxr_linenumber" name="L1404" href="#L1404">1404</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L1405" href="#L1405">1405</a>         {
<a class="jxr_linenumber" name="L1406" href="#L1406">1406</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e );
<a class="jxr_linenumber" name="L1407" href="#L1407">1407</a>         }
<a class="jxr_linenumber" name="L1408" href="#L1408">1408</a>     }
<a class="jxr_linenumber" name="L1409" href="#L1409">1409</a> 
<a class="jxr_linenumber" name="L1410" href="#L1410">1410</a> 
<a class="jxr_linenumber" name="L1411" href="#L1411">1411</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setServletAuth( ServletAuthenticator servletAuth )
<a class="jxr_linenumber" name="L1412" href="#L1412">1412</a>     {
<a class="jxr_linenumber" name="L1413" href="#L1413">1413</a>         <strong class="jxr_keyword">this</strong>.servletAuth = servletAuth;
<a class="jxr_linenumber" name="L1414" href="#L1414">1414</a>     }
<a class="jxr_linenumber" name="L1415" href="#L1415">1415</a> 
<a class="jxr_linenumber" name="L1416" href="#L1416">1416</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setHttpAuth( HttpAuthenticator httpAuth )
<a class="jxr_linenumber" name="L1417" href="#L1417">1417</a>     {
<a class="jxr_linenumber" name="L1418" href="#L1418">1418</a>         <strong class="jxr_keyword">this</strong>.httpAuth = httpAuth;
<a class="jxr_linenumber" name="L1419" href="#L1419">1419</a>     }
<a class="jxr_linenumber" name="L1420" href="#L1420">1420</a> 
<a class="jxr_linenumber" name="L1421" href="#L1421">1421</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setScheduler( RepositoryArchivaTaskScheduler scheduler )
<a class="jxr_linenumber" name="L1422" href="#L1422">1422</a>     {
<a class="jxr_linenumber" name="L1423" href="#L1423">1423</a>         <strong class="jxr_keyword">this</strong>.scheduler = scheduler;
<a class="jxr_linenumber" name="L1424" href="#L1424">1424</a>     }
<a class="jxr_linenumber" name="L1425" href="#L1425">1425</a> 
<a class="jxr_linenumber" name="L1426" href="#L1426">1426</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setArchivaConfiguration( ArchivaConfiguration archivaConfiguration )
<a class="jxr_linenumber" name="L1427" href="#L1427">1427</a>     {
<a class="jxr_linenumber" name="L1428" href="#L1428">1428</a>         <strong class="jxr_keyword">this</strong>.archivaConfiguration = archivaConfiguration;
<a class="jxr_linenumber" name="L1429" href="#L1429">1429</a>     }
<a class="jxr_linenumber" name="L1430" href="#L1430">1430</a> 
<a class="jxr_linenumber" name="L1431" href="#L1431">1431</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setRepositoryFactory( RepositoryContentFactory repositoryFactory )
<a class="jxr_linenumber" name="L1432" href="#L1432">1432</a>     {
<a class="jxr_linenumber" name="L1433" href="#L1433">1433</a>         <strong class="jxr_keyword">this</strong>.repositoryFactory = repositoryFactory;
<a class="jxr_linenumber" name="L1434" href="#L1434">1434</a>     }
<a class="jxr_linenumber" name="L1435" href="#L1435">1435</a> 
<a class="jxr_linenumber" name="L1436" href="#L1436">1436</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setRepositoryRequest( RepositoryRequest repositoryRequest )
<a class="jxr_linenumber" name="L1437" href="#L1437">1437</a>     {
<a class="jxr_linenumber" name="L1438" href="#L1438">1438</a>         <strong class="jxr_keyword">this</strong>.repositoryRequest = repositoryRequest;
<a class="jxr_linenumber" name="L1439" href="#L1439">1439</a>     }
<a class="jxr_linenumber" name="L1440" href="#L1440">1440</a> 
<a class="jxr_linenumber" name="L1441" href="#L1441">1441</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setConnectors( RepositoryProxyConnectors connectors )
<a class="jxr_linenumber" name="L1442" href="#L1442">1442</a>     {
<a class="jxr_linenumber" name="L1443" href="#L1443">1443</a>         <strong class="jxr_keyword">this</strong>.connectors = connectors;
<a class="jxr_linenumber" name="L1444" href="#L1444">1444</a>     }
<a class="jxr_linenumber" name="L1445" href="#L1445">1445</a> 
<a class="jxr_linenumber" name="L1446" href="#L1446">1446</a>     <strong class="jxr_keyword">public</strong> RemoteRepositoryAdmin getRemoteRepositoryAdmin()
<a class="jxr_linenumber" name="L1447" href="#L1447">1447</a>     {
<a class="jxr_linenumber" name="L1448" href="#L1448">1448</a>         <strong class="jxr_keyword">return</strong> remoteRepositoryAdmin;
<a class="jxr_linenumber" name="L1449" href="#L1449">1449</a>     }
<a class="jxr_linenumber" name="L1450" href="#L1450">1450</a> 
<a class="jxr_linenumber" name="L1451" href="#L1451">1451</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setRemoteRepositoryAdmin( RemoteRepositoryAdmin remoteRepositoryAdmin )
<a class="jxr_linenumber" name="L1452" href="#L1452">1452</a>     {
<a class="jxr_linenumber" name="L1453" href="#L1453">1453</a>         <strong class="jxr_keyword">this</strong>.remoteRepositoryAdmin = remoteRepositoryAdmin;
<a class="jxr_linenumber" name="L1454" href="#L1454">1454</a>     }
<a class="jxr_linenumber" name="L1455" href="#L1455">1455</a> 
<a class="jxr_linenumber" name="L1456" href="#L1456">1456</a>     <strong class="jxr_keyword">public</strong> ManagedRepositoryAdmin getManagedRepositoryAdmin()
<a class="jxr_linenumber" name="L1457" href="#L1457">1457</a>     {
<a class="jxr_linenumber" name="L1458" href="#L1458">1458</a>         <strong class="jxr_keyword">return</strong> managedRepositoryAdmin;
<a class="jxr_linenumber" name="L1459" href="#L1459">1459</a>     }
<a class="jxr_linenumber" name="L1460" href="#L1460">1460</a> 
<a class="jxr_linenumber" name="L1461" href="#L1461">1461</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setManagedRepositoryAdmin( ManagedRepositoryAdmin managedRepositoryAdmin )
<a class="jxr_linenumber" name="L1462" href="#L1462">1462</a>     {
<a class="jxr_linenumber" name="L1463" href="#L1463">1463</a>         <strong class="jxr_keyword">this</strong>.managedRepositoryAdmin = managedRepositoryAdmin;
<a class="jxr_linenumber" name="L1464" href="#L1464">1464</a>     }
<a class="jxr_linenumber" name="L1465" href="#L1465">1465</a> }
</pre>
<hr/>
<div id="footer">Copyright &#169; 2006&#x2013;2021 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div>
</body>
</html>
