protected List<EventClassFamilyVersion> generateEventClassFamilyVersion(EventClassFamily eventClassFamily, int ecfvCount, int ecCount) {
List<EventClassFamilyVersion> ecfvList = new ArrayList<>(ecfvCount);
for (int i = 0; i < ecfvCount; i++) {
EventClassFamilyVersion ecfv = new EventClassFamilyVersion();
List<EventClass> ecList = new ArrayList<>();
for (int j = 0; j < ecCount; j++) {
EventClass ec = new EventClass();
ec.setTenant(eventClassFamily.getTenant());
Optional<CtlSchema> ctlMaxVersion = ctlSchemaDao.find().stream()
.max((ctl1, ctl2) -> Integer.compare(ctl1.getVersion(), ctl2.getVersion()));
int version = ctlMaxVersion.isPresent() ? (ctlMaxVersion.get().getVersion() + 1) : 1;
ec.setCtlSchema(generateCTLSchema(DEFAULT_FQN, version, eventClassFamily.getTenant(), CTLSchemaScopeDto.TENANT));
ec.setEcfv(ecfv);
ec.setFqn("Test FQN" + RANDOM.nextInt());
ec.setType(EventClassType.EVENT);
ecList.add(ec);
}
ecfv.setRecords(ecList);
ecfvList.add(ecfv);
}
return ecfvList;
}