@Override public void mountPrivate(RootResource resource) { target.addService(Services.systemResource(moduleId, this.id), new ValueService<RootResource>(new ImmediateValue<>(resource))) .install(); mountPrivate(Services.systemResource(moduleId, this.id)); }
@Override public void extend(SystemExtensionContext context) throws Exception { ServiceName serviceName = Services.systemResource(context.moduleId(), context.id()); ApplicationTemplateResource applicationTemplateResource = new ApplicationTemplateResource(context.id()); ValueService applicationTemplateResourceService = new ValueService(new ImmediateValue<>(applicationTemplateResource)); context.target().addService(serviceName, applicationTemplateResourceService) .install(); context.mountPrivate(serviceName); TemplateRegistryService templateRegistryService = new TemplateRegistryService(); context.target().addService(SYSTEM_APPLICATION_TEMPLATE_REGISTRY, templateRegistryService) .addDependency(serviceName, ApplicationTemplateResource.class, templateRegistryService.applicationTemplateResourceInjector()) .addDependency(serviceName.append("mount")) .install(); }
@Override public void extend(SystemExtensionContext context) throws Exception { ServiceTarget target = context.target(); InterceptorSystemResourceService interceptorSystemResourceService = new InterceptorSystemResourceService(context.id()); target.addService(Services.systemResource(context.moduleId(), context.id()), interceptorSystemResourceService) .addDependency(Services.INTERCEPTOR_MANAGER, InterceptorManager.class, interceptorSystemResourceService.interceptorManagerInjector()) .install(); context.mountPrivate(Services.systemResource(context.moduleId(), context.id())); InterceptorRegistrationHelper.installInterceptor(target, "timing-http", new TimingInterceptor("HTTP")); InterceptorRegistrationHelper.installInterceptor(target, "timing-local", new TimingInterceptor("Local")); }
@Override public void extend(SystemExtensionContext context) throws Exception { analyticsServiceName = Services.instanceResource(context.moduleId(), context.id()); // install AnalyticsService that handles Analytics singleton AnalyticsService analyticsService = new AnalyticsService(); context.target().addService(analyticsServiceName, analyticsService) .install(); // install AnalyticsExtensionConfigService which provides extension config root resource (rest endpoint) via getValue() ServiceName configServiceName = Services.systemResource(context.moduleId(), context.id()); AnalyticsExtensionConfigService configService = new AnalyticsExtensionConfigService(context.id()); context.target().addService(configServiceName, configService) .addDependency(analyticsServiceName, AnalyticsService.class, configService.analyticsServiceInjector()) .install(); context.mountPrivate(configServiceName); }
@Override public void extend(SystemExtensionContext context) throws Exception { ServiceTarget target = context.target(); target.addService(KeycloakServices.address(), new KeycloakConfigService()) .install(); ServiceName serviceName = Services.systemResource(context.moduleId(), context.id()); KeycloakConfigResourceService resource = new KeycloakConfigResourceService(context.id()); target.addService(serviceName, resource) .addDependency(KeycloakServices.address(), KeycloakConfig.class, resource.address()) .install(); context.mountPrivate(serviceName); // Install AuthInterceptor AuthInterceptorService authInterceptor = new AuthInterceptorService(); ServiceController<AuthInterceptor> authController = target.addService(Services.interceptor("auth"), authInterceptor) .addDependency(Services.CLIENT, Client.class, authInterceptor.clientInjector()) .install(); InterceptorRegistrationHelper.installInterceptor(target, authController); // Install Keycloak URL Service KeycloakBaseUrlService baseUrlService = new KeycloakBaseUrlService(); target.addService(Services.SECURITY_BASE_URL, baseUrlService) .addDependency(KeycloakServices.address(), KeycloakConfig.class, baseUrlService.configInjector()) .addDependency(serviceName.append("apply-config")) .install(); }