@Override public SchemaMetadataInfo updateSchemaMetadata(String schemaName, SchemaMetadata schemaMetadata) { SchemaMetadataInfo schemaMetadataInfo = postEntity(currentSchemaRegistryTargets().schemasTarget.path(schemaName), schemaMetadata, SchemaMetadataInfo.class); if (schemaMetadataInfo != null) { schemaMetadataCache.put(SchemaMetadataCache.Key.of(schemaName), schemaMetadataInfo); } return schemaMetadataInfo; }
public static Key of(String name) { return new Key(name); }
public static Key of(Long id) { return new Key(id); } }
@Override public SchemaMetadataInfo getSchemaMetadataInfo(Long schemaMetadataId) { return schemaMetadataCache.get(SchemaMetadataCache.Key.of(schemaMetadataId)); }
@Override public SchemaMetadataInfo getSchemaMetadataInfo(String schemaName) { return schemaMetadataCache.get(SchemaMetadataCache.Key.of(schemaName)); }
@Override public SchemaMetadataInfo load(Key key) throws Exception { if (key.getName() != null) { return schemaMetadataFetcher.fetch(key.getName()); } else if (key.getId() != null) { return schemaMetadataFetcher.fetch(key.getId()); } else { throw new RegistryException("Key should have name or id as non null"); } } });
@Override public Long addSchemaMetadata(SchemaMetadata schemaMetadata) { SchemaMetadataInfo schemaMetadataInfo = schemaMetadataCache.getIfPresent(SchemaMetadataCache.Key.of(schemaMetadata .getName())); if (schemaMetadataInfo == null) { return doRegisterSchemaMetadata(schemaMetadata, currentSchemaRegistryTargets().schemasTarget); } return schemaMetadataInfo.getId(); }