public List<SelectorConfig> toConfig(final Map<String, List<SelectorConfig>> selectorGroups) { validate(); final List<SelectorConfig> result = selectorGroups.get(getName()); if (result == null) { throw new ConfigurationException("Selector group named \"" + getName() +"\" not found"); } return result; }
protected void validate() { notEmpty(this, "name", getName()); }
protected List<SelectorConfig> configureSelectors(final Map<String, List<SelectorConfig>> templates) { final List<SelectorConfig> result = new LinkedList<SelectorConfig>(); for (final SelectorXBean item : getSelectors()) { if (item instanceof SelectorGroupRefXBean) { result.addAll(((SelectorGroupRefXBean) item).toConfig(templates)); } else if (item instanceof SimpleSelectorXBean) { result.add(((SimpleSelectorXBean) item).toConfig()); } else { throw new ConfigurationException("Unsupported selector: " + item); } } if (result.isEmpty()) { throw new ConfigurationException("Default sampler has no selectors"); } return result; }
protected void validate() { notEmpty(this, "name", getName()); }
protected List<SelectorConfig> configureSelectors(final Map<String, List<SelectorConfig>> templates) { final List<SelectorConfig> result = new LinkedList<SelectorConfig>(); for (final SelectorXBean item : getSelectors()) { if (item instanceof SelectorGroupRefXBean) { result.addAll(((SelectorGroupRefXBean) item).toConfig(templates)); } else if (item instanceof SimpleSelectorXBean) { result.add(((SimpleSelectorXBean) item).toConfig()); } else { throw new ConfigurationException("Unsupported selector: " + item); } } if (result.isEmpty()) { throw new ConfigurationException("Default sampler has no selectors"); } return result; }
public List<SelectorConfig> toConfig(final Map<String, List<SelectorConfig>> selectorGroups) { validate(); final List<SelectorConfig> result = selectorGroups.get(getName()); if (result == null) { throw new ConfigurationException("Selector group named \"" + getName() +"\" not found"); } return result; }
private List<SimpleSelectorXBean> getAllSelectors(final Map<String, SelectorGroupXBean> groups) { if (beingResolved) { throw new ConfigurationException("Selector group \"" + getName() + "\" is part of a dependency cycle"); } if (resolvedSimpleSelectors == null) { beingResolved = true; resolvedSimpleSelectors = new LinkedList<SimpleSelectorXBean>(); for (final SelectorXBean child : selectors) { if (child instanceof SelectorGroupRefXBean) { final String name = ((SelectorGroupRefXBean) child).getName(); final SelectorGroupXBean referencedGroup = groups.get(name); if (referencedGroup != null) { resolvedSimpleSelectors.addAll(referencedGroup.getAllSelectors(groups)); } else { throw new ConfigurationException("Could not find referenced selector group named \"" + name + "\""); } } else if (child instanceof SimpleSelectorXBean) { resolvedSimpleSelectors.add((SimpleSelectorXBean) child); } else { throw new ConfigurationException("Unsupported selector "+child); } } beingResolved = false; return resolvedSimpleSelectors; } else { // we do not really want to compute that multiple times return resolvedSimpleSelectors; } } }
private List<SimpleSelectorXBean> getAllSelectors(final Map<String, SelectorGroupXBean> groups) { if (beingResolved) { throw new ConfigurationException("Selector group \"" + getName() + "\" is part of a dependency cycle"); } if (resolvedSimpleSelectors == null) { beingResolved = true; resolvedSimpleSelectors = new LinkedList<SimpleSelectorXBean>(); for (final SelectorXBean child : selectors) { if (child instanceof SelectorGroupRefXBean) { final String name = ((SelectorGroupRefXBean) child).getName(); final SelectorGroupXBean referencedGroup = groups.get(name); if (referencedGroup != null) { resolvedSimpleSelectors.addAll(referencedGroup.getAllSelectors(groups)); } else { throw new ConfigurationException("Could not find referenced selector group named \"" + name + "\""); } } else if (child instanceof SimpleSelectorXBean) { resolvedSimpleSelectors.add((SimpleSelectorXBean) child); } else { throw new ConfigurationException("Unsupported selector "+child); } } beingResolved = false; return resolvedSimpleSelectors; } else { // we do not really want to compute that multiple times return resolvedSimpleSelectors; } } }