@Override protected void onConnectionProvider(ConnectedDeclaration owner, ConnectionProviderDeclaration declaration) { if (!visitedProviders.add(new Reference<>(declaration))) { return; } if (declaration.getModelProperty(OAuthModelProperty.class).isPresent()) { if (owner instanceof ExtensionDeclaration) { oauthGloballySupported.set(true); stop(); } else if (owner instanceof ConfigurationDeclaration) { oauthConfigs.add(new Reference<>((ConfigurationDeclaration) owner)); } enrichOAuthParameters(declaration); extractImplementingType(declaration).ifPresent(type -> enrichCallbackValues(declaration, type)); } } }.walk(extensionDeclaration);
@Override protected void onConnectionProvider(ConnectedDeclaration owner, ConnectionProviderDeclaration declaration) { final StereotypeModel defaultStereotype = createStereotype(declaration.getName(), CONNECTION); ifPresent(declaration.getModelProperty(ExtensionTypeDescriptorModelProperty.class) .map(ExtensionTypeDescriptorModelProperty::getType), type -> resolveStereotype(type, declaration, defaultStereotype), () -> declaration.withStereotype(defaultStereotype)); }
private void assertTestModuleConnectionProviders(ExtensionDeclaration extensionDeclaration) throws Exception { assertThat(extensionDeclaration.getConnectionProviders(), hasSize(2)); ConnectionProviderDeclaration connectionProvider = extensionDeclaration.getConnectionProviders().get(0); assertThat(connectionProvider.getName(), is(DEFAULT_CONNECTION_PROVIDER_NAME)); List<ParameterDeclaration> parameters = connectionProvider.getAllParameters(); assertThat(parameters, hasSize(3)); assertParameter(parameters, "saulPhoneNumber", "", STRING_TYPE, false, SUPPORTED, SAUL_OFFICE_NUMBER); ImplementingTypeModelProperty typeModelProperty = connectionProvider.getModelProperty(ImplementingTypeModelProperty.class).get(); assertThat(typeModelProperty.getType(), equalTo(HeisenbergConnectionProvider.class)); parameters = extensionDeclaration.getConnectionProviders().get(1).getAllParameters(); assertParameter(parameters, TLS_PARAMETER_NAME, "", toMetadataType(TlsContextFactory.class), true, NOT_SUPPORTED, null); }
@Override protected void onConnectionProvider(ConnectedDeclaration owner, ConnectionProviderDeclaration declaration) { if (!visitedProviders.add(new Reference<>(declaration))) { return; } if (declaration.getModelProperty(OAuthModelProperty.class).isPresent()) { if (owner instanceof ExtensionDeclaration) { oauthGloballySupported.set(true); stop(); } else if (owner instanceof ConfigurationDeclaration) { oauthConfigs.add(new Reference<>((ConfigurationDeclaration) owner)); } enrichOAuthParameters(declaration); extractImplementingType(declaration).ifPresent(type -> enrichCallbackValues(declaration, type)); } } }.walk(extensionDeclaration);
@Override protected void onConnectionProvider(ConnectedDeclaration owner, ConnectionProviderDeclaration declaration) { final StereotypeModel defaultConnectionStereotype = newStereotype(declaration.getName(), namespace) .withParent(CONNECTION).build(); ifPresent( declaration.getModelProperty(ExtensionTypeDescriptorModelProperty.class) .map(ExtensionTypeDescriptorModelProperty::getType), type -> new ClassStereotypeResolver(type, declaration, namespace, defaultConnectionStereotype, stereotypes).resolveStereotype(), () -> declaration.withStereotype(defaultConnectionStereotype)); }