Commit ef753e73cf6250c42dee4c9ff8df0195a24702b5

Authored by Emerson Oliveira
1 parent 179020f4
Exists in master

Refatoração dos métodos getClass e getInstance para selectClass e

selectInstance. Modificação da exceção lançada pela classe
StrategySelector, DemoiselleException no lugar de
ConfigurationException.
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/SecurityContextImpl.java
... ... @@ -78,7 +78,7 @@ public class SecurityContextImpl implements SecurityContext {
78 78 Class<? extends Authenticator> clazz = getConfig().getAuthenticatorClass();
79 79  
80 80 if (clazz == null) {
81   - clazz = StrategySelector.getClass(Authenticator.class, bootstrap.getCache());
  81 + clazz = StrategySelector.selectClass(Authenticator.class, bootstrap.getCache());
82 82 }
83 83  
84 84 this.authenticator = Beans.getReference(clazz);
... ... @@ -93,7 +93,7 @@ public class SecurityContextImpl implements SecurityContext {
93 93 Class<? extends Authorizer> clazz = getConfig().getAuthorizerClass();
94 94  
95 95 if (clazz == null) {
96   - clazz = StrategySelector.getClass(Authorizer.class, bootstrap.getCache());
  96 + clazz = StrategySelector.selectClass(Authorizer.class, bootstrap.getCache());
97 97 }
98 98  
99 99 this.authorizer = Beans.getReference(clazz);
... ...
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/StrategySelector.java
... ... @@ -45,8 +45,10 @@ import java.util.HashMap;
45 45 import java.util.List;
46 46 import java.util.Map;
47 47  
  48 +import javax.enterprise.inject.AmbiguousResolutionException;
  49 +
  50 +import br.gov.frameworkdemoiselle.DemoiselleException;
48 51 import br.gov.frameworkdemoiselle.annotation.Priority;
49   -import br.gov.frameworkdemoiselle.configuration.ConfigurationException;
50 52 import br.gov.frameworkdemoiselle.internal.producer.ResourceBundleProducer;
51 53 import br.gov.frameworkdemoiselle.util.ResourceBundle;
52 54  
... ... @@ -76,7 +78,7 @@ public final class StrategySelector implements Serializable {
76 78 }
77 79  
78 80 @SuppressWarnings("unchecked")
79   - public static <T> T getInstance(Class<T> type, Collection<? extends T> options) throws ConfigurationException {
  81 + public static <T> T selectInstance(Class<T> type, Collection<? extends T> options) {
80 82  
81 83 Map<Class<? extends T>, T> map = new HashMap<Class<? extends T>, T>();
82 84  
... ... @@ -86,12 +88,11 @@ public final class StrategySelector implements Serializable {
86 88 }
87 89 }
88 90  
89   - Class<? extends T> elected = getClass(type, map.keySet());
  91 + Class<? extends T> elected = selectClass(type, map.keySet());
90 92 return map.get(elected);
91 93 }
92 94  
93   - public static <T> Class<? extends T> getClass(Class<T> type, Collection<Class<? extends T>> options)
94   - throws ConfigurationException {
  95 + public static <T> Class<? extends T> selectClass(Class<T> type, Collection<Class<? extends T>> options) {
95 96 Class<? extends T> selected = null;
96 97  
97 98 for (Class<? extends T> option : options) {
... ... @@ -108,7 +109,7 @@ public final class StrategySelector implements Serializable {
108 109 }
109 110  
110 111 private static <T> void checkForAmbiguity(Class<T> type, Class<? extends T> selected,
111   - Collection<Class<? extends T>> options) throws ConfigurationException {
  112 + Collection<Class<? extends T>> options) {
112 113 int selectedPriority = getPriority(selected);
113 114  
114 115 List<Class<? extends T>> ambiguous = new ArrayList<Class<? extends T>>();
... ... @@ -123,7 +124,7 @@ public final class StrategySelector implements Serializable {
123 124 ambiguous.add(selected);
124 125  
125 126 String message = getExceptionMessage(type, ambiguous);
126   - throw new ConfigurationException(message);
  127 + throw new DemoiselleException(message, new AmbiguousResolutionException());
127 128 }
128 129 }
129 130  
... ...
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/TransactionContextImpl.java
... ... @@ -62,7 +62,7 @@ public class TransactionContextImpl implements TransactionContext {
62 62 Class<? extends Transaction> clazz = getConfig().getTransactionClass();
63 63  
64 64 if (clazz == null) {
65   - clazz = StrategySelector.getClass(Transaction.class, bootstrap.getCache());
  65 + clazz = StrategySelector.selectClass(Transaction.class, bootstrap.getCache());
66 66 }
67 67  
68 68 this.transaction = Beans.getReference(clazz);
... ...