@Override public SchemaMetadataInfo getSchemaMetadataInfo(Long schemaMetadataId) { SchemaMetadataStorable givenSchemaMetadataStorable = new SchemaMetadataStorable(); givenSchemaMetadataStorable.setId(schemaMetadataId); List<QueryParam> params = Collections.singletonList(new QueryParam(SchemaMetadataStorable.ID, schemaMetadataId.toString())); Collection<SchemaMetadataStorable> schemaMetadataStorables = storageManager.find(SchemaMetadataStorable.NAME_SPACE, params); SchemaMetadataInfo schemaMetadataInfo = null; if (schemaMetadataStorables != null && !schemaMetadataStorables.isEmpty()) { schemaMetadataInfo = schemaMetadataStorables.iterator().next().toSchemaMetadataInfo(); if (schemaMetadataStorables.size() > 1) { LOG.warn("No unique entry with schemaMetatadataId: [{}]", schemaMetadataId); } LOG.info("SchemaMetadata entries with id [{}] is [{}]", schemaMetadataStorables); } return schemaMetadataInfo; }
@Override public SchemaMetadataInfo getSchemaMetadataInfo(String schemaName) { SchemaMetadataStorable givenSchemaMetadataStorable = new SchemaMetadataStorable(); givenSchemaMetadataStorable.setName(schemaName); SchemaMetadataStorable schemaMetadataStorable = storageManager.get(givenSchemaMetadataStorable.getStorableKey()); return schemaMetadataStorable != null ? schemaMetadataStorable.toSchemaMetadataInfo() : null; }
@Override public SchemaMetadataInfo updateSchemaMetadata(String schemaName, SchemaMetadata schemaMetadata) { if (!schemaName.equals(schemaMetadata.getName())) { throw new IllegalArgumentException("schemaName must match the name in schemaMetadata"); } SchemaMetadataStorable givenSchemaMetadataStorable = new SchemaMetadataStorable(); givenSchemaMetadataStorable.setName(schemaName); SchemaMetadataStorable schemaMetadataStorable = storageManager.get(givenSchemaMetadataStorable.getStorableKey()); if (schemaMetadataStorable != null) { schemaMetadataStorable = SchemaMetadataStorable.updateSchemaMetadata(schemaMetadataStorable, schemaMetadata); storageManager.update(schemaMetadataStorable); return schemaMetadataStorable.toSchemaMetadataInfo(); } else { return null; } }
public static SchemaMetadataStorable fromSchemaMetadataInfo(SchemaMetadataInfo schemaMetadataInfo) { SchemaMetadata schemaMetadata = schemaMetadataInfo.getSchemaMetadata(); SchemaMetadataStorable schemaMetadataStorable = updateSchemaMetadata(new SchemaMetadataStorable(), schemaMetadata); schemaMetadataStorable.setId(schemaMetadataInfo.getId()); schemaMetadataStorable.setTimestamp(schemaMetadataInfo.getTimestamp()); return schemaMetadataStorable; }