Java 类javax.ws.rs.Priorities 实例源码

项目:parsec-libraries    文件:ParsecValidationAutoDiscoverable.java   
@Override
public void configure(FeatureContext context) {
    final int priorityInc = 3000;

    // Jersey MOXY provider have higher priority(7000), so we need set higher than it
    int priority = Priorities.USER + priorityInc;
    Configuration config = context.getConfiguration();

    if (!config.isRegistered(ParsecValidationExceptionMapper.class)) {
        context.register(ParsecValidationExceptionMapper.class, priority);
    }
    if (!config.isRegistered(ValidationConfigurationContextResolver.class)) {
        context.register(ValidationConfigurationContextResolver.class, priority);
    }
    if (!config.isRegistered(ParsecMoxyProvider.class)) {
        context.register(ParsecMoxyProvider.class, priority);
    }
    if (!config.isRegistered(JaxbExceptionMapper.class)) {
        context.register(JaxbExceptionMapper.class, priority);
    }
}
项目:shiro-jersey    文件:AuthorizationFilterFeature.java   
@Override
public void configure(ResourceInfo resourceInfo, FeatureContext context) {

    List<Annotation> authzSpecs = new ArrayList<>();

    for (Class<? extends Annotation> annotationClass : shiroAnnotations) {
        // 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 (!authzSpecs.isEmpty()) {
        context.register(new AuthorizationFilter(authzSpecs), Priorities.AUTHORIZATION);
    }
}
项目:ameba    文件:SysFilteringFeature.java   
/**
 * {@inheritDoc}
 */
@Override
public boolean configure(FeatureContext context) {
    Configuration configuration = context.getConfiguration();
    if (!configuration.isRegistered(UriConnegFilter.class)) {
        context.register(UriConnegFilter.class, Priorities.AUTHENTICATION - 100);
    }

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

    if (!configuration.isRegistered(LoadBalancerRequestFilter.class)) {
        context.register(LoadBalancerRequestFilter.class);
    }
    return true;
}
项目:shiro-jersey    文件:AuthorizationFilterFeature.java   
@Override
public void configure(ResourceInfo resourceInfo, FeatureContext context) {

    List<Annotation> authzSpecs = new ArrayList<>();

    for (Class<? extends Annotation> annotationClass : shiroAnnotations) {
        // 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 (!authzSpecs.isEmpty()) {
        context.register(new AuthorizationFilter(authzSpecs), Priorities.AUTHORIZATION);
    }
}
项目: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);
    }
}
项目:holon-jaxrs    文件:AuthenticationDynamicFeature.java   
/**
 * Checks if given <code>element</code> has the {@link Authenticate} annotation and if so registers the required
 * authentication filters.
 * @param context Feature context
 * @param element Annotated element
 * @return <code>true</code> if the {@link Authenticate} annotation was found and the authentication filters were
 *         registered, <code>false</code> otherwise
 */
private static boolean registerAuthenticationFilters(FeatureContext context, AnnotatedElement element) {
    if (element.isAnnotationPresent(Authenticate.class)) {
        // AuthContext setup for SecurityContext
        context.register(AuthContextFilter.class, Priorities.AUTHENTICATION - 10);
        // Authenticator
        context.register(new AuthenticationFilter(element.getAnnotation(Authenticate.class).schemes()),
                Priorities.AUTHENTICATION);
        return true;
    }
    return false;
}
项目:javaee-design-patterns    文件:JacksonActivator.java   
@Override
public boolean configure(FeatureContext context) {
    final Configuration config = context.getConfiguration();
    context.property("jersey.config." + config.getRuntimeType().toString().toLowerCase(Locale.ENGLISH) + ".jsonFeature", "JacksonFeature");
    context.register(JsonParseExceptionMapper.class, Priorities.ENTITY_CODER);
    context.register(JsonMappingExceptionMapper.class, Priorities.ENTITY_CODER);
    context.register(JacksonJsonProviderForJsonMediaType.class, Priorities.ENTITY_CODER);
    return true;
}
项目:dremio-oss    文件:TestMediaTypeFilter.java   
@Test
public void testAnnotations() {
  // Check that the class is correctly annotated
  assertNotNull("@PreMatching annotation is required to modify headers", MediaTypeFilter.class.getAnnotation(PreMatching.class));
  Priority priority = MediaTypeFilter.class.getAnnotation(Priority.class);
  assertNotNull("@Priority annotation is required to modify headers", priority);

  assertTrue("priority should be higher than HEADER_DECORATOR", priority.value() <= Priorities.HEADER_DECORATOR);
}
项目: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);
}
项目:java-jaxrs    文件:ClientTracingFeature.java   
public Builder(Tracer tracer) {
    this.tracer = tracer;
    this.spanDecorators = Collections.singletonList(ClientSpanDecorator.STANDARD_TAGS);
    this.serializationSpanDecorators = Arrays.asList(InterceptorSpanDecorator.STANDARD_TAGS);
    // by default do not use Priorities.AUTHENTICATION due to security concerns
    this.priority = Priorities.HEADER_DECORATOR;
    this.serializationPriority = Priorities.ENTITY_CODER;
    this.traceSerialization = true;
}
项目:java-jaxrs    文件:ServerTracingDynamicFeature.java   
public Builder(Tracer tracer) {
    this.tracer = tracer;
    this.spanDecorators = Collections.singletonList(ServerSpanDecorator.STANDARD_TAGS);
    this.serializationSpanDecorators = Collections.singletonList(InterceptorSpanDecorator.STANDARD_TAGS);
    // by default do not use Priorities.AUTHENTICATION due to security concerns
    this.priority = Priorities.HEADER_DECORATOR;
    this.serializationPriority = Priorities.ENTITY_CODER;
    this.allTraced = true;
    this.operationNameBuilder = WildcardOperationName.newBuilder();
    this.traceSerialization = true;
}
项目:microprofile-rest-client    文件:TestResponseExceptionMapperOverridePriority.java   
@Override
public int getPriority() {
    return Priorities.USER + 1;
}