Jagger
 All Classes Namespaces Files Functions Variables Groups Pages
JParallelTestsGroup.java
Go to the documentation of this file.
1 package com.griddynamics.jagger.user.test.configurations;
2 
3 import com.griddynamics.jagger.engine.e1.Provider;
4 import com.griddynamics.jagger.engine.e1.collector.testgroup.TestGroupDecisionMakerListener;
5 import com.griddynamics.jagger.engine.e1.collector.testgroup.TestGroupListener;
6 import com.griddynamics.jagger.user.test.configurations.auxiliary.Id;
7 
8 import com.google.common.collect.Lists;
9 
10 import java.util.ArrayList;
11 import java.util.Collections;
12 import java.util.List;
13 
28 public class JParallelTestsGroup {
29  private final String id;
30  private final List<JLoadTest> tests;
31  private final List<Provider<TestGroupListener>> listeners;
32  private final List<Provider<TestGroupDecisionMakerListener>> decisionMakerListeners;
33 
42  public static Builder builder(Id id, List<JLoadTest> tests) {
43  return new Builder(id, tests);
44  }
45 
55  public static Builder builder(Id id, JLoadTest test, JLoadTest... tests) {
56 
57  List<JLoadTest> testList = new ArrayList<>();
58  testList.add(test);
59  Collections.addAll(testList, tests);
60 
61  return new Builder(id, testList);
62  }
63 
64  private JParallelTestsGroup(Builder builder) {
65  this.id = builder.id.value();
66  this.tests = builder.tests;
67  this.listeners = builder.listeners;
68  this.decisionMakerListeners = builder.decisionMakerListeners;
69  }
70 
71  public static class Builder {
72 
73  private final Id id;
74  private final List<JLoadTest> tests;
75  private List<Provider<TestGroupListener>> listeners = Lists.newArrayList();
76  private List<Provider<TestGroupDecisionMakerListener>> decisionMakerListeners = Lists.newArrayList();
77 
78  public Builder(Id id, List<JLoadTest> tests) {
79  this.id = id;
80  this.tests = tests;
81  }
82 
92  public Builder addListener(Provider<TestGroupListener> listener) {
93  this.listeners.add(listener);
94  return this;
95  }
96 
106  public Builder addListeners(List<Provider<TestGroupListener>> listeners) {
107  this.listeners.addAll(listeners);
108  return this;
109  }
110 
121  public Builder addDecisionMakerListener(Provider<TestGroupDecisionMakerListener> listener) {
122  this.decisionMakerListeners.add(listener);
123  return this;
124  }
125 
136  public Builder addDecisionMakerListeners(List<Provider<TestGroupDecisionMakerListener>> listeners) {
137  this.decisionMakerListeners.addAll(listeners);
138  return this;
139  }
140 
147  return new JParallelTestsGroup(this);
148  }
149 
150  }
151 
152  public List<JLoadTest> getTests() {
153  return tests;
154  }
155 
156  public String getId() {
157  return id;
158  }
159 
160  public List<Provider<TestGroupListener>> getListeners() {
161  return listeners;
162  }
163 
164  public List<Provider<TestGroupDecisionMakerListener>> getDecisionMakerListeners() {
165  return decisionMakerListeners;
166  }
167 }