This project has retired. For details please refer to its Attic page.
FileRepositorySessionFactory xref
View Javadoc
1   package org.apache.archiva.metadata.repository.file;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   * http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  
22  import org.apache.archiva.configuration.ArchivaConfiguration;
23  import org.apache.archiva.metadata.model.MetadataFacetFactory;
24  import org.apache.archiva.metadata.repository.AbstractRepositorySessionFactory;
25  import org.apache.archiva.metadata.repository.MetadataRepository;
26  import org.apache.archiva.metadata.repository.MetadataRepositoryException;
27  import org.apache.archiva.metadata.repository.MetadataResolver;
28  import org.apache.archiva.metadata.repository.MetadataService;
29  import org.apache.archiva.metadata.repository.RepositorySession;
30  import org.apache.archiva.metadata.repository.RepositorySessionFactory;
31  import org.apache.commons.lang3.StringUtils;
32  import org.springframework.context.ApplicationContext;
33  import org.springframework.stereotype.Service;
34  
35  import javax.inject.Inject;
36  import javax.inject.Named;
37  import java.util.HashMap;
38  import java.util.Map;
39  
40  /**
41   *
42   */
43  @Service( "repositorySessionFactory#file" )
44  public class FileRepositorySessionFactory extends AbstractRepositorySessionFactory
45      implements RepositorySessionFactory
46  {
47      @Inject
48      @Named( value = "archivaConfiguration#default" )
49      private ArchivaConfiguration configuration;
50  
51      @Inject
52      private MetadataResolver metadataResolver;
53  
54      @Inject
55      private ApplicationContext applicationContext;
56  
57      @Inject
58      private MetadataService metadataService;
59  
60      public void initialize()
61      {
62          Map<String, MetadataFacetFactory> tmpMetadataFacetFactories =
63              applicationContext.getBeansOfType( MetadataFacetFactory.class );
64      }
65  
66      @Override
67      protected void shutdown() {
68          // do nothing
69      }
70  
71      @Override
72      public RepositorySession createSession() throws MetadataRepositoryException
73      {
74          MetadataRepository metadataRepository = new FileMetadataRepository( metadataService, configuration );
75  
76          return new RepositorySession( metadataRepository, metadataResolver );
77      }
78  
79  }