in clients/cli/src/main/java/org/apache/gravitino/cli/commands/UntagEntity.java [60:139]
public void handle() {
String entity = "unknown";
String[] removeTags = new String[0];
try {
GravitinoClient client = buildClient(metalake);
if (name.getLevel() == 3) {
String catalog = name.getCatalogName();
Catalog catalogObject = client.loadCatalog(catalog);
switch (catalogObject.type()) {
case RELATIONAL:
String table = name.getTableName();
entity = table;
Table gTable = catalogObject.asTableCatalog().loadTable(FullNameUtil.toTable(name));
removeTags = gTable.supportsTags().associateTags(null, tags);
break;
case MODEL:
String model = name.getModelName();
entity = model;
Model gModel = catalogObject.asModelCatalog().getModel(FullNameUtil.toModel(name));
removeTags = gModel.supportsTags().associateTags(null, tags);
break;
case FILESET:
String fileset = name.getFilesetName();
entity = fileset;
Fileset gFileset =
catalogObject.asFilesetCatalog().loadFileset(FullNameUtil.toFileset(name));
removeTags = gFileset.supportsTags().associateTags(null, tags);
break;
case MESSAGING:
String topic = name.getTopicName();
entity = topic;
Topic gTopic = catalogObject.asTopicCatalog().loadTopic(FullNameUtil.toTopic(name));
removeTags = gTopic.supportsTags().associateTags(null, tags);
break;
default:
break;
}
} else if (name.hasSchemaName()) {
String catalog = name.getCatalogName();
String schema = name.getSchemaName();
Schema gSchema = client.loadCatalog(catalog).asSchemas().loadSchema(schema);
removeTags = gSchema.supportsTags().associateTags(null, tags);
entity = schema;
} else if (name.hasCatalogName()) {
String catalog = name.getCatalogName();
Catalog gCatalog = client.loadCatalog(catalog);
removeTags = gCatalog.supportsTags().associateTags(null, tags);
entity = catalog;
}
} catch (NoSuchMetalakeException err) {
exitWithError(ErrorMessages.UNKNOWN_METALAKE);
} catch (NoSuchCatalogException err) {
exitWithError(ErrorMessages.UNKNOWN_CATALOG);
} catch (NoSuchSchemaException err) {
exitWithError(ErrorMessages.UNKNOWN_SCHEMA);
} catch (NoSuchTableException err) {
exitWithError(ErrorMessages.UNKNOWN_TABLE);
} catch (Exception exp) {
exitWithError(exp.getMessage());
}
String all = String.join(",", removeTags);
if (all.equals("")) {
all = "nothing";
}
if (tags.length > 1) {
printInformation(
entity + " removed tags " + String.join(",", tags) + " now tagged with " + all);
} else {
printInformation(entity + " removed tag " + tags[0] + " now tagged with " + all);
}
}