| Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
| ReadInjectionProviderClassNames |
|
| 6.0;6 |
| 1 | package org.jbehave.core.steps.needle.configuration; | |
| 2 | ||
| 3 | import java.util.LinkedHashSet; | |
| 4 | import java.util.ResourceBundle; | |
| 5 | import java.util.Set; | |
| 6 | ||
| 7 | /** | |
| 8 | * Read ClassNames from properties. | |
| 9 | * | |
| 10 | * @author Jan Galinski, Holisticon AG (jan.galinski@holisticon.de) | |
| 11 | * @author Simon Zambrovski, Holisticon AG (simon.zambrovski@holisticon.de) | |
| 12 | */ | |
| 13 | 2 | public enum ReadInjectionProviderClassNames { |
| 14 | /** | |
| 15 | * Singleton Instance | |
| 16 | */ | |
| 17 | 1 | INSTANCE; |
| 18 | ||
| 19 | private static final String CUSTOM_INJECTION_PROVIDER_CLASSES = "custom.injection.provider.classes"; | |
| 20 | ||
| 21 | public final Set<String> apply(final ResourceBundle resourceBundle) { | |
| 22 | 9 | final LinkedHashSet<String> result = new LinkedHashSet<String>(); |
| 23 | ||
| 24 | 9 | if (resourceBundle != null && resourceBundle.containsKey(CUSTOM_INJECTION_PROVIDER_CLASSES)) { |
| 25 | 9 | final String csvProperty = resourceBundle.getString(CUSTOM_INJECTION_PROVIDER_CLASSES); |
| 26 | 18 | for (final String className : csvProperty.split(",")) { |
| 27 | 9 | if (className != null) { |
| 28 | 9 | final String trim = className.trim(); |
| 29 | 9 | if (!"".equals(trim)) { |
| 30 | 0 | result.add(trim); |
| 31 | } | |
| 32 | } | |
| 33 | } | |
| 34 | } | |
| 35 | ||
| 36 | 9 | return result; |
| 37 | } | |
| 38 | ||
| 39 | } |