javax.ws.rs.core.FeatureContext#register()源码实例Demo

下面列出了javax.ws.rs.core.FeatureContext#register() 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: syndesis   文件: CacheForFilter.java
@Override
public void configure(ResourceInfo resourceInfo, FeatureContext context) {
    CacheFor cc = resourceInfo.getResourceClass().getAnnotation(CacheFor.class);
    CacheFor mcc = resourceInfo.getResourceMethod().getAnnotation(CacheFor.class);
    if( mcc!=null ) {
        cc = mcc;
    }
    if (cc!=null) {
        if( cc.value() == 0 ) {
            context.register(NoCacheFilter.class);
        } else if( cc.value() > 0 ) {
            context.register(new CacheFilter("max-age= " + cc.unit().toSeconds(cc.value())));
        }
    } else {
        context.register(NoCacheFilter.class);
    }
}
 
@Override
public boolean configure(final FeatureContext context) {
    final Configuration config = context.getConfiguration();

    final String jsonFeature = getValue(config.getProperties(), config.getRuntimeType(),
            JSON_FEATURE, ST_JSON_FEATURE, String.class);

    // Do not register our JSON feature if another one is already registered
    if (!ST_JSON_FEATURE.equalsIgnoreCase(jsonFeature)) {
        LOGGER.warn("Skipping registration of: {} as JSON support is already provided by: {}",
                ST_JSON_FEATURE, jsonFeature);
        return false;
    }

    // Prevent other not yet registered JSON features to register themselves
    context.property(getPropertyNameForRuntime(JSON_FEATURE, config.getRuntimeType()),
            ST_JSON_FEATURE);

    if (!config.isRegistered(JacksonSerializerMessageBodyReaderWriter.class)) {
        context.register(SerializationExceptionMapper.class);
        context.register(JacksonSerializerMessageBodyReaderWriter.class);
    }

    return true;
}
 
源代码3 项目: java-jaxrs   文件: ServerTracingDynamicFeature.java
@Override
public void configure(ResourceInfo resourceInfo, FeatureContext context) {
    // TODO why it is called twice for the same endpoint
    if (!tracingDisabled(resourceInfo)) {
        log(resourceInfo);
        context.register(new ServerTracingFilter(
            builder.tracer,
            operationName(resourceInfo),
            builder.spanDecorators,
            builder.operationNameBuilder.build(resourceInfo.getResourceClass(), resourceInfo.getResourceMethod()),
            builder.skipPattern != null ? Pattern.compile(builder.skipPattern) : null,
            builder.joinExistingActiveSpan),
            builder.priority);

        if (builder.traceSerialization) {
            context.register(new ServerTracingInterceptor(builder.tracer,
                builder.serializationSpanDecorators), builder.serializationPriority);
        }
    }
}
 
源代码4 项目: ameba   文件: EntityFieldsFilteringFeature.java
/**
 * {@inheritDoc}
 */
@Override
public boolean configure(final FeatureContext context) {
    final Configuration config = context.getConfiguration();

    if (!config.isRegistered(EntityFieldsProcessor.class)) {

        // register EntityFilteringFeature
        if (!config.isRegistered(EntityFilteringFeature.class)) {
            context.register(EntityFilteringFeature.class);
        }
        // Entity Processors.
        context.register(EntityFieldsProcessor.class);
        // Scope Resolver.
        context.register(EntityFieldsScopeResolver.class);

        return true;
    }
    return false;
}
 
源代码5 项目: katharsis-framework   文件: KatharsisFeature.java
@Override
public boolean configure(final FeatureContext context) {
	ObjectMapper objectMapper = boot.getObjectMapper();
	ResourceFieldNameTransformer resourceFieldNameTransformer = new ResourceFieldNameTransformer(
			objectMapper.getSerializationConfig());

	PropertiesProvider propertiesProvider = new PropertiesProvider() {

		@Override
		public String getProperty(String key) {
			return (String) context.getConfiguration().getProperty(key);
		}
	};

	boot.setDefaultServiceUrlProvider(new UriInfoServiceUrlProvider());
	boot.setPropertiesProvider(propertiesProvider);
	boot.setResourceFieldNameTransformer(resourceFieldNameTransformer);
	boot.addModule(new JaxrsModule(securityContext));
	boot.boot();

	KatharsisFilter katharsisFilter;
	try {
		RequestContextParameterProviderRegistry parameterProviderRegistry = buildParameterProviderRegistry();

		String webPathPrefix = boot.getWebPathPrefix();
		ResourceRegistry resourceRegistry = boot.getResourceRegistry();
		RequestDispatcher requestDispatcher = boot.getRequestDispatcher();
		katharsisFilter = createKatharsisFilter(resourceRegistry, parameterProviderRegistry, webPathPrefix,
				requestDispatcher);
	}
	catch (Exception e) {
		throw new WebApplicationException(e);
	}
	context.register(katharsisFilter);
	
	registerActionRepositories(context, boot);

	return true;
}
 
源代码6 项目: jax-rs-pac4j   文件: Pac4JSecurityFilterFeature.java
@Override
public boolean configure(FeatureContext context) {
    final SecurityFilter filter = new SecurityFilter(providers);
    filter.setAuthorizers(authorizers);
    filter.setClients(clients);
    filter.setMatchers(matchers);
    filter.setMultiProfile(multiProfile);
    filter.setSkipResponse(skipResponse);
    context.register(filter);
    return true;
}
 
源代码7 项目: metrics   文件: FastJsonFeature.java
public boolean configure(final FeatureContext context) {
    final String disableMoxy = CommonProperties.MOXY_JSON_FEATURE_DISABLE + '.'
            + context.getConfiguration().getRuntimeType().name().toLowerCase();
    context.property(disableMoxy, true);
    context.register(FastJsonProvider.class, MessageBodyReader.class, MessageBodyWriter.class);
    return true;
}
 
