/** * @param application */ public static void addRegistry(Application<ApplicationConfiguration> application, MetricRegistry registry) { String applicationName = application.getConfiguration().getName(); if (registries.containsKey(applicationName)) { return; } registries.put(applicationName, registry); }
/** * Returns the handler for the given application * * @param application * @return */ protected ApplicationHandler getApplicationHandler(Application<ApplicationConfiguration> application) { ApplicationHandler handler = handlers.get(application); if (handler == null) { handler = createApplicationHandler(application.getResourceConfig()); handlers.put(application, handler); } return handler; }
@Override public void postMount(Application<ApplicationConfiguration> application) { application.addFilter(new ResponseTransformationFilter(application.getConfiguration().getResponsePropertiesToExclude(), namingStrategy)); application.getObjectMapper().registerModule(new MinnalModule()); if (application.getConfiguration().isInstrumentationEnabled()) { createApplicationEnhancer(application).enhance(); } }
public void init() { registerPlugins(); addFilters(); defineResources(); mapExceptions(); addProviders(); for (Plugin plugin : plugins) { plugin.init(this); } }
@Override public void init(Application<? extends ApplicationConfiguration> application) { application.addProvider(new ApiDeclarationProvider()); application.addProvider(new ResourceListingProvider()); application.addResource(ApiListingResourceJSON.class); if (enableCors) { application.addFilter(CorsFilter.class); } }
@Override public void init(Application<? extends ApplicationConfiguration> application) { ApplicationConfiguration applicationConfiguration = application.getConfiguration(); if (! (applicationConfiguration instanceof SecurityAware)) { return; } SecurityConfiguration configuration = ((SecurityAware) applicationConfiguration).getSecurityConfiguration(); clients.init(); CallbackFilter callbackFilter = new CallbackFilter(clients, configuration); callbackFilter.registerListener(listener); application.addFilter(callbackFilter); application.addFilter(new AuthenticationFilter(clients, configuration)); application.addFilter(new SecurityContextFilter(configuration)); application.getResourceConfig().register(RolesAllowedDynamicFeature.class); }
/** * Mounts the application on the container * * @param application */ protected void mount(Application<ApplicationConfiguration> application) { logger.info("Mounting the application {} on the mount path {}", application, application.getConfiguration().getBasePath()); application.getConfiguration().setParent(configuration); for (ContainerLifecycleListener listener : listeners) { listener.preMount(application); } application.init(); applicationMapping.addApplication(application); for (ContainerLifecycleListener listener : listeners) { listener.postMount(application); } }
/** * Maps application to its mount path. If the mount path already exists or if the application is already mapped to another mount path, * throws an exception * * @param application * @param mountPath */ public void addApplication(Application<ApplicationConfiguration> application) { String mountPath = structureUrl(application.getConfiguration().getBasePath()); String path = getAbsolutePath(mountPath); if (applications.containsKey(path)) { throw new IllegalArgumentException("Mount path - " + mountPath + " already exists. Either change the application base path or override it in container"); } if (applications.containsValue(application)) { throw new IllegalArgumentException("Application - " + application + " is already mounted on a different mount path"); } application.setPath(HttpUtil.createURI(path)); applications.put(path, application); }
public void init(Application<? extends ApplicationConfiguration> application) { List<PersistenceProvider> providers = getProviders(); if (providers == null || providers.isEmpty()) { throw new MinnalException("No JPA persistence provider found"); } PersistenceProvider provider = providers.get(0); PersistenceUnitInfo info = createPersistenceUnitInfo(application.getConfiguration(), provider); factory = provider.createContainerEntityManagerFactory(info, null); JPA.instance.addPersistenceUnit(info.getPersistenceUnitName(), factory); application.addListener(new JerseyApplicationEventListener(application.getConfiguration().getDatabaseConfiguration())); }
@Override public void init() { super.init(); Hibernate4Module module = new Hibernate4Module(); module.configure(Feature.FORCE_LAZY_LOADING, true); getObjectMapper().registerModule(module); } }
@Override public void init(Application<? extends ApplicationConfiguration> application) { application.addExceptionMapper(ConstraintViolationExceptionHandler.class); }
@Override public void init() { super.init(); Hibernate4Module module = new Hibernate4Module(); module.configure(Feature.FORCE_LAZY_LOADING, true); getObjectMapper().registerModule(module); } }
/** * @param application */ public static void removeRegistry(Application<ApplicationConfiguration> application) { String applicationName = application.getConfiguration().getName(); if (! registries.containsKey(applicationName)) { return; } registries.remove(applicationName); }
/** * @param application * @param namingStrategy */ public MinnalApplicationEnhancer(Application<ApplicationConfiguration> application, NamingStrategy namingStrategy) { super(application.getResourceConfig(), namingStrategy, getPackagesToScan(application), getPackagesToScan(application)); }
protected void loadApplications() { logger.info("Loading the applications"); for (Application<ApplicationConfiguration> application : ServiceLoader.load(Application.class)) { String mountPath = configuration.getMounts().get(application.getClass().getName()); if (mountPath == null) { mountPath = application.getConfiguration().getBasePath(); } else { application.getConfiguration().setBasePath(mountPath); } mount(application); } }
@BeforeSuite public void beforeSuite() { container.init(); container.start(); Application<ApplicationConfiguration> application = container.getApplications().iterator().next(); init(application.getResourceConfig()); }
protected static String[] getPackagesToScan(Application<ApplicationConfiguration> application) { return application.getConfiguration().getDatabaseConfiguration().getPackagesToScan().toArray(new String[0]); } }
protected void registerGuages() { metricRegistry.register(MetricRegistry.name(application.getConfiguration().getName(), "datasource", "activeConnections"), new Gauge<Integer>() { @Override metricRegistry.register(MetricRegistry.name(application.getConfiguration().getName(), "datasource", "awaitingCheckout"), new Gauge<Integer>() { @Override metricRegistry.register(MetricRegistry.name(application.getConfiguration().getName(), "datasource", "idleConnections"), new Gauge<Integer>() { @Override metricRegistry.register(MetricRegistry.name(application.getConfiguration().getName(), "datasource", "cachedStatements"), new Gauge<Integer>() { @Override metricRegistry.register(MetricRegistry.name(application.getConfiguration().getName(), "datasource", "totalConnections"), new Gauge<Integer>() { @Override metricRegistry.register(MetricRegistry.name(application.getConfiguration().getName(), "datasource", "failedCheckins"), new Gauge<Long>() { @Override metricRegistry.register(MetricRegistry.name(application.getConfiguration().getName(), "datasource", "failedCheckouts"), new Gauge<Long>() { @Override metricRegistry.register(MetricRegistry.name(application.getConfiguration().getName(), "datasource", "failedIdleTests"),
protected void init() { DatabaseConfiguration configuration = application.getConfiguration().getDatabaseConfiguration(); if (configuration == null) { return; } statistics = configuration.getDataSourceProvider().getStatistics(); if (statistics == null) { return; } metricRegistry = MetricRegistries.getRegistry(application.getConfiguration().getName()); registerGuages(); }
@Override public void onComplete(MessageContext context) { String name = null; Boolean successful = (Boolean) context.getAttribute(SUCCESSFUL); if (successful == null) { name = MetricRegistry.name(context.getApplication().getConfiguration().getName(), EXCEPTIONS); MetricRegistries.getRegistry(context.getApplication().getConfiguration().getName()).meter(name).mark(); } else { if (! successful) { name = getMetricName(context, Integer.toString(context.getResponse().getStatus().code())); MetricRegistries.getRegistry(context.getApplication().getConfiguration().getName()).meter(name).mark(); } name = getMetricName(context, RESPONSE_TIME); Timer timer = MetricRegistries.getRegistry(context.getApplication().getConfiguration().getName()).timer(name); timer.update(clock.getTick() - (Long) context.getAttribute(START_TIME), TimeUnit.NANOSECONDS); } } }