protected CTLSchemaDto generateCTLSchemaDto(String fqn, String tenantId, String applicationId, int version) { CTLSchemaDto ctlSchema = new CTLSchemaDto(); ctlSchema.setMetaInfo(new CtlSchemaMetaInfoDto(fqn, tenantId, applicationId)); ctlSchema.setVersion(version); String name = fqn.substring(fqn.lastIndexOf(".") + 1); String namespace = fqn.substring(0, fqn.lastIndexOf(".")); StringBuilder body = new StringBuilder("{\"type\": \"record\","); body = body.append("\"name\": \"").append(name).append("\","); body = body.append("\"namespace\": \"").append(namespace).append("\","); body = body.append("\"version\": ").append(version).append(","); body = body.append("\"dependencies\": [], \"fields\": []}"); ctlSchema.setBody(body.toString()); return ctlSchema; }
protected CTLSchemaDto generateCTLSchemaDto(String fqn, String tenantId, int version) { CTLSchemaDto ctlSchema = new CTLSchemaDto(); CtlSchemaMetaInfoDto metaInfoDto = new CtlSchemaMetaInfoDto(fqn, tenantId); ctlSchema.setMetaInfo(metaInfoDto); ctlSchema.setVersion(version); ctlSchema.setBody(UUID.randomUUID().toString()); return ctlSchema; }
@Override public CTLSchemaDto getOrCreateEmptySystemSchema(String createdUsername) { CTLSchemaDto ctlSchema = findCtlSchemaByFqnAndVerAndTenantIdAndApplicationId( DEFAULT_SYSTEM_EMPTY_SCHEMA_FQN, DEFAULT_SYSTEM_EMPTY_SCHEMA_VERSION, null, null); if (ctlSchema == null) { ctlSchema = new CTLSchemaDto(); CtlSchemaMetaInfoDto metaInfo = new CtlSchemaMetaInfoDto(DEFAULT_SYSTEM_EMPTY_SCHEMA_FQN); ctlSchema.setMetaInfo(metaInfo); ctlSchema.setVersion(DEFAULT_SYSTEM_EMPTY_SCHEMA_VERSION); ctlSchema.setCreatedUsername(createdUsername); ctlSchema.setDependencySet(new HashSet<CTLSchemaDto>()); String body = getStringFromFile(DEFAULT_SYSTEM_EMPTY_SCHEMA_FILE, CtlServiceImpl.class); if (!body.isEmpty()) { ctlSchema.setBody(body); } else { throw new RuntimeException("Can't read default system schema."); // NOSONAR } ctlSchema = saveCtlSchema(ctlSchema); } return ctlSchema; }
object.put(VERSION, 1); schema.setVersion(object.get(VERSION).asInt());
@Override public CTLSchemaDto toDto() { CTLSchemaDto ctlSchemaDto = createDto(); ctlSchemaDto.setId(getStringId()); ctlSchemaDto.setMetaInfo(metaInfo.toDto()); ctlSchemaDto.setVersion(version); ctlSchemaDto.setCreatedTime(createdTime); ctlSchemaDto.setCreatedUsername(createdUsername); ctlSchemaDto.setBody(body); ctlSchemaDto.setDefaultRecord(defaultRecord); ctlSchemaDto.setDependencySet(DaoUtil.convertDtoSet(dependencySet)); return ctlSchemaDto; }
@Test public void testSaveFlatCtlSchema() throws IOException { CTLSchemaDto testCtl = new CTLSchemaDto(); CtlSchemaMetaInfoDto ctlMetaInfo = new CtlSchemaMetaInfoDto("org.kaaproject.kaa.NoDependenciesCtlExample", tenant.getId()); testCtl.setMetaInfo(ctlMetaInfo); testCtl.setVersion(1); testCtl.setBody(readSchemaFileAsString(TEST_CTL_SCHEMA_FLAT)); testCtl = ctlService.saveCtlSchema(testCtl); CTLSchemaDto foundCtl = ctlService.findCtlSchemaById(testCtl.getId()); String defaultRecord = foundCtl.getDefaultRecord(); Assert.assertNotNull(foundCtl); Assert.assertTrue(defaultRecord.contains("\"bytesField\":\"\"")); Assert.assertTrue(defaultRecord.contains("\"booleanField\":false")); Assert.assertTrue(defaultRecord.contains("\"intField\":0")); Assert.assertTrue(defaultRecord.contains("\"longField\":0")); Assert.assertTrue(defaultRecord.contains("\"floatField\":0.0")); Assert.assertTrue(defaultRecord.contains("\"doubleField\":0.0")); Assert.assertTrue(defaultRecord.contains("\"stringField\":\"\"")); Assert.assertTrue(defaultRecord.contains("\"enumField\":\"SPADES\"")); Assert.assertTrue(defaultRecord.contains("\"arrayField\":[]")); Assert.assertTrue(defaultRecord.contains("\"recordsArrayField\":[]")); Assert.assertTrue(defaultRecord.contains("\"recordField\":{\"bytesFieldInRecord\":\"\",\"booleanFieldInRecord\":false,\"intFieldInRecord\":0,\"floatFieldInRecord\":0.0}")); }
ctlSchema.getMetaInfo().setFqn(schemaForm.getDeclaredFqn().getFqnString()); ctlSchema.getMetaInfo().setTenantId(currentUser.getTenantId()); ctlSchema.setVersion(schemaForm.getVersion()); List<FqnVersion> dependenciesList = schemaForm.getContext().getCtlDependenciesList(); Set<CTLSchemaDto> dependencies = new HashSet<>();
CtlSchemaMetaInfoDto gammaMetaInfo = new CtlSchemaMetaInfoDto("org.kaaproject.kaa.Gamma", tenant.getId()); gamma.setMetaInfo(gammaMetaInfo); gamma.setVersion(1); gamma.setBody(readSchemaFileAsString(TEST_CTL_SCHEMA_GAMMA)); gamma = ctlService.saveCtlSchema(gamma); CtlSchemaMetaInfoDto betaMetaInfo = new CtlSchemaMetaInfoDto("org.kaaproject.kaa.Beta", tenant.getId()); beta.setMetaInfo(betaMetaInfo); beta.setVersion(1); Set<CTLSchemaDto> betaDependencies = new HashSet<>(); betaDependencies.add(gamma); CtlSchemaMetaInfoDto alphaMetaInfo = new CtlSchemaMetaInfoDto("org.kaaproject.kaa.Alpha", tenant.getId()); alpha.setMetaInfo(alphaMetaInfo); alpha.setVersion(1); Set<CTLSchemaDto> alphaDependencies = new HashSet<>(); alphaDependencies.add(beta);