源代码8 项目: Baragon   文件: BaragonAuthFeature.java
@Override
public void configure(ResourceInfo resourceInfo, FeatureContext featureContext) {
  if (authConfiguration.isEnabled()) {
    if (resourceInfo.getResourceMethod().getAnnotation(NoAuth.class) == null
        && resourceInfo.getResourceClass().getAnnotation(NoAuth.class) == null) {
      featureContext.register(requestFilter);
    }
  }
}
 
源代码9 项目: rx-jersey   文件: RxJerseyClientFeature.java
@Override
public boolean configure(FeatureContext context) {
    if (client == null) {
        client = createClient();
    }

    client.register(RxBodyReader.class);
    context.register(new Binder());

    return true;
}
 
源代码10 项目: redpipe   文件: AuthorizationFilterFeature.java
@Override
public void configure(ResourceInfo resourceInfo, FeatureContext context) {

    List<Annotation> authzSpecs = new ArrayList<>();
    boolean canRedirect = true;
    for (Class<? extends Annotation> annotationClass : filterAnnotations) {
        // XXX What is the performance of getAnnotation vs getAnnotations?
        Annotation classAuthzSpec = resourceInfo.getResourceClass().getAnnotation(annotationClass);
        Annotation methodAuthzSpec = resourceInfo.getResourceMethod().getAnnotation(annotationClass);

        if (classAuthzSpec != null) authzSpecs.add(classAuthzSpec);
        if (methodAuthzSpec != null) authzSpecs.add(methodAuthzSpec);
        
        if(resourceInfo.getResourceClass().isAnnotationPresent(NoAuthRedirect.class)
        		|| resourceInfo.getResourceMethod().isAnnotationPresent(NoAuthRedirect.class))
        	canRedirect = false;
        if(resourceInfo.getResourceClass().isAnnotationPresent(NoAuthFilter.class)
        		|| resourceInfo.getResourceMethod().isAnnotationPresent(NoAuthFilter.class))
        	return;
    }

    if (!authzSpecs.isEmpty()) {
    	if(canRedirect)
    		context.register(new LoginRedirectFilter(), Priorities.AUTHENTICATION + 1);
        context.register(new AuthorizationFilter(authzSpecs), Priorities.AUTHORIZATION);
    }
}
 
源代码11 项目: java-jaxrs   文件: InstrumentedRestApplication.java
@Override
public void configure(ResourceInfo resourceInfo, FeatureContext context) {
    context.register(new ContainerRequestFilter() {
        @Override
        public void filter(ContainerRequestContext requestContext) throws IOException {
            if (requestContext.getUriInfo().getPath().endsWith("filtered")) {
                throw new ForbiddenException();
            }
        }
    }, Priorities.AUTHORIZATION);
}
 
源代码12 项目: ameba   文件: ExtendedMessageFeature.java
/**
 * {@inheritDoc}
 */
@Override
public boolean configure(FeatureContext context) {
    if (!context.getConfiguration().isRegistered(TextMessageBodyWriter.class)) {
        context.register(TextMessageBodyWriter.class);
    }

    if (!context.getConfiguration().isRegistered(CaptchaWriterInterceptor.class)) {
        context.register(CaptchaWriterInterceptor.class);
    }

    if (!context.getConfiguration().isRegistered(PathMessageBodyWriter.class)) {
        context.register(PathMessageBodyWriter.class);
    }

    if (!context.getConfiguration().isRegistered(ContentLengthWriterInterceptor.class)) {
        context.register(ContentLengthWriterInterceptor.class);
    }

    if (!context.getConfiguration().isRegistered(StreamingWriterInterceptor.class)) {
        context.register(StreamingWriterInterceptor.class);
        // streaming process
        context.register(BlobStreamingProcess.class);
        context.register(BytesStreamingProcess.class);
        context.register(ClobStreamingProcess.class);
        context.register(FileStreamingProcess.class);
        context.register(InputStreamingProcess.class);
        context.register(PathStreamingProcess.class);
    }

    return false;
}
 
源代码13 项目: rx-jersey   文件: RxJerseyClientFeature.java
@Override
public boolean configure(FeatureContext context) {
    if (client == null) {
        client = defaultClient();
    }

    client.register(RxBodyReader.class);
    context.register(new Binder());

    return true;
}
 
源代码14 项目: mycore   文件: MCRJerseyDefaultFeature.java
protected void registerTransactionFilter(FeatureContext context) {
    context.register(MCRDBTransactionFilter.class);
}
 
源代码15 项目: dropwizard-java8   文件: OptionalParamFeature.java
@Override
public boolean configure(final FeatureContext context) {
    context.register(new OptionalParamBinder());
    return true;
}
 
源代码16 项目: jrestless   文件: ServiceFeature.java
@Override
public boolean configure(FeatureContext context) {
	context.register(AwsFeature.class);
	return true;
}
 
源代码17 项目: cxf   文件: JAXRS20ClientServerBookTest.java
@Override
public boolean configure(FeatureContext context) {
    context.register(new BookInfoReader());
    return true;
}
 
源代码18 项目: krazo   文件: JerseyConfigProvider.java
@Override
public void configure(FeatureContext context) {
    context.register(KrazoModelProcessor.class);
    context.register(KrazoValidationInterceptor.class);
}
 
源代码19 项目: jrestless   文件: SnsFeature.java
@Override
public boolean configure(FeatureContext context) {
	context.register(AwsFeature.class);
	return true;
}
 
源代码20 项目: cloudbreak   文件: SetProxyTimeoutFeature.java
@Override
public boolean configure(FeatureContext context) {
    context.register(new SetProxyTimeoutFilter(timeout));
    return true;
}