<!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>DefaultManagedRepositoryAdmin xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../../apidocs/org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.html">View Javadoc</a></div><pre>

<a class="jxr_linenumber" name="1" href="#1">1</a>   <strong class="jxr_keyword">package</strong> org.apache.archiva.admin.repository.managed;
<a class="jxr_linenumber" name="2" href="#2">2</a>   <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="3" href="#3">3</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one</em>
<a class="jxr_linenumber" name="4" href="#4">4</a>   <em class="jxr_comment"> * or more contributor license agreements.  See the NOTICE file</em>
<a class="jxr_linenumber" name="5" href="#5">5</a>   <em class="jxr_comment"> * distributed with this work for additional information</em>
<a class="jxr_linenumber" name="6" href="#6">6</a>   <em class="jxr_comment"> * regarding copyright ownership.  The ASF licenses this file</em>
<a class="jxr_linenumber" name="7" href="#7">7</a>   <em class="jxr_comment"> * to you under the Apache License, Version 2.0 (the</em>
<a class="jxr_linenumber" name="8" href="#8">8</a>   <em class="jxr_comment"> * "License"); you may not use this file except in compliance</em>
<a class="jxr_linenumber" name="9" href="#9">9</a>   <em class="jxr_comment"> * with the License.  You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="10" href="#10">10</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="11" href="#11">11</a>  <em class="jxr_comment"> *   <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a class="jxr_linenumber" name="12" href="#12">12</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="13" href="#13">13</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing,</em>
<a class="jxr_linenumber" name="14" href="#14">14</a>  <em class="jxr_comment"> * software distributed under the License is distributed on an</em>
<a class="jxr_linenumber" name="15" href="#15">15</a>  <em class="jxr_comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a class="jxr_linenumber" name="16" href="#16">16</a>  <em class="jxr_comment"> * KIND, either express or implied.  See the License for the</em>
<a class="jxr_linenumber" name="17" href="#17">17</a>  <em class="jxr_comment"> * specific language governing permissions and limitations</em>
<a class="jxr_linenumber" name="18" href="#18">18</a>  <em class="jxr_comment"> * under the License.</em>
<a class="jxr_linenumber" name="19" href="#19">19</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="20" href="#20">20</a>  
<a class="jxr_linenumber" name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.admin.model.AuditInformation;
<a class="jxr_linenumber" name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.admin.model.RepositoryAdminException;
<a class="jxr_linenumber" name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.admin.model.beans.ManagedRepository;
<a class="jxr_linenumber" name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.admin.model.managed.ManagedRepositoryAdmin;
<a class="jxr_linenumber" name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.admin.repository.AbstractRepositoryAdmin;
<a class="jxr_linenumber" name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.audit.AuditEvent;
<a class="jxr_linenumber" name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.common.plexusbridge.MavenIndexerUtils;
<a class="jxr_linenumber" name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.common.plexusbridge.PlexusSisuBridge;
<a class="jxr_linenumber" name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.common.plexusbridge.PlexusSisuBridgeException;
<a class="jxr_linenumber" name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.configuration.Configuration;
<a class="jxr_linenumber" name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.configuration.ManagedRepositoryConfiguration;
<a class="jxr_linenumber" name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.configuration.ProxyConnectorConfiguration;
<a class="jxr_linenumber" name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.configuration.RepositoryGroupConfiguration;
<a class="jxr_linenumber" name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.metadata.repository.MetadataRepository;
<a class="jxr_linenumber" name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.metadata.repository.MetadataRepositoryException;
<a class="jxr_linenumber" name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.metadata.repository.RepositorySession;
<a class="jxr_linenumber" name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.metadata.repository.RepositorySessionFactory;
<a class="jxr_linenumber" name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.metadata.repository.stats.RepositoryStatisticsManager;
<a class="jxr_linenumber" name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.redback.components.taskqueue.TaskQueueException;
<a class="jxr_linenumber" name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.redback.role.RoleManager;
<a class="jxr_linenumber" name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.redback.role.RoleManagerException;
<a class="jxr_linenumber" name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.scheduler.repository.model.RepositoryArchivaTaskScheduler;
<a class="jxr_linenumber" name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.scheduler.repository.model.RepositoryTask;
<a class="jxr_linenumber" name="44" href="#44">44</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.security.common.ArchivaRoleConstants;
<a class="jxr_linenumber" name="45" href="#45">45</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.io.FileUtils;
<a class="jxr_linenumber" name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.lang.StringUtils;
<a class="jxr_linenumber" name="47" href="#47">47</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.index.NexusIndexer;
<a class="jxr_linenumber" name="48" href="#48">48</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.index.context.IndexCreator;
<a class="jxr_linenumber" name="49" href="#49">49</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.index.context.IndexingContext;
<a class="jxr_linenumber" name="50" href="#50">50</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.index.context.UnsupportedExistingLuceneIndexException;
<a class="jxr_linenumber" name="51" href="#51">51</a>  <strong class="jxr_keyword">import</strong> org.slf4j.Logger;
<a class="jxr_linenumber" name="52" href="#52">52</a>  <strong class="jxr_keyword">import</strong> org.slf4j.LoggerFactory;
<a class="jxr_linenumber" name="53" href="#53">53</a>  <strong class="jxr_keyword">import</strong> org.springframework.stereotype.Service;
<a class="jxr_linenumber" name="54" href="#54">54</a>  
<a class="jxr_linenumber" name="55" href="#55">55</a>  <strong class="jxr_keyword">import</strong> javax.annotation.PostConstruct;
<a class="jxr_linenumber" name="56" href="#56">56</a>  <strong class="jxr_keyword">import</strong> javax.annotation.PreDestroy;
<a class="jxr_linenumber" name="57" href="#57">57</a>  <strong class="jxr_keyword">import</strong> javax.inject.Inject;
<a class="jxr_linenumber" name="58" href="#58">58</a>  <strong class="jxr_keyword">import</strong> javax.inject.Named;
<a class="jxr_linenumber" name="59" href="#59">59</a>  <strong class="jxr_keyword">import</strong> java.io.File;
<a class="jxr_linenumber" name="60" href="#60">60</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
<a class="jxr_linenumber" name="61" href="#61">61</a>  <strong class="jxr_keyword">import</strong> java.net.MalformedURLException;
<a class="jxr_linenumber" name="62" href="#62">62</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a class="jxr_linenumber" name="63" href="#63">63</a>  <strong class="jxr_keyword">import</strong> java.util.Collections;
<a class="jxr_linenumber" name="64" href="#64">64</a>  <strong class="jxr_keyword">import</strong> java.util.HashMap;
<a class="jxr_linenumber" name="65" href="#65">65</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<a class="jxr_linenumber" name="66" href="#66">66</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a class="jxr_linenumber" name="67" href="#67">67</a>  
<a class="jxr_linenumber" name="68" href="#68">68</a>  <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="69" href="#69">69</a>  <em class="jxr_javadoccomment"> * FIXME review the staging mechanism to have a per user session one</em>
<a class="jxr_linenumber" name="70" href="#70">70</a>  <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="71" href="#71">71</a>  <em class="jxr_javadoccomment"> * @author Olivier Lamy</em>
<a class="jxr_linenumber" name="72" href="#72">72</a>  <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="73" href="#73">73</a>  @Service( <span class="jxr_string">"managedRepositoryAdmin#default"</span> )
<a class="jxr_linenumber" name="74" href="#74">74</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.html">DefaultManagedRepositoryAdmin</a>
<a class="jxr_linenumber" name="75" href="#75">75</a>      <strong class="jxr_keyword">extends</strong> <a href="../../../../../../org/apache/archiva/admin/repository/AbstractRepositoryAdmin.html">AbstractRepositoryAdmin</a>
<a class="jxr_linenumber" name="76" href="#76">76</a>      <strong class="jxr_keyword">implements</strong> <a href="../../../../../../org/apache/archiva/admin/model/managed/ManagedRepositoryAdmin.html">ManagedRepositoryAdmin</a>
<a class="jxr_linenumber" name="77" href="#77">77</a>  {
<a class="jxr_linenumber" name="78" href="#78">78</a>  
<a class="jxr_linenumber" name="79" href="#79">79</a>      <strong class="jxr_keyword">private</strong> Logger log = LoggerFactory.getLogger( getClass() );
<a class="jxr_linenumber" name="80" href="#80">80</a>  
<a class="jxr_linenumber" name="81" href="#81">81</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String STAGE_REPO_ID_END = <span class="jxr_string">"-stage"</span>;
<a class="jxr_linenumber" name="82" href="#82">82</a>  
<a class="jxr_linenumber" name="83" href="#83">83</a>      @Inject
<a class="jxr_linenumber" name="84" href="#84">84</a>      @Named( value = <span class="jxr_string">"archivaTaskScheduler#repository"</span> )
<a class="jxr_linenumber" name="85" href="#85">85</a>      <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/archiva/scheduler/repository/model/RepositoryArchivaTaskScheduler.html">RepositoryArchivaTaskScheduler</a> repositoryTaskScheduler;
<a class="jxr_linenumber" name="86" href="#86">86</a>  
<a class="jxr_linenumber" name="87" href="#87">87</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="88" href="#88">88</a>  <em class="jxr_javadoccomment">     * FIXME: this could be multiple implementations and needs to be configured.</em>
<a class="jxr_linenumber" name="89" href="#89">89</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="90" href="#90">90</a>      @Inject
<a class="jxr_linenumber" name="91" href="#91">91</a>      <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/archiva/metadata/repository/RepositorySessionFactory.html">RepositorySessionFactory</a> repositorySessionFactory;
<a class="jxr_linenumber" name="92" href="#92">92</a>  
<a class="jxr_linenumber" name="93" href="#93">93</a>      @Inject
<a class="jxr_linenumber" name="94" href="#94">94</a>      <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/archiva/metadata/repository/stats/RepositoryStatisticsManager.html">RepositoryStatisticsManager</a> repositoryStatisticsManager;
<a class="jxr_linenumber" name="95" href="#95">95</a>  
<a class="jxr_linenumber" name="96" href="#96">96</a>      @Inject
<a class="jxr_linenumber" name="97" href="#97">97</a>      <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/archiva/common/plexusbridge/PlexusSisuBridge.html">PlexusSisuBridge</a> plexusSisuBridge;
<a class="jxr_linenumber" name="98" href="#98">98</a>  
<a class="jxr_linenumber" name="99" href="#99">99</a>      @Inject
<a class="jxr_linenumber" name="100" href="#100">100</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/archiva/common/plexusbridge/MavenIndexerUtils.html">MavenIndexerUtils</a> mavenIndexerUtils;
<a class="jxr_linenumber" name="101" href="#101">101</a> 
<a class="jxr_linenumber" name="102" href="#102">102</a>     @Inject
<a class="jxr_linenumber" name="103" href="#103">103</a>     <strong class="jxr_keyword">protected</strong> RoleManager roleManager;
<a class="jxr_linenumber" name="104" href="#104">104</a> 
<a class="jxr_linenumber" name="105" href="#105">105</a>     <em class="jxr_comment">// fields</em>
<a class="jxr_linenumber" name="106" href="#106">106</a>     List&lt;? <strong class="jxr_keyword">extends</strong> IndexCreator&gt; indexCreators;
<a class="jxr_linenumber" name="107" href="#107">107</a> 
<a class="jxr_linenumber" name="108" href="#108">108</a>     NexusIndexer indexer;
<a class="jxr_linenumber" name="109" href="#109">109</a> 
<a class="jxr_linenumber" name="110" href="#110">110</a>     @PostConstruct
<a class="jxr_linenumber" name="111" href="#111">111</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> initialize()
<a class="jxr_linenumber" name="112" href="#112">112</a>         <strong class="jxr_keyword">throws</strong> RepositoryAdminException, RoleManagerException
<a class="jxr_linenumber" name="113" href="#113">113</a>     {
<a class="jxr_linenumber" name="114" href="#114">114</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="115" href="#115">115</a>         {
<a class="jxr_linenumber" name="116" href="#116">116</a>             indexCreators = mavenIndexerUtils.getAllIndexCreators();
<a class="jxr_linenumber" name="117" href="#117">117</a>             indexer = plexusSisuBridge.lookup( NexusIndexer.<strong class="jxr_keyword">class</strong> );
<a class="jxr_linenumber" name="118" href="#118">118</a>         }
<a class="jxr_linenumber" name="119" href="#119">119</a>         <strong class="jxr_keyword">catch</strong> ( PlexusSisuBridgeException e )
<a class="jxr_linenumber" name="120" href="#120">120</a>         {
<a class="jxr_linenumber" name="121" href="#121">121</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>( e.getMessage(), e );
<a class="jxr_linenumber" name="122" href="#122">122</a>         }
<a class="jxr_linenumber" name="123" href="#123">123</a>         <em class="jxr_comment">// initialize index context on start and check roles here</em>
<a class="jxr_linenumber" name="124" href="#124">124</a>         <strong class="jxr_keyword">for</strong> ( ManagedRepository managedRepository : getManagedRepositories() )
<a class="jxr_linenumber" name="125" href="#125">125</a>         {
<a class="jxr_linenumber" name="126" href="#126">126</a>             createIndexContext( managedRepository );
<a class="jxr_linenumber" name="127" href="#127">127</a>             addRepositoryRoles( managedRepository.getId() );
<a class="jxr_linenumber" name="128" href="#128">128</a> 
<a class="jxr_linenumber" name="129" href="#129">129</a>         }
<a class="jxr_linenumber" name="130" href="#130">130</a>     }
<a class="jxr_linenumber" name="131" href="#131">131</a> 
<a class="jxr_linenumber" name="132" href="#132">132</a>     @PreDestroy
<a class="jxr_linenumber" name="133" href="#133">133</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> shutdown()
<a class="jxr_linenumber" name="134" href="#134">134</a>         <strong class="jxr_keyword">throws</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>
<a class="jxr_linenumber" name="135" href="#135">135</a>     {
<a class="jxr_linenumber" name="136" href="#136">136</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="137" href="#137">137</a>         {
<a class="jxr_linenumber" name="138" href="#138">138</a>             <em class="jxr_comment">// close index on shutdown</em>
<a class="jxr_linenumber" name="139" href="#139">139</a>             <strong class="jxr_keyword">for</strong> ( ManagedRepository managedRepository : getManagedRepositories() )
<a class="jxr_linenumber" name="140" href="#140">140</a>             {
<a class="jxr_linenumber" name="141" href="#141">141</a>                 IndexingContext context = indexer.getIndexingContexts().get( managedRepository.getId() );
<a class="jxr_linenumber" name="142" href="#142">142</a>                 <strong class="jxr_keyword">if</strong> ( context != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="143" href="#143">143</a>                 {
<a class="jxr_linenumber" name="144" href="#144">144</a>                     indexer.removeIndexingContext( context, false );
<a class="jxr_linenumber" name="145" href="#145">145</a>                 }
<a class="jxr_linenumber" name="146" href="#146">146</a>             }
<a class="jxr_linenumber" name="147" href="#147">147</a>         }
<a class="jxr_linenumber" name="148" href="#148">148</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="149" href="#149">149</a>         {
<a class="jxr_linenumber" name="150" href="#150">150</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>( e.getMessage(), e );
<a class="jxr_linenumber" name="151" href="#151">151</a>         }
<a class="jxr_linenumber" name="152" href="#152">152</a>     }
<a class="jxr_linenumber" name="153" href="#153">153</a> 
<a class="jxr_linenumber" name="154" href="#154">154</a>     <strong class="jxr_keyword">public</strong> List&lt;ManagedRepository&gt; getManagedRepositories()
<a class="jxr_linenumber" name="155" href="#155">155</a>         <strong class="jxr_keyword">throws</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>
<a class="jxr_linenumber" name="156" href="#156">156</a>     {
<a class="jxr_linenumber" name="157" href="#157">157</a>         List&lt;ManagedRepositoryConfiguration&gt; managedRepoConfigs =
<a class="jxr_linenumber" name="158" href="#158">158</a>             getArchivaConfiguration().getConfiguration().getManagedRepositories();
<a class="jxr_linenumber" name="159" href="#159">159</a> 
<a class="jxr_linenumber" name="160" href="#160">160</a>         <strong class="jxr_keyword">if</strong> ( managedRepoConfigs == <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="161" href="#161">161</a>         {
<a class="jxr_linenumber" name="162" href="#162">162</a>             <strong class="jxr_keyword">return</strong> Collections.emptyList();
<a class="jxr_linenumber" name="163" href="#163">163</a>         }
<a class="jxr_linenumber" name="164" href="#164">164</a> 
<a class="jxr_linenumber" name="165" href="#165">165</a>         List&lt;ManagedRepository&gt; managedRepos = <strong class="jxr_keyword">new</strong> ArrayList&lt;ManagedRepository&gt;( managedRepoConfigs.size() );
<a class="jxr_linenumber" name="166" href="#166">166</a> 
<a class="jxr_linenumber" name="167" href="#167">167</a>         <strong class="jxr_keyword">for</strong> ( ManagedRepositoryConfiguration repoConfig : managedRepoConfigs )
<a class="jxr_linenumber" name="168" href="#168">168</a>         {
<a class="jxr_linenumber" name="169" href="#169">169</a>             <a href="../../../../../../org/apache/archiva/admin/model/beans/ManagedRepository.html">ManagedRepository</a> repo =
<a class="jxr_linenumber" name="170" href="#170">170</a>                 <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/archiva/admin/model/beans/ManagedRepository.html">ManagedRepository</a>( repoConfig.getId(), repoConfig.getName(), repoConfig.getLocation(),
<a class="jxr_linenumber" name="171" href="#171">171</a>                                        repoConfig.getLayout(), repoConfig.isSnapshots(), repoConfig.isReleases(),
<a class="jxr_linenumber" name="172" href="#172">172</a>                                        repoConfig.isBlockRedeployments(), repoConfig.getRefreshCronExpression(),
<a class="jxr_linenumber" name="173" href="#173">173</a>                                        repoConfig.getIndexDir(), repoConfig.isScanned(), repoConfig.getDaysOlder(),
<a class="jxr_linenumber" name="174" href="#174">174</a>                                        repoConfig.getRetentionCount(), repoConfig.isDeleteReleasedSnapshots(),
<a class="jxr_linenumber" name="175" href="#175">175</a>                                        repoConfig.isStageRepoNeeded() );
<a class="jxr_linenumber" name="176" href="#176">176</a>             repo.setDescription( repoConfig.getDescription() );
<a class="jxr_linenumber" name="177" href="#177">177</a>             repo.setSkipPackedIndexCreation( repoConfig.isSkipPackedIndexCreation() );
<a class="jxr_linenumber" name="178" href="#178">178</a>             managedRepos.add( repo );
<a class="jxr_linenumber" name="179" href="#179">179</a>         }
<a class="jxr_linenumber" name="180" href="#180">180</a> 
<a class="jxr_linenumber" name="181" href="#181">181</a>         <strong class="jxr_keyword">return</strong> managedRepos;
<a class="jxr_linenumber" name="182" href="#182">182</a>     }
<a class="jxr_linenumber" name="183" href="#183">183</a> 
<a class="jxr_linenumber" name="184" href="#184">184</a>     <strong class="jxr_keyword">public</strong> Map&lt;String, ManagedRepository&gt; getManagedRepositoriesAsMap()
<a class="jxr_linenumber" name="185" href="#185">185</a>         <strong class="jxr_keyword">throws</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>
<a class="jxr_linenumber" name="186" href="#186">186</a>     {
<a class="jxr_linenumber" name="187" href="#187">187</a>         List&lt;ManagedRepository&gt; managedRepositories = getManagedRepositories();
<a class="jxr_linenumber" name="188" href="#188">188</a>         Map&lt;String, ManagedRepository&gt; repositoriesMap =
<a class="jxr_linenumber" name="189" href="#189">189</a>             <strong class="jxr_keyword">new</strong> HashMap&lt;String, ManagedRepository&gt;( managedRepositories.size() );
<a class="jxr_linenumber" name="190" href="#190">190</a>         <strong class="jxr_keyword">for</strong> ( ManagedRepository managedRepository : managedRepositories )
<a class="jxr_linenumber" name="191" href="#191">191</a>         {
<a class="jxr_linenumber" name="192" href="#192">192</a>             repositoriesMap.put( managedRepository.getId(), managedRepository );
<a class="jxr_linenumber" name="193" href="#193">193</a>         }
<a class="jxr_linenumber" name="194" href="#194">194</a>         <strong class="jxr_keyword">return</strong> repositoriesMap;
<a class="jxr_linenumber" name="195" href="#195">195</a>     }
<a class="jxr_linenumber" name="196" href="#196">196</a> 
<a class="jxr_linenumber" name="197" href="#197">197</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/archiva/admin/model/beans/ManagedRepository.html">ManagedRepository</a> getManagedRepository( String repositoryId )
<a class="jxr_linenumber" name="198" href="#198">198</a>         <strong class="jxr_keyword">throws</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>
<a class="jxr_linenumber" name="199" href="#199">199</a>     {
<a class="jxr_linenumber" name="200" href="#200">200</a>         List&lt;ManagedRepository&gt; repos = getManagedRepositories();
<a class="jxr_linenumber" name="201" href="#201">201</a>         <strong class="jxr_keyword">for</strong> ( ManagedRepository repo : repos )
<a class="jxr_linenumber" name="202" href="#202">202</a>         {
<a class="jxr_linenumber" name="203" href="#203">203</a>             <strong class="jxr_keyword">if</strong> ( StringUtils.equals( repo.getId(), repositoryId ) )
<a class="jxr_linenumber" name="204" href="#204">204</a>             {
<a class="jxr_linenumber" name="205" href="#205">205</a>                 <strong class="jxr_keyword">return</strong> repo;
<a class="jxr_linenumber" name="206" href="#206">206</a>             }
<a class="jxr_linenumber" name="207" href="#207">207</a>         }
<a class="jxr_linenumber" name="208" href="#208">208</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="209" href="#209">209</a>     }
<a class="jxr_linenumber" name="210" href="#210">210</a> 
<a class="jxr_linenumber" name="211" href="#211">211</a>     <strong class="jxr_keyword">public</strong> Boolean addManagedRepository( ManagedRepository managedRepository, <strong class="jxr_keyword">boolean</strong> needStageRepo,
<a class="jxr_linenumber" name="212" href="#212">212</a>                                          <a href="../../../../../../org/apache/archiva/admin/model/AuditInformation.html">AuditInformation</a> auditInformation )
<a class="jxr_linenumber" name="213" href="#213">213</a>         <strong class="jxr_keyword">throws</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>
<a class="jxr_linenumber" name="214" href="#214">214</a>     {
<a class="jxr_linenumber" name="215" href="#215">215</a> 
<a class="jxr_linenumber" name="216" href="#216">216</a>         getRepositoryCommonValidator().basicValidation( managedRepository, false );
<a class="jxr_linenumber" name="217" href="#217">217</a>         getRepositoryCommonValidator().validateManagedRepository( managedRepository );
<a class="jxr_linenumber" name="218" href="#218">218</a>         triggerAuditEvent( managedRepository.getId(), <strong class="jxr_keyword">null</strong>, AuditEvent.ADD_MANAGED_REPO, auditInformation );
<a class="jxr_linenumber" name="219" href="#219">219</a>         Boolean res =
<a class="jxr_linenumber" name="220" href="#220">220</a>             addManagedRepository( managedRepository.getId(), managedRepository.getLayout(), managedRepository.getName(),
<a class="jxr_linenumber" name="221" href="#221">221</a>                                   managedRepository.getLocation(), managedRepository.isBlockRedeployments(),
<a class="jxr_linenumber" name="222" href="#222">222</a>                                   managedRepository.isReleases(), managedRepository.isSnapshots(), needStageRepo,
<a class="jxr_linenumber" name="223" href="#223">223</a>                                   managedRepository.getCronExpression(), managedRepository.getIndexDirectory(),
<a class="jxr_linenumber" name="224" href="#224">224</a>                                   managedRepository.getDaysOlder(), managedRepository.getRetentionCount(),
<a class="jxr_linenumber" name="225" href="#225">225</a>                                   managedRepository.isDeleteReleasedSnapshots(), managedRepository.getDescription(),
<a class="jxr_linenumber" name="226" href="#226">226</a>                                   managedRepository.isSkipPackedIndexCreation(), managedRepository.isScanned(),
<a class="jxr_linenumber" name="227" href="#227">227</a>                                   auditInformation, getArchivaConfiguration().getConfiguration() ) != <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="228" href="#228">228</a> 
<a class="jxr_linenumber" name="229" href="#229">229</a>         createIndexContext( managedRepository );
<a class="jxr_linenumber" name="230" href="#230">230</a>         <strong class="jxr_keyword">return</strong> res;
<a class="jxr_linenumber" name="231" href="#231">231</a> 
<a class="jxr_linenumber" name="232" href="#232">232</a>     }
<a class="jxr_linenumber" name="233" href="#233">233</a> 
<a class="jxr_linenumber" name="234" href="#234">234</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/archiva/configuration/ManagedRepositoryConfiguration.html">ManagedRepositoryConfiguration</a> addManagedRepository( String repoId, String layout, String name,
<a class="jxr_linenumber" name="235" href="#235">235</a>                                                                  String location, <strong class="jxr_keyword">boolean</strong> blockRedeployments,
<a class="jxr_linenumber" name="236" href="#236">236</a>                                                                  <strong class="jxr_keyword">boolean</strong> releasesIncluded, <strong class="jxr_keyword">boolean</strong> snapshotsIncluded,
<a class="jxr_linenumber" name="237" href="#237">237</a>                                                                  <strong class="jxr_keyword">boolean</strong> stageRepoNeeded, String cronExpression,
<a class="jxr_linenumber" name="238" href="#238">238</a>                                                                  String indexDir, <strong class="jxr_keyword">int</strong> daysOlder, <strong class="jxr_keyword">int</strong> retentionCount,
<a class="jxr_linenumber" name="239" href="#239">239</a>                                                                  <strong class="jxr_keyword">boolean</strong> deteleReleasedSnapshots, String description,
<a class="jxr_linenumber" name="240" href="#240">240</a>                                                                  <strong class="jxr_keyword">boolean</strong> skipPackedIndexCreation, <strong class="jxr_keyword">boolean</strong> scanned,
<a class="jxr_linenumber" name="241" href="#241">241</a>                                                                  <a href="../../../../../../org/apache/archiva/admin/model/AuditInformation.html">AuditInformation</a> auditInformation,
<a class="jxr_linenumber" name="242" href="#242">242</a>                                                                  <a href="../../../../../../org/apache/archiva/configuration/Configuration.html">Configuration</a> config )
<a class="jxr_linenumber" name="243" href="#243">243</a>         <strong class="jxr_keyword">throws</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>
<a class="jxr_linenumber" name="244" href="#244">244</a>     {
<a class="jxr_linenumber" name="245" href="#245">245</a> 
<a class="jxr_linenumber" name="246" href="#246">246</a>         <a href="../../../../../../org/apache/archiva/configuration/ManagedRepositoryConfiguration.html">ManagedRepositoryConfiguration</a> repository = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/archiva/configuration/ManagedRepositoryConfiguration.html">ManagedRepositoryConfiguration</a>();
<a class="jxr_linenumber" name="247" href="#247">247</a> 
<a class="jxr_linenumber" name="248" href="#248">248</a>         repository.setId( repoId );
<a class="jxr_linenumber" name="249" href="#249">249</a>         repository.setBlockRedeployments( blockRedeployments );
<a class="jxr_linenumber" name="250" href="#250">250</a>         repository.setReleases( releasesIncluded );
<a class="jxr_linenumber" name="251" href="#251">251</a>         repository.setSnapshots( snapshotsIncluded );
<a class="jxr_linenumber" name="252" href="#252">252</a>         repository.setScanned( scanned );
<a class="jxr_linenumber" name="253" href="#253">253</a>         repository.setName( name );
<a class="jxr_linenumber" name="254" href="#254">254</a>         repository.setLocation( getRepositoryCommonValidator().removeExpressions( location ) );
<a class="jxr_linenumber" name="255" href="#255">255</a>         repository.setLayout( layout );
<a class="jxr_linenumber" name="256" href="#256">256</a>         repository.setRefreshCronExpression( cronExpression );
<a class="jxr_linenumber" name="257" href="#257">257</a>         repository.setIndexDir( indexDir );
<a class="jxr_linenumber" name="258" href="#258">258</a>         repository.setDaysOlder( daysOlder );
<a class="jxr_linenumber" name="259" href="#259">259</a>         repository.setRetentionCount( retentionCount );
<a class="jxr_linenumber" name="260" href="#260">260</a>         repository.setDeleteReleasedSnapshots( deteleReleasedSnapshots );
<a class="jxr_linenumber" name="261" href="#261">261</a>         repository.setIndexDir( indexDir );
<a class="jxr_linenumber" name="262" href="#262">262</a>         repository.setDescription( description );
<a class="jxr_linenumber" name="263" href="#263">263</a>         repository.setSkipPackedIndexCreation( skipPackedIndexCreation );
<a class="jxr_linenumber" name="264" href="#264">264</a>         repository.setStageRepoNeeded( stageRepoNeeded );
<a class="jxr_linenumber" name="265" href="#265">265</a> 
<a class="jxr_linenumber" name="266" href="#266">266</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="267" href="#267">267</a>         {
<a class="jxr_linenumber" name="268" href="#268">268</a>             addRepository( repository, config );
<a class="jxr_linenumber" name="269" href="#269">269</a>             addRepositoryRoles( repository.getId() );
<a class="jxr_linenumber" name="270" href="#270">270</a> 
<a class="jxr_linenumber" name="271" href="#271">271</a>             <strong class="jxr_keyword">if</strong> ( stageRepoNeeded )
<a class="jxr_linenumber" name="272" href="#272">272</a>             {
<a class="jxr_linenumber" name="273" href="#273">273</a>                 <a href="../../../../../../org/apache/archiva/configuration/ManagedRepositoryConfiguration.html">ManagedRepositoryConfiguration</a> stagingRepository = getStageRepoConfig( repository );
<a class="jxr_linenumber" name="274" href="#274">274</a>                 addRepository( stagingRepository, config );
<a class="jxr_linenumber" name="275" href="#275">275</a>                 addRepositoryRoles( stagingRepository.getId() );
<a class="jxr_linenumber" name="276" href="#276">276</a>                 triggerAuditEvent( stagingRepository.getId(), <strong class="jxr_keyword">null</strong>, AuditEvent.ADD_MANAGED_REPO, auditInformation );
<a class="jxr_linenumber" name="277" href="#277">277</a>             }
<a class="jxr_linenumber" name="278" href="#278">278</a>         }
<a class="jxr_linenumber" name="279" href="#279">279</a>         <strong class="jxr_keyword">catch</strong> ( RoleManagerException e )
<a class="jxr_linenumber" name="280" href="#280">280</a>         {
<a class="jxr_linenumber" name="281" href="#281">281</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>( <span class="jxr_string">"failed to add repository roles "</span> + e.getMessage(), e );
<a class="jxr_linenumber" name="282" href="#282">282</a>         }
<a class="jxr_linenumber" name="283" href="#283">283</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="284" href="#284">284</a>         {
<a class="jxr_linenumber" name="285" href="#285">285</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>( <span class="jxr_string">"failed to add repository "</span> + e.getMessage(), e );
<a class="jxr_linenumber" name="286" href="#286">286</a>         }
<a class="jxr_linenumber" name="287" href="#287">287</a> 
<a class="jxr_linenumber" name="288" href="#288">288</a>         saveConfiguration( config );
<a class="jxr_linenumber" name="289" href="#289">289</a> 
<a class="jxr_linenumber" name="290" href="#290">290</a>         <em class="jxr_comment">//MRM-1342 Repository statistics report doesn't appear to be working correctly</em>
<a class="jxr_linenumber" name="291" href="#291">291</a>         <em class="jxr_comment">//scan repository when adding of repository is successful</em>
<a class="jxr_linenumber" name="292" href="#292">292</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="293" href="#293">293</a>         {
<a class="jxr_linenumber" name="294" href="#294">294</a>             <strong class="jxr_keyword">if</strong> ( scanned )
<a class="jxr_linenumber" name="295" href="#295">295</a>             {
<a class="jxr_linenumber" name="296" href="#296">296</a>                 scanRepository( repoId, <strong class="jxr_keyword">true</strong> );
<a class="jxr_linenumber" name="297" href="#297">297</a>             }
<a class="jxr_linenumber" name="298" href="#298">298</a> 
<a class="jxr_linenumber" name="299" href="#299">299</a>             <em class="jxr_comment">// TODO need a better to define scanning or not for staged repo</em>
<a class="jxr_linenumber" name="300" href="#300">300</a>             <strong class="jxr_keyword">if</strong> ( stageRepoNeeded &amp;&amp; scanned )
<a class="jxr_linenumber" name="301" href="#301">301</a>             {
<a class="jxr_linenumber" name="302" href="#302">302</a>                 <a href="../../../../../../org/apache/archiva/configuration/ManagedRepositoryConfiguration.html">ManagedRepositoryConfiguration</a> stagingRepository = getStageRepoConfig( repository );
<a class="jxr_linenumber" name="303" href="#303">303</a>                 scanRepository( stagingRepository.getId(), <strong class="jxr_keyword">true</strong> );
<a class="jxr_linenumber" name="304" href="#304">304</a>             }
<a class="jxr_linenumber" name="305" href="#305">305</a>         }
<a class="jxr_linenumber" name="306" href="#306">306</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
<a class="jxr_linenumber" name="307" href="#307">307</a>         {
<a class="jxr_linenumber" name="308" href="#308">308</a>             log.warn( <strong class="jxr_keyword">new</strong> StringBuilder( <span class="jxr_string">"Unable to scan repository ["</span> ).append( repoId ).append( <span class="jxr_string">"]: "</span> ).append(
<a class="jxr_linenumber" name="309" href="#309">309</a>                 e.getMessage() ).toString(), e );
<a class="jxr_linenumber" name="310" href="#310">310</a>         }
<a class="jxr_linenumber" name="311" href="#311">311</a> 
<a class="jxr_linenumber" name="312" href="#312">312</a>         <strong class="jxr_keyword">return</strong> repository;
<a class="jxr_linenumber" name="313" href="#313">313</a>     }
<a class="jxr_linenumber" name="314" href="#314">314</a> 
<a class="jxr_linenumber" name="315" href="#315">315</a>     <strong class="jxr_keyword">public</strong> Boolean deleteManagedRepository( String repositoryId, AuditInformation auditInformation,
<a class="jxr_linenumber" name="316" href="#316">316</a>                                             <strong class="jxr_keyword">boolean</strong> deleteContent )
<a class="jxr_linenumber" name="317" href="#317">317</a>         <strong class="jxr_keyword">throws</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>
<a class="jxr_linenumber" name="318" href="#318">318</a>     {
<a class="jxr_linenumber" name="319" href="#319">319</a>         <a href="../../../../../../org/apache/archiva/configuration/Configuration.html">Configuration</a> config = getArchivaConfiguration().getConfiguration();
<a class="jxr_linenumber" name="320" href="#320">320</a> 
<a class="jxr_linenumber" name="321" href="#321">321</a>         <a href="../../../../../../org/apache/archiva/configuration/ManagedRepositoryConfiguration.html">ManagedRepositoryConfiguration</a> repository = config.findManagedRepositoryById( repositoryId );
<a class="jxr_linenumber" name="322" href="#322">322</a> 
<a class="jxr_linenumber" name="323" href="#323">323</a>         <strong class="jxr_keyword">if</strong> ( repository == <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="324" href="#324">324</a>         {
<a class="jxr_linenumber" name="325" href="#325">325</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>( <span class="jxr_string">"A repository with that id does not exist"</span> );
<a class="jxr_linenumber" name="326" href="#326">326</a>         }
<a class="jxr_linenumber" name="327" href="#327">327</a> 
<a class="jxr_linenumber" name="328" href="#328">328</a>         triggerAuditEvent( repositoryId, <strong class="jxr_keyword">null</strong>, AuditEvent.DELETE_MANAGED_REPO, auditInformation );
<a class="jxr_linenumber" name="329" href="#329">329</a> 
<a class="jxr_linenumber" name="330" href="#330">330</a>         deleteManagedRepository( repository, deleteContent, config, false );
<a class="jxr_linenumber" name="331" href="#331">331</a> 
<a class="jxr_linenumber" name="332" href="#332">332</a>         <em class="jxr_comment">// stage repo exists ?</em>
<a class="jxr_linenumber" name="333" href="#333">333</a>         <a href="../../../../../../org/apache/archiva/configuration/ManagedRepositoryConfiguration.html">ManagedRepositoryConfiguration</a> stagingRepository =
<a class="jxr_linenumber" name="334" href="#334">334</a>             getArchivaConfiguration().getConfiguration().findManagedRepositoryById( repositoryId + STAGE_REPO_ID_END );
<a class="jxr_linenumber" name="335" href="#335">335</a>         <strong class="jxr_keyword">if</strong> ( stagingRepository != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="336" href="#336">336</a>         {
<a class="jxr_linenumber" name="337" href="#337">337</a>             <em class="jxr_comment">// do not trigger event when deleting the staged one</em>
<a class="jxr_linenumber" name="338" href="#338">338</a>             deleteManagedRepository( stagingRepository, deleteContent, config, <strong class="jxr_keyword">true</strong> );
<a class="jxr_linenumber" name="339" href="#339">339</a>         }
<a class="jxr_linenumber" name="340" href="#340">340</a> 
<a class="jxr_linenumber" name="341" href="#341">341</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="342" href="#342">342</a>         {
<a class="jxr_linenumber" name="343" href="#343">343</a>             saveConfiguration( config );
<a class="jxr_linenumber" name="344" href="#344">344</a>         }
<a class="jxr_linenumber" name="345" href="#345">345</a>         <strong class="jxr_keyword">catch</strong> ( Exception e )
<a class="jxr_linenumber" name="346" href="#346">346</a>         {
<a class="jxr_linenumber" name="347" href="#347">347</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>( <span class="jxr_string">"Error saving configuration for delete action"</span> + e.getMessage(), e );
<a class="jxr_linenumber" name="348" href="#348">348</a>         }
<a class="jxr_linenumber" name="349" href="#349">349</a> 
<a class="jxr_linenumber" name="350" href="#350">350</a>         <strong class="jxr_keyword">return</strong> Boolean.TRUE;
<a class="jxr_linenumber" name="351" href="#351">351</a>     }
<a class="jxr_linenumber" name="352" href="#352">352</a> 
<a class="jxr_linenumber" name="353" href="#353">353</a>     <strong class="jxr_keyword">private</strong> Boolean deleteManagedRepository( ManagedRepositoryConfiguration repository, <strong class="jxr_keyword">boolean</strong> deleteContent,
<a class="jxr_linenumber" name="354" href="#354">354</a>                                              <a href="../../../../../../org/apache/archiva/configuration/Configuration.html">Configuration</a> config, <strong class="jxr_keyword">boolean</strong> stagedOne )
<a class="jxr_linenumber" name="355" href="#355">355</a>         <strong class="jxr_keyword">throws</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>
<a class="jxr_linenumber" name="356" href="#356">356</a>     {
<a class="jxr_linenumber" name="357" href="#357">357</a> 
<a class="jxr_linenumber" name="358" href="#358">358</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="359" href="#359">359</a>         {
<a class="jxr_linenumber" name="360" href="#360">360</a>             NexusIndexer nexusIndexer = plexusSisuBridge.lookup( NexusIndexer.<strong class="jxr_keyword">class</strong> );
<a class="jxr_linenumber" name="361" href="#361">361</a> 
<a class="jxr_linenumber" name="362" href="#362">362</a>             IndexingContext context = nexusIndexer.getIndexingContexts().get( repository.getId() );
<a class="jxr_linenumber" name="363" href="#363">363</a>             <strong class="jxr_keyword">if</strong> ( context != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="364" href="#364">364</a>             {
<a class="jxr_linenumber" name="365" href="#365">365</a>                 <em class="jxr_comment">// delete content only if directory exists</em>
<a class="jxr_linenumber" name="366" href="#366">366</a>                 nexusIndexer.removeIndexingContext( context,
<a class="jxr_linenumber" name="367" href="#367">367</a>                                                     deleteContent &amp;&amp; context.getIndexDirectoryFile().exists() );
<a class="jxr_linenumber" name="368" href="#368">368</a>             }
<a class="jxr_linenumber" name="369" href="#369">369</a>         }
<a class="jxr_linenumber" name="370" href="#370">370</a>         <strong class="jxr_keyword">catch</strong> ( PlexusSisuBridgeException e )
<a class="jxr_linenumber" name="371" href="#371">371</a>         {
<a class="jxr_linenumber" name="372" href="#372">372</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>( e.getMessage(), e );
<a class="jxr_linenumber" name="373" href="#373">373</a>         }
<a class="jxr_linenumber" name="374" href="#374">374</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="375" href="#375">375</a>         {
<a class="jxr_linenumber" name="376" href="#376">376</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>( e.getMessage(), e );
<a class="jxr_linenumber" name="377" href="#377">377</a>         }
<a class="jxr_linenumber" name="378" href="#378">378</a>         <strong class="jxr_keyword">if</strong> ( !stagedOne )
<a class="jxr_linenumber" name="379" href="#379">379</a>         {
<a class="jxr_linenumber" name="380" href="#380">380</a>             <a href="../../../../../../org/apache/archiva/metadata/repository/RepositorySession.html">RepositorySession</a> repositorySession = getRepositorySessionFactory().createSession();
<a class="jxr_linenumber" name="381" href="#381">381</a>             <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="382" href="#382">382</a>             {
<a class="jxr_linenumber" name="383" href="#383">383</a>                 <a href="../../../../../../org/apache/archiva/metadata/repository/MetadataRepository.html">MetadataRepository</a> metadataRepository = repositorySession.getRepository();
<a class="jxr_linenumber" name="384" href="#384">384</a>                 metadataRepository.removeRepository( repository.getId() );
<a class="jxr_linenumber" name="385" href="#385">385</a>                 log.debug( <span class="jxr_string">"call repositoryStatisticsManager.deleteStatistics"</span> );
<a class="jxr_linenumber" name="386" href="#386">386</a>                 getRepositoryStatisticsManager().deleteStatistics( metadataRepository, repository.getId() );
<a class="jxr_linenumber" name="387" href="#387">387</a>                 repositorySession.save();
<a class="jxr_linenumber" name="388" href="#388">388</a>             }
<a class="jxr_linenumber" name="389" href="#389">389</a>             <strong class="jxr_keyword">catch</strong> ( MetadataRepositoryException e )
<a class="jxr_linenumber" name="390" href="#390">390</a>             {
<a class="jxr_linenumber" name="391" href="#391">391</a>                 <em class="jxr_comment">//throw new RepositoryAdminException( e.getMessage(), e );</em>
<a class="jxr_linenumber" name="392" href="#392">392</a>                 log.warn( <span class="jxr_string">"skip error during removing repository from MetadatRepository:"</span> + e.getMessage(), e );
<a class="jxr_linenumber" name="393" href="#393">393</a>             }
<a class="jxr_linenumber" name="394" href="#394">394</a>             <strong class="jxr_keyword">finally</strong>
<a class="jxr_linenumber" name="395" href="#395">395</a>             {
<a class="jxr_linenumber" name="396" href="#396">396</a>                 repositorySession.close();
<a class="jxr_linenumber" name="397" href="#397">397</a>             }
<a class="jxr_linenumber" name="398" href="#398">398</a>         }
<a class="jxr_linenumber" name="399" href="#399">399</a>         config.removeManagedRepository( repository );
<a class="jxr_linenumber" name="400" href="#400">400</a> 
<a class="jxr_linenumber" name="401" href="#401">401</a>         <strong class="jxr_keyword">if</strong> ( deleteContent )
<a class="jxr_linenumber" name="402" href="#402">402</a>         {
<a class="jxr_linenumber" name="403" href="#403">403</a>             <em class="jxr_comment">// TODO could be async ? as directory can be huge</em>
<a class="jxr_linenumber" name="404" href="#404">404</a>             File dir = <strong class="jxr_keyword">new</strong> File( repository.getLocation() );
<a class="jxr_linenumber" name="405" href="#405">405</a>             <strong class="jxr_keyword">if</strong> ( !FileUtils.deleteQuietly( dir ) )
<a class="jxr_linenumber" name="406" href="#406">406</a>             {
<a class="jxr_linenumber" name="407" href="#407">407</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>( <span class="jxr_string">"Cannot delete repository "</span> + dir );
<a class="jxr_linenumber" name="408" href="#408">408</a>             }
<a class="jxr_linenumber" name="409" href="#409">409</a>         }
<a class="jxr_linenumber" name="410" href="#410">410</a> 
<a class="jxr_linenumber" name="411" href="#411">411</a>         <em class="jxr_comment">// olamy: copy list for reading as a unit test in webapp fail with ConcurrentModificationException</em>
<a class="jxr_linenumber" name="412" href="#412">412</a>         List&lt;ProxyConnectorConfiguration&gt; proxyConnectors =
<a class="jxr_linenumber" name="413" href="#413">413</a>             <strong class="jxr_keyword">new</strong> ArrayList&lt;ProxyConnectorConfiguration&gt;( config.getProxyConnectors() );
<a class="jxr_linenumber" name="414" href="#414">414</a>         <strong class="jxr_keyword">for</strong> ( ProxyConnectorConfiguration proxyConnector : proxyConnectors )
<a class="jxr_linenumber" name="415" href="#415">415</a>         {
<a class="jxr_linenumber" name="416" href="#416">416</a>             <strong class="jxr_keyword">if</strong> ( StringUtils.equals( proxyConnector.getSourceRepoId(), repository.getId() ) )
<a class="jxr_linenumber" name="417" href="#417">417</a>             {
<a class="jxr_linenumber" name="418" href="#418">418</a>                 config.removeProxyConnector( proxyConnector );
<a class="jxr_linenumber" name="419" href="#419">419</a>             }
<a class="jxr_linenumber" name="420" href="#420">420</a>         }
<a class="jxr_linenumber" name="421" href="#421">421</a> 
<a class="jxr_linenumber" name="422" href="#422">422</a>         Map&lt;String, List&lt;String&gt;&gt; repoToGroupMap = config.getRepositoryToGroupMap();
<a class="jxr_linenumber" name="423" href="#423">423</a>         <strong class="jxr_keyword">if</strong> ( repoToGroupMap != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="424" href="#424">424</a>         {
<a class="jxr_linenumber" name="425" href="#425">425</a>             <strong class="jxr_keyword">if</strong> ( repoToGroupMap.containsKey( repository.getId() ) )
<a class="jxr_linenumber" name="426" href="#426">426</a>             {
<a class="jxr_linenumber" name="427" href="#427">427</a>                 List&lt;String&gt; repoGroups = repoToGroupMap.get( repository.getId() );
<a class="jxr_linenumber" name="428" href="#428">428</a>                 <strong class="jxr_keyword">for</strong> ( String repoGroup : repoGroups )
<a class="jxr_linenumber" name="429" href="#429">429</a>                 {
<a class="jxr_linenumber" name="430" href="#430">430</a>                     <em class="jxr_comment">// copy to prevent UnsupportedOperationException</em>
<a class="jxr_linenumber" name="431" href="#431">431</a>                     <a href="../../../../../../org/apache/archiva/configuration/RepositoryGroupConfiguration.html">RepositoryGroupConfiguration</a> repositoryGroupConfiguration =
<a class="jxr_linenumber" name="432" href="#432">432</a>                         config.findRepositoryGroupById( repoGroup );
<a class="jxr_linenumber" name="433" href="#433">433</a>                     List&lt;String&gt; repos = <strong class="jxr_keyword">new</strong> ArrayList&lt;String&gt;( repositoryGroupConfiguration.getRepositories() );
<a class="jxr_linenumber" name="434" href="#434">434</a>                     config.removeRepositoryGroup( repositoryGroupConfiguration );
<a class="jxr_linenumber" name="435" href="#435">435</a>                     repos.remove( repository.getId() );
<a class="jxr_linenumber" name="436" href="#436">436</a>                     repositoryGroupConfiguration.setRepositories( repos );
<a class="jxr_linenumber" name="437" href="#437">437</a>                     config.addRepositoryGroup( repositoryGroupConfiguration );
<a class="jxr_linenumber" name="438" href="#438">438</a>                 }
<a class="jxr_linenumber" name="439" href="#439">439</a>             }
<a class="jxr_linenumber" name="440" href="#440">440</a>         }
<a class="jxr_linenumber" name="441" href="#441">441</a> 
<a class="jxr_linenumber" name="442" href="#442">442</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="443" href="#443">443</a>         {
<a class="jxr_linenumber" name="444" href="#444">444</a>             removeRepositoryRoles( repository );
<a class="jxr_linenumber" name="445" href="#445">445</a>         }
<a class="jxr_linenumber" name="446" href="#446">446</a>         <strong class="jxr_keyword">catch</strong> ( RoleManagerException e )
<a class="jxr_linenumber" name="447" href="#447">447</a>         {
<a class="jxr_linenumber" name="448" href="#448">448</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>(
<a class="jxr_linenumber" name="449" href="#449">449</a>                 <span class="jxr_string">"fail to remove repository roles for repository "</span> + repository.getId() + <span class="jxr_string">" : "</span> + e.getMessage(), e );
<a class="jxr_linenumber" name="450" href="#450">450</a>         }
<a class="jxr_linenumber" name="451" href="#451">451</a> 
<a class="jxr_linenumber" name="452" href="#452">452</a>         saveConfiguration( config );
<a class="jxr_linenumber" name="453" href="#453">453</a> 
<a class="jxr_linenumber" name="454" href="#454">454</a>         <strong class="jxr_keyword">return</strong> Boolean.TRUE;
<a class="jxr_linenumber" name="455" href="#455">455</a>     }
<a class="jxr_linenumber" name="456" href="#456">456</a> 
<a class="jxr_linenumber" name="457" href="#457">457</a> 
<a class="jxr_linenumber" name="458" href="#458">458</a>     <strong class="jxr_keyword">public</strong> Boolean updateManagedRepository( ManagedRepository managedRepository, <strong class="jxr_keyword">boolean</strong> needStageRepo,
<a class="jxr_linenumber" name="459" href="#459">459</a>                                             <a href="../../../../../../org/apache/archiva/admin/model/AuditInformation.html">AuditInformation</a> auditInformation, <strong class="jxr_keyword">boolean</strong> resetStats )
<a class="jxr_linenumber" name="460" href="#460">460</a>         <strong class="jxr_keyword">throws</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>
<a class="jxr_linenumber" name="461" href="#461">461</a>     {
<a class="jxr_linenumber" name="462" href="#462">462</a> 
<a class="jxr_linenumber" name="463" href="#463">463</a>         log.debug( <span class="jxr_string">"updateManagedConfiguration repo {} needStage {} resetStats {} "</span>, managedRepository, needStageRepo,
<a class="jxr_linenumber" name="464" href="#464">464</a>                    resetStats );
<a class="jxr_linenumber" name="465" href="#465">465</a> 
<a class="jxr_linenumber" name="466" href="#466">466</a>         <em class="jxr_comment">// Ensure that the fields are valid.</em>
<a class="jxr_linenumber" name="467" href="#467">467</a> 
<a class="jxr_linenumber" name="468" href="#468">468</a>         getRepositoryCommonValidator().basicValidation( managedRepository, <strong class="jxr_keyword">true</strong> );
<a class="jxr_linenumber" name="469" href="#469">469</a> 
<a class="jxr_linenumber" name="470" href="#470">470</a>         getRepositoryCommonValidator().validateManagedRepository( managedRepository );
<a class="jxr_linenumber" name="471" href="#471">471</a> 
<a class="jxr_linenumber" name="472" href="#472">472</a>         <a href="../../../../../../org/apache/archiva/configuration/Configuration.html">Configuration</a> configuration = getArchivaConfiguration().getConfiguration();
<a class="jxr_linenumber" name="473" href="#473">473</a> 
<a class="jxr_linenumber" name="474" href="#474">474</a>         <a href="../../../../../../org/apache/archiva/configuration/ManagedRepositoryConfiguration.html">ManagedRepositoryConfiguration</a> toremove = configuration.findManagedRepositoryById( managedRepository.getId() );
<a class="jxr_linenumber" name="475" href="#475">475</a> 
<a class="jxr_linenumber" name="476" href="#476">476</a>         <strong class="jxr_keyword">boolean</strong> updateIndexContext = false;
<a class="jxr_linenumber" name="477" href="#477">477</a> 
<a class="jxr_linenumber" name="478" href="#478">478</a>         <strong class="jxr_keyword">if</strong> ( toremove != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="479" href="#479">479</a>         {
<a class="jxr_linenumber" name="480" href="#480">480</a>             configuration.removeManagedRepository( toremove );
<a class="jxr_linenumber" name="481" href="#481">481</a> 
<a class="jxr_linenumber" name="482" href="#482">482</a>             updateIndexContext = !StringUtils.equals( toremove.getIndexDir(), managedRepository.getIndexDirectory() );
<a class="jxr_linenumber" name="483" href="#483">483</a>         }
<a class="jxr_linenumber" name="484" href="#484">484</a> 
<a class="jxr_linenumber" name="485" href="#485">485</a>         <a href="../../../../../../org/apache/archiva/configuration/ManagedRepositoryConfiguration.html">ManagedRepositoryConfiguration</a> stagingRepository = getStageRepoConfig( toremove );
<a class="jxr_linenumber" name="486" href="#486">486</a> 
<a class="jxr_linenumber" name="487" href="#487">487</a>         <em class="jxr_comment">// TODO remove content from old if path has changed !!!!!</em>
<a class="jxr_linenumber" name="488" href="#488">488</a> 
<a class="jxr_linenumber" name="489" href="#489">489</a>         <strong class="jxr_keyword">if</strong> ( stagingRepository != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="490" href="#490">490</a>         {
<a class="jxr_linenumber" name="491" href="#491">491</a>             configuration.removeManagedRepository( stagingRepository );
<a class="jxr_linenumber" name="492" href="#492">492</a>         }
<a class="jxr_linenumber" name="493" href="#493">493</a> 
<a class="jxr_linenumber" name="494" href="#494">494</a>         <a href="../../../../../../org/apache/archiva/configuration/ManagedRepositoryConfiguration.html">ManagedRepositoryConfiguration</a> managedRepositoryConfiguration =
<a class="jxr_linenumber" name="495" href="#495">495</a>             addManagedRepository( managedRepository.getId(), managedRepository.getLayout(), managedRepository.getName(),
<a class="jxr_linenumber" name="496" href="#496">496</a>                                   managedRepository.getLocation(), managedRepository.isBlockRedeployments(),
<a class="jxr_linenumber" name="497" href="#497">497</a>                                   managedRepository.isReleases(), managedRepository.isSnapshots(), needStageRepo,
<a class="jxr_linenumber" name="498" href="#498">498</a>                                   managedRepository.getCronExpression(), managedRepository.getIndexDirectory(),
<a class="jxr_linenumber" name="499" href="#499">499</a>                                   managedRepository.getDaysOlder(), managedRepository.getRetentionCount(),
<a class="jxr_linenumber" name="500" href="#500">500</a>                                   managedRepository.isDeleteReleasedSnapshots(), managedRepository.getDescription(),
<a class="jxr_linenumber" name="501" href="#501">501</a>                                   managedRepository.isSkipPackedIndexCreation(), managedRepository.isScanned(),
<a class="jxr_linenumber" name="502" href="#502">502</a>                                   auditInformation, getArchivaConfiguration().getConfiguration() );
<a class="jxr_linenumber" name="503" href="#503">503</a> 
<a class="jxr_linenumber" name="504" href="#504">504</a>         <em class="jxr_comment">// Save the repository configuration.</em>
<a class="jxr_linenumber" name="505" href="#505">505</a>         <a href="../../../../../../org/apache/archiva/metadata/repository/RepositorySession.html">RepositorySession</a> repositorySession = getRepositorySessionFactory().createSession();
<a class="jxr_linenumber" name="506" href="#506">506</a> 
<a class="jxr_linenumber" name="507" href="#507">507</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="508" href="#508">508</a>         {
<a class="jxr_linenumber" name="509" href="#509">509</a>             triggerAuditEvent( managedRepositoryConfiguration.getId(), <strong class="jxr_keyword">null</strong>, AuditEvent.MODIFY_MANAGED_REPO,
<a class="jxr_linenumber" name="510" href="#510">510</a>                                auditInformation );
<a class="jxr_linenumber" name="511" href="#511">511</a> 
<a class="jxr_linenumber" name="512" href="#512">512</a>             saveConfiguration( <strong class="jxr_keyword">this</strong>.getArchivaConfiguration().getConfiguration() );
<a class="jxr_linenumber" name="513" href="#513">513</a>             <strong class="jxr_keyword">if</strong> ( resetStats )
<a class="jxr_linenumber" name="514" href="#514">514</a>             {
<a class="jxr_linenumber" name="515" href="#515">515</a>                 log.debug( <span class="jxr_string">"call repositoryStatisticsManager.deleteStatistics"</span> );
<a class="jxr_linenumber" name="516" href="#516">516</a>                 getRepositoryStatisticsManager().deleteStatistics( repositorySession.getRepository(),
<a class="jxr_linenumber" name="517" href="#517">517</a>                                                                    managedRepositoryConfiguration.getId() );
<a class="jxr_linenumber" name="518" href="#518">518</a>                 repositorySession.save();
<a class="jxr_linenumber" name="519" href="#519">519</a>             }
<a class="jxr_linenumber" name="520" href="#520">520</a> 
<a class="jxr_linenumber" name="521" href="#521">521</a>         }
<a class="jxr_linenumber" name="522" href="#522">522</a>         <strong class="jxr_keyword">catch</strong> ( MetadataRepositoryException e )
<a class="jxr_linenumber" name="523" href="#523">523</a>         {
<a class="jxr_linenumber" name="524" href="#524">524</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>( e.getMessage(), e );
<a class="jxr_linenumber" name="525" href="#525">525</a>         }
<a class="jxr_linenumber" name="526" href="#526">526</a>         <strong class="jxr_keyword">finally</strong>
<a class="jxr_linenumber" name="527" href="#527">527</a>         {
<a class="jxr_linenumber" name="528" href="#528">528</a>             repositorySession.close();
<a class="jxr_linenumber" name="529" href="#529">529</a>         }
<a class="jxr_linenumber" name="530" href="#530">530</a> 
<a class="jxr_linenumber" name="531" href="#531">531</a>         <strong class="jxr_keyword">if</strong> ( updateIndexContext )
<a class="jxr_linenumber" name="532" href="#532">532</a>         {
<a class="jxr_linenumber" name="533" href="#533">533</a>             <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="534" href="#534">534</a>             {
<a class="jxr_linenumber" name="535" href="#535">535</a>                 IndexingContext indexingContext = indexer.getIndexingContexts().get( managedRepository.getId() );
<a class="jxr_linenumber" name="536" href="#536">536</a>                 <strong class="jxr_keyword">if</strong> ( indexingContext != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="537" href="#537">537</a>                 {
<a class="jxr_linenumber" name="538" href="#538">538</a>                     indexer.removeIndexingContext( indexingContext, <strong class="jxr_keyword">true</strong> );
<a class="jxr_linenumber" name="539" href="#539">539</a>                 }
<a class="jxr_linenumber" name="540" href="#540">540</a> 
<a class="jxr_linenumber" name="541" href="#541">541</a>                 <em class="jxr_comment">// delete directory too as only content is deleted</em>
<a class="jxr_linenumber" name="542" href="#542">542</a>                 File indexDirectory = indexingContext.getIndexDirectoryFile();
<a class="jxr_linenumber" name="543" href="#543">543</a>                 FileUtils.deleteDirectory( indexDirectory );
<a class="jxr_linenumber" name="544" href="#544">544</a> 
<a class="jxr_linenumber" name="545" href="#545">545</a>                 createIndexContext( managedRepository );
<a class="jxr_linenumber" name="546" href="#546">546</a>             }
<a class="jxr_linenumber" name="547" href="#547">547</a>             <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="548" href="#548">548</a>             {
<a class="jxr_linenumber" name="549" href="#549">549</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>( e.getMessage(), e );
<a class="jxr_linenumber" name="550" href="#550">550</a>             }
<a class="jxr_linenumber" name="551" href="#551">551</a>         }
<a class="jxr_linenumber" name="552" href="#552">552</a> 
<a class="jxr_linenumber" name="553" href="#553">553</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="554" href="#554">554</a>     }
<a class="jxr_linenumber" name="555" href="#555">555</a> 
<a class="jxr_linenumber" name="556" href="#556">556</a>     <em class="jxr_comment">//--------------------------</em>
<a class="jxr_linenumber" name="557" href="#557">557</a>     <em class="jxr_comment">// utils methods</em>
<a class="jxr_linenumber" name="558" href="#558">558</a>     <em class="jxr_comment">//--------------------------</em>
<a class="jxr_linenumber" name="559" href="#559">559</a> 
<a class="jxr_linenumber" name="560" href="#560">560</a> 
<a class="jxr_linenumber" name="561" href="#561">561</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> addRepository( ManagedRepositoryConfiguration repository, Configuration configuration )
<a class="jxr_linenumber" name="562" href="#562">562</a>         <strong class="jxr_keyword">throws</strong> RepositoryAdminException, IOException
<a class="jxr_linenumber" name="563" href="#563">563</a>     {
<a class="jxr_linenumber" name="564" href="#564">564</a>         <em class="jxr_comment">// Normalize the path</em>
<a class="jxr_linenumber" name="565" href="#565">565</a>         File file = <strong class="jxr_keyword">new</strong> File( repository.getLocation() );
<a class="jxr_linenumber" name="566" href="#566">566</a>         <strong class="jxr_keyword">if</strong> ( !file.isAbsolute() )
<a class="jxr_linenumber" name="567" href="#567">567</a>         {
<a class="jxr_linenumber" name="568" href="#568">568</a>             <em class="jxr_comment">// add appserver.base/repositories</em>
<a class="jxr_linenumber" name="569" href="#569">569</a>             file = <strong class="jxr_keyword">new</strong> File( getRegistry().getString( <span class="jxr_string">"appserver.base"</span> ) + File.separatorChar + <span class="jxr_string">"repositories"</span>,
<a class="jxr_linenumber" name="570" href="#570">570</a>                              repository.getLocation() );
<a class="jxr_linenumber" name="571" href="#571">571</a>         }
<a class="jxr_linenumber" name="572" href="#572">572</a>         repository.setLocation( file.getCanonicalPath() );
<a class="jxr_linenumber" name="573" href="#573">573</a>         <strong class="jxr_keyword">if</strong> ( !file.exists() )
<a class="jxr_linenumber" name="574" href="#574">574</a>         {
<a class="jxr_linenumber" name="575" href="#575">575</a>             file.mkdirs();
<a class="jxr_linenumber" name="576" href="#576">576</a>         }
<a class="jxr_linenumber" name="577" href="#577">577</a>         <strong class="jxr_keyword">if</strong> ( !file.exists() || !file.isDirectory() )
<a class="jxr_linenumber" name="578" href="#578">578</a>         {
<a class="jxr_linenumber" name="579" href="#579">579</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>(
<a class="jxr_linenumber" name="580" href="#580">580</a>                 <span class="jxr_string">"Unable to add repository - no write access, can not create the root directory: "</span> + file );
<a class="jxr_linenumber" name="581" href="#581">581</a>         }
<a class="jxr_linenumber" name="582" href="#582">582</a> 
<a class="jxr_linenumber" name="583" href="#583">583</a>         configuration.addManagedRepository( repository );
<a class="jxr_linenumber" name="584" href="#584">584</a> 
<a class="jxr_linenumber" name="585" href="#585">585</a>     }
<a class="jxr_linenumber" name="586" href="#586">586</a> 
<a class="jxr_linenumber" name="587" href="#587">587</a>     <strong class="jxr_keyword">public</strong> IndexingContext createIndexContext( ManagedRepository repository )
<a class="jxr_linenumber" name="588" href="#588">588</a>         <strong class="jxr_keyword">throws</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>
<a class="jxr_linenumber" name="589" href="#589">589</a>     {
<a class="jxr_linenumber" name="590" href="#590">590</a> 
<a class="jxr_linenumber" name="591" href="#591">591</a>         IndexingContext context = indexer.getIndexingContexts().get( repository.getId() );
<a class="jxr_linenumber" name="592" href="#592">592</a> 
<a class="jxr_linenumber" name="593" href="#593">593</a>         <strong class="jxr_keyword">if</strong> ( context != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="594" href="#594">594</a>         {
<a class="jxr_linenumber" name="595" href="#595">595</a>             log.debug( <span class="jxr_string">"skip creating repository indexingContent with id {} as already exists"</span>, repository.getId() );
<a class="jxr_linenumber" name="596" href="#596">596</a>             <strong class="jxr_keyword">return</strong> context;
<a class="jxr_linenumber" name="597" href="#597">597</a>         }
<a class="jxr_linenumber" name="598" href="#598">598</a> 
<a class="jxr_linenumber" name="599" href="#599">599</a>         <em class="jxr_comment">// take care first about repository location as can be relative</em>
<a class="jxr_linenumber" name="600" href="#600">600</a>         File repositoryDirectory = <strong class="jxr_keyword">new</strong> File( repository.getLocation() );
<a class="jxr_linenumber" name="601" href="#601">601</a> 
<a class="jxr_linenumber" name="602" href="#602">602</a>         <strong class="jxr_keyword">if</strong> ( !repositoryDirectory.isAbsolute() )
<a class="jxr_linenumber" name="603" href="#603">603</a>         {
<a class="jxr_linenumber" name="604" href="#604">604</a>             repositoryDirectory =
<a class="jxr_linenumber" name="605" href="#605">605</a>                 <strong class="jxr_keyword">new</strong> File( getRegistry().getString( <span class="jxr_string">"appserver.base"</span> ) + File.separatorChar + <span class="jxr_string">"repositories"</span>,
<a class="jxr_linenumber" name="606" href="#606">606</a>                           repository.getLocation() );
<a class="jxr_linenumber" name="607" href="#607">607</a>         }
<a class="jxr_linenumber" name="608" href="#608">608</a> 
<a class="jxr_linenumber" name="609" href="#609">609</a>         <strong class="jxr_keyword">if</strong> ( !repositoryDirectory.exists() )
<a class="jxr_linenumber" name="610" href="#610">610</a>         {
<a class="jxr_linenumber" name="611" href="#611">611</a>             repositoryDirectory.mkdirs();
<a class="jxr_linenumber" name="612" href="#612">612</a>         }
<a class="jxr_linenumber" name="613" href="#613">613</a> 
<a class="jxr_linenumber" name="614" href="#614">614</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="615" href="#615">615</a>         {
<a class="jxr_linenumber" name="616" href="#616">616</a> 
<a class="jxr_linenumber" name="617" href="#617">617</a>             String indexDir = repository.getIndexDirectory();
<a class="jxr_linenumber" name="618" href="#618">618</a>             <em class="jxr_comment">//File managedRepository = new File( repository.getLocation() );</em>
<a class="jxr_linenumber" name="619" href="#619">619</a> 
<a class="jxr_linenumber" name="620" href="#620">620</a>             File indexDirectory = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="621" href="#621">621</a>             <strong class="jxr_keyword">if</strong> ( StringUtils.isNotBlank( indexDir ) )
<a class="jxr_linenumber" name="622" href="#622">622</a>             {
<a class="jxr_linenumber" name="623" href="#623">623</a>                 indexDirectory = <strong class="jxr_keyword">new</strong> File( repository.getIndexDirectory() );
<a class="jxr_linenumber" name="624" href="#624">624</a>                 <em class="jxr_comment">// not absolute so create it in repository directory</em>
<a class="jxr_linenumber" name="625" href="#625">625</a>                 <strong class="jxr_keyword">if</strong> ( !indexDirectory.isAbsolute() )
<a class="jxr_linenumber" name="626" href="#626">626</a>                 {
<a class="jxr_linenumber" name="627" href="#627">627</a>                     indexDirectory = <strong class="jxr_keyword">new</strong> File( repositoryDirectory, repository.getIndexDirectory() );
<a class="jxr_linenumber" name="628" href="#628">628</a>                 }
<a class="jxr_linenumber" name="629" href="#629">629</a>                 repository.setIndexDirectory( indexDirectory.getAbsolutePath() );
<a class="jxr_linenumber" name="630" href="#630">630</a>             }
<a class="jxr_linenumber" name="631" href="#631">631</a>             <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="632" href="#632">632</a>             {
<a class="jxr_linenumber" name="633" href="#633">633</a>                 indexDirectory = <strong class="jxr_keyword">new</strong> File( repositoryDirectory, <span class="jxr_string">".indexer"</span> );
<a class="jxr_linenumber" name="634" href="#634">634</a>                 <strong class="jxr_keyword">if</strong> ( !repositoryDirectory.isAbsolute() )
<a class="jxr_linenumber" name="635" href="#635">635</a>                 {
<a class="jxr_linenumber" name="636" href="#636">636</a>                     indexDirectory = <strong class="jxr_keyword">new</strong> File( repositoryDirectory, <span class="jxr_string">".indexer"</span> );
<a class="jxr_linenumber" name="637" href="#637">637</a>                 }
<a class="jxr_linenumber" name="638" href="#638">638</a>                 repository.setIndexDirectory( indexDirectory.getAbsolutePath() );
<a class="jxr_linenumber" name="639" href="#639">639</a>             }
<a class="jxr_linenumber" name="640" href="#640">640</a> 
<a class="jxr_linenumber" name="641" href="#641">641</a>             <strong class="jxr_keyword">if</strong> ( !indexDirectory.exists() )
<a class="jxr_linenumber" name="642" href="#642">642</a>             {
<a class="jxr_linenumber" name="643" href="#643">643</a>                 indexDirectory.mkdirs();
<a class="jxr_linenumber" name="644" href="#644">644</a>             }
<a class="jxr_linenumber" name="645" href="#645">645</a> 
<a class="jxr_linenumber" name="646" href="#646">646</a>             context = indexer.getIndexingContexts().get( repository.getId() );
<a class="jxr_linenumber" name="647" href="#647">647</a> 
<a class="jxr_linenumber" name="648" href="#648">648</a>             <strong class="jxr_keyword">if</strong> ( context == <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="649" href="#649">649</a>             {
<a class="jxr_linenumber" name="650" href="#650">650</a>                 context = indexer.addIndexingContext( repository.getId(), repository.getId(), repositoryDirectory,
<a class="jxr_linenumber" name="651" href="#651">651</a>                                                       indexDirectory,
<a class="jxr_linenumber" name="652" href="#652">652</a>                                                       repositoryDirectory.toURI().toURL().toExternalForm(),
<a class="jxr_linenumber" name="653" href="#653">653</a>                                                       indexDirectory.toURI().toURL().toString(), indexCreators );
<a class="jxr_linenumber" name="654" href="#654">654</a> 
<a class="jxr_linenumber" name="655" href="#655">655</a>                 context.setSearchable( repository.isScanned() );
<a class="jxr_linenumber" name="656" href="#656">656</a>             }
<a class="jxr_linenumber" name="657" href="#657">657</a>             <strong class="jxr_keyword">return</strong> context;
<a class="jxr_linenumber" name="658" href="#658">658</a>         }
<a class="jxr_linenumber" name="659" href="#659">659</a>         <strong class="jxr_keyword">catch</strong> ( MalformedURLException e )
<a class="jxr_linenumber" name="660" href="#660">660</a>         {
<a class="jxr_linenumber" name="661" href="#661">661</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>( e.getMessage(), e );
<a class="jxr_linenumber" name="662" href="#662">662</a>         }
<a class="jxr_linenumber" name="663" href="#663">663</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="664" href="#664">664</a>         {
<a class="jxr_linenumber" name="665" href="#665">665</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>( e.getMessage(), e );
<a class="jxr_linenumber" name="666" href="#666">666</a>         }
<a class="jxr_linenumber" name="667" href="#667">667</a>         <strong class="jxr_keyword">catch</strong> ( UnsupportedExistingLuceneIndexException e )
<a class="jxr_linenumber" name="668" href="#668">668</a>         {
<a class="jxr_linenumber" name="669" href="#669">669</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/archiva/admin/model/RepositoryAdminException.html">RepositoryAdminException</a>( e.getMessage(), e );
<a class="jxr_linenumber" name="670" href="#670">670</a>         }
<a class="jxr_linenumber" name="671" href="#671">671</a>     }
<a class="jxr_linenumber" name="672" href="#672">672</a> 
<a class="jxr_linenumber" name="673" href="#673">673</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/archiva/configuration/ManagedRepositoryConfiguration.html">ManagedRepositoryConfiguration</a> getStageRepoConfig( ManagedRepositoryConfiguration repository )
<a class="jxr_linenumber" name="674" href="#674">674</a>     {
<a class="jxr_linenumber" name="675" href="#675">675</a>         <a href="../../../../../../org/apache/archiva/configuration/ManagedRepositoryConfiguration.html">ManagedRepositoryConfiguration</a> stagingRepository = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/archiva/configuration/ManagedRepositoryConfiguration.html">ManagedRepositoryConfiguration</a>();
<a class="jxr_linenumber" name="676" href="#676">676</a>         stagingRepository.setId( repository.getId() + STAGE_REPO_ID_END );
<a class="jxr_linenumber" name="677" href="#677">677</a>         stagingRepository.setLayout( repository.getLayout() );
<a class="jxr_linenumber" name="678" href="#678">678</a>         stagingRepository.setName( repository.getName() + STAGE_REPO_ID_END );
<a class="jxr_linenumber" name="679" href="#679">679</a>         stagingRepository.setBlockRedeployments( repository.isBlockRedeployments() );
<a class="jxr_linenumber" name="680" href="#680">680</a>         stagingRepository.setDaysOlder( repository.getDaysOlder() );
<a class="jxr_linenumber" name="681" href="#681">681</a>         stagingRepository.setDeleteReleasedSnapshots( repository.isDeleteReleasedSnapshots() );
<a class="jxr_linenumber" name="682" href="#682">682</a> 
<a class="jxr_linenumber" name="683" href="#683">683</a>         String path = repository.getLocation();
<a class="jxr_linenumber" name="684" href="#684">684</a>         <strong class="jxr_keyword">int</strong> lastIndex = path.replace( '&#92;&#92;', '/' ).lastIndexOf( '/' );
<a class="jxr_linenumber" name="685" href="#685">685</a>         stagingRepository.setLocation( path.substring( 0, lastIndex ) + <span class="jxr_string">"/"</span> + stagingRepository.getId() );
<a class="jxr_linenumber" name="686" href="#686">686</a> 
<a class="jxr_linenumber" name="687" href="#687">687</a>         <strong class="jxr_keyword">if</strong> ( StringUtils.isNotBlank( repository.getIndexDir() ) )
<a class="jxr_linenumber" name="688" href="#688">688</a>         {
<a class="jxr_linenumber" name="689" href="#689">689</a>             File indexDir = <strong class="jxr_keyword">new</strong> File( repository.getIndexDir() );
<a class="jxr_linenumber" name="690" href="#690">690</a>             <em class="jxr_comment">// in case of absolute dir do not use the same</em>
<a class="jxr_linenumber" name="691" href="#691">691</a>             <strong class="jxr_keyword">if</strong> ( indexDir.isAbsolute() )
<a class="jxr_linenumber" name="692" href="#692">692</a>             {
<a class="jxr_linenumber" name="693" href="#693">693</a>                 stagingRepository.setIndexDir( stagingRepository.getLocation() + <span class="jxr_string">"/.index"</span> );
<a class="jxr_linenumber" name="694" href="#694">694</a>             }
<a class="jxr_linenumber" name="695" href="#695">695</a>             <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="696" href="#696">696</a>             {
<a class="jxr_linenumber" name="697" href="#697">697</a>                 stagingRepository.setIndexDir( repository.getIndexDir() );
<a class="jxr_linenumber" name="698" href="#698">698</a>             }
<a class="jxr_linenumber" name="699" href="#699">699</a>         }
<a class="jxr_linenumber" name="700" href="#700">700</a>         stagingRepository.setRefreshCronExpression( repository.getRefreshCronExpression() );
<a class="jxr_linenumber" name="701" href="#701">701</a>         stagingRepository.setReleases( repository.isReleases() );
<a class="jxr_linenumber" name="702" href="#702">702</a>         stagingRepository.setRetentionCount( repository.getRetentionCount() );
<a class="jxr_linenumber" name="703" href="#703">703</a>         stagingRepository.setScanned( repository.isScanned() );
<a class="jxr_linenumber" name="704" href="#704">704</a>         stagingRepository.setSnapshots( repository.isSnapshots() );
<a class="jxr_linenumber" name="705" href="#705">705</a>         stagingRepository.setSkipPackedIndexCreation( repository.isSkipPackedIndexCreation() );
<a class="jxr_linenumber" name="706" href="#706">706</a>         <em class="jxr_comment">// do not duplicate description</em>
<a class="jxr_linenumber" name="707" href="#707">707</a>         <em class="jxr_comment">//stagingRepository.getDescription("")</em>
<a class="jxr_linenumber" name="708" href="#708">708</a>         <strong class="jxr_keyword">return</strong> stagingRepository;
<a class="jxr_linenumber" name="709" href="#709">709</a>     }
<a class="jxr_linenumber" name="710" href="#710">710</a> 
<a class="jxr_linenumber" name="711" href="#711">711</a>     <strong class="jxr_keyword">public</strong> Boolean scanRepository( String repositoryId, <strong class="jxr_keyword">boolean</strong> fullScan )
<a class="jxr_linenumber" name="712" href="#712">712</a>     {
<a class="jxr_linenumber" name="713" href="#713">713</a>         <strong class="jxr_keyword">if</strong> ( getRepositoryTaskScheduler().isProcessingRepositoryTask( repositoryId ) )
<a class="jxr_linenumber" name="714" href="#714">714</a>         {
<a class="jxr_linenumber" name="715" href="#715">715</a>             log.info( <span class="jxr_string">"scanning of repository with id {} already scheduled"</span>, repositoryId );
<a class="jxr_linenumber" name="716" href="#716">716</a>         }
<a class="jxr_linenumber" name="717" href="#717">717</a>         <a href="../../../../../../org/apache/archiva/scheduler/repository/model/RepositoryTask.html">RepositoryTask</a> task = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/archiva/scheduler/repository/model/RepositoryTask.html">RepositoryTask</a>();
<a class="jxr_linenumber" name="718" href="#718">718</a>         task.setRepositoryId( repositoryId );
<a class="jxr_linenumber" name="719" href="#719">719</a>         task.setScanAll( fullScan );
<a class="jxr_linenumber" name="720" href="#720">720</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="721" href="#721">721</a>         {
<a class="jxr_linenumber" name="722" href="#722">722</a>             getRepositoryTaskScheduler().queueTask( task );
<a class="jxr_linenumber" name="723" href="#723">723</a>         }
<a class="jxr_linenumber" name="724" href="#724">724</a>         <strong class="jxr_keyword">catch</strong> ( TaskQueueException e )
<a class="jxr_linenumber" name="725" href="#725">725</a>         {
<a class="jxr_linenumber" name="726" href="#726">726</a>             log.error( <span class="jxr_string">"failed to schedule scanning of repo with id {}"</span>, repositoryId, e );
<a class="jxr_linenumber" name="727" href="#727">727</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="728" href="#728">728</a>         }
<a class="jxr_linenumber" name="729" href="#729">729</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="730" href="#730">730</a>     }
<a class="jxr_linenumber" name="731" href="#731">731</a> 
<a class="jxr_linenumber" name="732" href="#732">732</a> 
<a class="jxr_linenumber" name="733" href="#733">733</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> addRepositoryRoles( ManagedRepository newRepository )
<a class="jxr_linenumber" name="734" href="#734">734</a>         <strong class="jxr_keyword">throws</strong> RoleManagerException
<a class="jxr_linenumber" name="735" href="#735">735</a>     {
<a class="jxr_linenumber" name="736" href="#736">736</a>         String repoId = newRepository.getId();
<a class="jxr_linenumber" name="737" href="#737">737</a> 
<a class="jxr_linenumber" name="738" href="#738">738</a>         <em class="jxr_comment">// TODO: double check these are configured on start up</em>
<a class="jxr_linenumber" name="739" href="#739">739</a>         <em class="jxr_comment">// TODO: belongs in the business logic</em>
<a class="jxr_linenumber" name="740" href="#740">740</a> 
<a class="jxr_linenumber" name="741" href="#741">741</a>         <strong class="jxr_keyword">if</strong> ( !getRoleManager().templatedRoleExists( ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER, repoId ) )
<a class="jxr_linenumber" name="742" href="#742">742</a>         {
<a class="jxr_linenumber" name="743" href="#743">743</a>             getRoleManager().createTemplatedRole( ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER, repoId );
<a class="jxr_linenumber" name="744" href="#744">744</a>         }
<a class="jxr_linenumber" name="745" href="#745">745</a> 
<a class="jxr_linenumber" name="746" href="#746">746</a>         <strong class="jxr_keyword">if</strong> ( !getRoleManager().templatedRoleExists( ArchivaRoleConstants.TEMPLATE_REPOSITORY_MANAGER, repoId ) )
<a class="jxr_linenumber" name="747" href="#747">747</a>         {
<a class="jxr_linenumber" name="748" href="#748">748</a>             getRoleManager().createTemplatedRole( ArchivaRoleConstants.TEMPLATE_REPOSITORY_MANAGER, repoId );
<a class="jxr_linenumber" name="749" href="#749">749</a>         }
<a class="jxr_linenumber" name="750" href="#750">750</a>     }
<a class="jxr_linenumber" name="751" href="#751">751</a> 
<a class="jxr_linenumber" name="752" href="#752">752</a> 
<a class="jxr_linenumber" name="753" href="#753">753</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> addRepositoryRoles( String repoId )
<a class="jxr_linenumber" name="754" href="#754">754</a>         <strong class="jxr_keyword">throws</strong> RoleManagerException
<a class="jxr_linenumber" name="755" href="#755">755</a>     {
<a class="jxr_linenumber" name="756" href="#756">756</a>         <em class="jxr_comment">// TODO: double check these are configured on start up</em>
<a class="jxr_linenumber" name="757" href="#757">757</a>         <em class="jxr_comment">// TODO: belongs in the business logic</em>
<a class="jxr_linenumber" name="758" href="#758">758</a> 
<a class="jxr_linenumber" name="759" href="#759">759</a>         <strong class="jxr_keyword">if</strong> ( !getRoleManager().templatedRoleExists( ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER, repoId ) )
<a class="jxr_linenumber" name="760" href="#760">760</a>         {
<a class="jxr_linenumber" name="761" href="#761">761</a>             getRoleManager().createTemplatedRole( ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER, repoId );
<a class="jxr_linenumber" name="762" href="#762">762</a>         }
<a class="jxr_linenumber" name="763" href="#763">763</a> 
<a class="jxr_linenumber" name="764" href="#764">764</a>         <strong class="jxr_keyword">if</strong> ( !getRoleManager().templatedRoleExists( ArchivaRoleConstants.TEMPLATE_REPOSITORY_MANAGER, repoId ) )
<a class="jxr_linenumber" name="765" href="#765">765</a>         {
<a class="jxr_linenumber" name="766" href="#766">766</a>             getRoleManager().createTemplatedRole( ArchivaRoleConstants.TEMPLATE_REPOSITORY_MANAGER, repoId );
<a class="jxr_linenumber" name="767" href="#767">767</a>         }
<a class="jxr_linenumber" name="768" href="#768">768</a>     }
<a class="jxr_linenumber" name="769" href="#769">769</a> 
<a class="jxr_linenumber" name="770" href="#770">770</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> removeRepositoryRoles( ManagedRepositoryConfiguration existingRepository )
<a class="jxr_linenumber" name="771" href="#771">771</a>         <strong class="jxr_keyword">throws</strong> RoleManagerException
<a class="jxr_linenumber" name="772" href="#772">772</a>     {
<a class="jxr_linenumber" name="773" href="#773">773</a>         String repoId = existingRepository.getId();
<a class="jxr_linenumber" name="774" href="#774">774</a> 
<a class="jxr_linenumber" name="775" href="#775">775</a>         <strong class="jxr_keyword">if</strong> ( getRoleManager().templatedRoleExists( ArchivaRoleConstants.TEMPLATE_REPOSITORY_MANAGER, repoId ) )
<a class="jxr_linenumber" name="776" href="#776">776</a>         {
<a class="jxr_linenumber" name="777" href="#777">777</a>             getRoleManager().removeTemplatedRole( ArchivaRoleConstants.TEMPLATE_REPOSITORY_MANAGER, repoId );
<a class="jxr_linenumber" name="778" href="#778">778</a>         }
<a class="jxr_linenumber" name="779" href="#779">779</a> 
<a class="jxr_linenumber" name="780" href="#780">780</a>         <strong class="jxr_keyword">if</strong> ( getRoleManager().templatedRoleExists( ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER, repoId ) )
<a class="jxr_linenumber" name="781" href="#781">781</a>         {
<a class="jxr_linenumber" name="782" href="#782">782</a>             getRoleManager().removeTemplatedRole( ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER, repoId );
<a class="jxr_linenumber" name="783" href="#783">783</a>         }
<a class="jxr_linenumber" name="784" href="#784">784</a> 
<a class="jxr_linenumber" name="785" href="#785">785</a>         log.debug( <span class="jxr_string">"removed user roles associated with repository {}"</span>, repoId );
<a class="jxr_linenumber" name="786" href="#786">786</a>     }
<a class="jxr_linenumber" name="787" href="#787">787</a> 
<a class="jxr_linenumber" name="788" href="#788">788</a>     <em class="jxr_comment">//--------------------------</em>
<a class="jxr_linenumber" name="789" href="#789">789</a>     <em class="jxr_comment">// setters/getters</em>
<a class="jxr_linenumber" name="790" href="#790">790</a>     <em class="jxr_comment">//--------------------------</em>
<a class="jxr_linenumber" name="791" href="#791">791</a> 
<a class="jxr_linenumber" name="792" href="#792">792</a> 
<a class="jxr_linenumber" name="793" href="#793">793</a>     <strong class="jxr_keyword">public</strong> RoleManager getRoleManager()
<a class="jxr_linenumber" name="794" href="#794">794</a>     {
<a class="jxr_linenumber" name="795" href="#795">795</a>         <strong class="jxr_keyword">return</strong> roleManager;
<a class="jxr_linenumber" name="796" href="#796">796</a>     }
<a class="jxr_linenumber" name="797" href="#797">797</a> 
<a class="jxr_linenumber" name="798" href="#798">798</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setRoleManager( RoleManager roleManager )
<a class="jxr_linenumber" name="799" href="#799">799</a>     {
<a class="jxr_linenumber" name="800" href="#800">800</a>         <strong class="jxr_keyword">this</strong>.roleManager = roleManager;
<a class="jxr_linenumber" name="801" href="#801">801</a>     }
<a class="jxr_linenumber" name="802" href="#802">802</a> 
<a class="jxr_linenumber" name="803" href="#803">803</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/archiva/metadata/repository/stats/RepositoryStatisticsManager.html">RepositoryStatisticsManager</a> getRepositoryStatisticsManager()
<a class="jxr_linenumber" name="804" href="#804">804</a>     {
<a class="jxr_linenumber" name="805" href="#805">805</a>         <strong class="jxr_keyword">return</strong> repositoryStatisticsManager;
<a class="jxr_linenumber" name="806" href="#806">806</a>     }
<a class="jxr_linenumber" name="807" href="#807">807</a> 
<a class="jxr_linenumber" name="808" href="#808">808</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setRepositoryStatisticsManager( RepositoryStatisticsManager repositoryStatisticsManager )
<a class="jxr_linenumber" name="809" href="#809">809</a>     {
<a class="jxr_linenumber" name="810" href="#810">810</a>         <strong class="jxr_keyword">this</strong>.repositoryStatisticsManager = repositoryStatisticsManager;
<a class="jxr_linenumber" name="811" href="#811">811</a>     }
<a class="jxr_linenumber" name="812" href="#812">812</a> 
<a class="jxr_linenumber" name="813" href="#813">813</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/archiva/metadata/repository/RepositorySessionFactory.html">RepositorySessionFactory</a> getRepositorySessionFactory()
<a class="jxr_linenumber" name="814" href="#814">814</a>     {
<a class="jxr_linenumber" name="815" href="#815">815</a>         <strong class="jxr_keyword">return</strong> repositorySessionFactory;
<a class="jxr_linenumber" name="816" href="#816">816</a>     }
<a class="jxr_linenumber" name="817" href="#817">817</a> 
<a class="jxr_linenumber" name="818" href="#818">818</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setRepositorySessionFactory( RepositorySessionFactory repositorySessionFactory )
<a class="jxr_linenumber" name="819" href="#819">819</a>     {
<a class="jxr_linenumber" name="820" href="#820">820</a>         <strong class="jxr_keyword">this</strong>.repositorySessionFactory = repositorySessionFactory;
<a class="jxr_linenumber" name="821" href="#821">821</a>     }
<a class="jxr_linenumber" name="822" href="#822">822</a> 
<a class="jxr_linenumber" name="823" href="#823">823</a> 
<a class="jxr_linenumber" name="824" href="#824">824</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/archiva/scheduler/repository/model/RepositoryArchivaTaskScheduler.html">RepositoryArchivaTaskScheduler</a> getRepositoryTaskScheduler()
<a class="jxr_linenumber" name="825" href="#825">825</a>     {
<a class="jxr_linenumber" name="826" href="#826">826</a>         <strong class="jxr_keyword">return</strong> repositoryTaskScheduler;
<a class="jxr_linenumber" name="827" href="#827">827</a>     }
<a class="jxr_linenumber" name="828" href="#828">828</a> 
<a class="jxr_linenumber" name="829" href="#829">829</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setRepositoryTaskScheduler( RepositoryArchivaTaskScheduler repositoryTaskScheduler )
<a class="jxr_linenumber" name="830" href="#830">830</a>     {
<a class="jxr_linenumber" name="831" href="#831">831</a>         <strong class="jxr_keyword">this</strong>.repositoryTaskScheduler = repositoryTaskScheduler;
<a class="jxr_linenumber" name="832" href="#832">832</a>     }
<a class="jxr_linenumber" name="833" href="#833">833</a> 
<a class="jxr_linenumber" name="834" href="#834">834</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/archiva/common/plexusbridge/PlexusSisuBridge.html">PlexusSisuBridge</a> getPlexusSisuBridge()
<a class="jxr_linenumber" name="835" href="#835">835</a>     {
<a class="jxr_linenumber" name="836" href="#836">836</a>         <strong class="jxr_keyword">return</strong> plexusSisuBridge;
<a class="jxr_linenumber" name="837" href="#837">837</a>     }
<a class="jxr_linenumber" name="838" href="#838">838</a> 
<a class="jxr_linenumber" name="839" href="#839">839</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setPlexusSisuBridge( PlexusSisuBridge plexusSisuBridge )
<a class="jxr_linenumber" name="840" href="#840">840</a>     {
<a class="jxr_linenumber" name="841" href="#841">841</a>         <strong class="jxr_keyword">this</strong>.plexusSisuBridge = plexusSisuBridge;
<a class="jxr_linenumber" name="842" href="#842">842</a>     }
<a class="jxr_linenumber" name="843" href="#843">843</a> 
<a class="jxr_linenumber" name="844" href="#844">844</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/archiva/common/plexusbridge/MavenIndexerUtils.html">MavenIndexerUtils</a> getMavenIndexerUtils()
<a class="jxr_linenumber" name="845" href="#845">845</a>     {
<a class="jxr_linenumber" name="846" href="#846">846</a>         <strong class="jxr_keyword">return</strong> mavenIndexerUtils;
<a class="jxr_linenumber" name="847" href="#847">847</a>     }
<a class="jxr_linenumber" name="848" href="#848">848</a> 
<a class="jxr_linenumber" name="849" href="#849">849</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setMavenIndexerUtils( MavenIndexerUtils mavenIndexerUtils )
<a class="jxr_linenumber" name="850" href="#850">850</a>     {
<a class="jxr_linenumber" name="851" href="#851">851</a>         <strong class="jxr_keyword">this</strong>.mavenIndexerUtils = mavenIndexerUtils;
<a class="jxr_linenumber" name="852" href="#852">852</a>     }
<a class="jxr_linenumber" name="853" href="#853">853</a> 
<a class="jxr_linenumber" name="854" href="#854">854</a>     <strong class="jxr_keyword">public</strong> NexusIndexer getIndexer()
<a class="jxr_linenumber" name="855" href="#855">855</a>     {
<a class="jxr_linenumber" name="856" href="#856">856</a>         <strong class="jxr_keyword">return</strong> indexer;
<a class="jxr_linenumber" name="857" href="#857">857</a>     }
<a class="jxr_linenumber" name="858" href="#858">858</a> 
<a class="jxr_linenumber" name="859" href="#859">859</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setIndexer( NexusIndexer indexer )
<a class="jxr_linenumber" name="860" href="#860">860</a>     {
<a class="jxr_linenumber" name="861" href="#861">861</a>         <strong class="jxr_keyword">this</strong>.indexer = indexer;
<a class="jxr_linenumber" name="862" href="#862">862</a>     }
<a class="jxr_linenumber" name="863" href="#863">863</a> 
<a class="jxr_linenumber" name="864" href="#864">864</a>     <strong class="jxr_keyword">public</strong> List&lt;? <strong class="jxr_keyword">extends</strong> IndexCreator&gt; getIndexCreators()
<a class="jxr_linenumber" name="865" href="#865">865</a>     {
<a class="jxr_linenumber" name="866" href="#866">866</a>         <strong class="jxr_keyword">return</strong> indexCreators;
<a class="jxr_linenumber" name="867" href="#867">867</a>     }
<a class="jxr_linenumber" name="868" href="#868">868</a> 
<a class="jxr_linenumber" name="869" href="#869">869</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setIndexCreators( List&lt;? <strong class="jxr_keyword">extends</strong> IndexCreator&gt; indexCreators )
<a class="jxr_linenumber" name="870" href="#870">870</a>     {
<a class="jxr_linenumber" name="871" href="#871">871</a>         <strong class="jxr_keyword">this</strong>.indexCreators = indexCreators;
<a class="jxr_linenumber" name="872" href="#872">872</a>     }
<a class="jxr_linenumber" name="873" href="#873">873</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>
