@Override public void enrich(ExtensionLoadingContext extensionLoadingContext) { ExtensionDeclaration extensionDeclaration = extensionLoadingContext.getExtensionDeclarer().getDeclaration(); Set<ErrorModel> errorModels = extensionDeclaration.getErrorModels(); new IdempotentDeclarationWalker() { @Override public void onOperation(WithOperationsDeclaration owner, OperationDeclaration operationDeclaration) { enrichComponent(operationDeclaration); } @Override protected void onConstruct(ConstructDeclaration declaration) { enrichComponent(declaration); } private void enrichComponent(ComponentDeclaration declaration) { if (declaration.getModelProperty(ConnectivityModelProperty.class).isPresent()) { declaration.addErrorModel(getErrorModel(CONNECTIVITY, errorModels, declaration)); declaration.addErrorModel(getErrorModel(RETRY_EXHAUSTED, errorModels, declaration)); } } }.walk(extensionDeclaration); } }
@Override public void enrich(ExtensionLoadingContext extensionLoadingContext) { ExtensionDeclaration extensionDeclaration = extensionLoadingContext.getExtensionDeclarer().getDeclaration(); Set<ErrorModel> errorModels = extensionDeclaration.getErrorModels(); new IdempotentDeclarationWalker() { @Override public void onOperation(WithOperationsDeclaration owner, OperationDeclaration operationDeclaration) { enrichComponent(operationDeclaration); } @Override protected void onConstruct(ConstructDeclaration declaration) { enrichComponent(declaration); } private void enrichComponent(ComponentDeclaration declaration) { if (declaration.getModelProperty(ConnectivityModelProperty.class).isPresent()) { declaration.addErrorModel(getErrorModel(CONNECTIVITY, errorModels, declaration)); declaration.addErrorModel(getErrorModel(RETRY_EXHAUSTED, errorModels, declaration)); } } }.walk(extensionDeclaration); } }