package com.workshare.msnos.core.payloads;
import com.workshare.msnos.core.Cloud.Internal;
import com.workshare.msnos.core.Message;
import com.workshare.msnos.core.Message.Payload;
import com.workshare.msnos.soup.json.Json;
import com.workshare.msnos.usvc.api.RestApi;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
public class QnePayload implements Payload {
private String name;
private Set<RestApi> apis;
public QnePayload(String name, RestApi... apis) {
this(name, Collections.unmodifiableSet(new HashSet<RestApi>(Arrays.asList(apis))));
}
public QnePayload(String name, Set<RestApi> apis) {
this.name = name;
this.apis = apis;
}
public Set<RestApi> getApis() {
return apis;
}
public String getName() {
return name;
}
@Override
public String toString() {
return Json.toJsonString(this);
}
@Override
public Payload[] split() {
Set<RestApi> apisOne = new HashSet<RestApi>();
Set<RestApi> apisTwo = new HashSet<RestApi>();
int i = 0;
for (RestApi api : apis) {
if (i++%2 == 0)
apisOne.add(api);
else
apisTwo.add(api);
}
return new Payload[] {
new QnePayload(name, apisOne),
new QnePayload(name, apisTwo)
};
}
@Override
public boolean process(Message message, Internal internal) {
return false;
}
}