.getPropertiesCollectorSPI();
// parse the string
final List<PropertiesCollector> pcs = new ArrayList<PropertiesCollector>();
for (Collector collector : collectorList) {
PropertiesCollectorSPI selectedSPI = null;
final String spiName = collector.getSpi();
for (PropertiesCollectorSPI spi : pcSPIs) {
if (spi.isAvailable() && spi.getName().equalsIgnoreCase(spiName)) {
selectedSPI = spi;
break;
}
}
if (selectedSPI == null) {
if (LOGGER.isLoggable(Level.INFO)) {
LOGGER.info("Unable to find a PropertyCollector for this definition: "
+ spiName);
}
continue;
}
// property names
String collectorValue = collector.getValue();
final String config;
if (!collectorValue.startsWith(DefaultPropertiesCollectorSPI.REGEX_PREFIX)) {
config = DefaultPropertiesCollectorSPI.REGEX_PREFIX + collector.getValue();
} else {
config = collector.getValue();
}
// create the PropertiesCollector
final PropertiesCollector pc = selectedSPI.create(config,
Arrays.asList(collector.getMapped()));
if (pc != null) {
pcs.add(pc);
} else {
if (LOGGER.isLoggable(Level.INFO)) {