1 package com.atlassian.asap.it;
2
3 import com.sun.jersey.core.spi.component.ComponentContext;
4 import com.sun.jersey.core.spi.component.ComponentScope;
5 import com.sun.jersey.core.spi.component.ioc.IoCComponentProvider;
6 import com.sun.jersey.core.spi.component.ioc.IoCComponentProviderFactory;
7 import com.sun.jersey.core.spi.component.ioc.IoCFullyManagedComponentProvider;
8
9 import java.util.Map;
10
11
12
13
14 public final class JerseyTestUtil {
15
16 private JerseyTestUtil() {
17
18 }
19
20
21
22
23
24 public static IoCComponentProviderFactory ioCProviderFactoryfromMap(final Map<Class, Object> injectables) {
25 IoCComponentProviderFactory ioCComponentProviderFactory = new IoCComponentProviderFactory() {
26 @Override
27 public IoCComponentProvider getComponentProvider(Class<?> c) {
28 if (injectables.containsKey(c)) {
29 return wrap(injectables.get(c));
30 }
31
32 return null;
33 }
34
35 @Override
36 public IoCComponentProvider getComponentProvider(ComponentContext cc, Class<?> c) {
37 return getComponentProvider(c);
38 }
39
40 private IoCComponentProvider wrap(final Object instance) {
41 return new IoCFullyManagedComponentProvider() {
42 @Override
43 public Object getInstance() {
44 return instance;
45 }
46
47 @Override
48 public ComponentScope getScope() {
49 return ComponentScope.Singleton;
50 }
51 };
52 }
53 };
54
55 return ioCComponentProviderFactory;
56 }
57 }