
com.fimet.json.JStressFileBuilderAdapter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of fimet-exe Show documentation
Show all versions of fimet-exe Show documentation
Execution implementarion of usecases and stress test for ISO8583
The newest version!
package com.fimet.json;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import com.google.gson.TypeAdapter;
import com.google.gson.reflect.TypeToken;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonToken;
import com.google.gson.stream.JsonWriter;
import com.google.gson.stream.MalformedJsonException;
import com.fimet.Paths;
import com.fimet.utils.FileUtils;
import com.fimet.utils.UseCaseUtils;
import com.fimet.utils.VariatorUtils;
public class JStressFileBuilderAdapter extends TypeAdapter {
protected final TypeAdapter delegate;
private TypeAdapter messageAdapter;
private TypeAdapter>> mapAdapter;
private TypeAdapter variatorAdapter;
public JStressFileBuilderAdapter(TypeAdapter delegate) {
if (delegate == null) {
throw new NullPointerException("TypeAdapter delegate is null");
}
this.delegate = delegate;
this.messageAdapter = JExeAdapterFactory.GSON.getAdapter(JMessageMap.class);
this.mapAdapter = JExeAdapterFactory.GSON.getAdapter(new TypeToken>>() {});
this.variatorAdapter = JExeAdapterFactory.GSON.getAdapter(new TypeToken() {});
}
@Override
public JStressFileBuilder read(JsonReader in) throws IOException {
JStressFileBuilder e = new JStressFileBuilder();
in.beginObject();
String name;
while (in.hasNext() && in.peek() == JsonToken.NAME) {
name = in.nextName();
if ("message".equals(name)) {
e.setMessage(messageAdapter.read(in));
} else if ("usecase".equals(name)) {
String path = in.nextString();
if (!path.toLowerCase().endsWith(".uc")) {
path = path+".uc";
}
String ucjson = FileUtils.readContents(new File(Paths.USECASES,path));
JUseCaseJMsg juc = UseCaseUtils.fromStringToJUseCaseJMsg(ucjson);
e.setMessage(juc.getMessage());
} else if ("cartesian".equals(name)) {
Map fields = readFields(in);
e.setCartesian(fields);
} else if ("replacements".equals(name)) {
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy