
com.fimet.usecase.CodeStoreDefault 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.usecase;
import java.util.HashMap;
import java.util.Map;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class CodeStoreDefault implements ICodeStore {
private ECodeStore[] tmp;
private Map map;
private int index;
private final int maxSize;
private String[] fields;
public CodeStoreDefault(
@Value("${usecase.store.fields:38,39}") String fields,
@Value("${codestore.maxsize:15}") Integer maxSize
) {
this.maxSize = maxSize;
this.fields = fields.split(",");
index = -1;
tmp = new ECodeStore[maxSize];
map = new HashMap<>();
for (int i = 0; i < tmp.length; i++) {
tmp[i] = new ECodeStore(this.fields.length);
}
}
@Override
public void store(IUseCase useCase) {
index = (index+1)%maxSize;
ECodeStore e = tmp[index];
for (int i = 0; i < fields.length; i++) {
e.setValue(i, useCase.getResponse().getValue(fields[i]));
}
map.put(useCase.getName(), index);
tmp[index]= e;
}
@Override
public ICode get(String useCaseName) {
if (map.containsKey(useCaseName)) {
return tmp[map.get(useCaseName)];
} else {
return null;
}
}
@Override
public void start() {
}
@Override
public void reload() {
}
@Override
public void stop() {
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy