1 package org.eclipse.aether.internal.impl;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import javax.inject.Inject;
23 import javax.inject.Named;
24
25 import org.eclipse.aether.RepositorySystemSession;
26 import org.eclipse.aether.repository.LocalRepository;
27 import org.eclipse.aether.repository.LocalRepositoryManager;
28 import org.eclipse.aether.repository.NoLocalRepositoryManagerException;
29 import org.eclipse.aether.spi.localrepo.LocalRepositoryManagerFactory;
30 import org.eclipse.aether.spi.locator.Service;
31 import org.eclipse.aether.spi.locator.ServiceLocator;
32 import org.eclipse.aether.spi.log.Logger;
33 import org.eclipse.aether.spi.log.LoggerFactory;
34 import org.eclipse.aether.spi.log.NullLoggerFactory;
35
36
37
38
39 @Named( "simple" )
40 public class SimpleLocalRepositoryManagerFactory
41 implements LocalRepositoryManagerFactory, Service
42 {
43
44 private Logger logger = NullLoggerFactory.LOGGER;
45
46 private float priority;
47
48 public SimpleLocalRepositoryManagerFactory()
49 {
50
51 }
52
53 @Inject
54 SimpleLocalRepositoryManagerFactory( LoggerFactory loggerFactory )
55 {
56 setLoggerFactory( loggerFactory );
57 }
58
59 public LocalRepositoryManager newInstance( RepositorySystemSession session, LocalRepository repository )
60 throws NoLocalRepositoryManagerException
61 {
62 if ( "".equals( repository.getContentType() ) || "simple".equals( repository.getContentType() ) )
63 {
64 return new SimpleLocalRepositoryManager( repository.getBasedir() ).setLogger( logger );
65 }
66 else
67 {
68 throw new NoLocalRepositoryManagerException( repository );
69 }
70 }
71
72 public void initService( ServiceLocator locator )
73 {
74 setLoggerFactory( locator.getService( LoggerFactory.class ) );
75 }
76
77 public SimpleLocalRepositoryManagerFactory setLoggerFactory( LoggerFactory loggerFactory )
78 {
79 this.logger = NullLoggerFactory.getSafeLogger( loggerFactory, SimpleLocalRepositoryManager.class );
80 return this;
81 }
82
83 public float getPriority()
84 {
85 return priority;
86 }
87
88
89
90
91
92
93
94 public SimpleLocalRepositoryManagerFactory setPriority( float priority )
95 {
96 this.priority = priority;
97 return this;
98 }
99
100 }