Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
import io.vavr.Tuple2;
import java.io.IOException;
import java.util.*;
import java.util.function.Supplier;

import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
Expand All @@ -54,6 +55,7 @@ public class JobSource extends AbstractSourceJobSource implements Source<MantisS
private static JsonParser parser = new JsonParser();
protected List<TargetInfo> targets;
private final List<MantisSSEJob> jobs = new ArrayList<>();
private final Map<String, String> additionalUrlParams = new HashMap<>();

public JobSource(List<TargetInfo> targets) {
this.targets = targets;
Expand All @@ -68,6 +70,11 @@ public JobSource(String targetInfoStr) {
this.targets = parseTargetInfo(targetInfoStr);
}

public JobSource withUrlParams(Map<String, String> params) {
this.additionalUrlParams.putAll(params);
return this;
}

@Override
public List<ParameterDefinition<?>> getParameters() {

Expand All @@ -86,6 +93,9 @@ public List<ParameterDefinition<?>> getParameters() {
public Observable<Observable<MantisServerSentEvent>> call(Context context, Index index) {
if (targets.isEmpty()) {
targets = parseInputParameters(context);
for (TargetInfo targetInfo : targets) {
targetInfo.additionalParams.putAll(this.additionalUrlParams);
}
}

Observable<Observable<MantisServerSentEvent>> sourceObs = null;
Expand Down Expand Up @@ -274,6 +284,7 @@ public static class TargetInfoBuilder {
private boolean enableMetaMessages = false;
private boolean enableCompressedBinary = false;
private Map<String, String> additionalParams = new HashMap<>();
private Supplier<Map<String, String>> additionalParamsSupplier = () -> new HashMap<>();

public TargetInfoBuilder() {
}
Expand Down Expand Up @@ -319,6 +330,11 @@ public TargetInfoBuilder withAdditionalParams(Map<String, String> additionalPara
return this;
}

public TargetInfoBuilder withAdditionalParams(Supplier<Map<String, String>> additionalParamsSupplier) {
this.additionalParamsSupplier = additionalParamsSupplier;
return this;
}

public TargetInfo build() {
return new TargetInfo(
sourceJobName,
Expand Down
Loading