<!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>FileMetadataRepository xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../../apidocs/org/apache/archiva/metadata/repository/file/FileMetadataRepository.html">View Javadoc</a></div><pre>
<a class="jxr_linenumber" name="L1" href="#L1">1</a>   <strong class="jxr_keyword">package</strong> org.apache.archiva.metadata.repository.file;
<a class="jxr_linenumber" name="L2" href="#L2">2</a>   
<a class="jxr_linenumber" name="L3" href="#L3">3</a>   <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="L4" href="#L4">4</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one</em>
<a class="jxr_linenumber" name="L5" href="#L5">5</a>   <em class="jxr_comment"> * or more contributor license agreements.  See the NOTICE file</em>
<a class="jxr_linenumber" name="L6" href="#L6">6</a>   <em class="jxr_comment"> * distributed with this work for additional information</em>
<a class="jxr_linenumber" name="L7" href="#L7">7</a>   <em class="jxr_comment"> * regarding copyright ownership.  The ASF licenses this file</em>
<a class="jxr_linenumber" name="L8" href="#L8">8</a>   <em class="jxr_comment"> * to you under the Apache License, Version 2.0 (the</em>
<a class="jxr_linenumber" name="L9" href="#L9">9</a>   <em class="jxr_comment"> * "License"); you may not use this file except in compliance</em>
<a class="jxr_linenumber" name="L10" href="#L10">10</a>  <em class="jxr_comment"> * with the License.  You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="L11" href="#L11">11</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L12" href="#L12">12</a>  <em class="jxr_comment"> *   <a href="http://www.apache.org/licenses/LICENSE-2." target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.</a>0</em>
<a class="jxr_linenumber" name="L13" href="#L13">13</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L14" href="#L14">14</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing,</em>
<a class="jxr_linenumber" name="L15" href="#L15">15</a>  <em class="jxr_comment"> * software distributed under the License is distributed on an</em>
<a class="jxr_linenumber" name="L16" href="#L16">16</a>  <em class="jxr_comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a class="jxr_linenumber" name="L17" href="#L17">17</a>  <em class="jxr_comment"> * KIND, either express or implied.  See the License for the</em>
<a class="jxr_linenumber" name="L18" href="#L18">18</a>  <em class="jxr_comment"> * specific language governing permissions and limitations</em>
<a class="jxr_linenumber" name="L19" href="#L19">19</a>  <em class="jxr_comment"> * under the License.</em>
<a class="jxr_linenumber" name="L20" href="#L20">20</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="L21" href="#L21">21</a>  
<a class="jxr_linenumber" name="L22" href="#L22">22</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.configuration.ArchivaConfiguration;
<a class="jxr_linenumber" name="L23" href="#L23">23</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.configuration.ManagedRepositoryConfiguration;
<a class="jxr_linenumber" name="L24" href="#L24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.metadata.model.ArtifactMetadata;
<a class="jxr_linenumber" name="L25" href="#L25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.metadata.model.CiManagement;
<a class="jxr_linenumber" name="L26" href="#L26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.metadata.model.Dependency;
<a class="jxr_linenumber" name="L27" href="#L27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.metadata.model.IssueManagement;
<a class="jxr_linenumber" name="L28" href="#L28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.metadata.model.License;
<a class="jxr_linenumber" name="L29" href="#L29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.metadata.model.MailingList;
<a class="jxr_linenumber" name="L30" href="#L30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.metadata.model.MetadataFacet;
<a class="jxr_linenumber" name="L31" href="#L31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.metadata.model.MetadataFacetFactory;
<a class="jxr_linenumber" name="L32" href="#L32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.metadata.model.Organization;
<a class="jxr_linenumber" name="L33" href="#L33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.metadata.model.ProjectMetadata;
<a class="jxr_linenumber" name="L34" href="#L34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.metadata.model.ProjectVersionMetadata;
<a class="jxr_linenumber" name="L35" href="#L35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.metadata.model.ProjectVersionReference;
<a class="jxr_linenumber" name="L36" href="#L36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.metadata.model.Scm;
<a class="jxr_linenumber" name="L37" href="#L37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.metadata.repository.MetadataRepository;
<a class="jxr_linenumber" name="L38" href="#L38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.metadata.repository.MetadataRepositoryException;
<a class="jxr_linenumber" name="L39" href="#L39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.metadata.repository.MetadataResolutionException;
<a class="jxr_linenumber" name="L40" href="#L40">40</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.io.FileUtils;
<a class="jxr_linenumber" name="L41" href="#L41">41</a>  <strong class="jxr_keyword">import</strong> org.slf4j.Logger;
<a class="jxr_linenumber" name="L42" href="#L42">42</a>  <strong class="jxr_keyword">import</strong> org.slf4j.LoggerFactory;
<a class="jxr_linenumber" name="L43" href="#L43">43</a>  
<a class="jxr_linenumber" name="L44" href="#L44">44</a>  <strong class="jxr_keyword">import</strong> java.io.File;
<a class="jxr_linenumber" name="L45" href="#L45">45</a>  <strong class="jxr_keyword">import</strong> java.io.FileNotFoundException;
<a class="jxr_linenumber" name="L46" href="#L46">46</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
<a class="jxr_linenumber" name="L47" href="#L47">47</a>  <strong class="jxr_keyword">import</strong> java.io.InputStream;
<a class="jxr_linenumber" name="L48" href="#L48">48</a>  <strong class="jxr_keyword">import</strong> java.io.OutputStream;
<a class="jxr_linenumber" name="L49" href="#L49">49</a>  <strong class="jxr_keyword">import</strong> java.nio.file.Files;
<a class="jxr_linenumber" name="L50" href="#L50">50</a>  <strong class="jxr_keyword">import</strong> java.nio.file.NoSuchFileException;
<a class="jxr_linenumber" name="L51" href="#L51">51</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a class="jxr_linenumber" name="L52" href="#L52">52</a>  <strong class="jxr_keyword">import</strong> java.util.Arrays;
<a class="jxr_linenumber" name="L53" href="#L53">53</a>  <strong class="jxr_keyword">import</strong> java.util.Collection;
<a class="jxr_linenumber" name="L54" href="#L54">54</a>  <strong class="jxr_keyword">import</strong> java.util.Collections;
<a class="jxr_linenumber" name="L55" href="#L55">55</a>  <strong class="jxr_keyword">import</strong> java.util.Comparator;
<a class="jxr_linenumber" name="L56" href="#L56">56</a>  <strong class="jxr_keyword">import</strong> java.util.Date;
<a class="jxr_linenumber" name="L57" href="#L57">57</a>  <strong class="jxr_keyword">import</strong> java.util.HashMap;
<a class="jxr_linenumber" name="L58" href="#L58">58</a>  <strong class="jxr_keyword">import</strong> java.util.HashSet;
<a class="jxr_linenumber" name="L59" href="#L59">59</a>  <strong class="jxr_keyword">import</strong> java.util.LinkedHashSet;
<a class="jxr_linenumber" name="L60" href="#L60">60</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<a class="jxr_linenumber" name="L61" href="#L61">61</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a class="jxr_linenumber" name="L62" href="#L62">62</a>  <strong class="jxr_keyword">import</strong> java.util.Properties;
<a class="jxr_linenumber" name="L63" href="#L63">63</a>  <strong class="jxr_keyword">import</strong> java.util.Set;
<a class="jxr_linenumber" name="L64" href="#L64">64</a>  <strong class="jxr_keyword">import</strong> java.util.StringTokenizer;
<a class="jxr_linenumber" name="L65" href="#L65">65</a>  
<a class="jxr_linenumber" name="L66" href="#L66">66</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/archiva/metadata/repository/file/FileMetadataRepository.html">FileMetadataRepository</a>
<a class="jxr_linenumber" name="L67" href="#L67">67</a>      <strong class="jxr_keyword">implements</strong> MetadataRepository
<a class="jxr_linenumber" name="L68" href="#L68">68</a>  {
<a class="jxr_linenumber" name="L69" href="#L69">69</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Map&lt;String, MetadataFacetFactory&gt; metadataFacetFactories;
<a class="jxr_linenumber" name="L70" href="#L70">70</a>  
<a class="jxr_linenumber" name="L71" href="#L71">71</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> ArchivaConfiguration configuration;
<a class="jxr_linenumber" name="L72" href="#L72">72</a>  
<a class="jxr_linenumber" name="L73" href="#L73">73</a>      <strong class="jxr_keyword">private</strong> Logger log = LoggerFactory.getLogger( FileMetadataRepository.<strong class="jxr_keyword">class</strong> );
<a class="jxr_linenumber" name="L74" href="#L74">74</a>  
<a class="jxr_linenumber" name="L75" href="#L75">75</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String PROJECT_METADATA_KEY = <span class="jxr_string">"project-metadata"</span>;
<a class="jxr_linenumber" name="L76" href="#L76">76</a>  
<a class="jxr_linenumber" name="L77" href="#L77">77</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String PROJECT_VERSION_METADATA_KEY = <span class="jxr_string">"version-metadata"</span>;
<a class="jxr_linenumber" name="L78" href="#L78">78</a>  
<a class="jxr_linenumber" name="L79" href="#L79">79</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String NAMESPACE_METADATA_KEY = <span class="jxr_string">"namespace-metadata"</span>;
<a class="jxr_linenumber" name="L80" href="#L80">80</a>  
<a class="jxr_linenumber" name="L81" href="#L81">81</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String METADATA_KEY = <span class="jxr_string">"metadata"</span>;
<a class="jxr_linenumber" name="L82" href="#L82">82</a>  
<a class="jxr_linenumber" name="L83" href="#L83">83</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/archiva/metadata/repository/file/FileMetadataRepository.html">FileMetadataRepository</a>( Map&lt;String, MetadataFacetFactory&gt; metadataFacetFactories,
<a class="jxr_linenumber" name="L84" href="#L84">84</a>                                     ArchivaConfiguration configuration )
<a class="jxr_linenumber" name="L85" href="#L85">85</a>      {
<a class="jxr_linenumber" name="L86" href="#L86">86</a>          <strong class="jxr_keyword">this</strong>.metadataFacetFactories = metadataFacetFactories;
<a class="jxr_linenumber" name="L87" href="#L87">87</a>          <strong class="jxr_keyword">this</strong>.configuration = configuration;
<a class="jxr_linenumber" name="L88" href="#L88">88</a>      }
<a class="jxr_linenumber" name="L89" href="#L89">89</a>  
<a class="jxr_linenumber" name="L90" href="#L90">90</a>      <strong class="jxr_keyword">private</strong> File getBaseDirectory( String repoId )
<a class="jxr_linenumber" name="L91" href="#L91">91</a>          <strong class="jxr_keyword">throws</strong> IOException
<a class="jxr_linenumber" name="L92" href="#L92">92</a>      {
<a class="jxr_linenumber" name="L93" href="#L93">93</a>          <em class="jxr_comment">// TODO: should be configurable, like the index</em>
<a class="jxr_linenumber" name="L94" href="#L94">94</a>          ManagedRepositoryConfiguration managedRepositoryConfiguration =
<a class="jxr_linenumber" name="L95" href="#L95">95</a>              configuration.getConfiguration().getManagedRepositoriesAsMap().get( repoId );
<a class="jxr_linenumber" name="L96" href="#L96">96</a>          <strong class="jxr_keyword">if</strong> ( managedRepositoryConfiguration == <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L97" href="#L97">97</a>          {
<a class="jxr_linenumber" name="L98" href="#L98">98</a>              <strong class="jxr_keyword">return</strong> Files.createTempDirectory( repoId ).toFile();
<a class="jxr_linenumber" name="L99" href="#L99">99</a>          }
<a class="jxr_linenumber" name="L100" href="#L100">100</a>         String basedir = managedRepositoryConfiguration.getLocation();
<a class="jxr_linenumber" name="L101" href="#L101">101</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> File( basedir, <span class="jxr_string">".archiva"</span> );
<a class="jxr_linenumber" name="L102" href="#L102">102</a>     }
<a class="jxr_linenumber" name="L103" href="#L103">103</a> 
<a class="jxr_linenumber" name="L104" href="#L104">104</a>     <strong class="jxr_keyword">private</strong> File getDirectory( String repoId )
<a class="jxr_linenumber" name="L105" href="#L105">105</a>         <strong class="jxr_keyword">throws</strong> IOException
<a class="jxr_linenumber" name="L106" href="#L106">106</a>     {
<a class="jxr_linenumber" name="L107" href="#L107">107</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> File( getBaseDirectory( repoId ), <span class="jxr_string">"content"</span> );
<a class="jxr_linenumber" name="L108" href="#L108">108</a>     }
<a class="jxr_linenumber" name="L109" href="#L109">109</a> 
<a class="jxr_linenumber" name="L110" href="#L110">110</a>     @Override
<a class="jxr_linenumber" name="L111" href="#L111">111</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> updateProject( String repoId, ProjectMetadata project )
<a class="jxr_linenumber" name="L112" href="#L112">112</a>     {
<a class="jxr_linenumber" name="L113" href="#L113">113</a>         updateProject( repoId, project.getNamespace(), project.getId() );
<a class="jxr_linenumber" name="L114" href="#L114">114</a>     }
<a class="jxr_linenumber" name="L115" href="#L115">115</a> 
<a class="jxr_linenumber" name="L116" href="#L116">116</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> updateProject( String repoId, String namespace, String id )
<a class="jxr_linenumber" name="L117" href="#L117">117</a>     {
<a class="jxr_linenumber" name="L118" href="#L118">118</a>         <em class="jxr_comment">// TODO: this is a more braindead implementation than we would normally expect, for prototyping purposes</em>
<a class="jxr_linenumber" name="L119" href="#L119">119</a>         updateNamespace( repoId, namespace );
<a class="jxr_linenumber" name="L120" href="#L120">120</a> 
<a class="jxr_linenumber" name="L121" href="#L121">121</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L122" href="#L122">122</a>         {
<a class="jxr_linenumber" name="L123" href="#L123">123</a>             File namespaceDirectory = <strong class="jxr_keyword">new</strong> File( getDirectory( repoId ), namespace );
<a class="jxr_linenumber" name="L124" href="#L124">124</a>             Properties properties = <strong class="jxr_keyword">new</strong> Properties();
<a class="jxr_linenumber" name="L125" href="#L125">125</a>             properties.setProperty( <span class="jxr_string">"namespace"</span>, namespace );
<a class="jxr_linenumber" name="L126" href="#L126">126</a>             properties.setProperty( <span class="jxr_string">"id"</span>, id );
<a class="jxr_linenumber" name="L127" href="#L127">127</a>             writeProperties( properties, <strong class="jxr_keyword">new</strong> File( namespaceDirectory, id ), PROJECT_METADATA_KEY );
<a class="jxr_linenumber" name="L128" href="#L128">128</a>         }
<a class="jxr_linenumber" name="L129" href="#L129">129</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L130" href="#L130">130</a>         {
<a class="jxr_linenumber" name="L131" href="#L131">131</a>             <em class="jxr_comment">// TODO!</em>
<a class="jxr_linenumber" name="L132" href="#L132">132</a>             log.error( e.getMessage(), e );
<a class="jxr_linenumber" name="L133" href="#L133">133</a>         }
<a class="jxr_linenumber" name="L134" href="#L134">134</a>     }
<a class="jxr_linenumber" name="L135" href="#L135">135</a> 
<a class="jxr_linenumber" name="L136" href="#L136">136</a>     @Override
<a class="jxr_linenumber" name="L137" href="#L137">137</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> updateProjectVersion( String repoId, String namespace, String projectId,
<a class="jxr_linenumber" name="L138" href="#L138">138</a>                                       ProjectVersionMetadata versionMetadata )
<a class="jxr_linenumber" name="L139" href="#L139">139</a>     {
<a class="jxr_linenumber" name="L140" href="#L140">140</a> 
<a class="jxr_linenumber" name="L141" href="#L141">141</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L142" href="#L142">142</a>         {
<a class="jxr_linenumber" name="L143" href="#L143">143</a>             updateProject( repoId, namespace, projectId );
<a class="jxr_linenumber" name="L144" href="#L144">144</a> 
<a class="jxr_linenumber" name="L145" href="#L145">145</a>             File directory =
<a class="jxr_linenumber" name="L146" href="#L146">146</a>                 <strong class="jxr_keyword">new</strong> File( getDirectory( repoId ), namespace + <span class="jxr_string">"/"</span> + projectId + <span class="jxr_string">"/"</span> + versionMetadata.getId() );
<a class="jxr_linenumber" name="L147" href="#L147">147</a> 
<a class="jxr_linenumber" name="L148" href="#L148">148</a>             Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
<a class="jxr_linenumber" name="L149" href="#L149">149</a>             <em class="jxr_comment">// remove properties that are not references or artifacts</em>
<a class="jxr_linenumber" name="L150" href="#L150">150</a>             <strong class="jxr_keyword">for</strong> ( Object key : <strong class="jxr_keyword">new</strong> ArrayList( properties.keySet() ) )
<a class="jxr_linenumber" name="L151" href="#L151">151</a>             {
<a class="jxr_linenumber" name="L152" href="#L152">152</a>                 String name = (String) key;
<a class="jxr_linenumber" name="L153" href="#L153">153</a>                 <strong class="jxr_keyword">if</strong> ( !name.contains( <span class="jxr_string">":"</span> ) &amp;&amp; !name.equals( <span class="jxr_string">"facetIds"</span> ) )
<a class="jxr_linenumber" name="L154" href="#L154">154</a>                 {
<a class="jxr_linenumber" name="L155" href="#L155">155</a>                     properties.remove( name );
<a class="jxr_linenumber" name="L156" href="#L156">156</a>                 }
<a class="jxr_linenumber" name="L157" href="#L157">157</a> 
<a class="jxr_linenumber" name="L158" href="#L158">158</a>                 <em class="jxr_comment">// clear the facet contents so old properties are no longer written</em>
<a class="jxr_linenumber" name="L159" href="#L159">159</a>                 clearMetadataFacetProperties( versionMetadata.getFacetList(), properties, <span class="jxr_string">""</span> );
<a class="jxr_linenumber" name="L160" href="#L160">160</a>             }
<a class="jxr_linenumber" name="L161" href="#L161">161</a>             properties.setProperty( <span class="jxr_string">"id"</span>, versionMetadata.getId() );
<a class="jxr_linenumber" name="L162" href="#L162">162</a>             setProperty( properties, <span class="jxr_string">"name"</span>, versionMetadata.getName() );
<a class="jxr_linenumber" name="L163" href="#L163">163</a>             setProperty( properties, <span class="jxr_string">"description"</span>, versionMetadata.getDescription() );
<a class="jxr_linenumber" name="L164" href="#L164">164</a>             setProperty( properties, <span class="jxr_string">"url"</span>, versionMetadata.getUrl() );
<a class="jxr_linenumber" name="L165" href="#L165">165</a>             setProperty( properties, <span class="jxr_string">"incomplete"</span>, String.valueOf( versionMetadata.isIncomplete() ) );
<a class="jxr_linenumber" name="L166" href="#L166">166</a>             <strong class="jxr_keyword">if</strong> ( versionMetadata.getScm() != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L167" href="#L167">167</a>             {
<a class="jxr_linenumber" name="L168" href="#L168">168</a>                 setProperty( properties, <span class="jxr_string">"scm.connection"</span>, versionMetadata.getScm().getConnection() );
<a class="jxr_linenumber" name="L169" href="#L169">169</a>                 setProperty( properties, <span class="jxr_string">"scm.developerConnection"</span>, versionMetadata.getScm().getDeveloperConnection() );
<a class="jxr_linenumber" name="L170" href="#L170">170</a>                 setProperty( properties, <span class="jxr_string">"scm.url"</span>, versionMetadata.getScm().getUrl() );
<a class="jxr_linenumber" name="L171" href="#L171">171</a>             }
<a class="jxr_linenumber" name="L172" href="#L172">172</a>             <strong class="jxr_keyword">if</strong> ( versionMetadata.getCiManagement() != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L173" href="#L173">173</a>             {
<a class="jxr_linenumber" name="L174" href="#L174">174</a>                 setProperty( properties, <span class="jxr_string">"ci.system"</span>, versionMetadata.getCiManagement().getSystem() );
<a class="jxr_linenumber" name="L175" href="#L175">175</a>                 setProperty( properties, <span class="jxr_string">"ci.url"</span>, versionMetadata.getCiManagement().getUrl() );
<a class="jxr_linenumber" name="L176" href="#L176">176</a>             }
<a class="jxr_linenumber" name="L177" href="#L177">177</a>             <strong class="jxr_keyword">if</strong> ( versionMetadata.getIssueManagement() != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L178" href="#L178">178</a>             {
<a class="jxr_linenumber" name="L179" href="#L179">179</a>                 setProperty( properties, <span class="jxr_string">"issue.system"</span>, versionMetadata.getIssueManagement().getSystem() );
<a class="jxr_linenumber" name="L180" href="#L180">180</a>                 setProperty( properties, <span class="jxr_string">"issue.url"</span>, versionMetadata.getIssueManagement().getUrl() );
<a class="jxr_linenumber" name="L181" href="#L181">181</a>             }
<a class="jxr_linenumber" name="L182" href="#L182">182</a>             <strong class="jxr_keyword">if</strong> ( versionMetadata.getOrganization() != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L183" href="#L183">183</a>             {
<a class="jxr_linenumber" name="L184" href="#L184">184</a>                 setProperty( properties, <span class="jxr_string">"org.name"</span>, versionMetadata.getOrganization().getName() );
<a class="jxr_linenumber" name="L185" href="#L185">185</a>                 setProperty( properties, <span class="jxr_string">"org.url"</span>, versionMetadata.getOrganization().getUrl() );
<a class="jxr_linenumber" name="L186" href="#L186">186</a>             }
<a class="jxr_linenumber" name="L187" href="#L187">187</a>             <strong class="jxr_keyword">int</strong> i = 0;
<a class="jxr_linenumber" name="L188" href="#L188">188</a>             <strong class="jxr_keyword">for</strong> ( License license : versionMetadata.getLicenses() )
<a class="jxr_linenumber" name="L189" href="#L189">189</a>             {
<a class="jxr_linenumber" name="L190" href="#L190">190</a>                 setProperty( properties, <span class="jxr_string">"license."</span> + i + <span class="jxr_string">".name"</span>, license.getName() );
<a class="jxr_linenumber" name="L191" href="#L191">191</a>                 setProperty( properties, <span class="jxr_string">"license."</span> + i + <span class="jxr_string">".url"</span>, license.getUrl() );
<a class="jxr_linenumber" name="L192" href="#L192">192</a>                 i++;
<a class="jxr_linenumber" name="L193" href="#L193">193</a>             }
<a class="jxr_linenumber" name="L194" href="#L194">194</a>             i = 0;
<a class="jxr_linenumber" name="L195" href="#L195">195</a>             <strong class="jxr_keyword">for</strong> ( MailingList mailingList : versionMetadata.getMailingLists() )
<a class="jxr_linenumber" name="L196" href="#L196">196</a>             {
<a class="jxr_linenumber" name="L197" href="#L197">197</a>                 setProperty( properties, <span class="jxr_string">"mailingList."</span> + i + <span class="jxr_string">".archive"</span>, mailingList.getMainArchiveUrl() );
<a class="jxr_linenumber" name="L198" href="#L198">198</a>                 setProperty( properties, <span class="jxr_string">"mailingList."</span> + i + <span class="jxr_string">".name"</span>, mailingList.getName() );
<a class="jxr_linenumber" name="L199" href="#L199">199</a>                 setProperty( properties, <span class="jxr_string">"mailingList."</span> + i + <span class="jxr_string">".post"</span>, mailingList.getPostAddress() );
<a class="jxr_linenumber" name="L200" href="#L200">200</a>                 setProperty( properties, <span class="jxr_string">"mailingList."</span> + i + <span class="jxr_string">".unsubscribe"</span>, mailingList.getUnsubscribeAddress() );
<a class="jxr_linenumber" name="L201" href="#L201">201</a>                 setProperty( properties, <span class="jxr_string">"mailingList."</span> + i + <span class="jxr_string">".subscribe"</span>, mailingList.getSubscribeAddress() );
<a class="jxr_linenumber" name="L202" href="#L202">202</a>                 setProperty( properties, <span class="jxr_string">"mailingList."</span> + i + <span class="jxr_string">".otherArchives"</span>,
<a class="jxr_linenumber" name="L203" href="#L203">203</a>                              join( mailingList.getOtherArchives() ) );
<a class="jxr_linenumber" name="L204" href="#L204">204</a>                 i++;
<a class="jxr_linenumber" name="L205" href="#L205">205</a>             }
<a class="jxr_linenumber" name="L206" href="#L206">206</a>             i = 0;
<a class="jxr_linenumber" name="L207" href="#L207">207</a>             ProjectVersionReference reference = <strong class="jxr_keyword">new</strong> ProjectVersionReference();
<a class="jxr_linenumber" name="L208" href="#L208">208</a>             reference.setNamespace( namespace );
<a class="jxr_linenumber" name="L209" href="#L209">209</a>             reference.setProjectId( projectId );
<a class="jxr_linenumber" name="L210" href="#L210">210</a>             reference.setProjectVersion( versionMetadata.getId() );
<a class="jxr_linenumber" name="L211" href="#L211">211</a>             reference.setReferenceType( ProjectVersionReference.ReferenceType.DEPENDENCY );
<a class="jxr_linenumber" name="L212" href="#L212">212</a>             <strong class="jxr_keyword">for</strong> ( Dependency dependency : versionMetadata.getDependencies() )
<a class="jxr_linenumber" name="L213" href="#L213">213</a>             {
<a class="jxr_linenumber" name="L214" href="#L214">214</a>                 setProperty( properties, <span class="jxr_string">"dependency."</span> + i + <span class="jxr_string">".classifier"</span>, dependency.getClassifier() );
<a class="jxr_linenumber" name="L215" href="#L215">215</a>                 setProperty( properties, <span class="jxr_string">"dependency."</span> + i + <span class="jxr_string">".scope"</span>, dependency.getScope() );
<a class="jxr_linenumber" name="L216" href="#L216">216</a>                 setProperty( properties, <span class="jxr_string">"dependency."</span> + i + <span class="jxr_string">".systemPath"</span>, dependency.getSystemPath() );
<a class="jxr_linenumber" name="L217" href="#L217">217</a>                 setProperty( properties, <span class="jxr_string">"dependency."</span> + i + <span class="jxr_string">".artifactId"</span>, dependency.getArtifactId() );
<a class="jxr_linenumber" name="L218" href="#L218">218</a>                 setProperty( properties, <span class="jxr_string">"dependency."</span> + i + <span class="jxr_string">".groupId"</span>, dependency.getGroupId() );
<a class="jxr_linenumber" name="L219" href="#L219">219</a>                 setProperty( properties, <span class="jxr_string">"dependency."</span> + i + <span class="jxr_string">".version"</span>, dependency.getVersion() );
<a class="jxr_linenumber" name="L220" href="#L220">220</a>                 setProperty( properties, <span class="jxr_string">"dependency."</span> + i + <span class="jxr_string">".type"</span>, dependency.getType() );
<a class="jxr_linenumber" name="L221" href="#L221">221</a>                 setProperty( properties, <span class="jxr_string">"dependency."</span> + i + <span class="jxr_string">".optional"</span>, String.valueOf( dependency.isOptional() ) );
<a class="jxr_linenumber" name="L222" href="#L222">222</a> 
<a class="jxr_linenumber" name="L223" href="#L223">223</a>                 updateProjectReference( repoId, dependency.getGroupId(), dependency.getArtifactId(),
<a class="jxr_linenumber" name="L224" href="#L224">224</a>                                         dependency.getVersion(), reference );
<a class="jxr_linenumber" name="L225" href="#L225">225</a> 
<a class="jxr_linenumber" name="L226" href="#L226">226</a>                 i++;
<a class="jxr_linenumber" name="L227" href="#L227">227</a>             }
<a class="jxr_linenumber" name="L228" href="#L228">228</a>             Set&lt;String&gt; facetIds = <strong class="jxr_keyword">new</strong> LinkedHashSet&lt;String&gt;( versionMetadata.getFacetIds() );
<a class="jxr_linenumber" name="L229" href="#L229">229</a>             facetIds.addAll( Arrays.asList( properties.getProperty( <span class="jxr_string">"facetIds"</span>, <span class="jxr_string">""</span> ).split( <span class="jxr_string">","</span> ) ) );
<a class="jxr_linenumber" name="L230" href="#L230">230</a>             properties.setProperty( <span class="jxr_string">"facetIds"</span>, join( facetIds ) );
<a class="jxr_linenumber" name="L231" href="#L231">231</a> 
<a class="jxr_linenumber" name="L232" href="#L232">232</a>             updateProjectVersionFacets( versionMetadata, properties );
<a class="jxr_linenumber" name="L233" href="#L233">233</a> 
<a class="jxr_linenumber" name="L234" href="#L234">234</a>             writeProperties( properties, directory, PROJECT_VERSION_METADATA_KEY );
<a class="jxr_linenumber" name="L235" href="#L235">235</a>         }
<a class="jxr_linenumber" name="L236" href="#L236">236</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L237" href="#L237">237</a>         {
<a class="jxr_linenumber" name="L238" href="#L238">238</a>             <em class="jxr_comment">// TODO</em>
<a class="jxr_linenumber" name="L239" href="#L239">239</a>             log.error( e.getMessage(), e );
<a class="jxr_linenumber" name="L240" href="#L240">240</a>         }
<a class="jxr_linenumber" name="L241" href="#L241">241</a>     }
<a class="jxr_linenumber" name="L242" href="#L242">242</a> 
<a class="jxr_linenumber" name="L243" href="#L243">243</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> updateProjectVersionFacets( ProjectVersionMetadata versionMetadata, Properties properties )
<a class="jxr_linenumber" name="L244" href="#L244">244</a>     {
<a class="jxr_linenumber" name="L245" href="#L245">245</a>         <strong class="jxr_keyword">for</strong> ( MetadataFacet facet : versionMetadata.getFacetList() )
<a class="jxr_linenumber" name="L246" href="#L246">246</a>         {
<a class="jxr_linenumber" name="L247" href="#L247">247</a>             <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;String, String&gt; entry : facet.toProperties().entrySet() )
<a class="jxr_linenumber" name="L248" href="#L248">248</a>             {
<a class="jxr_linenumber" name="L249" href="#L249">249</a>                 properties.setProperty( facet.getFacetId() + <span class="jxr_string">":"</span> + entry.getKey(), entry.getValue() );
<a class="jxr_linenumber" name="L250" href="#L250">250</a>             }
<a class="jxr_linenumber" name="L251" href="#L251">251</a>         }
<a class="jxr_linenumber" name="L252" href="#L252">252</a>     }
<a class="jxr_linenumber" name="L253" href="#L253">253</a> 
<a class="jxr_linenumber" name="L254" href="#L254">254</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> clearMetadataFacetProperties( Collection&lt;MetadataFacet&gt; facetList, Properties properties,
<a class="jxr_linenumber" name="L255" href="#L255">255</a>                                                       String prefix )
<a class="jxr_linenumber" name="L256" href="#L256">256</a>     {
<a class="jxr_linenumber" name="L257" href="#L257">257</a>         List&lt;Object&gt; propsToRemove = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
<a class="jxr_linenumber" name="L258" href="#L258">258</a>         <strong class="jxr_keyword">for</strong> ( MetadataFacet facet : facetList )
<a class="jxr_linenumber" name="L259" href="#L259">259</a>         {
<a class="jxr_linenumber" name="L260" href="#L260">260</a>             <strong class="jxr_keyword">for</strong> ( Object key : <strong class="jxr_keyword">new</strong> ArrayList( properties.keySet() ) )
<a class="jxr_linenumber" name="L261" href="#L261">261</a>             {
<a class="jxr_linenumber" name="L262" href="#L262">262</a>                 String keyString = (String) key;
<a class="jxr_linenumber" name="L263" href="#L263">263</a>                 <strong class="jxr_keyword">if</strong> ( keyString.startsWith( prefix + facet.getFacetId() + <span class="jxr_string">":"</span> ) )
<a class="jxr_linenumber" name="L264" href="#L264">264</a>                 {
<a class="jxr_linenumber" name="L265" href="#L265">265</a>                     propsToRemove.add( key );
<a class="jxr_linenumber" name="L266" href="#L266">266</a>                 }
<a class="jxr_linenumber" name="L267" href="#L267">267</a>             }
<a class="jxr_linenumber" name="L268" href="#L268">268</a>         }
<a class="jxr_linenumber" name="L269" href="#L269">269</a> 
<a class="jxr_linenumber" name="L270" href="#L270">270</a>         <strong class="jxr_keyword">for</strong> ( Object key : propsToRemove )
<a class="jxr_linenumber" name="L271" href="#L271">271</a>         {
<a class="jxr_linenumber" name="L272" href="#L272">272</a>             properties.remove( key );
<a class="jxr_linenumber" name="L273" href="#L273">273</a>         }
<a class="jxr_linenumber" name="L274" href="#L274">274</a>     }
<a class="jxr_linenumber" name="L275" href="#L275">275</a> 
<a class="jxr_linenumber" name="L276" href="#L276">276</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> updateProjectReference( String repoId, String namespace, String projectId, String projectVersion,
<a class="jxr_linenumber" name="L277" href="#L277">277</a>                                          ProjectVersionReference reference )
<a class="jxr_linenumber" name="L278" href="#L278">278</a>     {
<a class="jxr_linenumber" name="L279" href="#L279">279</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L280" href="#L280">280</a>         {
<a class="jxr_linenumber" name="L281" href="#L281">281</a>             File directory = <strong class="jxr_keyword">new</strong> File( getDirectory( repoId ), namespace + <span class="jxr_string">"/"</span> + projectId + <span class="jxr_string">"/"</span> + projectVersion );
<a class="jxr_linenumber" name="L282" href="#L282">282</a> 
<a class="jxr_linenumber" name="L283" href="#L283">283</a>             Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
<a class="jxr_linenumber" name="L284" href="#L284">284</a>             <strong class="jxr_keyword">int</strong> i = Integer.parseInt( properties.getProperty( <span class="jxr_string">"ref:lastReferenceNum"</span>, <span class="jxr_string">"-1"</span> ) ) + 1;
<a class="jxr_linenumber" name="L285" href="#L285">285</a>             setProperty( properties, <span class="jxr_string">"ref:lastReferenceNum"</span>, Integer.toString( i ) );
<a class="jxr_linenumber" name="L286" href="#L286">286</a>             setProperty( properties, <span class="jxr_string">"ref:reference."</span> + i + <span class="jxr_string">".namespace"</span>, reference.getNamespace() );
<a class="jxr_linenumber" name="L287" href="#L287">287</a>             setProperty( properties, <span class="jxr_string">"ref:reference."</span> + i + <span class="jxr_string">".projectId"</span>, reference.getProjectId() );
<a class="jxr_linenumber" name="L288" href="#L288">288</a>             setProperty( properties, <span class="jxr_string">"ref:reference."</span> + i + <span class="jxr_string">".projectVersion"</span>, reference.getProjectVersion() );
<a class="jxr_linenumber" name="L289" href="#L289">289</a>             setProperty( properties, <span class="jxr_string">"ref:reference."</span> + i + <span class="jxr_string">".referenceType"</span>, reference.getReferenceType().toString() );
<a class="jxr_linenumber" name="L290" href="#L290">290</a> 
<a class="jxr_linenumber" name="L291" href="#L291">291</a>             writeProperties( properties, directory, PROJECT_VERSION_METADATA_KEY );
<a class="jxr_linenumber" name="L292" href="#L292">292</a>         }
<a class="jxr_linenumber" name="L293" href="#L293">293</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L294" href="#L294">294</a>         {
<a class="jxr_linenumber" name="L295" href="#L295">295</a>             <em class="jxr_comment">// TODO</em>
<a class="jxr_linenumber" name="L296" href="#L296">296</a>             log.error( e.getMessage(), e );
<a class="jxr_linenumber" name="L297" href="#L297">297</a>         }
<a class="jxr_linenumber" name="L298" href="#L298">298</a>     }
<a class="jxr_linenumber" name="L299" href="#L299">299</a> 
<a class="jxr_linenumber" name="L300" href="#L300">300</a>     @Override
<a class="jxr_linenumber" name="L301" href="#L301">301</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> updateNamespace( String repoId, String namespace )
<a class="jxr_linenumber" name="L302" href="#L302">302</a>     {
<a class="jxr_linenumber" name="L303" href="#L303">303</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L304" href="#L304">304</a>         {
<a class="jxr_linenumber" name="L305" href="#L305">305</a>             File namespaceDirectory = <strong class="jxr_keyword">new</strong> File( getDirectory( repoId ), namespace );
<a class="jxr_linenumber" name="L306" href="#L306">306</a>             Properties properties = <strong class="jxr_keyword">new</strong> Properties();
<a class="jxr_linenumber" name="L307" href="#L307">307</a>             properties.setProperty( <span class="jxr_string">"namespace"</span>, namespace );
<a class="jxr_linenumber" name="L308" href="#L308">308</a>             writeProperties( properties, namespaceDirectory, NAMESPACE_METADATA_KEY );
<a class="jxr_linenumber" name="L309" href="#L309">309</a> 
<a class="jxr_linenumber" name="L310" href="#L310">310</a>         }
<a class="jxr_linenumber" name="L311" href="#L311">311</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L312" href="#L312">312</a>         {
<a class="jxr_linenumber" name="L313" href="#L313">313</a>             <em class="jxr_comment">// TODO!</em>
<a class="jxr_linenumber" name="L314" href="#L314">314</a>             log.error( e.getMessage(), e );
<a class="jxr_linenumber" name="L315" href="#L315">315</a>         }
<a class="jxr_linenumber" name="L316" href="#L316">316</a>     }
<a class="jxr_linenumber" name="L317" href="#L317">317</a> 
<a class="jxr_linenumber" name="L318" href="#L318">318</a>     @Override
<a class="jxr_linenumber" name="L319" href="#L319">319</a>     <strong class="jxr_keyword">public</strong> List&lt;String&gt; getMetadataFacets( String repoId, String facetId )
<a class="jxr_linenumber" name="L320" href="#L320">320</a>         <strong class="jxr_keyword">throws</strong> MetadataRepositoryException
<a class="jxr_linenumber" name="L321" href="#L321">321</a>     {
<a class="jxr_linenumber" name="L322" href="#L322">322</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L323" href="#L323">323</a>         {
<a class="jxr_linenumber" name="L324" href="#L324">324</a>             File directory = getMetadataDirectory( repoId, facetId );
<a class="jxr_linenumber" name="L325" href="#L325">325</a>             List&lt;String&gt; facets = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
<a class="jxr_linenumber" name="L326" href="#L326">326</a>             recurse( facets, <span class="jxr_string">""</span>, directory );
<a class="jxr_linenumber" name="L327" href="#L327">327</a>             <strong class="jxr_keyword">return</strong> facets;
<a class="jxr_linenumber" name="L328" href="#L328">328</a>         }
<a class="jxr_linenumber" name="L329" href="#L329">329</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L330" href="#L330">330</a>         {
<a class="jxr_linenumber" name="L331" href="#L331">331</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MetadataRepositoryException( e.getMessage(), e );
<a class="jxr_linenumber" name="L332" href="#L332">332</a>         }
<a class="jxr_linenumber" name="L333" href="#L333">333</a>     }
<a class="jxr_linenumber" name="L334" href="#L334">334</a> 
<a class="jxr_linenumber" name="L335" href="#L335">335</a>     @Override
<a class="jxr_linenumber" name="L336" href="#L336">336</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> hasMetadataFacet( String repositoryId, String facetId )
<a class="jxr_linenumber" name="L337" href="#L337">337</a>         <strong class="jxr_keyword">throws</strong> MetadataRepositoryException
<a class="jxr_linenumber" name="L338" href="#L338">338</a>     {
<a class="jxr_linenumber" name="L339" href="#L339">339</a>         <em class="jxr_comment">// TODO could be improved a bit</em>
<a class="jxr_linenumber" name="L340" href="#L340">340</a>         <strong class="jxr_keyword">return</strong> !getMetadataFacets( repositoryId, facetId ).isEmpty();
<a class="jxr_linenumber" name="L341" href="#L341">341</a>     }
<a class="jxr_linenumber" name="L342" href="#L342">342</a> 
<a class="jxr_linenumber" name="L343" href="#L343">343</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> recurse( List&lt;String&gt; facets, String prefix, File directory )
<a class="jxr_linenumber" name="L344" href="#L344">344</a>     {
<a class="jxr_linenumber" name="L345" href="#L345">345</a>         File[] list = directory.listFiles();
<a class="jxr_linenumber" name="L346" href="#L346">346</a>         <strong class="jxr_keyword">if</strong> ( list != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L347" href="#L347">347</a>         {
<a class="jxr_linenumber" name="L348" href="#L348">348</a>             <strong class="jxr_keyword">for</strong> ( File dir : list )
<a class="jxr_linenumber" name="L349" href="#L349">349</a>             {
<a class="jxr_linenumber" name="L350" href="#L350">350</a>                 <strong class="jxr_keyword">if</strong> ( dir.isDirectory() )
<a class="jxr_linenumber" name="L351" href="#L351">351</a>                 {
<a class="jxr_linenumber" name="L352" href="#L352">352</a>                     recurse( facets, prefix + <span class="jxr_string">"/"</span> + dir.getName(), dir );
<a class="jxr_linenumber" name="L353" href="#L353">353</a>                 }
<a class="jxr_linenumber" name="L354" href="#L354">354</a>                 <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( dir.getName().equals( METADATA_KEY + <span class="jxr_string">".properties"</span> ) )
<a class="jxr_linenumber" name="L355" href="#L355">355</a>                 {
<a class="jxr_linenumber" name="L356" href="#L356">356</a>                     facets.add( prefix.substring( 1 ) );
<a class="jxr_linenumber" name="L357" href="#L357">357</a>                 }
<a class="jxr_linenumber" name="L358" href="#L358">358</a>             }
<a class="jxr_linenumber" name="L359" href="#L359">359</a>         }
<a class="jxr_linenumber" name="L360" href="#L360">360</a>     }
<a class="jxr_linenumber" name="L361" href="#L361">361</a> 
<a class="jxr_linenumber" name="L362" href="#L362">362</a>     @Override
<a class="jxr_linenumber" name="L363" href="#L363">363</a>     <strong class="jxr_keyword">public</strong> MetadataFacet getMetadataFacet( String repositoryId, String facetId, String name )
<a class="jxr_linenumber" name="L364" href="#L364">364</a>     {
<a class="jxr_linenumber" name="L365" href="#L365">365</a>         Properties properties;
<a class="jxr_linenumber" name="L366" href="#L366">366</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L367" href="#L367">367</a>         {
<a class="jxr_linenumber" name="L368" href="#L368">368</a>             properties =
<a class="jxr_linenumber" name="L369" href="#L369">369</a>                 readProperties( <strong class="jxr_keyword">new</strong> File( getMetadataDirectory( repositoryId, facetId ), name ), METADATA_KEY );
<a class="jxr_linenumber" name="L370" href="#L370">370</a>         }
<a class="jxr_linenumber" name="L371" href="#L371">371</a>         <strong class="jxr_keyword">catch</strong> ( FileNotFoundException e )
<a class="jxr_linenumber" name="L372" href="#L372">372</a>         {
<a class="jxr_linenumber" name="L373" href="#L373">373</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L374" href="#L374">374</a>         }
<a class="jxr_linenumber" name="L375" href="#L375">375</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L376" href="#L376">376</a>         {
<a class="jxr_linenumber" name="L377" href="#L377">377</a>             <em class="jxr_comment">// TODO</em>
<a class="jxr_linenumber" name="L378" href="#L378">378</a>             log.error( e.getMessage(), e );
<a class="jxr_linenumber" name="L379" href="#L379">379</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L380" href="#L380">380</a>         }
<a class="jxr_linenumber" name="L381" href="#L381">381</a>         MetadataFacet metadataFacet = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L382" href="#L382">382</a>         MetadataFacetFactory metadataFacetFactory = metadataFacetFactories.get( facetId );
<a class="jxr_linenumber" name="L383" href="#L383">383</a>         <strong class="jxr_keyword">if</strong> ( metadataFacetFactory != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L384" href="#L384">384</a>         {
<a class="jxr_linenumber" name="L385" href="#L385">385</a>             metadataFacet = metadataFacetFactory.createMetadataFacet( repositoryId, name );
<a class="jxr_linenumber" name="L386" href="#L386">386</a>             Map&lt;String, String&gt; map = <strong class="jxr_keyword">new</strong> HashMap&lt;&gt;();
<a class="jxr_linenumber" name="L387" href="#L387">387</a>             <strong class="jxr_keyword">for</strong> ( Object key : <strong class="jxr_keyword">new</strong> ArrayList( properties.keySet() ) )
<a class="jxr_linenumber" name="L388" href="#L388">388</a>             {
<a class="jxr_linenumber" name="L389" href="#L389">389</a>                 String property = (String) key;
<a class="jxr_linenumber" name="L390" href="#L390">390</a>                 map.put( property, properties.getProperty( property ) );
<a class="jxr_linenumber" name="L391" href="#L391">391</a>             }
<a class="jxr_linenumber" name="L392" href="#L392">392</a>             metadataFacet.fromProperties( map );
<a class="jxr_linenumber" name="L393" href="#L393">393</a>         }
<a class="jxr_linenumber" name="L394" href="#L394">394</a>         <strong class="jxr_keyword">return</strong> metadataFacet;
<a class="jxr_linenumber" name="L395" href="#L395">395</a>     }
<a class="jxr_linenumber" name="L396" href="#L396">396</a> 
<a class="jxr_linenumber" name="L397" href="#L397">397</a>     @Override
<a class="jxr_linenumber" name="L398" href="#L398">398</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addMetadataFacet( String repositoryId, MetadataFacet metadataFacet )
<a class="jxr_linenumber" name="L399" href="#L399">399</a>     {
<a class="jxr_linenumber" name="L400" href="#L400">400</a>         Properties properties = <strong class="jxr_keyword">new</strong> Properties();
<a class="jxr_linenumber" name="L401" href="#L401">401</a>         properties.putAll( metadataFacet.toProperties() );
<a class="jxr_linenumber" name="L402" href="#L402">402</a> 
<a class="jxr_linenumber" name="L403" href="#L403">403</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L404" href="#L404">404</a>         {
<a class="jxr_linenumber" name="L405" href="#L405">405</a>             File directory =
<a class="jxr_linenumber" name="L406" href="#L406">406</a>                 <strong class="jxr_keyword">new</strong> File( getMetadataDirectory( repositoryId, metadataFacet.getFacetId() ), metadataFacet.getName() );
<a class="jxr_linenumber" name="L407" href="#L407">407</a>             writeProperties( properties, directory, METADATA_KEY );
<a class="jxr_linenumber" name="L408" href="#L408">408</a>         }
<a class="jxr_linenumber" name="L409" href="#L409">409</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L410" href="#L410">410</a>         {
<a class="jxr_linenumber" name="L411" href="#L411">411</a>             <em class="jxr_comment">// TODO!</em>
<a class="jxr_linenumber" name="L412" href="#L412">412</a>             log.error( e.getMessage(), e );
<a class="jxr_linenumber" name="L413" href="#L413">413</a>         }
<a class="jxr_linenumber" name="L414" href="#L414">414</a>     }
<a class="jxr_linenumber" name="L415" href="#L415">415</a> 
<a class="jxr_linenumber" name="L416" href="#L416">416</a>     @Override
<a class="jxr_linenumber" name="L417" href="#L417">417</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeMetadataFacets( String repositoryId, String facetId )
<a class="jxr_linenumber" name="L418" href="#L418">418</a>         <strong class="jxr_keyword">throws</strong> MetadataRepositoryException
<a class="jxr_linenumber" name="L419" href="#L419">419</a>     {
<a class="jxr_linenumber" name="L420" href="#L420">420</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L421" href="#L421">421</a>         {
<a class="jxr_linenumber" name="L422" href="#L422">422</a>             File dir = getMetadataDirectory( repositoryId, facetId );
<a class="jxr_linenumber" name="L423" href="#L423">423</a>             FileUtils.deleteDirectory( dir );
<a class="jxr_linenumber" name="L424" href="#L424">424</a>         }
<a class="jxr_linenumber" name="L425" href="#L425">425</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L426" href="#L426">426</a>         {
<a class="jxr_linenumber" name="L427" href="#L427">427</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MetadataRepositoryException( e.getMessage(), e );
<a class="jxr_linenumber" name="L428" href="#L428">428</a>         }
<a class="jxr_linenumber" name="L429" href="#L429">429</a>     }
<a class="jxr_linenumber" name="L430" href="#L430">430</a> 
<a class="jxr_linenumber" name="L431" href="#L431">431</a>     @Override
<a class="jxr_linenumber" name="L432" href="#L432">432</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeMetadataFacet( String repoId, String facetId, String name )
<a class="jxr_linenumber" name="L433" href="#L433">433</a>         <strong class="jxr_keyword">throws</strong> MetadataRepositoryException
<a class="jxr_linenumber" name="L434" href="#L434">434</a>     {
<a class="jxr_linenumber" name="L435" href="#L435">435</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L436" href="#L436">436</a>         {
<a class="jxr_linenumber" name="L437" href="#L437">437</a>             File dir = <strong class="jxr_keyword">new</strong> File( getMetadataDirectory( repoId, facetId ), name );
<a class="jxr_linenumber" name="L438" href="#L438">438</a>             FileUtils.deleteDirectory( dir );
<a class="jxr_linenumber" name="L439" href="#L439">439</a>         }
<a class="jxr_linenumber" name="L440" href="#L440">440</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L441" href="#L441">441</a>         {
<a class="jxr_linenumber" name="L442" href="#L442">442</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MetadataRepositoryException( e.getMessage(), e );
<a class="jxr_linenumber" name="L443" href="#L443">443</a>         }
<a class="jxr_linenumber" name="L444" href="#L444">444</a>     }
<a class="jxr_linenumber" name="L445" href="#L445">445</a> 
<a class="jxr_linenumber" name="L446" href="#L446">446</a>     @Override
<a class="jxr_linenumber" name="L447" href="#L447">447</a>     <strong class="jxr_keyword">public</strong> List&lt;ArtifactMetadata&gt; getArtifactsByDateRange( String repoId, Date startTime, Date endTime )
<a class="jxr_linenumber" name="L448" href="#L448">448</a>         <strong class="jxr_keyword">throws</strong> MetadataRepositoryException
<a class="jxr_linenumber" name="L449" href="#L449">449</a>     {
<a class="jxr_linenumber" name="L450" href="#L450">450</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L451" href="#L451">451</a>         {
<a class="jxr_linenumber" name="L452" href="#L452">452</a>             <em class="jxr_comment">// TODO: this is quite slow - if we are to persist with this repository implementation we should build an index</em>
<a class="jxr_linenumber" name="L453" href="#L453">453</a>             <em class="jxr_comment">//  of this information (eg. in Lucene, as before)</em>
<a class="jxr_linenumber" name="L454" href="#L454">454</a> 
<a class="jxr_linenumber" name="L455" href="#L455">455</a>             List&lt;ArtifactMetadata&gt; artifacts = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
<a class="jxr_linenumber" name="L456" href="#L456">456</a>             <strong class="jxr_keyword">for</strong> ( String ns : getRootNamespaces( repoId ) )
<a class="jxr_linenumber" name="L457" href="#L457">457</a>             {
<a class="jxr_linenumber" name="L458" href="#L458">458</a>                 getArtifactsByDateRange( artifacts, repoId, ns, startTime, endTime );
<a class="jxr_linenumber" name="L459" href="#L459">459</a>             }
<a class="jxr_linenumber" name="L460" href="#L460">460</a>             Collections.sort( artifacts, <strong class="jxr_keyword">new</strong> ArtifactComparator() );
<a class="jxr_linenumber" name="L461" href="#L461">461</a>             <strong class="jxr_keyword">return</strong> artifacts;
<a class="jxr_linenumber" name="L462" href="#L462">462</a>         }
<a class="jxr_linenumber" name="L463" href="#L463">463</a>         <strong class="jxr_keyword">catch</strong> ( MetadataResolutionException e )
<a class="jxr_linenumber" name="L464" href="#L464">464</a>         {
<a class="jxr_linenumber" name="L465" href="#L465">465</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MetadataRepositoryException( e.getMessage(), e );
<a class="jxr_linenumber" name="L466" href="#L466">466</a>         }
<a class="jxr_linenumber" name="L467" href="#L467">467</a>     }
<a class="jxr_linenumber" name="L468" href="#L468">468</a> 
<a class="jxr_linenumber" name="L469" href="#L469">469</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> getArtifactsByDateRange( List&lt;ArtifactMetadata&gt; artifacts, String repoId, String ns, Date startTime,
<a class="jxr_linenumber" name="L470" href="#L470">470</a>                                           Date endTime )
<a class="jxr_linenumber" name="L471" href="#L471">471</a>         <strong class="jxr_keyword">throws</strong> MetadataRepositoryException
<a class="jxr_linenumber" name="L472" href="#L472">472</a>     {
<a class="jxr_linenumber" name="L473" href="#L473">473</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L474" href="#L474">474</a>         {
<a class="jxr_linenumber" name="L475" href="#L475">475</a>             <strong class="jxr_keyword">for</strong> ( String namespace : getNamespaces( repoId, ns ) )
<a class="jxr_linenumber" name="L476" href="#L476">476</a>             {
<a class="jxr_linenumber" name="L477" href="#L477">477</a>                 getArtifactsByDateRange( artifacts, repoId, ns + <span class="jxr_string">"."</span> + namespace, startTime, endTime );
<a class="jxr_linenumber" name="L478" href="#L478">478</a>             }
<a class="jxr_linenumber" name="L479" href="#L479">479</a> 
<a class="jxr_linenumber" name="L480" href="#L480">480</a>             <strong class="jxr_keyword">for</strong> ( String project : getProjects( repoId, ns ) )
<a class="jxr_linenumber" name="L481" href="#L481">481</a>             {
<a class="jxr_linenumber" name="L482" href="#L482">482</a>                 <strong class="jxr_keyword">for</strong> ( String version : getProjectVersions( repoId, ns, project ) )
<a class="jxr_linenumber" name="L483" href="#L483">483</a>                 {
<a class="jxr_linenumber" name="L484" href="#L484">484</a>                     <strong class="jxr_keyword">for</strong> ( ArtifactMetadata artifact : getArtifacts( repoId, ns, project, version ) )
<a class="jxr_linenumber" name="L485" href="#L485">485</a>                     {
<a class="jxr_linenumber" name="L486" href="#L486">486</a>                         <strong class="jxr_keyword">if</strong> ( startTime == <strong class="jxr_keyword">null</strong> || startTime.before( artifact.getWhenGathered() ) )
<a class="jxr_linenumber" name="L487" href="#L487">487</a>                         {
<a class="jxr_linenumber" name="L488" href="#L488">488</a>                             <strong class="jxr_keyword">if</strong> ( endTime == <strong class="jxr_keyword">null</strong> || endTime.after( artifact.getWhenGathered() ) )
<a class="jxr_linenumber" name="L489" href="#L489">489</a>                             {
<a class="jxr_linenumber" name="L490" href="#L490">490</a>                                 artifacts.add( artifact );
<a class="jxr_linenumber" name="L491" href="#L491">491</a>                             }
<a class="jxr_linenumber" name="L492" href="#L492">492</a>                         }
<a class="jxr_linenumber" name="L493" href="#L493">493</a>                     }
<a class="jxr_linenumber" name="L494" href="#L494">494</a>                 }
<a class="jxr_linenumber" name="L495" href="#L495">495</a>             }
<a class="jxr_linenumber" name="L496" href="#L496">496</a>         }
<a class="jxr_linenumber" name="L497" href="#L497">497</a>         <strong class="jxr_keyword">catch</strong> ( MetadataResolutionException e )
<a class="jxr_linenumber" name="L498" href="#L498">498</a>         {
<a class="jxr_linenumber" name="L499" href="#L499">499</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MetadataRepositoryException( e.getMessage(), e );
<a class="jxr_linenumber" name="L500" href="#L500">500</a>         }
<a class="jxr_linenumber" name="L501" href="#L501">501</a>     }
<a class="jxr_linenumber" name="L502" href="#L502">502</a> 
<a class="jxr_linenumber" name="L503" href="#L503">503</a>     @Override
<a class="jxr_linenumber" name="L504" href="#L504">504</a>     <strong class="jxr_keyword">public</strong> Collection&lt;ArtifactMetadata&gt; getArtifacts( String repoId, String namespace, String projectId,
<a class="jxr_linenumber" name="L505" href="#L505">505</a>                                                       String projectVersion )
<a class="jxr_linenumber" name="L506" href="#L506">506</a>         <strong class="jxr_keyword">throws</strong> MetadataResolutionException
<a class="jxr_linenumber" name="L507" href="#L507">507</a>     {
<a class="jxr_linenumber" name="L508" href="#L508">508</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L509" href="#L509">509</a>         {
<a class="jxr_linenumber" name="L510" href="#L510">510</a>             Map&lt;String, ArtifactMetadata&gt; artifacts = <strong class="jxr_keyword">new</strong> HashMap&lt;&gt;();
<a class="jxr_linenumber" name="L511" href="#L511">511</a> 
<a class="jxr_linenumber" name="L512" href="#L512">512</a>             File directory = <strong class="jxr_keyword">new</strong> File( getDirectory( repoId ), namespace + <span class="jxr_string">"/"</span> + projectId + <span class="jxr_string">"/"</span> + projectVersion );
<a class="jxr_linenumber" name="L513" href="#L513">513</a> 
<a class="jxr_linenumber" name="L514" href="#L514">514</a>             Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
<a class="jxr_linenumber" name="L515" href="#L515">515</a> 
<a class="jxr_linenumber" name="L516" href="#L516">516</a>             <strong class="jxr_keyword">for</strong> ( Map.Entry entry : properties.entrySet() )
<a class="jxr_linenumber" name="L517" href="#L517">517</a>             {
<a class="jxr_linenumber" name="L518" href="#L518">518</a>                 String name = (String) entry.getKey();
<a class="jxr_linenumber" name="L519" href="#L519">519</a>                 StringTokenizer tok = <strong class="jxr_keyword">new</strong> StringTokenizer( name, <span class="jxr_string">":"</span> );
<a class="jxr_linenumber" name="L520" href="#L520">520</a>                 <strong class="jxr_keyword">if</strong> ( tok.hasMoreTokens() &amp;&amp; <span class="jxr_string">"artifact"</span>.equals( tok.nextToken() ) )
<a class="jxr_linenumber" name="L521" href="#L521">521</a>                 {
<a class="jxr_linenumber" name="L522" href="#L522">522</a>                     String field = tok.nextToken();
<a class="jxr_linenumber" name="L523" href="#L523">523</a>                     String id = tok.nextToken();
<a class="jxr_linenumber" name="L524" href="#L524">524</a> 
<a class="jxr_linenumber" name="L525" href="#L525">525</a>                     ArtifactMetadata artifact = artifacts.get( id );
<a class="jxr_linenumber" name="L526" href="#L526">526</a>                     <strong class="jxr_keyword">if</strong> ( artifact == <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L527" href="#L527">527</a>                     {
<a class="jxr_linenumber" name="L528" href="#L528">528</a>                         artifact = <strong class="jxr_keyword">new</strong> ArtifactMetadata();
<a class="jxr_linenumber" name="L529" href="#L529">529</a>                         artifact.setRepositoryId( repoId );
<a class="jxr_linenumber" name="L530" href="#L530">530</a>                         artifact.setNamespace( namespace );
<a class="jxr_linenumber" name="L531" href="#L531">531</a>                         artifact.setProject( projectId );
<a class="jxr_linenumber" name="L532" href="#L532">532</a>                         artifact.setProjectVersion( projectVersion );
<a class="jxr_linenumber" name="L533" href="#L533">533</a>                         artifact.setVersion( projectVersion );
<a class="jxr_linenumber" name="L534" href="#L534">534</a>                         artifact.setId( id );
<a class="jxr_linenumber" name="L535" href="#L535">535</a>                         artifacts.put( id, artifact );
<a class="jxr_linenumber" name="L536" href="#L536">536</a>                     }
<a class="jxr_linenumber" name="L537" href="#L537">537</a> 
<a class="jxr_linenumber" name="L538" href="#L538">538</a>                     String value = (String) entry.getValue();
<a class="jxr_linenumber" name="L539" href="#L539">539</a>                     <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"updated"</span>.equals( field ) )
<a class="jxr_linenumber" name="L540" href="#L540">540</a>                     {
<a class="jxr_linenumber" name="L541" href="#L541">541</a>                         artifact.setFileLastModified( Long.parseLong( value ) );
<a class="jxr_linenumber" name="L542" href="#L542">542</a>                     }
<a class="jxr_linenumber" name="L543" href="#L543">543</a>                     <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"size"</span>.equals( field ) )
<a class="jxr_linenumber" name="L544" href="#L544">544</a>                     {
<a class="jxr_linenumber" name="L545" href="#L545">545</a>                         artifact.setSize( Long.valueOf( value ) );
<a class="jxr_linenumber" name="L546" href="#L546">546</a>                     }
<a class="jxr_linenumber" name="L547" href="#L547">547</a>                     <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"whenGathered"</span>.equals( field ) )
<a class="jxr_linenumber" name="L548" href="#L548">548</a>                     {
<a class="jxr_linenumber" name="L549" href="#L549">549</a>                         artifact.setWhenGathered( <strong class="jxr_keyword">new</strong> Date( Long.parseLong( value ) ) );
<a class="jxr_linenumber" name="L550" href="#L550">550</a>                     }
<a class="jxr_linenumber" name="L551" href="#L551">551</a>                     <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"version"</span>.equals( field ) )
<a class="jxr_linenumber" name="L552" href="#L552">552</a>                     {
<a class="jxr_linenumber" name="L553" href="#L553">553</a>                         artifact.setVersion( value );
<a class="jxr_linenumber" name="L554" href="#L554">554</a>                     }
<a class="jxr_linenumber" name="L555" href="#L555">555</a>                     <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"md5"</span>.equals( field ) )
<a class="jxr_linenumber" name="L556" href="#L556">556</a>                     {
<a class="jxr_linenumber" name="L557" href="#L557">557</a>                         artifact.setMd5( value );
<a class="jxr_linenumber" name="L558" href="#L558">558</a>                     }
<a class="jxr_linenumber" name="L559" href="#L559">559</a>                     <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"sha1"</span>.equals( field ) )
<a class="jxr_linenumber" name="L560" href="#L560">560</a>                     {
<a class="jxr_linenumber" name="L561" href="#L561">561</a>                         artifact.setSha1( value );
<a class="jxr_linenumber" name="L562" href="#L562">562</a>                     }
<a class="jxr_linenumber" name="L563" href="#L563">563</a>                     <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"facetIds"</span>.equals( field ) )
<a class="jxr_linenumber" name="L564" href="#L564">564</a>                     {
<a class="jxr_linenumber" name="L565" href="#L565">565</a>                         <strong class="jxr_keyword">if</strong> ( value.length() &gt; 0 )
<a class="jxr_linenumber" name="L566" href="#L566">566</a>                         {
<a class="jxr_linenumber" name="L567" href="#L567">567</a>                             String propertyPrefix = <span class="jxr_string">"artifact:facet:"</span> + id + <span class="jxr_string">":"</span>;
<a class="jxr_linenumber" name="L568" href="#L568">568</a>                             <strong class="jxr_keyword">for</strong> ( String facetId : value.split( <span class="jxr_string">","</span> ) )
<a class="jxr_linenumber" name="L569" href="#L569">569</a>                             {
<a class="jxr_linenumber" name="L570" href="#L570">570</a>                                 MetadataFacetFactory factory = metadataFacetFactories.get( facetId );
<a class="jxr_linenumber" name="L571" href="#L571">571</a>                                 <strong class="jxr_keyword">if</strong> ( factory == <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L572" href="#L572">572</a>                                 {
<a class="jxr_linenumber" name="L573" href="#L573">573</a>                                     log.error( <span class="jxr_string">"Attempted to load unknown artifact metadata facet: "</span> + facetId );
<a class="jxr_linenumber" name="L574" href="#L574">574</a>                                 }
<a class="jxr_linenumber" name="L575" href="#L575">575</a>                                 <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L576" href="#L576">576</a>                                 {
<a class="jxr_linenumber" name="L577" href="#L577">577</a>                                     MetadataFacet facet = factory.createMetadataFacet();
<a class="jxr_linenumber" name="L578" href="#L578">578</a>                                     String prefix = propertyPrefix + facet.getFacetId();
<a class="jxr_linenumber" name="L579" href="#L579">579</a>                                     Map&lt;String, String&gt; map = <strong class="jxr_keyword">new</strong> HashMap&lt;&gt;();
<a class="jxr_linenumber" name="L580" href="#L580">580</a>                                     <strong class="jxr_keyword">for</strong> ( Object key : <strong class="jxr_keyword">new</strong> ArrayList( properties.keySet() ) )
<a class="jxr_linenumber" name="L581" href="#L581">581</a>                                     {
<a class="jxr_linenumber" name="L582" href="#L582">582</a>                                         String property = (String) key;
<a class="jxr_linenumber" name="L583" href="#L583">583</a>                                         <strong class="jxr_keyword">if</strong> ( property.startsWith( prefix ) )
<a class="jxr_linenumber" name="L584" href="#L584">584</a>                                         {
<a class="jxr_linenumber" name="L585" href="#L585">585</a>                                             map.put( property.substring( prefix.length() + 1 ),
<a class="jxr_linenumber" name="L586" href="#L586">586</a>                                                      properties.getProperty( property ) );
<a class="jxr_linenumber" name="L587" href="#L587">587</a>                                         }
<a class="jxr_linenumber" name="L588" href="#L588">588</a>                                     }
<a class="jxr_linenumber" name="L589" href="#L589">589</a>                                     facet.fromProperties( map );
<a class="jxr_linenumber" name="L590" href="#L590">590</a>                                     artifact.addFacet( facet );
<a class="jxr_linenumber" name="L591" href="#L591">591</a>                                 }
<a class="jxr_linenumber" name="L592" href="#L592">592</a>                             }
<a class="jxr_linenumber" name="L593" href="#L593">593</a>                         }
<a class="jxr_linenumber" name="L594" href="#L594">594</a> 
<a class="jxr_linenumber" name="L595" href="#L595">595</a>                         updateArtifactFacets( artifact, properties );
<a class="jxr_linenumber" name="L596" href="#L596">596</a>                     }
<a class="jxr_linenumber" name="L597" href="#L597">597</a>                 }
<a class="jxr_linenumber" name="L598" href="#L598">598</a>             }
<a class="jxr_linenumber" name="L599" href="#L599">599</a>             <strong class="jxr_keyword">return</strong> artifacts.values();
<a class="jxr_linenumber" name="L600" href="#L600">600</a>         }
<a class="jxr_linenumber" name="L601" href="#L601">601</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L602" href="#L602">602</a>         {
<a class="jxr_linenumber" name="L603" href="#L603">603</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MetadataResolutionException( e.getMessage(), e );
<a class="jxr_linenumber" name="L604" href="#L604">604</a>         }
<a class="jxr_linenumber" name="L605" href="#L605">605</a>     }
<a class="jxr_linenumber" name="L606" href="#L606">606</a> 
<a class="jxr_linenumber" name="L607" href="#L607">607</a>     @Override
<a class="jxr_linenumber" name="L608" href="#L608">608</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> save()
<a class="jxr_linenumber" name="L609" href="#L609">609</a>     {
<a class="jxr_linenumber" name="L610" href="#L610">610</a>         <em class="jxr_comment">// it's all instantly persisted</em>
<a class="jxr_linenumber" name="L611" href="#L611">611</a>     }
<a class="jxr_linenumber" name="L612" href="#L612">612</a> 
<a class="jxr_linenumber" name="L613" href="#L613">613</a>     @Override
<a class="jxr_linenumber" name="L614" href="#L614">614</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> close()
<a class="jxr_linenumber" name="L615" href="#L615">615</a>     {
<a class="jxr_linenumber" name="L616" href="#L616">616</a>         <em class="jxr_comment">// nothing additional to close</em>
<a class="jxr_linenumber" name="L617" href="#L617">617</a>     }
<a class="jxr_linenumber" name="L618" href="#L618">618</a> 
<a class="jxr_linenumber" name="L619" href="#L619">619</a>     @Override
<a class="jxr_linenumber" name="L620" href="#L620">620</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> revert()
<a class="jxr_linenumber" name="L621" href="#L621">621</a>     {
<a class="jxr_linenumber" name="L622" href="#L622">622</a>         log.warn( <span class="jxr_string">"Attempted to revert a session, but the file-based repository storage doesn't support it"</span> );
<a class="jxr_linenumber" name="L623" href="#L623">623</a>     }
<a class="jxr_linenumber" name="L624" href="#L624">624</a> 
<a class="jxr_linenumber" name="L625" href="#L625">625</a>     @Override
<a class="jxr_linenumber" name="L626" href="#L626">626</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> canObtainAccess( Class&lt;?&gt; aClass )
<a class="jxr_linenumber" name="L627" href="#L627">627</a>     {
<a class="jxr_linenumber" name="L628" href="#L628">628</a>         <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="L629" href="#L629">629</a>     }
<a class="jxr_linenumber" name="L630" href="#L630">630</a> 
<a class="jxr_linenumber" name="L631" href="#L631">631</a>     @Override
<a class="jxr_linenumber" name="L632" href="#L632">632</a>     <strong class="jxr_keyword">public</strong> &lt;T&gt; T obtainAccess( Class&lt;T&gt; aClass )
<a class="jxr_linenumber" name="L633" href="#L633">633</a>     {
<a class="jxr_linenumber" name="L634" href="#L634">634</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a class="jxr_linenumber" name="L635" href="#L635">635</a>             <span class="jxr_string">"Access using "</span> + aClass + <span class="jxr_string">" is not supported on the file metadata storage"</span> );
<a class="jxr_linenumber" name="L636" href="#L636">636</a>     }
<a class="jxr_linenumber" name="L637" href="#L637">637</a> 
<a class="jxr_linenumber" name="L638" href="#L638">638</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> updateArtifactFacets( ArtifactMetadata artifact, Properties properties )
<a class="jxr_linenumber" name="L639" href="#L639">639</a>     {
<a class="jxr_linenumber" name="L640" href="#L640">640</a>         String propertyPrefix = <span class="jxr_string">"artifact:facet:"</span> + artifact.getId() + <span class="jxr_string">":"</span>;
<a class="jxr_linenumber" name="L641" href="#L641">641</a>         <strong class="jxr_keyword">for</strong> ( MetadataFacet facet : artifact.getFacetList() )
<a class="jxr_linenumber" name="L642" href="#L642">642</a>         {
<a class="jxr_linenumber" name="L643" href="#L643">643</a>             <strong class="jxr_keyword">for</strong> ( Map.Entry&lt;String, String&gt; e : facet.toProperties().entrySet() )
<a class="jxr_linenumber" name="L644" href="#L644">644</a>             {
<a class="jxr_linenumber" name="L645" href="#L645">645</a>                 String key = propertyPrefix + facet.getFacetId() + <span class="jxr_string">":"</span> + e.getKey();
<a class="jxr_linenumber" name="L646" href="#L646">646</a>                 properties.setProperty( key, e.getValue() );
<a class="jxr_linenumber" name="L647" href="#L647">647</a>             }
<a class="jxr_linenumber" name="L648" href="#L648">648</a>         }
<a class="jxr_linenumber" name="L649" href="#L649">649</a>     }
<a class="jxr_linenumber" name="L650" href="#L650">650</a> 
<a class="jxr_linenumber" name="L651" href="#L651">651</a>     @Override
<a class="jxr_linenumber" name="L652" href="#L652">652</a>     <strong class="jxr_keyword">public</strong> Collection&lt;String&gt; getRepositories()
<a class="jxr_linenumber" name="L653" href="#L653">653</a>     {
<a class="jxr_linenumber" name="L654" href="#L654">654</a>         List&lt;String&gt; repositories = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
<a class="jxr_linenumber" name="L655" href="#L655">655</a>         <strong class="jxr_keyword">for</strong> ( ManagedRepositoryConfiguration managedRepositoryConfiguration : configuration.getConfiguration().getManagedRepositories() )
<a class="jxr_linenumber" name="L656" href="#L656">656</a>         {
<a class="jxr_linenumber" name="L657" href="#L657">657</a>             repositories.add( managedRepositoryConfiguration.getId() );
<a class="jxr_linenumber" name="L658" href="#L658">658</a>         }
<a class="jxr_linenumber" name="L659" href="#L659">659</a>         <strong class="jxr_keyword">return</strong> repositories;
<a class="jxr_linenumber" name="L660" href="#L660">660</a>     }
<a class="jxr_linenumber" name="L661" href="#L661">661</a> 
<a class="jxr_linenumber" name="L662" href="#L662">662</a>     @Override
<a class="jxr_linenumber" name="L663" href="#L663">663</a>     <strong class="jxr_keyword">public</strong> List&lt;ArtifactMetadata&gt; getArtifactsByChecksum( String repositoryId, String checksum )
<a class="jxr_linenumber" name="L664" href="#L664">664</a>         <strong class="jxr_keyword">throws</strong> MetadataRepositoryException
<a class="jxr_linenumber" name="L665" href="#L665">665</a>     {
<a class="jxr_linenumber" name="L666" href="#L666">666</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L667" href="#L667">667</a>         {
<a class="jxr_linenumber" name="L668" href="#L668">668</a>             <em class="jxr_comment">// TODO: this is quite slow - if we are to persist with this repository implementation we should build an index</em>
<a class="jxr_linenumber" name="L669" href="#L669">669</a>             <em class="jxr_comment">//  of this information (eg. in Lucene, as before)</em>
<a class="jxr_linenumber" name="L670" href="#L670">670</a>             <em class="jxr_comment">// alternatively, we could build a referential tree in the content repository, however it would need some levels</em>
<a class="jxr_linenumber" name="L671" href="#L671">671</a>             <em class="jxr_comment">// of depth to avoid being too broad to be useful (eg. /repository/checksums/a/ab/abcdef1234567)</em>
<a class="jxr_linenumber" name="L672" href="#L672">672</a> 
<a class="jxr_linenumber" name="L673" href="#L673">673</a>             List&lt;ArtifactMetadata&gt; artifacts = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
<a class="jxr_linenumber" name="L674" href="#L674">674</a>             <strong class="jxr_keyword">for</strong> ( String ns : getRootNamespaces( repositoryId ) )
<a class="jxr_linenumber" name="L675" href="#L675">675</a>             {
<a class="jxr_linenumber" name="L676" href="#L676">676</a>                 getArtifactsByChecksum( artifacts, repositoryId, ns, checksum );
<a class="jxr_linenumber" name="L677" href="#L677">677</a>             }
<a class="jxr_linenumber" name="L678" href="#L678">678</a>             <strong class="jxr_keyword">return</strong> artifacts;
<a class="jxr_linenumber" name="L679" href="#L679">679</a>         }
<a class="jxr_linenumber" name="L680" href="#L680">680</a>         <strong class="jxr_keyword">catch</strong> ( MetadataResolutionException e )
<a class="jxr_linenumber" name="L681" href="#L681">681</a>         {
<a class="jxr_linenumber" name="L682" href="#L682">682</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MetadataRepositoryException( e.getMessage(), e );
<a class="jxr_linenumber" name="L683" href="#L683">683</a>         }
<a class="jxr_linenumber" name="L684" href="#L684">684</a>     }
<a class="jxr_linenumber" name="L685" href="#L685">685</a> 
<a class="jxr_linenumber" name="L686" href="#L686">686</a>     @Override
<a class="jxr_linenumber" name="L687" href="#L687">687</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeNamespace( String repositoryId, String project )
<a class="jxr_linenumber" name="L688" href="#L688">688</a>         <strong class="jxr_keyword">throws</strong> MetadataRepositoryException
<a class="jxr_linenumber" name="L689" href="#L689">689</a>     {
<a class="jxr_linenumber" name="L690" href="#L690">690</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L691" href="#L691">691</a>         {
<a class="jxr_linenumber" name="L692" href="#L692">692</a>             File namespaceDirectory = <strong class="jxr_keyword">new</strong> File( getDirectory( repositoryId ), project );
<a class="jxr_linenumber" name="L693" href="#L693">693</a>             FileUtils.deleteDirectory( namespaceDirectory );
<a class="jxr_linenumber" name="L694" href="#L694">694</a>             <em class="jxr_comment">//Properties properties = new Properties();</em>
<a class="jxr_linenumber" name="L695" href="#L695">695</a>             <em class="jxr_comment">//properties.setProperty( "namespace", namespace );</em>
<a class="jxr_linenumber" name="L696" href="#L696">696</a>             <em class="jxr_comment">//writeProperties( properties, namespaceDirectory, NAMESPACE_METADATA_KEY );</em>
<a class="jxr_linenumber" name="L697" href="#L697">697</a> 
<a class="jxr_linenumber" name="L698" href="#L698">698</a>         }
<a class="jxr_linenumber" name="L699" href="#L699">699</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L700" href="#L700">700</a>         {
<a class="jxr_linenumber" name="L701" href="#L701">701</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MetadataRepositoryException( e.getMessage(), e );
<a class="jxr_linenumber" name="L702" href="#L702">702</a>         }
<a class="jxr_linenumber" name="L703" href="#L703">703</a>     }
<a class="jxr_linenumber" name="L704" href="#L704">704</a> 
<a class="jxr_linenumber" name="L705" href="#L705">705</a>     @Override
<a class="jxr_linenumber" name="L706" href="#L706">706</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeArtifact( ArtifactMetadata artifactMetadata, String baseVersion )
<a class="jxr_linenumber" name="L707" href="#L707">707</a>         <strong class="jxr_keyword">throws</strong> MetadataRepositoryException
<a class="jxr_linenumber" name="L708" href="#L708">708</a>     {
<a class="jxr_linenumber" name="L709" href="#L709">709</a> 
<a class="jxr_linenumber" name="L710" href="#L710">710</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L711" href="#L711">711</a>         {
<a class="jxr_linenumber" name="L712" href="#L712">712</a>             File directory = <strong class="jxr_keyword">new</strong> File( getDirectory( artifactMetadata.getRepositoryId() ),
<a class="jxr_linenumber" name="L713" href="#L713">713</a>                                        artifactMetadata.getNamespace() + <span class="jxr_string">"/"</span> + artifactMetadata.getProject() + <span class="jxr_string">"/"</span>
<a class="jxr_linenumber" name="L714" href="#L714">714</a>                                            + baseVersion );
<a class="jxr_linenumber" name="L715" href="#L715">715</a> 
<a class="jxr_linenumber" name="L716" href="#L716">716</a>             Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
<a class="jxr_linenumber" name="L717" href="#L717">717</a> 
<a class="jxr_linenumber" name="L718" href="#L718">718</a>             String id = artifactMetadata.getId();
<a class="jxr_linenumber" name="L719" href="#L719">719</a> 
<a class="jxr_linenumber" name="L720" href="#L720">720</a>             properties.remove( <span class="jxr_string">"artifact:updated:"</span> + id );
<a class="jxr_linenumber" name="L721" href="#L721">721</a>             properties.remove( <span class="jxr_string">"artifact:whenGathered:"</span> + id );
<a class="jxr_linenumber" name="L722" href="#L722">722</a>             properties.remove( <span class="jxr_string">"artifact:size:"</span> + id );
<a class="jxr_linenumber" name="L723" href="#L723">723</a>             properties.remove( <span class="jxr_string">"artifact:md5:"</span> + id );
<a class="jxr_linenumber" name="L724" href="#L724">724</a>             properties.remove( <span class="jxr_string">"artifact:sha1:"</span> + id );
<a class="jxr_linenumber" name="L725" href="#L725">725</a>             properties.remove( <span class="jxr_string">"artifact:version:"</span> + id );
<a class="jxr_linenumber" name="L726" href="#L726">726</a>             properties.remove( <span class="jxr_string">"artifact:facetIds:"</span> + id );
<a class="jxr_linenumber" name="L727" href="#L727">727</a> 
<a class="jxr_linenumber" name="L728" href="#L728">728</a>             String prefix = <span class="jxr_string">"artifact:facet:"</span> + id + <span class="jxr_string">":"</span>;
<a class="jxr_linenumber" name="L729" href="#L729">729</a>             <strong class="jxr_keyword">for</strong> ( Object key : <strong class="jxr_keyword">new</strong> ArrayList( properties.keySet() ) )
<a class="jxr_linenumber" name="L730" href="#L730">730</a>             {
<a class="jxr_linenumber" name="L731" href="#L731">731</a>                 String property = (String) key;
<a class="jxr_linenumber" name="L732" href="#L732">732</a>                 <strong class="jxr_keyword">if</strong> ( property.startsWith( prefix ) )
<a class="jxr_linenumber" name="L733" href="#L733">733</a>                 {
<a class="jxr_linenumber" name="L734" href="#L734">734</a>                     properties.remove( property );
<a class="jxr_linenumber" name="L735" href="#L735">735</a>                 }
<a class="jxr_linenumber" name="L736" href="#L736">736</a>             }
<a class="jxr_linenumber" name="L737" href="#L737">737</a> 
<a class="jxr_linenumber" name="L738" href="#L738">738</a>             writeProperties( properties, directory, PROJECT_VERSION_METADATA_KEY );
<a class="jxr_linenumber" name="L739" href="#L739">739</a>         }
<a class="jxr_linenumber" name="L740" href="#L740">740</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L741" href="#L741">741</a>         {
<a class="jxr_linenumber" name="L742" href="#L742">742</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MetadataRepositoryException( e.getMessage(), e );
<a class="jxr_linenumber" name="L743" href="#L743">743</a>         }
<a class="jxr_linenumber" name="L744" href="#L744">744</a> 
<a class="jxr_linenumber" name="L745" href="#L745">745</a>     }
<a class="jxr_linenumber" name="L746" href="#L746">746</a> 
<a class="jxr_linenumber" name="L747" href="#L747">747</a>     @Override
<a class="jxr_linenumber" name="L748" href="#L748">748</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeArtifact( String repoId, String namespace, String project, String version, String id )
<a class="jxr_linenumber" name="L749" href="#L749">749</a>         <strong class="jxr_keyword">throws</strong> MetadataRepositoryException
<a class="jxr_linenumber" name="L750" href="#L750">750</a>     {
<a class="jxr_linenumber" name="L751" href="#L751">751</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L752" href="#L752">752</a>         {
<a class="jxr_linenumber" name="L753" href="#L753">753</a>             File directory = <strong class="jxr_keyword">new</strong> File( getDirectory( repoId ), namespace + <span class="jxr_string">"/"</span> + project + <span class="jxr_string">"/"</span> + version );
<a class="jxr_linenumber" name="L754" href="#L754">754</a> 
<a class="jxr_linenumber" name="L755" href="#L755">755</a>             Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
<a class="jxr_linenumber" name="L756" href="#L756">756</a> 
<a class="jxr_linenumber" name="L757" href="#L757">757</a>             properties.remove( <span class="jxr_string">"artifact:updated:"</span> + id );
<a class="jxr_linenumber" name="L758" href="#L758">758</a>             properties.remove( <span class="jxr_string">"artifact:whenGathered:"</span> + id );
<a class="jxr_linenumber" name="L759" href="#L759">759</a>             properties.remove( <span class="jxr_string">"artifact:size:"</span> + id );
<a class="jxr_linenumber" name="L760" href="#L760">760</a>             properties.remove( <span class="jxr_string">"artifact:md5:"</span> + id );
<a class="jxr_linenumber" name="L761" href="#L761">761</a>             properties.remove( <span class="jxr_string">"artifact:sha1:"</span> + id );
<a class="jxr_linenumber" name="L762" href="#L762">762</a>             properties.remove( <span class="jxr_string">"artifact:version:"</span> + id );
<a class="jxr_linenumber" name="L763" href="#L763">763</a>             properties.remove( <span class="jxr_string">"artifact:facetIds:"</span> + id );
<a class="jxr_linenumber" name="L764" href="#L764">764</a> 
<a class="jxr_linenumber" name="L765" href="#L765">765</a>             String prefix = <span class="jxr_string">"artifact:facet:"</span> + id + <span class="jxr_string">":"</span>;
<a class="jxr_linenumber" name="L766" href="#L766">766</a>             <strong class="jxr_keyword">for</strong> ( Object key : <strong class="jxr_keyword">new</strong> ArrayList( properties.keySet() ) )
<a class="jxr_linenumber" name="L767" href="#L767">767</a>             {
<a class="jxr_linenumber" name="L768" href="#L768">768</a>                 String property = (String) key;
<a class="jxr_linenumber" name="L769" href="#L769">769</a>                 <strong class="jxr_keyword">if</strong> ( property.startsWith( prefix ) )
<a class="jxr_linenumber" name="L770" href="#L770">770</a>                 {
<a class="jxr_linenumber" name="L771" href="#L771">771</a>                     properties.remove( property );
<a class="jxr_linenumber" name="L772" href="#L772">772</a>                 }
<a class="jxr_linenumber" name="L773" href="#L773">773</a>             }
<a class="jxr_linenumber" name="L774" href="#L774">774</a> 
<a class="jxr_linenumber" name="L775" href="#L775">775</a>             FileUtils.deleteDirectory( directory );
<a class="jxr_linenumber" name="L776" href="#L776">776</a>             <em class="jxr_comment">//writeProperties( properties, directory, PROJECT_VERSION_METADATA_KEY );</em>
<a class="jxr_linenumber" name="L777" href="#L777">777</a>         }
<a class="jxr_linenumber" name="L778" href="#L778">778</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L779" href="#L779">779</a>         {
<a class="jxr_linenumber" name="L780" href="#L780">780</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MetadataRepositoryException( e.getMessage(), e );
<a class="jxr_linenumber" name="L781" href="#L781">781</a>         }
<a class="jxr_linenumber" name="L782" href="#L782">782</a>     }
<a class="jxr_linenumber" name="L783" href="#L783">783</a> 
<a class="jxr_linenumber" name="L784" href="#L784">784</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L785" href="#L785">785</a> <em class="jxr_javadoccomment">     * FIXME implements this !!!!</em>
<a class="jxr_linenumber" name="L786" href="#L786">786</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L787" href="#L787">787</a> <em class="jxr_javadoccomment">     * @param repositoryId</em>
<a class="jxr_linenumber" name="L788" href="#L788">788</a> <em class="jxr_javadoccomment">     * @param namespace</em>
<a class="jxr_linenumber" name="L789" href="#L789">789</a> <em class="jxr_javadoccomment">     * @param project</em>
<a class="jxr_linenumber" name="L790" href="#L790">790</a> <em class="jxr_javadoccomment">     * @param projectVersion</em>
<a class="jxr_linenumber" name="L791" href="#L791">791</a> <em class="jxr_javadoccomment">     * @param metadataFacet  will remove artifacts which have this {@link MetadataFacet} using equals</em>
<a class="jxr_linenumber" name="L792" href="#L792">792</a> <em class="jxr_javadoccomment">     * @throws MetadataRepositoryException</em>
<a class="jxr_linenumber" name="L793" href="#L793">793</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L794" href="#L794">794</a>     @Override
<a class="jxr_linenumber" name="L795" href="#L795">795</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeArtifact( String repositoryId, String namespace, String project, String projectVersion,
<a class="jxr_linenumber" name="L796" href="#L796">796</a>                                 MetadataFacet metadataFacet )
<a class="jxr_linenumber" name="L797" href="#L797">797</a>         <strong class="jxr_keyword">throws</strong> MetadataRepositoryException
<a class="jxr_linenumber" name="L798" href="#L798">798</a>     {
<a class="jxr_linenumber" name="L799" href="#L799">799</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> UnsupportedOperationException( <span class="jxr_string">"not implemented"</span> );
<a class="jxr_linenumber" name="L800" href="#L800">800</a>     }
<a class="jxr_linenumber" name="L801" href="#L801">801</a> 
<a class="jxr_linenumber" name="L802" href="#L802">802</a>     @Override
<a class="jxr_linenumber" name="L803" href="#L803">803</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeRepository( String repoId )
<a class="jxr_linenumber" name="L804" href="#L804">804</a>         <strong class="jxr_keyword">throws</strong> MetadataRepositoryException
<a class="jxr_linenumber" name="L805" href="#L805">805</a>     {
<a class="jxr_linenumber" name="L806" href="#L806">806</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L807" href="#L807">807</a>         {
<a class="jxr_linenumber" name="L808" href="#L808">808</a>             File dir = getDirectory( repoId );
<a class="jxr_linenumber" name="L809" href="#L809">809</a>             FileUtils.deleteDirectory( dir );
<a class="jxr_linenumber" name="L810" href="#L810">810</a>         }
<a class="jxr_linenumber" name="L811" href="#L811">811</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L812" href="#L812">812</a>         {
<a class="jxr_linenumber" name="L813" href="#L813">813</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MetadataRepositoryException( e.getMessage(), e );
<a class="jxr_linenumber" name="L814" href="#L814">814</a>         }
<a class="jxr_linenumber" name="L815" href="#L815">815</a>     }
<a class="jxr_linenumber" name="L816" href="#L816">816</a> 
<a class="jxr_linenumber" name="L817" href="#L817">817</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> getArtifactsByChecksum( List&lt;ArtifactMetadata&gt; artifacts, String repositoryId, String ns,
<a class="jxr_linenumber" name="L818" href="#L818">818</a>                                          String checksum )
<a class="jxr_linenumber" name="L819" href="#L819">819</a>         <strong class="jxr_keyword">throws</strong> MetadataRepositoryException
<a class="jxr_linenumber" name="L820" href="#L820">820</a>     {
<a class="jxr_linenumber" name="L821" href="#L821">821</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L822" href="#L822">822</a>         {
<a class="jxr_linenumber" name="L823" href="#L823">823</a>             <strong class="jxr_keyword">for</strong> ( String namespace : getNamespaces( repositoryId, ns ) )
<a class="jxr_linenumber" name="L824" href="#L824">824</a>             {
<a class="jxr_linenumber" name="L825" href="#L825">825</a>                 getArtifactsByChecksum( artifacts, repositoryId, ns + <span class="jxr_string">"."</span> + namespace, checksum );
<a class="jxr_linenumber" name="L826" href="#L826">826</a>             }
<a class="jxr_linenumber" name="L827" href="#L827">827</a> 
<a class="jxr_linenumber" name="L828" href="#L828">828</a>             <strong class="jxr_keyword">for</strong> ( String project : getProjects( repositoryId, ns ) )
<a class="jxr_linenumber" name="L829" href="#L829">829</a>             {
<a class="jxr_linenumber" name="L830" href="#L830">830</a>                 <strong class="jxr_keyword">for</strong> ( String version : getProjectVersions( repositoryId, ns, project ) )
<a class="jxr_linenumber" name="L831" href="#L831">831</a>                 {
<a class="jxr_linenumber" name="L832" href="#L832">832</a>                     <strong class="jxr_keyword">for</strong> ( ArtifactMetadata artifact : getArtifacts( repositoryId, ns, project, version ) )
<a class="jxr_linenumber" name="L833" href="#L833">833</a>                     {
<a class="jxr_linenumber" name="L834" href="#L834">834</a>                         <strong class="jxr_keyword">if</strong> ( checksum.equals( artifact.getMd5() ) || checksum.equals( artifact.getSha1() ) )
<a class="jxr_linenumber" name="L835" href="#L835">835</a>                         {
<a class="jxr_linenumber" name="L836" href="#L836">836</a>                             artifacts.add( artifact );
<a class="jxr_linenumber" name="L837" href="#L837">837</a>                         }
<a class="jxr_linenumber" name="L838" href="#L838">838</a>                     }
<a class="jxr_linenumber" name="L839" href="#L839">839</a>                 }
<a class="jxr_linenumber" name="L840" href="#L840">840</a>             }
<a class="jxr_linenumber" name="L841" href="#L841">841</a>         }
<a class="jxr_linenumber" name="L842" href="#L842">842</a>         <strong class="jxr_keyword">catch</strong> ( MetadataResolutionException e )
<a class="jxr_linenumber" name="L843" href="#L843">843</a>         {
<a class="jxr_linenumber" name="L844" href="#L844">844</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MetadataRepositoryException( e.getMessage(), e );
<a class="jxr_linenumber" name="L845" href="#L845">845</a>         }
<a class="jxr_linenumber" name="L846" href="#L846">846</a>     }
<a class="jxr_linenumber" name="L847" href="#L847">847</a> 
<a class="jxr_linenumber" name="L848" href="#L848">848</a>     @Override
<a class="jxr_linenumber" name="L849" href="#L849">849</a>     <strong class="jxr_keyword">public</strong> List&lt;ArtifactMetadata&gt; getArtifactsByProjectVersionMetadata( String key, String value, String repositoryId )
<a class="jxr_linenumber" name="L850" href="#L850">850</a>         <strong class="jxr_keyword">throws</strong> MetadataRepositoryException
<a class="jxr_linenumber" name="L851" href="#L851">851</a>     {
<a class="jxr_linenumber" name="L852" href="#L852">852</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> UnsupportedOperationException( <span class="jxr_string">"not yet implemented in File backend"</span> );
<a class="jxr_linenumber" name="L853" href="#L853">853</a>     }
<a class="jxr_linenumber" name="L854" href="#L854">854</a> 
<a class="jxr_linenumber" name="L855" href="#L855">855</a>     @Override
<a class="jxr_linenumber" name="L856" href="#L856">856</a>     <strong class="jxr_keyword">public</strong> List&lt;ArtifactMetadata&gt; getArtifactsByMetadata( String key, String value, String repositoryId )
<a class="jxr_linenumber" name="L857" href="#L857">857</a>         <strong class="jxr_keyword">throws</strong> MetadataRepositoryException
<a class="jxr_linenumber" name="L858" href="#L858">858</a>     {
<a class="jxr_linenumber" name="L859" href="#L859">859</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> UnsupportedOperationException( <span class="jxr_string">"not yet implemented in File backend"</span> );
<a class="jxr_linenumber" name="L860" href="#L860">860</a>     }
<a class="jxr_linenumber" name="L861" href="#L861">861</a> 
<a class="jxr_linenumber" name="L862" href="#L862">862</a>     @Override
<a class="jxr_linenumber" name="L863" href="#L863">863</a>     <strong class="jxr_keyword">public</strong> List&lt;ArtifactMetadata&gt; getArtifactsByProperty( String key, String value, String repositoryId )
<a class="jxr_linenumber" name="L864" href="#L864">864</a>         <strong class="jxr_keyword">throws</strong> MetadataRepositoryException
<a class="jxr_linenumber" name="L865" href="#L865">865</a>     {
<a class="jxr_linenumber" name="L866" href="#L866">866</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> UnsupportedOperationException( <span class="jxr_string">"getArtifactsByProperty not yet implemented in File backend"</span> );
<a class="jxr_linenumber" name="L867" href="#L867">867</a>     }
<a class="jxr_linenumber" name="L868" href="#L868">868</a> 
<a class="jxr_linenumber" name="L869" href="#L869">869</a>     <strong class="jxr_keyword">private</strong> File getMetadataDirectory( String repoId, String facetId )
<a class="jxr_linenumber" name="L870" href="#L870">870</a>         <strong class="jxr_keyword">throws</strong> IOException
<a class="jxr_linenumber" name="L871" href="#L871">871</a>     {
<a class="jxr_linenumber" name="L872" href="#L872">872</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> File( getBaseDirectory( repoId ), <span class="jxr_string">"facets/"</span> + facetId );
<a class="jxr_linenumber" name="L873" href="#L873">873</a>     }
<a class="jxr_linenumber" name="L874" href="#L874">874</a> 
<a class="jxr_linenumber" name="L875" href="#L875">875</a>     <strong class="jxr_keyword">private</strong> String join( Collection&lt;String&gt; ids )
<a class="jxr_linenumber" name="L876" href="#L876">876</a>     {
<a class="jxr_linenumber" name="L877" href="#L877">877</a>         <strong class="jxr_keyword">if</strong> ( ids != <strong class="jxr_keyword">null</strong> &amp;&amp; !ids.isEmpty() )
<a class="jxr_linenumber" name="L878" href="#L878">878</a>         {
<a class="jxr_linenumber" name="L879" href="#L879">879</a>             StringBuilder s = <strong class="jxr_keyword">new</strong> StringBuilder();
<a class="jxr_linenumber" name="L880" href="#L880">880</a>             <strong class="jxr_keyword">for</strong> ( String id : ids )
<a class="jxr_linenumber" name="L881" href="#L881">881</a>             {
<a class="jxr_linenumber" name="L882" href="#L882">882</a>                 s.append( id );
<a class="jxr_linenumber" name="L883" href="#L883">883</a>                 s.append( <span class="jxr_string">","</span> );
<a class="jxr_linenumber" name="L884" href="#L884">884</a>             }
<a class="jxr_linenumber" name="L885" href="#L885">885</a>             <strong class="jxr_keyword">return</strong> s.substring( 0, s.length() - 1 );
<a class="jxr_linenumber" name="L886" href="#L886">886</a>         }
<a class="jxr_linenumber" name="L887" href="#L887">887</a>         <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>;
<a class="jxr_linenumber" name="L888" href="#L888">888</a>     }
<a class="jxr_linenumber" name="L889" href="#L889">889</a> 
<a class="jxr_linenumber" name="L890" href="#L890">890</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> setProperty( Properties properties, String name, String value )
<a class="jxr_linenumber" name="L891" href="#L891">891</a>     {
<a class="jxr_linenumber" name="L892" href="#L892">892</a>         <strong class="jxr_keyword">if</strong> ( value != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L893" href="#L893">893</a>         {
<a class="jxr_linenumber" name="L894" href="#L894">894</a>             properties.setProperty( name, value );
<a class="jxr_linenumber" name="L895" href="#L895">895</a>         }
<a class="jxr_linenumber" name="L896" href="#L896">896</a>     }
<a class="jxr_linenumber" name="L897" href="#L897">897</a> 
<a class="jxr_linenumber" name="L898" href="#L898">898</a>     @Override
<a class="jxr_linenumber" name="L899" href="#L899">899</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> updateArtifact( String repoId, String namespace, String projectId, String projectVersion,
<a class="jxr_linenumber" name="L900" href="#L900">900</a>                                 ArtifactMetadata artifact )
<a class="jxr_linenumber" name="L901" href="#L901">901</a>     {
<a class="jxr_linenumber" name="L902" href="#L902">902</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L903" href="#L903">903</a>         {
<a class="jxr_linenumber" name="L904" href="#L904">904</a>             ProjectVersionMetadata metadata = <strong class="jxr_keyword">new</strong> ProjectVersionMetadata();
<a class="jxr_linenumber" name="L905" href="#L905">905</a>             metadata.setId( projectVersion );
<a class="jxr_linenumber" name="L906" href="#L906">906</a>             updateProjectVersion( repoId, namespace, projectId, metadata );
<a class="jxr_linenumber" name="L907" href="#L907">907</a> 
<a class="jxr_linenumber" name="L908" href="#L908">908</a>             File directory = <strong class="jxr_keyword">new</strong> File( getDirectory( repoId ), namespace + <span class="jxr_string">"/"</span> + projectId + <span class="jxr_string">"/"</span> + projectVersion );
<a class="jxr_linenumber" name="L909" href="#L909">909</a> 
<a class="jxr_linenumber" name="L910" href="#L910">910</a>             Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
<a class="jxr_linenumber" name="L911" href="#L911">911</a> 
<a class="jxr_linenumber" name="L912" href="#L912">912</a>             clearMetadataFacetProperties( artifact.getFacetList(), properties,
<a class="jxr_linenumber" name="L913" href="#L913">913</a>                                           <span class="jxr_string">"artifact:facet:"</span> + artifact.getId() + <span class="jxr_string">":"</span> );
<a class="jxr_linenumber" name="L914" href="#L914">914</a> 
<a class="jxr_linenumber" name="L915" href="#L915">915</a>             String id = artifact.getId();
<a class="jxr_linenumber" name="L916" href="#L916">916</a>             properties.setProperty( <span class="jxr_string">"artifact:updated:"</span> + id,
<a class="jxr_linenumber" name="L917" href="#L917">917</a>                                     Long.toString( artifact.getFileLastModified().getTime() ) );
<a class="jxr_linenumber" name="L918" href="#L918">918</a>             properties.setProperty( <span class="jxr_string">"artifact:whenGathered:"</span> + id,
<a class="jxr_linenumber" name="L919" href="#L919">919</a>                                     Long.toString( artifact.getWhenGathered().getTime() ) );
<a class="jxr_linenumber" name="L920" href="#L920">920</a>             properties.setProperty( <span class="jxr_string">"artifact:size:"</span> + id, Long.toString( artifact.getSize() ) );
<a class="jxr_linenumber" name="L921" href="#L921">921</a>             <strong class="jxr_keyword">if</strong> ( artifact.getMd5() != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L922" href="#L922">922</a>             {
<a class="jxr_linenumber" name="L923" href="#L923">923</a>                 properties.setProperty( <span class="jxr_string">"artifact:md5:"</span> + id, artifact.getMd5() );
<a class="jxr_linenumber" name="L924" href="#L924">924</a>             }
<a class="jxr_linenumber" name="L925" href="#L925">925</a>             <strong class="jxr_keyword">if</strong> ( artifact.getSha1() != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L926" href="#L926">926</a>             {
<a class="jxr_linenumber" name="L927" href="#L927">927</a>                 properties.setProperty( <span class="jxr_string">"artifact:sha1:"</span> + id, artifact.getSha1() );
<a class="jxr_linenumber" name="L928" href="#L928">928</a>             }
<a class="jxr_linenumber" name="L929" href="#L929">929</a>             properties.setProperty( <span class="jxr_string">"artifact:version:"</span> + id, artifact.getVersion() );
<a class="jxr_linenumber" name="L930" href="#L930">930</a> 
<a class="jxr_linenumber" name="L931" href="#L931">931</a>             Set&lt;String&gt; facetIds = <strong class="jxr_keyword">new</strong> LinkedHashSet&lt;String&gt;( artifact.getFacetIds() );
<a class="jxr_linenumber" name="L932" href="#L932">932</a>             String property = <span class="jxr_string">"artifact:facetIds:"</span> + id;
<a class="jxr_linenumber" name="L933" href="#L933">933</a>             facetIds.addAll( Arrays.asList( properties.getProperty( property, <span class="jxr_string">""</span> ).split( <span class="jxr_string">","</span> ) ) );
<a class="jxr_linenumber" name="L934" href="#L934">934</a>             properties.setProperty( property, join( facetIds ) );
<a class="jxr_linenumber" name="L935" href="#L935">935</a> 
<a class="jxr_linenumber" name="L936" href="#L936">936</a>             updateArtifactFacets( artifact, properties );
<a class="jxr_linenumber" name="L937" href="#L937">937</a> 
<a class="jxr_linenumber" name="L938" href="#L938">938</a>             writeProperties( properties, directory, PROJECT_VERSION_METADATA_KEY );
<a class="jxr_linenumber" name="L939" href="#L939">939</a>         }
<a class="jxr_linenumber" name="L940" href="#L940">940</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L941" href="#L941">941</a>         {
<a class="jxr_linenumber" name="L942" href="#L942">942</a>             <em class="jxr_comment">// TODO</em>
<a class="jxr_linenumber" name="L943" href="#L943">943</a>             log.error( e.getMessage(), e );
<a class="jxr_linenumber" name="L944" href="#L944">944</a>         }
<a class="jxr_linenumber" name="L945" href="#L945">945</a>     }
<a class="jxr_linenumber" name="L946" href="#L946">946</a> 
<a class="jxr_linenumber" name="L947" href="#L947">947</a>     <strong class="jxr_keyword">private</strong> Properties readOrCreateProperties( File directory, String propertiesKey )
<a class="jxr_linenumber" name="L948" href="#L948">948</a>     {
<a class="jxr_linenumber" name="L949" href="#L949">949</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L950" href="#L950">950</a>         {
<a class="jxr_linenumber" name="L951" href="#L951">951</a>             <strong class="jxr_keyword">return</strong> readProperties( directory, propertiesKey );
<a class="jxr_linenumber" name="L952" href="#L952">952</a>         }
<a class="jxr_linenumber" name="L953" href="#L953">953</a>         <strong class="jxr_keyword">catch</strong> ( FileNotFoundException | NoSuchFileException e )
<a class="jxr_linenumber" name="L954" href="#L954">954</a>         {
<a class="jxr_linenumber" name="L955" href="#L955">955</a>             <em class="jxr_comment">// ignore and return new properties</em>
<a class="jxr_linenumber" name="L956" href="#L956">956</a>         }
<a class="jxr_linenumber" name="L957" href="#L957">957</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L958" href="#L958">958</a>         {
<a class="jxr_linenumber" name="L959" href="#L959">959</a>             <em class="jxr_comment">// TODO</em>
<a class="jxr_linenumber" name="L960" href="#L960">960</a>             log.error( e.getMessage(), e );
<a class="jxr_linenumber" name="L961" href="#L961">961</a>         }
<a class="jxr_linenumber" name="L962" href="#L962">962</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Properties();
<a class="jxr_linenumber" name="L963" href="#L963">963</a>     }
<a class="jxr_linenumber" name="L964" href="#L964">964</a> 
<a class="jxr_linenumber" name="L965" href="#L965">965</a>     <strong class="jxr_keyword">private</strong> Properties readProperties( File directory, String propertiesKey )
<a class="jxr_linenumber" name="L966" href="#L966">966</a>         <strong class="jxr_keyword">throws</strong> IOException
<a class="jxr_linenumber" name="L967" href="#L967">967</a>     {
<a class="jxr_linenumber" name="L968" href="#L968">968</a>         Properties properties = <strong class="jxr_keyword">new</strong> Properties();
<a class="jxr_linenumber" name="L969" href="#L969">969</a>         <strong class="jxr_keyword">try</strong> (InputStream in = Files.newInputStream( <strong class="jxr_keyword">new</strong> File( directory, propertiesKey + <span class="jxr_string">".properties"</span> ).toPath() ))
<a class="jxr_linenumber" name="L970" href="#L970">970</a>         {
<a class="jxr_linenumber" name="L971" href="#L971">971</a> 
<a class="jxr_linenumber" name="L972" href="#L972">972</a>             properties.load( in );
<a class="jxr_linenumber" name="L973" href="#L973">973</a>         }
<a class="jxr_linenumber" name="L974" href="#L974">974</a>         <strong class="jxr_keyword">return</strong> properties;
<a class="jxr_linenumber" name="L975" href="#L975">975</a>     }
<a class="jxr_linenumber" name="L976" href="#L976">976</a> 
<a class="jxr_linenumber" name="L977" href="#L977">977</a>     @Override
<a class="jxr_linenumber" name="L978" href="#L978">978</a>     <strong class="jxr_keyword">public</strong> ProjectMetadata getProject( String repoId, String namespace, String projectId )
<a class="jxr_linenumber" name="L979" href="#L979">979</a>         <strong class="jxr_keyword">throws</strong> MetadataResolutionException
<a class="jxr_linenumber" name="L980" href="#L980">980</a>     {
<a class="jxr_linenumber" name="L981" href="#L981">981</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L982" href="#L982">982</a>         {
<a class="jxr_linenumber" name="L983" href="#L983">983</a>             File directory = <strong class="jxr_keyword">new</strong> File( getDirectory( repoId ), namespace + <span class="jxr_string">"/"</span> + projectId );
<a class="jxr_linenumber" name="L984" href="#L984">984</a> 
<a class="jxr_linenumber" name="L985" href="#L985">985</a>             Properties properties = readOrCreateProperties( directory, PROJECT_METADATA_KEY );
<a class="jxr_linenumber" name="L986" href="#L986">986</a> 
<a class="jxr_linenumber" name="L987" href="#L987">987</a>             ProjectMetadata project = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L988" href="#L988">988</a> 
<a class="jxr_linenumber" name="L989" href="#L989">989</a>             String id = properties.getProperty( <span class="jxr_string">"id"</span> );
<a class="jxr_linenumber" name="L990" href="#L990">990</a>             <strong class="jxr_keyword">if</strong> ( id != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L991" href="#L991">991</a>             {
<a class="jxr_linenumber" name="L992" href="#L992">992</a>                 project = <strong class="jxr_keyword">new</strong> ProjectMetadata();
<a class="jxr_linenumber" name="L993" href="#L993">993</a>                 project.setNamespace( properties.getProperty( <span class="jxr_string">"namespace"</span> ) );
<a class="jxr_linenumber" name="L994" href="#L994">994</a>                 project.setId( id );
<a class="jxr_linenumber" name="L995" href="#L995">995</a>             }
<a class="jxr_linenumber" name="L996" href="#L996">996</a> 
<a class="jxr_linenumber" name="L997" href="#L997">997</a>             <strong class="jxr_keyword">return</strong> project;
<a class="jxr_linenumber" name="L998" href="#L998">998</a>         }
<a class="jxr_linenumber" name="L999" href="#L999">999</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L1000" href="#L1000">1000</a>         {
<a class="jxr_linenumber" name="L1001" href="#L1001">1001</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MetadataResolutionException( e.getMessage(), e );
<a class="jxr_linenumber" name="L1002" href="#L1002">1002</a>         }
<a class="jxr_linenumber" name="L1003" href="#L1003">1003</a>     }
<a class="jxr_linenumber" name="L1004" href="#L1004">1004</a> 
<a class="jxr_linenumber" name="L1005" href="#L1005">1005</a>     @Override
<a class="jxr_linenumber" name="L1006" href="#L1006">1006</a>     <strong class="jxr_keyword">public</strong> ProjectVersionMetadata getProjectVersion( String repoId, String namespace, String projectId,
<a class="jxr_linenumber" name="L1007" href="#L1007">1007</a>                                                      String projectVersion )
<a class="jxr_linenumber" name="L1008" href="#L1008">1008</a>         <strong class="jxr_keyword">throws</strong> MetadataResolutionException
<a class="jxr_linenumber" name="L1009" href="#L1009">1009</a>     {
<a class="jxr_linenumber" name="L1010" href="#L1010">1010</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L1011" href="#L1011">1011</a>         {
<a class="jxr_linenumber" name="L1012" href="#L1012">1012</a>             File directory = <strong class="jxr_keyword">new</strong> File( getDirectory( repoId ), namespace + <span class="jxr_string">"/"</span> + projectId + <span class="jxr_string">"/"</span> + projectVersion );
<a class="jxr_linenumber" name="L1013" href="#L1013">1013</a> 
<a class="jxr_linenumber" name="L1014" href="#L1014">1014</a>             Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
<a class="jxr_linenumber" name="L1015" href="#L1015">1015</a>             String id = properties.getProperty( <span class="jxr_string">"id"</span> );
<a class="jxr_linenumber" name="L1016" href="#L1016">1016</a>             ProjectVersionMetadata versionMetadata = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L1017" href="#L1017">1017</a>             <strong class="jxr_keyword">if</strong> ( id != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L1018" href="#L1018">1018</a>             {
<a class="jxr_linenumber" name="L1019" href="#L1019">1019</a>                 versionMetadata = <strong class="jxr_keyword">new</strong> ProjectVersionMetadata();
<a class="jxr_linenumber" name="L1020" href="#L1020">1020</a>                 versionMetadata.setId( id );
<a class="jxr_linenumber" name="L1021" href="#L1021">1021</a>                 versionMetadata.setName( properties.getProperty( <span class="jxr_string">"name"</span> ) );
<a class="jxr_linenumber" name="L1022" href="#L1022">1022</a>                 versionMetadata.setDescription( properties.getProperty( <span class="jxr_string">"description"</span> ) );
<a class="jxr_linenumber" name="L1023" href="#L1023">1023</a>                 versionMetadata.setUrl( properties.getProperty( <span class="jxr_string">"url"</span> ) );
<a class="jxr_linenumber" name="L1024" href="#L1024">1024</a>                 versionMetadata.setIncomplete( Boolean.valueOf( properties.getProperty( <span class="jxr_string">"incomplete"</span>, <span class="jxr_string">"false"</span> ) ) );
<a class="jxr_linenumber" name="L1025" href="#L1025">1025</a> 
<a class="jxr_linenumber" name="L1026" href="#L1026">1026</a>                 String scmConnection = properties.getProperty( <span class="jxr_string">"scm.connection"</span> );
<a class="jxr_linenumber" name="L1027" href="#L1027">1027</a>                 String scmDeveloperConnection = properties.getProperty( <span class="jxr_string">"scm.developerConnection"</span> );
<a class="jxr_linenumber" name="L1028" href="#L1028">1028</a>                 String scmUrl = properties.getProperty( <span class="jxr_string">"scm.url"</span> );
<a class="jxr_linenumber" name="L1029" href="#L1029">1029</a>                 <strong class="jxr_keyword">if</strong> ( scmConnection != <strong class="jxr_keyword">null</strong> || scmDeveloperConnection != <strong class="jxr_keyword">null</strong> || scmUrl != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L1030" href="#L1030">1030</a>                 {
<a class="jxr_linenumber" name="L1031" href="#L1031">1031</a>                     Scm scm = <strong class="jxr_keyword">new</strong> Scm();
<a class="jxr_linenumber" name="L1032" href="#L1032">1032</a>                     scm.setConnection( scmConnection );
<a class="jxr_linenumber" name="L1033" href="#L1033">1033</a>                     scm.setDeveloperConnection( scmDeveloperConnection );
<a class="jxr_linenumber" name="L1034" href="#L1034">1034</a>                     scm.setUrl( scmUrl );
<a class="jxr_linenumber" name="L1035" href="#L1035">1035</a>                     versionMetadata.setScm( scm );
<a class="jxr_linenumber" name="L1036" href="#L1036">1036</a>                 }
<a class="jxr_linenumber" name="L1037" href="#L1037">1037</a> 
<a class="jxr_linenumber" name="L1038" href="#L1038">1038</a>                 String ciSystem = properties.getProperty( <span class="jxr_string">"ci.system"</span> );
<a class="jxr_linenumber" name="L1039" href="#L1039">1039</a>                 String ciUrl = properties.getProperty( <span class="jxr_string">"ci.url"</span> );
<a class="jxr_linenumber" name="L1040" href="#L1040">1040</a>                 <strong class="jxr_keyword">if</strong> ( ciSystem != <strong class="jxr_keyword">null</strong> || ciUrl != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L1041" href="#L1041">1041</a>                 {
<a class="jxr_linenumber" name="L1042" href="#L1042">1042</a>                     CiManagement ci = <strong class="jxr_keyword">new</strong> CiManagement();
<a class="jxr_linenumber" name="L1043" href="#L1043">1043</a>                     ci.setSystem( ciSystem );
<a class="jxr_linenumber" name="L1044" href="#L1044">1044</a>                     ci.setUrl( ciUrl );
<a class="jxr_linenumber" name="L1045" href="#L1045">1045</a>                     versionMetadata.setCiManagement( ci );
<a class="jxr_linenumber" name="L1046" href="#L1046">1046</a>                 }
<a class="jxr_linenumber" name="L1047" href="#L1047">1047</a> 
<a class="jxr_linenumber" name="L1048" href="#L1048">1048</a>                 String issueSystem = properties.getProperty( <span class="jxr_string">"issue.system"</span> );
<a class="jxr_linenumber" name="L1049" href="#L1049">1049</a>                 String issueUrl = properties.getProperty( <span class="jxr_string">"issue.url"</span> );
<a class="jxr_linenumber" name="L1050" href="#L1050">1050</a>                 <strong class="jxr_keyword">if</strong> ( issueSystem != <strong class="jxr_keyword">null</strong> || issueUrl != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L1051" href="#L1051">1051</a>                 {
<a class="jxr_linenumber" name="L1052" href="#L1052">1052</a>                     IssueManagement issueManagement = <strong class="jxr_keyword">new</strong> IssueManagement();
<a class="jxr_linenumber" name="L1053" href="#L1053">1053</a>                     issueManagement.setSystem( issueSystem );
<a class="jxr_linenumber" name="L1054" href="#L1054">1054</a>                     issueManagement.setUrl( issueUrl );
<a class="jxr_linenumber" name="L1055" href="#L1055">1055</a>                     versionMetadata.setIssueManagement( issueManagement );
<a class="jxr_linenumber" name="L1056" href="#L1056">1056</a>                 }
<a class="jxr_linenumber" name="L1057" href="#L1057">1057</a> 
<a class="jxr_linenumber" name="L1058" href="#L1058">1058</a>                 String orgName = properties.getProperty( <span class="jxr_string">"org.name"</span> );
<a class="jxr_linenumber" name="L1059" href="#L1059">1059</a>                 String orgUrl = properties.getProperty( <span class="jxr_string">"org.url"</span> );
<a class="jxr_linenumber" name="L1060" href="#L1060">1060</a>                 <strong class="jxr_keyword">if</strong> ( orgName != <strong class="jxr_keyword">null</strong> || orgUrl != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L1061" href="#L1061">1061</a>                 {
<a class="jxr_linenumber" name="L1062" href="#L1062">1062</a>                     Organization org = <strong class="jxr_keyword">new</strong> Organization();
<a class="jxr_linenumber" name="L1063" href="#L1063">1063</a>                     org.setName( orgName );
<a class="jxr_linenumber" name="L1064" href="#L1064">1064</a>                     org.setUrl( orgUrl );
<a class="jxr_linenumber" name="L1065" href="#L1065">1065</a>                     versionMetadata.setOrganization( org );
<a class="jxr_linenumber" name="L1066" href="#L1066">1066</a>                 }
<a class="jxr_linenumber" name="L1067" href="#L1067">1067</a> 
<a class="jxr_linenumber" name="L1068" href="#L1068">1068</a>                 <strong class="jxr_keyword">boolean</strong> done = false;
<a class="jxr_linenumber" name="L1069" href="#L1069">1069</a>                 <strong class="jxr_keyword">int</strong> i = 0;
<a class="jxr_linenumber" name="L1070" href="#L1070">1070</a>                 <strong class="jxr_keyword">while</strong> ( !done )
<a class="jxr_linenumber" name="L1071" href="#L1071">1071</a>                 {
<a class="jxr_linenumber" name="L1072" href="#L1072">1072</a>                     String licenseName = properties.getProperty( <span class="jxr_string">"license."</span> + i + <span class="jxr_string">".name"</span> );
<a class="jxr_linenumber" name="L1073" href="#L1073">1073</a>                     String licenseUrl = properties.getProperty( <span class="jxr_string">"license."</span> + i + <span class="jxr_string">".url"</span> );
<a class="jxr_linenumber" name="L1074" href="#L1074">1074</a>                     <strong class="jxr_keyword">if</strong> ( licenseName != <strong class="jxr_keyword">null</strong> || licenseUrl != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L1075" href="#L1075">1075</a>                     {
<a class="jxr_linenumber" name="L1076" href="#L1076">1076</a>                         License license = <strong class="jxr_keyword">new</strong> License();
<a class="jxr_linenumber" name="L1077" href="#L1077">1077</a>                         license.setName( licenseName );
<a class="jxr_linenumber" name="L1078" href="#L1078">1078</a>                         license.setUrl( licenseUrl );
<a class="jxr_linenumber" name="L1079" href="#L1079">1079</a>                         versionMetadata.addLicense( license );
<a class="jxr_linenumber" name="L1080" href="#L1080">1080</a>                     }
<a class="jxr_linenumber" name="L1081" href="#L1081">1081</a>                     <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L1082" href="#L1082">1082</a>                     {
<a class="jxr_linenumber" name="L1083" href="#L1083">1083</a>                         done = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L1084" href="#L1084">1084</a>                     }
<a class="jxr_linenumber" name="L1085" href="#L1085">1085</a>                     i++;
<a class="jxr_linenumber" name="L1086" href="#L1086">1086</a>                 }
<a class="jxr_linenumber" name="L1087" href="#L1087">1087</a> 
<a class="jxr_linenumber" name="L1088" href="#L1088">1088</a>                 done = false;
<a class="jxr_linenumber" name="L1089" href="#L1089">1089</a>                 i = 0;
<a class="jxr_linenumber" name="L1090" href="#L1090">1090</a>                 <strong class="jxr_keyword">while</strong> ( !done )
<a class="jxr_linenumber" name="L1091" href="#L1091">1091</a>                 {
<a class="jxr_linenumber" name="L1092" href="#L1092">1092</a>                     String mailingListName = properties.getProperty( <span class="jxr_string">"mailingList."</span> + i + <span class="jxr_string">".name"</span> );
<a class="jxr_linenumber" name="L1093" href="#L1093">1093</a>                     <strong class="jxr_keyword">if</strong> ( mailingListName != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L1094" href="#L1094">1094</a>                     {
<a class="jxr_linenumber" name="L1095" href="#L1095">1095</a>                         MailingList mailingList = <strong class="jxr_keyword">new</strong> MailingList();
<a class="jxr_linenumber" name="L1096" href="#L1096">1096</a>                         mailingList.setName( mailingListName );
<a class="jxr_linenumber" name="L1097" href="#L1097">1097</a>                         mailingList.setMainArchiveUrl( properties.getProperty( <span class="jxr_string">"mailingList."</span> + i + <span class="jxr_string">".archive"</span> ) );
<a class="jxr_linenumber" name="L1098" href="#L1098">1098</a>                         String p = properties.getProperty( <span class="jxr_string">"mailingList."</span> + i + <span class="jxr_string">".otherArchives"</span> );
<a class="jxr_linenumber" name="L1099" href="#L1099">1099</a>                         <strong class="jxr_keyword">if</strong> ( p != <strong class="jxr_keyword">null</strong> &amp;&amp; p.length() &gt; 0 )
<a class="jxr_linenumber" name="L1100" href="#L1100">1100</a>                         {
<a class="jxr_linenumber" name="L1101" href="#L1101">1101</a>                             mailingList.setOtherArchives( Arrays.asList( p.split( <span class="jxr_string">","</span> ) ) );
<a class="jxr_linenumber" name="L1102" href="#L1102">1102</a>                         }
<a class="jxr_linenumber" name="L1103" href="#L1103">1103</a>                         <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L1104" href="#L1104">1104</a>                         {
<a class="jxr_linenumber" name="L1105" href="#L1105">1105</a>                             mailingList.setOtherArchives( Collections.&lt;String&gt;emptyList() );
<a class="jxr_linenumber" name="L1106" href="#L1106">1106</a>                         }
<a class="jxr_linenumber" name="L1107" href="#L1107">1107</a>                         mailingList.setPostAddress( properties.getProperty( <span class="jxr_string">"mailingList."</span> + i + <span class="jxr_string">".post"</span> ) );
<a class="jxr_linenumber" name="L1108" href="#L1108">1108</a>                         mailingList.setSubscribeAddress( properties.getProperty( <span class="jxr_string">"mailingList."</span> + i + <span class="jxr_string">".subscribe"</span> ) );
<a class="jxr_linenumber" name="L1109" href="#L1109">1109</a>                         mailingList.setUnsubscribeAddress(
<a class="jxr_linenumber" name="L1110" href="#L1110">1110</a>                             properties.getProperty( <span class="jxr_string">"mailingList."</span> + i + <span class="jxr_string">".unsubscribe"</span> ) );
<a class="jxr_linenumber" name="L1111" href="#L1111">1111</a>                         versionMetadata.addMailingList( mailingList );
<a class="jxr_linenumber" name="L1112" href="#L1112">1112</a>                     }
<a class="jxr_linenumber" name="L1113" href="#L1113">1113</a>                     <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L1114" href="#L1114">1114</a>                     {
<a class="jxr_linenumber" name="L1115" href="#L1115">1115</a>                         done = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L1116" href="#L1116">1116</a>                     }
<a class="jxr_linenumber" name="L1117" href="#L1117">1117</a>                     i++;
<a class="jxr_linenumber" name="L1118" href="#L1118">1118</a>                 }
<a class="jxr_linenumber" name="L1119" href="#L1119">1119</a> 
<a class="jxr_linenumber" name="L1120" href="#L1120">1120</a>                 done = false;
<a class="jxr_linenumber" name="L1121" href="#L1121">1121</a>                 i = 0;
<a class="jxr_linenumber" name="L1122" href="#L1122">1122</a>                 <strong class="jxr_keyword">while</strong> ( !done )
<a class="jxr_linenumber" name="L1123" href="#L1123">1123</a>                 {
<a class="jxr_linenumber" name="L1124" href="#L1124">1124</a>                     String dependencyArtifactId = properties.getProperty( <span class="jxr_string">"dependency."</span> + i + <span class="jxr_string">".artifactId"</span> );
<a class="jxr_linenumber" name="L1125" href="#L1125">1125</a>                     <strong class="jxr_keyword">if</strong> ( dependencyArtifactId != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L1126" href="#L1126">1126</a>                     {
<a class="jxr_linenumber" name="L1127" href="#L1127">1127</a>                         Dependency dependency = <strong class="jxr_keyword">new</strong> Dependency();
<a class="jxr_linenumber" name="L1128" href="#L1128">1128</a>                         dependency.setArtifactId( dependencyArtifactId );
<a class="jxr_linenumber" name="L1129" href="#L1129">1129</a>                         dependency.setGroupId( properties.getProperty( <span class="jxr_string">"dependency."</span> + i + <span class="jxr_string">".groupId"</span> ) );
<a class="jxr_linenumber" name="L1130" href="#L1130">1130</a>                         dependency.setClassifier( properties.getProperty( <span class="jxr_string">"dependency."</span> + i + <span class="jxr_string">".classifier"</span> ) );
<a class="jxr_linenumber" name="L1131" href="#L1131">1131</a>                         dependency.setOptional(
<a class="jxr_linenumber" name="L1132" href="#L1132">1132</a>                             Boolean.valueOf( properties.getProperty( <span class="jxr_string">"dependency."</span> + i + <span class="jxr_string">".optional"</span> ) ) );
<a class="jxr_linenumber" name="L1133" href="#L1133">1133</a>                         dependency.setScope( properties.getProperty( <span class="jxr_string">"dependency."</span> + i + <span class="jxr_string">".scope"</span> ) );
<a class="jxr_linenumber" name="L1134" href="#L1134">1134</a>                         dependency.setSystemPath( properties.getProperty( <span class="jxr_string">"dependency."</span> + i + <span class="jxr_string">".systemPath"</span> ) );
<a class="jxr_linenumber" name="L1135" href="#L1135">1135</a>                         dependency.setType( properties.getProperty( <span class="jxr_string">"dependency."</span> + i + <span class="jxr_string">".type"</span> ) );
<a class="jxr_linenumber" name="L1136" href="#L1136">1136</a>                         dependency.setVersion( properties.getProperty( <span class="jxr_string">"dependency."</span> + i + <span class="jxr_string">".version"</span> ) );
<a class="jxr_linenumber" name="L1137" href="#L1137">1137</a>                         dependency.setOptional(
<a class="jxr_linenumber" name="L1138" href="#L1138">1138</a>                             Boolean.valueOf( properties.getProperty( <span class="jxr_string">"dependency."</span> + i + <span class="jxr_string">".optional"</span> ) ) );
<a class="jxr_linenumber" name="L1139" href="#L1139">1139</a>                         versionMetadata.addDependency( dependency );
<a class="jxr_linenumber" name="L1140" href="#L1140">1140</a>                     }
<a class="jxr_linenumber" name="L1141" href="#L1141">1141</a>                     <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L1142" href="#L1142">1142</a>                     {
<a class="jxr_linenumber" name="L1143" href="#L1143">1143</a>                         done = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L1144" href="#L1144">1144</a>                     }
<a class="jxr_linenumber" name="L1145" href="#L1145">1145</a>                     i++;
<a class="jxr_linenumber" name="L1146" href="#L1146">1146</a>                 }
<a class="jxr_linenumber" name="L1147" href="#L1147">1147</a> 
<a class="jxr_linenumber" name="L1148" href="#L1148">1148</a>                 String facetIds = properties.getProperty( <span class="jxr_string">"facetIds"</span>, <span class="jxr_string">""</span> );
<a class="jxr_linenumber" name="L1149" href="#L1149">1149</a>                 <strong class="jxr_keyword">if</strong> ( facetIds.length() &gt; 0 )
<a class="jxr_linenumber" name="L1150" href="#L1150">1150</a>                 {
<a class="jxr_linenumber" name="L1151" href="#L1151">1151</a>                     <strong class="jxr_keyword">for</strong> ( String facetId : facetIds.split( <span class="jxr_string">","</span> ) )
<a class="jxr_linenumber" name="L1152" href="#L1152">1152</a>                     {
<a class="jxr_linenumber" name="L1153" href="#L1153">1153</a>                         MetadataFacetFactory factory = metadataFacetFactories.get( facetId );
<a class="jxr_linenumber" name="L1154" href="#L1154">1154</a>                         <strong class="jxr_keyword">if</strong> ( factory == <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L1155" href="#L1155">1155</a>                         {
<a class="jxr_linenumber" name="L1156" href="#L1156">1156</a>                             log.error( <span class="jxr_string">"Attempted to load unknown project version metadata facet: {}"</span>, facetId );
<a class="jxr_linenumber" name="L1157" href="#L1157">1157</a>                         }
<a class="jxr_linenumber" name="L1158" href="#L1158">1158</a>                         <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L1159" href="#L1159">1159</a>                         {
<a class="jxr_linenumber" name="L1160" href="#L1160">1160</a>                             MetadataFacet facet = factory.createMetadataFacet();
<a class="jxr_linenumber" name="L1161" href="#L1161">1161</a>                             Map&lt;String, String&gt; map = <strong class="jxr_keyword">new</strong> HashMap&lt;&gt;();
<a class="jxr_linenumber" name="L1162" href="#L1162">1162</a>                             <strong class="jxr_keyword">for</strong> ( Object key : <strong class="jxr_keyword">new</strong> ArrayList( properties.keySet() ) )
<a class="jxr_linenumber" name="L1163" href="#L1163">1163</a>                             {
<a class="jxr_linenumber" name="L1164" href="#L1164">1164</a>                                 String property = (String) key;
<a class="jxr_linenumber" name="L1165" href="#L1165">1165</a>                                 <strong class="jxr_keyword">if</strong> ( property.startsWith( facet.getFacetId() ) )
<a class="jxr_linenumber" name="L1166" href="#L1166">1166</a>                                 {
<a class="jxr_linenumber" name="L1167" href="#L1167">1167</a>                                     map.put( property.substring( facet.getFacetId().length() + 1 ),
<a class="jxr_linenumber" name="L1168" href="#L1168">1168</a>                                              properties.getProperty( property ) );
<a class="jxr_linenumber" name="L1169" href="#L1169">1169</a>                                 }
<a class="jxr_linenumber" name="L1170" href="#L1170">1170</a>                             }
<a class="jxr_linenumber" name="L1171" href="#L1171">1171</a>                             facet.fromProperties( map );
<a class="jxr_linenumber" name="L1172" href="#L1172">1172</a>                             versionMetadata.addFacet( facet );
<a class="jxr_linenumber" name="L1173" href="#L1173">1173</a>                         }
<a class="jxr_linenumber" name="L1174" href="#L1174">1174</a>                     }
<a class="jxr_linenumber" name="L1175" href="#L1175">1175</a>                 }
<a class="jxr_linenumber" name="L1176" href="#L1176">1176</a> 
<a class="jxr_linenumber" name="L1177" href="#L1177">1177</a>                 updateProjectVersionFacets( versionMetadata, properties );
<a class="jxr_linenumber" name="L1178" href="#L1178">1178</a>             }
<a class="jxr_linenumber" name="L1179" href="#L1179">1179</a>             <strong class="jxr_keyword">return</strong> versionMetadata;
<a class="jxr_linenumber" name="L1180" href="#L1180">1180</a>         }
<a class="jxr_linenumber" name="L1181" href="#L1181">1181</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L1182" href="#L1182">1182</a>         {
<a class="jxr_linenumber" name="L1183" href="#L1183">1183</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MetadataResolutionException( e.getMessage(), e );
<a class="jxr_linenumber" name="L1184" href="#L1184">1184</a>         }
<a class="jxr_linenumber" name="L1185" href="#L1185">1185</a>     }
<a class="jxr_linenumber" name="L1186" href="#L1186">1186</a> 
<a class="jxr_linenumber" name="L1187" href="#L1187">1187</a>     @Override
<a class="jxr_linenumber" name="L1188" href="#L1188">1188</a>     <strong class="jxr_keyword">public</strong> Collection&lt;String&gt; getArtifactVersions( String repoId, String namespace, String projectId,
<a class="jxr_linenumber" name="L1189" href="#L1189">1189</a>                                                    String projectVersion )
<a class="jxr_linenumber" name="L1190" href="#L1190">1190</a>         <strong class="jxr_keyword">throws</strong> MetadataResolutionException
<a class="jxr_linenumber" name="L1191" href="#L1191">1191</a>     {
<a class="jxr_linenumber" name="L1192" href="#L1192">1192</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L1193" href="#L1193">1193</a>         {
<a class="jxr_linenumber" name="L1194" href="#L1194">1194</a>             File directory = <strong class="jxr_keyword">new</strong> File( getDirectory( repoId ), namespace + <span class="jxr_string">"/"</span> + projectId + <span class="jxr_string">"/"</span> + projectVersion );
<a class="jxr_linenumber" name="L1195" href="#L1195">1195</a> 
<a class="jxr_linenumber" name="L1196" href="#L1196">1196</a>             Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
<a class="jxr_linenumber" name="L1197" href="#L1197">1197</a> 
<a class="jxr_linenumber" name="L1198" href="#L1198">1198</a>             Set&lt;String&gt; versions = <strong class="jxr_keyword">new</strong> HashSet&lt;String&gt;();
<a class="jxr_linenumber" name="L1199" href="#L1199">1199</a>             <strong class="jxr_keyword">for</strong> ( Map.Entry entry : properties.entrySet() )
<a class="jxr_linenumber" name="L1200" href="#L1200">1200</a>             {
<a class="jxr_linenumber" name="L1201" href="#L1201">1201</a>                 String name = (String) entry.getKey();
<a class="jxr_linenumber" name="L1202" href="#L1202">1202</a>                 <strong class="jxr_keyword">if</strong> ( name.startsWith( <span class="jxr_string">"artifact:version:"</span> ) )
<a class="jxr_linenumber" name="L1203" href="#L1203">1203</a>                 {
<a class="jxr_linenumber" name="L1204" href="#L1204">1204</a>                     versions.add( (String) entry.getValue() );
<a class="jxr_linenumber" name="L1205" href="#L1205">1205</a>                 }
<a class="jxr_linenumber" name="L1206" href="#L1206">1206</a>             }
<a class="jxr_linenumber" name="L1207" href="#L1207">1207</a>             <strong class="jxr_keyword">return</strong> versions;
<a class="jxr_linenumber" name="L1208" href="#L1208">1208</a>         }
<a class="jxr_linenumber" name="L1209" href="#L1209">1209</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L1210" href="#L1210">1210</a>         {
<a class="jxr_linenumber" name="L1211" href="#L1211">1211</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MetadataResolutionException( e.getMessage(), e );
<a class="jxr_linenumber" name="L1212" href="#L1212">1212</a>         }
<a class="jxr_linenumber" name="L1213" href="#L1213">1213</a>     }
<a class="jxr_linenumber" name="L1214" href="#L1214">1214</a> 
<a class="jxr_linenumber" name="L1215" href="#L1215">1215</a>     @Override
<a class="jxr_linenumber" name="L1216" href="#L1216">1216</a>     <strong class="jxr_keyword">public</strong> Collection&lt;ProjectVersionReference&gt; getProjectReferences( String repoId, String namespace, String projectId,
<a class="jxr_linenumber" name="L1217" href="#L1217">1217</a>                                                                      String projectVersion )
<a class="jxr_linenumber" name="L1218" href="#L1218">1218</a>         <strong class="jxr_keyword">throws</strong> MetadataResolutionException
<a class="jxr_linenumber" name="L1219" href="#L1219">1219</a>     {
<a class="jxr_linenumber" name="L1220" href="#L1220">1220</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L1221" href="#L1221">1221</a>         {
<a class="jxr_linenumber" name="L1222" href="#L1222">1222</a>             File directory = <strong class="jxr_keyword">new</strong> File( getDirectory( repoId ), namespace + <span class="jxr_string">"/"</span> + projectId + <span class="jxr_string">"/"</span> + projectVersion );
<a class="jxr_linenumber" name="L1223" href="#L1223">1223</a> 
<a class="jxr_linenumber" name="L1224" href="#L1224">1224</a>             Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
<a class="jxr_linenumber" name="L1225" href="#L1225">1225</a>             <strong class="jxr_keyword">int</strong> numberOfRefs = Integer.parseInt( properties.getProperty( <span class="jxr_string">"ref:lastReferenceNum"</span>, <span class="jxr_string">"-1"</span> ) ) + 1;
<a class="jxr_linenumber" name="L1226" href="#L1226">1226</a> 
<a class="jxr_linenumber" name="L1227" href="#L1227">1227</a>             List&lt;ProjectVersionReference&gt; references = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
<a class="jxr_linenumber" name="L1228" href="#L1228">1228</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 0; i &lt; numberOfRefs; i++ )
<a class="jxr_linenumber" name="L1229" href="#L1229">1229</a>             {
<a class="jxr_linenumber" name="L1230" href="#L1230">1230</a>                 ProjectVersionReference reference = <strong class="jxr_keyword">new</strong> ProjectVersionReference();
<a class="jxr_linenumber" name="L1231" href="#L1231">1231</a>                 reference.setProjectId( properties.getProperty( <span class="jxr_string">"ref:reference."</span> + i + <span class="jxr_string">".projectId"</span> ) );
<a class="jxr_linenumber" name="L1232" href="#L1232">1232</a>                 reference.setNamespace( properties.getProperty( <span class="jxr_string">"ref:reference."</span> + i + <span class="jxr_string">".namespace"</span> ) );
<a class="jxr_linenumber" name="L1233" href="#L1233">1233</a>                 reference.setProjectVersion( properties.getProperty( <span class="jxr_string">"ref:reference."</span> + i + <span class="jxr_string">".projectVersion"</span> ) );
<a class="jxr_linenumber" name="L1234" href="#L1234">1234</a>                 reference.setReferenceType( ProjectVersionReference.ReferenceType.valueOf(
<a class="jxr_linenumber" name="L1235" href="#L1235">1235</a>                     properties.getProperty( <span class="jxr_string">"ref:reference."</span> + i + <span class="jxr_string">".referenceType"</span> ) ) );
<a class="jxr_linenumber" name="L1236" href="#L1236">1236</a>                 references.add( reference );
<a class="jxr_linenumber" name="L1237" href="#L1237">1237</a>             }
<a class="jxr_linenumber" name="L1238" href="#L1238">1238</a>             <strong class="jxr_keyword">return</strong> references;
<a class="jxr_linenumber" name="L1239" href="#L1239">1239</a>         }
<a class="jxr_linenumber" name="L1240" href="#L1240">1240</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L1241" href="#L1241">1241</a>         {
<a class="jxr_linenumber" name="L1242" href="#L1242">1242</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MetadataResolutionException( e.getMessage(), e );
<a class="jxr_linenumber" name="L1243" href="#L1243">1243</a>         }
<a class="jxr_linenumber" name="L1244" href="#L1244">1244</a>     }
<a class="jxr_linenumber" name="L1245" href="#L1245">1245</a> 
<a class="jxr_linenumber" name="L1246" href="#L1246">1246</a>     @Override
<a class="jxr_linenumber" name="L1247" href="#L1247">1247</a>     <strong class="jxr_keyword">public</strong> Collection&lt;String&gt; getRootNamespaces( String repoId )
<a class="jxr_linenumber" name="L1248" href="#L1248">1248</a>         <strong class="jxr_keyword">throws</strong> MetadataResolutionException
<a class="jxr_linenumber" name="L1249" href="#L1249">1249</a>     {
<a class="jxr_linenumber" name="L1250" href="#L1250">1250</a>         <strong class="jxr_keyword">return</strong> getNamespaces( repoId, <strong class="jxr_keyword">null</strong> );
<a class="jxr_linenumber" name="L1251" href="#L1251">1251</a>     }
<a class="jxr_linenumber" name="L1252" href="#L1252">1252</a> 
<a class="jxr_linenumber" name="L1253" href="#L1253">1253</a>     @Override
<a class="jxr_linenumber" name="L1254" href="#L1254">1254</a>     <strong class="jxr_keyword">public</strong> Collection&lt;String&gt; getNamespaces( String repoId, String baseNamespace )
<a class="jxr_linenumber" name="L1255" href="#L1255">1255</a>         <strong class="jxr_keyword">throws</strong> MetadataResolutionException
<a class="jxr_linenumber" name="L1256" href="#L1256">1256</a>     {
<a class="jxr_linenumber" name="L1257" href="#L1257">1257</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L1258" href="#L1258">1258</a>         {
<a class="jxr_linenumber" name="L1259" href="#L1259">1259</a>             List&lt;String&gt; allNamespaces = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
<a class="jxr_linenumber" name="L1260" href="#L1260">1260</a>             File directory = getDirectory( repoId );
<a class="jxr_linenumber" name="L1261" href="#L1261">1261</a>             File[] files = directory.listFiles();
<a class="jxr_linenumber" name="L1262" href="#L1262">1262</a>             <strong class="jxr_keyword">if</strong> ( files != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L1263" href="#L1263">1263</a>             {
<a class="jxr_linenumber" name="L1264" href="#L1264">1264</a>                 <strong class="jxr_keyword">for</strong> ( File namespace : files )
<a class="jxr_linenumber" name="L1265" href="#L1265">1265</a>                 {
<a class="jxr_linenumber" name="L1266" href="#L1266">1266</a>                     <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">new</strong> File( namespace, NAMESPACE_METADATA_KEY + <span class="jxr_string">".properties"</span> ).exists() )
<a class="jxr_linenumber" name="L1267" href="#L1267">1267</a>                     {
<a class="jxr_linenumber" name="L1268" href="#L1268">1268</a>                         allNamespaces.add( namespace.getName() );
<a class="jxr_linenumber" name="L1269" href="#L1269">1269</a>                     }
<a class="jxr_linenumber" name="L1270" href="#L1270">1270</a>                 }
<a class="jxr_linenumber" name="L1271" href="#L1271">1271</a>             }
<a class="jxr_linenumber" name="L1272" href="#L1272">1272</a> 
<a class="jxr_linenumber" name="L1273" href="#L1273">1273</a>             Set&lt;String&gt; namespaces = <strong class="jxr_keyword">new</strong> LinkedHashSet&lt;&gt;();
<a class="jxr_linenumber" name="L1274" href="#L1274">1274</a>             <strong class="jxr_keyword">int</strong> fromIndex = baseNamespace != <strong class="jxr_keyword">null</strong> ? baseNamespace.length() + 1 : 0;
<a class="jxr_linenumber" name="L1275" href="#L1275">1275</a>             <strong class="jxr_keyword">for</strong> ( String namespace : allNamespaces )
<a class="jxr_linenumber" name="L1276" href="#L1276">1276</a>             {
<a class="jxr_linenumber" name="L1277" href="#L1277">1277</a>                 <strong class="jxr_keyword">if</strong> ( baseNamespace == <strong class="jxr_keyword">null</strong> || namespace.startsWith( baseNamespace + <span class="jxr_string">"."</span> ) )
<a class="jxr_linenumber" name="L1278" href="#L1278">1278</a>                 {
<a class="jxr_linenumber" name="L1279" href="#L1279">1279</a>                     <strong class="jxr_keyword">int</strong> i = namespace.indexOf( '.', fromIndex );
<a class="jxr_linenumber" name="L1280" href="#L1280">1280</a>                     <strong class="jxr_keyword">if</strong> ( i &gt;= 0 )
<a class="jxr_linenumber" name="L1281" href="#L1281">1281</a>                     {
<a class="jxr_linenumber" name="L1282" href="#L1282">1282</a>                         namespaces.add( namespace.substring( fromIndex, i ) );
<a class="jxr_linenumber" name="L1283" href="#L1283">1283</a>                     }
<a class="jxr_linenumber" name="L1284" href="#L1284">1284</a>                     <strong class="jxr_keyword">else</strong>
<a class="jxr_linenumber" name="L1285" href="#L1285">1285</a>                     {
<a class="jxr_linenumber" name="L1286" href="#L1286">1286</a>                         namespaces.add( namespace.substring( fromIndex ) );
<a class="jxr_linenumber" name="L1287" href="#L1287">1287</a>                     }
<a class="jxr_linenumber" name="L1288" href="#L1288">1288</a>                 }
<a class="jxr_linenumber" name="L1289" href="#L1289">1289</a>             }
<a class="jxr_linenumber" name="L1290" href="#L1290">1290</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;( namespaces );
<a class="jxr_linenumber" name="L1291" href="#L1291">1291</a>         }
<a class="jxr_linenumber" name="L1292" href="#L1292">1292</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L1293" href="#L1293">1293</a>         {
<a class="jxr_linenumber" name="L1294" href="#L1294">1294</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MetadataResolutionException( e.getMessage(), e );
<a class="jxr_linenumber" name="L1295" href="#L1295">1295</a>         }
<a class="jxr_linenumber" name="L1296" href="#L1296">1296</a>     }
<a class="jxr_linenumber" name="L1297" href="#L1297">1297</a> 
<a class="jxr_linenumber" name="L1298" href="#L1298">1298</a>     @Override
<a class="jxr_linenumber" name="L1299" href="#L1299">1299</a>     <strong class="jxr_keyword">public</strong> Collection&lt;String&gt; getProjects( String repoId, String namespace )
<a class="jxr_linenumber" name="L1300" href="#L1300">1300</a>         <strong class="jxr_keyword">throws</strong> MetadataResolutionException
<a class="jxr_linenumber" name="L1301" href="#L1301">1301</a>     {
<a class="jxr_linenumber" name="L1302" href="#L1302">1302</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L1303" href="#L1303">1303</a>         {
<a class="jxr_linenumber" name="L1304" href="#L1304">1304</a>             List&lt;String&gt; projects = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
<a class="jxr_linenumber" name="L1305" href="#L1305">1305</a>             File directory = <strong class="jxr_keyword">new</strong> File( getDirectory( repoId ), namespace );
<a class="jxr_linenumber" name="L1306" href="#L1306">1306</a>             File[] files = directory.listFiles();
<a class="jxr_linenumber" name="L1307" href="#L1307">1307</a>             <strong class="jxr_keyword">if</strong> ( files != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L1308" href="#L1308">1308</a>             {
<a class="jxr_linenumber" name="L1309" href="#L1309">1309</a>                 <strong class="jxr_keyword">for</strong> ( File project : files )
<a class="jxr_linenumber" name="L1310" href="#L1310">1310</a>                 {
<a class="jxr_linenumber" name="L1311" href="#L1311">1311</a>                     <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">new</strong> File( project, PROJECT_METADATA_KEY + <span class="jxr_string">".properties"</span> ).exists() )
<a class="jxr_linenumber" name="L1312" href="#L1312">1312</a>                     {
<a class="jxr_linenumber" name="L1313" href="#L1313">1313</a>                         projects.add( project.getName() );
<a class="jxr_linenumber" name="L1314" href="#L1314">1314</a>                     }
<a class="jxr_linenumber" name="L1315" href="#L1315">1315</a>                 }
<a class="jxr_linenumber" name="L1316" href="#L1316">1316</a>             }
<a class="jxr_linenumber" name="L1317" href="#L1317">1317</a>             <strong class="jxr_keyword">return</strong> projects;
<a class="jxr_linenumber" name="L1318" href="#L1318">1318</a>         }
<a class="jxr_linenumber" name="L1319" href="#L1319">1319</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L1320" href="#L1320">1320</a>         {
<a class="jxr_linenumber" name="L1321" href="#L1321">1321</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MetadataResolutionException( e.getMessage(), e );
<a class="jxr_linenumber" name="L1322" href="#L1322">1322</a>         }
<a class="jxr_linenumber" name="L1323" href="#L1323">1323</a>     }
<a class="jxr_linenumber" name="L1324" href="#L1324">1324</a> 
<a class="jxr_linenumber" name="L1325" href="#L1325">1325</a>     @Override
<a class="jxr_linenumber" name="L1326" href="#L1326">1326</a>     <strong class="jxr_keyword">public</strong> Collection&lt;String&gt; getProjectVersions( String repoId, String namespace, String projectId )
<a class="jxr_linenumber" name="L1327" href="#L1327">1327</a>         <strong class="jxr_keyword">throws</strong> MetadataResolutionException
<a class="jxr_linenumber" name="L1328" href="#L1328">1328</a>     {
<a class="jxr_linenumber" name="L1329" href="#L1329">1329</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L1330" href="#L1330">1330</a>         {
<a class="jxr_linenumber" name="L1331" href="#L1331">1331</a>             List&lt;String&gt; projectVersions = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
<a class="jxr_linenumber" name="L1332" href="#L1332">1332</a>             File directory = <strong class="jxr_keyword">new</strong> File( getDirectory( repoId ), namespace + <span class="jxr_string">"/"</span> + projectId );
<a class="jxr_linenumber" name="L1333" href="#L1333">1333</a>             File[] files = directory.listFiles();
<a class="jxr_linenumber" name="L1334" href="#L1334">1334</a>             <strong class="jxr_keyword">if</strong> ( files != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L1335" href="#L1335">1335</a>             {
<a class="jxr_linenumber" name="L1336" href="#L1336">1336</a>                 <strong class="jxr_keyword">for</strong> ( File projectVersion : files )
<a class="jxr_linenumber" name="L1337" href="#L1337">1337</a>                 {
<a class="jxr_linenumber" name="L1338" href="#L1338">1338</a>                     <strong class="jxr_keyword">if</strong> ( <strong class="jxr_keyword">new</strong> File( projectVersion, PROJECT_VERSION_METADATA_KEY + <span class="jxr_string">".properties"</span> ).exists() )
<a class="jxr_linenumber" name="L1339" href="#L1339">1339</a>                     {
<a class="jxr_linenumber" name="L1340" href="#L1340">1340</a>                         projectVersions.add( projectVersion.getName() );
<a class="jxr_linenumber" name="L1341" href="#L1341">1341</a>                     }
<a class="jxr_linenumber" name="L1342" href="#L1342">1342</a>                 }
<a class="jxr_linenumber" name="L1343" href="#L1343">1343</a>             }
<a class="jxr_linenumber" name="L1344" href="#L1344">1344</a>             <strong class="jxr_keyword">return</strong> projectVersions;
<a class="jxr_linenumber" name="L1345" href="#L1345">1345</a>         }
<a class="jxr_linenumber" name="L1346" href="#L1346">1346</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L1347" href="#L1347">1347</a>         {
<a class="jxr_linenumber" name="L1348" href="#L1348">1348</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MetadataResolutionException( e.getMessage(), e );
<a class="jxr_linenumber" name="L1349" href="#L1349">1349</a>         }
<a class="jxr_linenumber" name="L1350" href="#L1350">1350</a>     }
<a class="jxr_linenumber" name="L1351" href="#L1351">1351</a> 
<a class="jxr_linenumber" name="L1352" href="#L1352">1352</a>     @Override
<a class="jxr_linenumber" name="L1353" href="#L1353">1353</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeProject( String repositoryId, String namespace, String projectId )
<a class="jxr_linenumber" name="L1354" href="#L1354">1354</a>         <strong class="jxr_keyword">throws</strong> MetadataRepositoryException
<a class="jxr_linenumber" name="L1355" href="#L1355">1355</a>     {
<a class="jxr_linenumber" name="L1356" href="#L1356">1356</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L1357" href="#L1357">1357</a>         {
<a class="jxr_linenumber" name="L1358" href="#L1358">1358</a>             File directory = <strong class="jxr_keyword">new</strong> File( getDirectory( repositoryId ), namespace + <span class="jxr_string">"/"</span> + projectId );
<a class="jxr_linenumber" name="L1359" href="#L1359">1359</a>             FileUtils.deleteDirectory( directory );
<a class="jxr_linenumber" name="L1360" href="#L1360">1360</a>         }
<a class="jxr_linenumber" name="L1361" href="#L1361">1361</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L1362" href="#L1362">1362</a>         {
<a class="jxr_linenumber" name="L1363" href="#L1363">1363</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MetadataRepositoryException( e.getMessage(), e );
<a class="jxr_linenumber" name="L1364" href="#L1364">1364</a>         }
<a class="jxr_linenumber" name="L1365" href="#L1365">1365</a>     }
<a class="jxr_linenumber" name="L1366" href="#L1366">1366</a> 
<a class="jxr_linenumber" name="L1367" href="#L1367">1367</a>     @Override
<a class="jxr_linenumber" name="L1368" href="#L1368">1368</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeProjectVersion( String repoId, String namespace, String projectId, String projectVersion )
<a class="jxr_linenumber" name="L1369" href="#L1369">1369</a>         <strong class="jxr_keyword">throws</strong> MetadataRepositoryException
<a class="jxr_linenumber" name="L1370" href="#L1370">1370</a>     {
<a class="jxr_linenumber" name="L1371" href="#L1371">1371</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L1372" href="#L1372">1372</a>         {
<a class="jxr_linenumber" name="L1373" href="#L1373">1373</a>             File directory = <strong class="jxr_keyword">new</strong> File( getDirectory( repoId ), namespace + <span class="jxr_string">"/"</span> + projectId + <span class="jxr_string">"/"</span> + projectVersion );
<a class="jxr_linenumber" name="L1374" href="#L1374">1374</a>             FileUtils.deleteDirectory( directory );
<a class="jxr_linenumber" name="L1375" href="#L1375">1375</a>         }
<a class="jxr_linenumber" name="L1376" href="#L1376">1376</a>         <strong class="jxr_keyword">catch</strong> ( IOException e )
<a class="jxr_linenumber" name="L1377" href="#L1377">1377</a>         {
<a class="jxr_linenumber" name="L1378" href="#L1378">1378</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MetadataRepositoryException( e.getMessage(), e );
<a class="jxr_linenumber" name="L1379" href="#L1379">1379</a>         }
<a class="jxr_linenumber" name="L1380" href="#L1380">1380</a> 
<a class="jxr_linenumber" name="L1381" href="#L1381">1381</a>     }
<a class="jxr_linenumber" name="L1382" href="#L1382">1382</a> 
<a class="jxr_linenumber" name="L1383" href="#L1383">1383</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> writeProperties( Properties properties, File directory, String propertiesKey )
<a class="jxr_linenumber" name="L1384" href="#L1384">1384</a>         <strong class="jxr_keyword">throws</strong> IOException
<a class="jxr_linenumber" name="L1385" href="#L1385">1385</a>     {
<a class="jxr_linenumber" name="L1386" href="#L1386">1386</a>         directory.mkdirs();
<a class="jxr_linenumber" name="L1387" href="#L1387">1387</a>         <strong class="jxr_keyword">try</strong> (OutputStream os = Files.newOutputStream( <strong class="jxr_keyword">new</strong> File( directory, propertiesKey + <span class="jxr_string">".properties"</span> ).toPath() ))
<a class="jxr_linenumber" name="L1388" href="#L1388">1388</a>         {
<a class="jxr_linenumber" name="L1389" href="#L1389">1389</a>             properties.store( os, <strong class="jxr_keyword">null</strong> );
<a class="jxr_linenumber" name="L1390" href="#L1390">1390</a>         }
<a class="jxr_linenumber" name="L1391" href="#L1391">1391</a>     }
<a class="jxr_linenumber" name="L1392" href="#L1392">1392</a> 
<a class="jxr_linenumber" name="L1393" href="#L1393">1393</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/archiva/metadata/repository/file/FileMetadataRepository.html">ArtifactComparator</a>
<a class="jxr_linenumber" name="L1394" href="#L1394">1394</a>         <strong class="jxr_keyword">implements</strong> Comparator&lt;ArtifactMetadata&gt;
<a class="jxr_linenumber" name="L1395" href="#L1395">1395</a>     {
<a class="jxr_linenumber" name="L1396" href="#L1396">1396</a>         @Override
<a class="jxr_linenumber" name="L1397" href="#L1397">1397</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> compare( ArtifactMetadata artifact1, ArtifactMetadata artifact2 )
<a class="jxr_linenumber" name="L1398" href="#L1398">1398</a>         {
<a class="jxr_linenumber" name="L1399" href="#L1399">1399</a>             <strong class="jxr_keyword">if</strong> ( artifact1.getWhenGathered() == artifact2.getWhenGathered() )
<a class="jxr_linenumber" name="L1400" href="#L1400">1400</a>             {
<a class="jxr_linenumber" name="L1401" href="#L1401">1401</a>                 <strong class="jxr_keyword">return</strong> 0;
<a class="jxr_linenumber" name="L1402" href="#L1402">1402</a>             }
<a class="jxr_linenumber" name="L1403" href="#L1403">1403</a>             <strong class="jxr_keyword">if</strong> ( artifact1.getWhenGathered() == <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L1404" href="#L1404">1404</a>             {
<a class="jxr_linenumber" name="L1405" href="#L1405">1405</a>                 <strong class="jxr_keyword">return</strong> 1;
<a class="jxr_linenumber" name="L1406" href="#L1406">1406</a>             }
<a class="jxr_linenumber" name="L1407" href="#L1407">1407</a>             <strong class="jxr_keyword">if</strong> ( artifact2.getWhenGathered() == <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="L1408" href="#L1408">1408</a>             {
<a class="jxr_linenumber" name="L1409" href="#L1409">1409</a>                 <strong class="jxr_keyword">return</strong> -1;
<a class="jxr_linenumber" name="L1410" href="#L1410">1410</a>             }
<a class="jxr_linenumber" name="L1411" href="#L1411">1411</a>             <strong class="jxr_keyword">return</strong> artifact1.getWhenGathered().compareTo( artifact2.getWhenGathered() );
<a class="jxr_linenumber" name="L1412" href="#L1412">1412</a>         }
<a class="jxr_linenumber" name="L1413" href="#L1413">1413</a>     }
<a class="jxr_linenumber" name="L1414" href="#L1414">1414</a> 
<a class="jxr_linenumber" name="L1415" href="#L1415">1415</a>     @Override
<a class="jxr_linenumber" name="L1416" href="#L1416">1416</a>     <strong class="jxr_keyword">public</strong> List&lt;ArtifactMetadata&gt; getArtifacts( String repoId )
<a class="jxr_linenumber" name="L1417" href="#L1417">1417</a>         <strong class="jxr_keyword">throws</strong> MetadataRepositoryException
<a class="jxr_linenumber" name="L1418" href="#L1418">1418</a>     {
<a class="jxr_linenumber" name="L1419" href="#L1419">1419</a>         <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L1420" href="#L1420">1420</a>         {
<a class="jxr_linenumber" name="L1421" href="#L1421">1421</a>             List&lt;ArtifactMetadata&gt; artifacts = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
<a class="jxr_linenumber" name="L1422" href="#L1422">1422</a>             <strong class="jxr_keyword">for</strong> ( String ns : getRootNamespaces( repoId ) )
<a class="jxr_linenumber" name="L1423" href="#L1423">1423</a>             {
<a class="jxr_linenumber" name="L1424" href="#L1424">1424</a>                 getArtifacts( artifacts, repoId, ns );
<a class="jxr_linenumber" name="L1425" href="#L1425">1425</a>             }
<a class="jxr_linenumber" name="L1426" href="#L1426">1426</a>             <strong class="jxr_keyword">return</strong> artifacts;
<a class="jxr_linenumber" name="L1427" href="#L1427">1427</a>         }
<a class="jxr_linenumber" name="L1428" href="#L1428">1428</a>         <strong class="jxr_keyword">catch</strong> ( MetadataResolutionException e )
<a class="jxr_linenumber" name="L1429" href="#L1429">1429</a>         {
<a class="jxr_linenumber" name="L1430" href="#L1430">1430</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MetadataRepositoryException( e.getMessage(), e );
<a class="jxr_linenumber" name="L1431" href="#L1431">1431</a>         }
<a class="jxr_linenumber" name="L1432" href="#L1432">1432</a>     }
<a class="jxr_linenumber" name="L1433" href="#L1433">1433</a> 
<a class="jxr_linenumber" name="L1434" href="#L1434">1434</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> getArtifacts( List&lt;ArtifactMetadata&gt; artifacts, String repoId, String ns )
<a class="jxr_linenumber" name="L1435" href="#L1435">1435</a>         <strong class="jxr_keyword">throws</strong> MetadataResolutionException
<a class="jxr_linenumber" name="L1436" href="#L1436">1436</a>     {
<a class="jxr_linenumber" name="L1437" href="#L1437">1437</a>         <strong class="jxr_keyword">for</strong> ( String namespace : getNamespaces( repoId, ns ) )
<a class="jxr_linenumber" name="L1438" href="#L1438">1438</a>         {
<a class="jxr_linenumber" name="L1439" href="#L1439">1439</a>             getArtifacts( artifacts, repoId, ns + <span class="jxr_string">"."</span> + namespace );
<a class="jxr_linenumber" name="L1440" href="#L1440">1440</a>         }
<a class="jxr_linenumber" name="L1441" href="#L1441">1441</a> 
<a class="jxr_linenumber" name="L1442" href="#L1442">1442</a>         <strong class="jxr_keyword">for</strong> ( String project : getProjects( repoId, ns ) )
<a class="jxr_linenumber" name="L1443" href="#L1443">1443</a>         {
<a class="jxr_linenumber" name="L1444" href="#L1444">1444</a>             <strong class="jxr_keyword">for</strong> ( String version : getProjectVersions( repoId, ns, project ) )
<a class="jxr_linenumber" name="L1445" href="#L1445">1445</a>             {
<a class="jxr_linenumber" name="L1446" href="#L1446">1446</a>                 <strong class="jxr_keyword">for</strong> ( ArtifactMetadata artifact : getArtifacts( repoId, ns, project, version ) )
<a class="jxr_linenumber" name="L1447" href="#L1447">1447</a>                 {
<a class="jxr_linenumber" name="L1448" href="#L1448">1448</a>                     artifacts.add( artifact );
<a class="jxr_linenumber" name="L1449" href="#L1449">1449</a>                 }
<a class="jxr_linenumber" name="L1450" href="#L1450">1450</a>             }
<a class="jxr_linenumber" name="L1451" href="#L1451">1451</a>         }
<a class="jxr_linenumber" name="L1452" href="#L1452">1452</a>     }
<a class="jxr_linenumber" name="L1453" href="#L1453">1453</a> 
<a class="jxr_linenumber" name="L1454" href="#L1454">1454</a>     @Override
<a class="jxr_linenumber" name="L1455" href="#L1455">1455</a>     <strong class="jxr_keyword">public</strong> List&lt;ArtifactMetadata&gt; searchArtifacts( String text, String repositoryId, <strong class="jxr_keyword">boolean</strong> exact )
<a class="jxr_linenumber" name="L1456" href="#L1456">1456</a>         <strong class="jxr_keyword">throws</strong> MetadataRepositoryException
<a class="jxr_linenumber" name="L1457" href="#L1457">1457</a>     {
<a class="jxr_linenumber" name="L1458" href="#L1458">1458</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> UnsupportedOperationException( <span class="jxr_string">"searchArtifacts not yet implemented in File backend"</span> );
<a class="jxr_linenumber" name="L1459" href="#L1459">1459</a>     }
<a class="jxr_linenumber" name="L1460" href="#L1460">1460</a> 
<a class="jxr_linenumber" name="L1461" href="#L1461">1461</a>     @Override
<a class="jxr_linenumber" name="L1462" href="#L1462">1462</a>     <strong class="jxr_keyword">public</strong> List&lt;ArtifactMetadata&gt; searchArtifacts( String key, String text, String repositoryId, <strong class="jxr_keyword">boolean</strong> exact )
<a class="jxr_linenumber" name="L1463" href="#L1463">1463</a>         <strong class="jxr_keyword">throws</strong> MetadataRepositoryException
<a class="jxr_linenumber" name="L1464" href="#L1464">1464</a>     {
<a class="jxr_linenumber" name="L1465" href="#L1465">1465</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> UnsupportedOperationException( <span class="jxr_string">"searchArtifacts not yet implemented in File backend"</span> );
<a class="jxr_linenumber" name="L1466" href="#L1466">1466</a>     }
<a class="jxr_linenumber" name="L1467" href="#L1467">1467</a> }
</pre>
<hr/>
<div id="footer">Copyright &#169; 2006&#x2013;2022 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div>
</body>
</html>
