public SchemaRecordInfo getTargetSchema()

in storage-rocketmq/src/main/java/org/apache/rocketmq/schema/registry/storage/rocketmq/RocketmqStorageClientImpl.java [121:144]


    public SchemaRecordInfo getTargetSchema(QualifiedName qualifiedName) {
        // schema version is given
        SchemaInfo schemaInfo = rocketmqClient.getSchemaInfoBySubject(qualifiedName.subjectFullName());
        if (schemaInfo == null || schemaInfo.getDetails() == null || schemaInfo.getDetails().getSchemaRecords() == null) {
            return null;
        }
        SchemaMetaInfo schemaMetaInfo = schemaInfo.getMeta();
        if (schemaMetaInfo == null) {
            return null;
        }
        if (schemaMetaInfo.getType() == SchemaType.AVRO) {
            for (SchemaRecordInfo schemaRecordInfo : schemaInfo.getDetails().getSchemaRecords()) {
                Schema store = new Schema.Parser().parse(schemaRecordInfo.getIdl());
                Schema target = new Schema.Parser().parse(qualifiedName.getSchema());
                if (Objects.equals(store, target)) {
                    return schemaRecordInfo;
                }
            }
        } else {
            //todo support other type
            return null;
        }
        return null;
    }