io.streamnative.pulsar.handlers.kop.schemaregistry.exceptions.Errors Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulsar-kafka-schema-registry Show documentation
Show all versions of pulsar-kafka-schema-registry Show documentation
Kafka Compatible Schema Registry
The newest version!
/**
* Copyright (c) 2019 - 2024 StreamNative, Inc.. All Rights Reserved.
*/
/**
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.streamnative.pulsar.handlers.kop.schemaregistry.exceptions;
/**
* Migrate from confluent.
* Refer to here
*/
public class Errors {
// HTTP 404
public static final String SUBJECT_NOT_FOUND_MESSAGE_FORMAT = "Subject '%s' not found.";
public static final int SUBJECT_NOT_FOUND_ERROR_CODE = 40401;
public static final String VERSION_NOT_FOUND_MESSAGE_FORMAT = "Version %s not found.";
public static final int VERSION_NOT_FOUND_ERROR_CODE = 40402;
public static final String SCHEMA_NOT_FOUND_MESSAGE = "Schema not found";
public static final String SCHEMA_NOT_FOUND_MESSAGE_FORMAT = "Schema %s not found";
public static final int SCHEMA_NOT_FOUND_ERROR_CODE = 40403;
public static final String SUBJECT_SOFT_DELETED_MESSAGE_FORMAT = "Subject '%s' was soft deleted."
+ "Set permanent=true to delete permanently";
public static final int SUBJECT_SOFT_DELETED_ERROR_CODE = 40404;
public static final String SUBJECT_NOT_SOFT_DELETED_MESSAGE_FORMAT = "Subject '%s' was not deleted "
+ "first before being permanently deleted";
public static final int SUBJECT_NOT_SOFT_DELETED_ERROR_CODE = 40405;
public static final String SCHEMAVERSION_SOFT_DELETED_MESSAGE_FORMAT = "Subject '%s' Version %s was soft deleted."
+ "Set permanent=true to delete permanently";
public static final int SCHEMAVERSION_SOFT_DELETED_ERROR_CODE = 40406;
public static final String SCHEMAVERSION_NOT_SOFT_DELETED_MESSAGE_FORMAT =
"Subject '%s' Version %s was not deleted first before being permanently deleted";
public static final int SCHEMAVERSION_NOT_SOFT_DELETED_ERROR_CODE = 40407;
// HTTP 422
public static final int INVALID_SCHEMA_ERROR_CODE = 42201;
public static final int INVALID_VERSION_ERROR_CODE = 42202;
public static final int REFERENCE_EXISTS_ERROR_CODE = 42206;
public static final int INVALID_SUBJECT_ERROR_CODE = 42208;
public static RestException subjectNotFoundException(String subject) {
return new RestNotFoundException(
String.format(SUBJECT_NOT_FOUND_MESSAGE_FORMAT, subject), SUBJECT_NOT_FOUND_ERROR_CODE);
}
public static RestException subjectSoftDeletedException(String subject) {
return new RestNotFoundException(
String.format(SUBJECT_SOFT_DELETED_MESSAGE_FORMAT, subject), SUBJECT_SOFT_DELETED_ERROR_CODE);
}
public static RestException subjectNotSoftDeletedException(String subject) {
return new RestNotFoundException(
String.format(SUBJECT_NOT_SOFT_DELETED_MESSAGE_FORMAT, subject), SUBJECT_NOT_SOFT_DELETED_ERROR_CODE);
}
public static RestException versionNotFoundException(Integer id) {
return new RestNotFoundException(
String.format(VERSION_NOT_FOUND_MESSAGE_FORMAT, id), VERSION_NOT_FOUND_ERROR_CODE);
}
public static RestException schemaNotFoundException() {
return new RestNotFoundException(SCHEMA_NOT_FOUND_MESSAGE, SCHEMA_NOT_FOUND_ERROR_CODE);
}
public static RestException schemaNotFoundException(Integer id) {
if (id == null) {
return schemaNotFoundException();
}
return new RestNotFoundException(
String.format(SCHEMA_NOT_FOUND_MESSAGE_FORMAT, id), SCHEMA_NOT_FOUND_ERROR_CODE);
}
public static RestInvalidVersionException invalidVersionException(String version) {
return new RestInvalidVersionException(version);
}
public static RestException schemaVersionSoftDeletedException(String subject, String version) {
return new RestNotFoundException(
String.format(SCHEMAVERSION_SOFT_DELETED_MESSAGE_FORMAT, subject, version),
SCHEMAVERSION_SOFT_DELETED_ERROR_CODE);
}
public static RestException schemaVersionNotSoftDeletedException(String subject, String version) {
return new RestNotFoundException(
String.format(SCHEMAVERSION_NOT_SOFT_DELETED_MESSAGE_FORMAT, subject, version),
SCHEMAVERSION_NOT_SOFT_DELETED_ERROR_CODE);
}
public static RestReferenceExistsException referenceExistsException(String message) {
return new RestReferenceExistsException(message);
}
public static RestInvalidSchemaException invalidSchemaException(Throwable cause) {
return new RestInvalidSchemaException(cause.getMessage());
}
}