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; }
/** * Create new instance of EventClass. * * @param dto data transfer object, contain data for new instance */ public EventClass(EventClassDto dto) { super(dto); this.id = getLongId(dto.getId()); Long tenantId = getLongId(dto.getTenantId()); if (tenantId != null) { this.tenant = new Tenant(tenantId); } this.fqn = dto.getFqn(); this.type = dto.getType(); Long ecfvId = getLongId(dto.getEcfvId()); if (ecfvId != null) { this.ecfv = new EventClassFamilyVersion(ecfvId); } this.version = dto.getVersion(); this.name = dto.getName(); this.description = dto.getDescription(); this.createdUsername = dto.getCreatedUsername(); this.createdTime = dto.getCreatedTime(); Long ctlId = getLongId(dto.getCtlSchemaId()); if (ctlId != null) { this.setCtlSchema(new CtlSchema(ctlId)); } }