1 package org.apache.archiva.metadata.repository.cassandra;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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.MetadataRepositoryException;
26 import org.apache.archiva.metadata.repository.MetadataResolver;
27 import org.apache.archiva.metadata.repository.MetadataService;
28 import org.apache.archiva.metadata.repository.RepositorySession;
29 import org.apache.archiva.metadata.repository.RepositorySessionFactory;
30 import org.apache.commons.lang3.StringUtils;
31 import org.springframework.context.ApplicationContext;
32 import org.springframework.stereotype.Service;
33
34 import javax.inject.Inject;
35 import javax.inject.Named;
36 import java.util.HashMap;
37 import java.util.Map;
38
39
40
41
42
43 @Service("repositorySessionFactory#cassandra")
44 public class CassandraRepositorySessionFactory extends AbstractRepositorySessionFactory
45 implements RepositorySessionFactory
46 {
47
48 @Inject
49 @Named(value = "archivaConfiguration#default")
50 private ArchivaConfiguration configuration;
51
52 @Inject
53 private MetadataResolver metadataResolver;
54
55 @Inject
56 private ApplicationContext applicationContext;
57
58 @Inject
59 private CassandraArchivaManager cassandraArchivaManager;
60
61 @Inject
62 private MetadataService metadataService;
63
64 public void initialize()
65 {
66 }
67
68 @Override
69 protected void shutdown() {
70 cassandraArchivaManager.shutdown();
71 }
72
73
74 @Override
75 public RepositorySession createSession() throws MetadataRepositoryException
76 {
77 CassandraMetadataRepository metadataRepository =
78 new CassandraMetadataRepository( metadataService, configuration, cassandraArchivaManager );
79 return new RepositorySession( metadataRepository, metadataResolver );
80 }
81
82 }