package io.cattle.platform.iaas.api.request.handler; import io.cattle.platform.api.auth.Policy; import io.cattle.platform.api.utils.ApiUtils; import io.github.ibuildthecloud.gdapi.context.ApiContext; import io.github.ibuildthecloud.gdapi.id.IdentityFormatter; import io.github.ibuildthecloud.gdapi.request.ApiRequest; import io.github.ibuildthecloud.gdapi.request.handler.AbstractApiRequestHandler; import io.github.ibuildthecloud.gdapi.request.handler.ApiRequestHandler; import java.io.IOException; public class IdFormatterRequestHandler extends AbstractApiRequestHandler implements ApiRequestHandler { IdentityFormatter plainFormatter; @Override public void handle(ApiRequest request) throws IOException { Policy policy = ApiUtils.getPolicy(); if (policy.isOption(Policy.PLAIN_ID)) { ApiContext.getContext().setIdFormatter(plainFormatter); } else if (policy.isOption(Policy.PLAIN_ID_OPTION) && "true".equalsIgnoreCase(request.getOptions().get("_plainId"))) { ApiContext.getContext().setIdFormatter(plainFormatter); } ApiContext.getContext().setIdFormatter(ApiContext.getContext().getIdFormatter().withSchemaFactory(request.getSchemaFactory())); } public IdentityFormatter getPlainFormatter() { return plainFormatter; } public void setPlainFormatter(IdentityFormatter plainFormatter) { this.plainFormatter = plainFormatter; } }