in storage-rocketmq/src/main/java/org/apache/rocketmq/schema/registry/storage/rocketmq/RocketmqStorageClientImpl.java [104:118]
public SchemaRecordInfo getBySubject(QualifiedName qualifiedName) {
if (qualifiedName.getVersion() == null) {
byte[] result = rocketmqClient.getBySubject(qualifiedName.subjectFullName());
return result == null ? null : jsonConverter.fromJson(result, SchemaRecordInfo.class);
}
// schema version is given
SchemaInfo schemaInfo = rocketmqClient.getSchemaInfoBySubject(qualifiedName.subjectFullName());
if (schemaInfo == null || schemaInfo.getDetails() == null || schemaInfo.getDetails().getSchemaRecords() == null) {
return null;
}
Map<Long, SchemaRecordInfo> versionSchemaMap = schemaInfo.getDetails().getSchemaRecords()
.stream().collect(Collectors.toMap(SchemaRecordInfo::getVersion, Function.identity()));
return versionSchemaMap.get(qualifiedName.getVersion());
}