本文整理匯總了Java中javax.ws.rs.container.ResourceInfo類的典型用法代碼示例。如果您正苦於以下問題:Java ResourceInfo類的具體用法?Java ResourceInfo怎麽用?Java ResourceInfo使用的例子?那麽恭喜您, 這裏精選的類代碼示例或許可以為您提供幫助。

ResourceInfo類屬於javax.ws.rs.container包,在下文中一共展示了ResourceInfo類的38個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於我們的係統推薦出更棒的Java代碼示例。

示例1: testVersionFilter

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@SuppressWarnings("boxing")

private MultivaluedMap testVersionFilter(String version) throws WebApplicationException, NoSuchMethodException {

ResourceInfo resourceInfo = mock(ResourceInfo.class);

ContainerRequestContext request = mock(ContainerRequestContext.class);

UriInfo uriInfo = mock(UriInfo.class);

when(request.getUriInfo()).thenReturn(uriInfo);

Method method = SinceClass.class.getMethod("dummy");

MultivaluedMap prop = new MultivaluedHashMap<>();

prop.putSingle(CommonParams.PARAM_VERSION, version);

when(uriInfo.getPathParameters()).thenReturn(prop);

VersionFilter filter = spy(new VersionFilter());

when(filter.getResourceInfo()).thenReturn(resourceInfo);

when(resourceInfo.getResourceMethod()).thenReturn(method);

filter.filter(request);

return prop;

}

開發者ID:servicecatalog,項目名稱:oscm,代碼行數:22,

示例2: configure

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void configure(ResourceInfo resourceInfo, FeatureContext context) {

List authzSpecs = new ArrayList<>();

Annotation classAuthzSpec =

resourceInfo.getResourceClass().getAnnotation(AppkeyAnnotation.class);

Annotation methodAuthzSpec =

resourceInfo.getResourceMethod().getAnnotation(AppkeyAnnotation.class);

if (classAuthzSpec != null)

authzSpecs.add(classAuthzSpec);

if (methodAuthzSpec != null)

authzSpecs.add(methodAuthzSpec);

if (!authzSpecs.isEmpty()) {

context.register(AppkeyFilter.class);

}

}

開發者ID:jiumao-org,項目名稱:wechat-mall,代碼行數:20,

示例3: configure

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void configure(ResourceInfo resourceInfo, FeatureContext context) {

List authzSpecs = new ArrayList<>();

Annotation classAuthzSpec =

resourceInfo.getResourceClass().getAnnotation(AuthAnnotation.class);

Annotation methodAuthzSpec =

resourceInfo.getResourceMethod().getAnnotation(AuthAnnotation.class);

if (classAuthzSpec != null)

authzSpecs.add(classAuthzSpec);

if (methodAuthzSpec != null)

authzSpecs.add(methodAuthzSpec);

if (!authzSpecs.isEmpty()) {

// 需要攔截的api

context.register(AuthorizationFilter.class);

}

}

開發者ID:jiumao-org,項目名稱:wechat-mall,代碼行數:21,

示例4: configure

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@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);

}

}

開發者ID:syndesisio,項目名稱:syndesis,代碼行數:18,

示例5: configure

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void configure(ResourceInfo resourceInfo, FeatureContext context) {

// 獲取資源方法

Method resourceMethod = resourceInfo.getResourceMethod();

if (resourceMethod != null) {

// 獲取FormatJson注解

ResponseFormat formatJson = resourceMethod.getAnnotation(ResponseFormat.class);

if (formatJson == null || formatJson.type().equals(FormatType.JSON)) {

context.register(DefaultWebFilter.class);

}

}

}

開發者ID:warlock-china,項目名稱:azeroth,代碼行數:17,

示例6: configure

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void configure(ResourceInfo resourceInfo, FeatureContext context) {

Class> resourceClass = resourceInfo.getResourceClass();

Method resourceMethod = resourceInfo.getResourceMethod();

if (isStaticContent(resourceClass, resourceMethod)) {

// class or method is annotated with MCRStaticContent

// -> do not register any filter

return;

}

String packageName = resourceClass.getPackage().getName();

if (getPackages().contains(packageName)) {

registerTransactionFilter(context);

registerSessionHookFilter(context);

registerAccessFilter(context, resourceClass, resourceMethod);

}

}

開發者ID:MyCoRe-Org,項目名稱:mycore,代碼行數:17,

示例7: configure

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void configure(ResourceInfo resourceInfo, FeatureContext featureContext) {

AnnotatedMethod am = new AnnotatedMethod(resourceInfo.getResourceMethod());

RequireBasicAuth requireBasicAuth = null;

if (am.isAnnotationPresent(RequireBasicAuth.class)) {

requireBasicAuth = am.getAnnotation(RequireBasicAuth.class);

}

else {

requireBasicAuth = resourceInfo.getResourceClass().getAnnotation(RequireBasicAuth.class);

}

if (requireBasicAuth != null) {

featureContext.register(new BasicAuthKarafSecurityRequestFilter(requireBasicAuth.limitToGroups(), requireBasicAuth.limitToRoles(), requireBasicAuth.karafRealm(), requireBasicAuth.requiresSecure(), requireBasicAuth.httpRealm()));

}

}

開發者ID:andyphillips404,項目名稱:awplab-core,代碼行數:18,

示例8: selectVariant

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

private static MediaType selectVariant(Request request, ResourceInfo resourceInfo) {

Produces produces = resourceInfo.getResourceMethod().getAnnotation(Produces.class);

if (produces == null) {

produces = getAnnotation(resourceInfo.getResourceClass(), Produces.class);

}

if (produces != null) {

List variants = Arrays.stream(produces.value())

.map((String mt) -> Variant.mediaTypes(MediaType.valueOf(mt)).build().get(0))

.collect(Collectors.toList());

Variant variant = request.selectVariant(variants);

if (variant != null) {

return variant.getMediaType();

}

}

return null;

}

開發者ID:mvc-spec,項目名稱:ozark,代碼行數:24,

示例9: configure

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void configure(ResourceInfo resourceInfo, FeatureContext context) {

final AnnotatedMethod am = new AnnotatedMethod(resourceInfo.getResourceMethod());

final Annotation[][] parameterAnnotations = am.getParameterAnnotations();

//@DenyAll shouldn't be attached to classes

final boolean annotationOnClass = (resourceInfo.getResourceClass().getAnnotation(RolesAllowed.class) != null) ||

(resourceInfo.getResourceClass().getAnnotation(PermitAll.class) != null);

final boolean annotationOnMethod = am.isAnnotationPresent(RolesAllowed.class) || am.isAnnotationPresent(DenyAll.class) ||

am.isAnnotationPresent(PermitAll.class);

if (annotationOnClass || annotationOnMethod) {

context.register(filterClass);

} else {

for (Annotation[] annotations : parameterAnnotations) {

for (Annotation annotation : annotations) {

if (annotation instanceof Auth) {

context.register(filterClass);

return;

}

}

}

}

}

開發者ID:openregister,項目名稱:openregister-java,代碼行數:24,

示例10: processResponse

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void processResponse(ContainerRequestContext requestContext, ContainerResponseContext responseContext,

ResourceInfo resourceInfo) {

MediaType mediaType = responseContext.getMediaType();

if (mediaType != null && MediaType.APPLICATION_JSON_TYPE.equals(mediaType)) {

Object responseData = responseContext.getEntity();

WrapperResponseEntity jsonResponse;

if (responseData instanceof WrapperResponseEntity) {

jsonResponse = (WrapperResponseEntity) responseData;

} else {

jsonResponse = new WrapperResponseEntity(ResponseCode.OK);

jsonResponse.setData(responseData);

}

responseContext.setStatus(ResponseCode.OK.getCode());

responseContext.setEntity(jsonResponse);

}

}

開發者ID:vakinge,項目名稱:jeesuite-libs,代碼行數:21,

示例11: configure

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void configure(ResourceInfo resourceInfo, FeatureContext context) {

// 獲取資源方法

Method resourceMethod = resourceInfo.getResourceMethod();

if (resourceMethod != null) {

// 獲取FormatJson注解

ResponseFormat formatJson = resourceMethod.getAnnotation(ResponseFormat.class);

if(formatJson == null || formatJson.type().equals(FormatType.JSON)){

context.register(DefaultWebFilter.class);

}

}

}

開發者ID:vakinge,項目名稱:jeesuite-libs,代碼行數:17,

示例12: configure

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void configure(ResourceInfo resourceInfo, FeatureContext context) {

// TODO why it is called twice for the same endpoint

if (!tracingDisabled(resourceInfo) && builder.allTraced) {

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.priority);

if (builder.traceSerialization) {

context.register(new ServerTracingInterceptor(builder.tracer,

builder.serializationSpanDecorators), builder.serializationPriority);

}

}

}

開發者ID:opentracing-contrib,項目名稱:java-jaxrs,代碼行數:20,

示例13: configure

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void configure(ResourceInfo resourceInfo, FeatureContext context) {

Trace annotation = resourceInfo.getResourceMethod().getAnnotation(Trace.class);

String operationName = this.operationName;

if (annotation != null) {

if (!annotation.operationName().equals("")) {

operationName = annotation.operationName();

}

context.register(new ServerRequestTracingFilter(this.tracer, operationName,

this.tracedAttributes, this.tracedProperties, this.decorator));

context.register(new ServerResponseTracingFilter(this.tracer));

} else {

if (traceAll) {

context.register(new ServerRequestTracingFilter(this.tracer, operationName,

this.tracedAttributes, this.tracedProperties, this.decorator));

context.register(new ServerResponseTracingFilter(this.tracer));

}

}

}

開發者ID:opentracing-contrib,項目名稱:java-dropwizard,代碼行數:20,

示例14: configure

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void configure(final ResourceInfo resourceInfo, final FeatureContext configuration) {

AnnotatedMethod am = new AnnotatedMethod(resourceInfo.getResourceMethod());

// RolesAllowed on the method takes precedence over PermitAll

RolesAllowed ra = am.getAnnotation(RolesAllowed.class);

if (ra != null) {

configuration.register(AuthCheckFilter.INSTANCE);

return;

}

// PermitAll takes precedence over RolesAllowed on the class

// This avoids putting AuthCheckFilter in the request flow for all path's which

// are defined under PermitAll annotation. That is requests for "/", "/login", "/mainLogin" and "/spnegoLogin"

// path's doesn't go through AuthCheckFilter.

if (am.isAnnotationPresent(PermitAll.class)) {

// Do nothing.

return;

}

// RolesAllowed on the class takes precedence over PermitAll

ra = resourceInfo.getResourceClass().getAnnotation(RolesAllowed.class);

if (ra != null) {

configuration.register(AuthCheckFilter.INSTANCE);

}

}

開發者ID:axbaretto,項目名稱:drill,代碼行數:27,

示例15: configure

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void configure(ResourceInfo resourceInfo, FeatureContext context) {

if (resourceInfo.getResourceClass().getName()

.startsWith(RootResource.class.getPackage().getName() + ".") == false) {

return;

}

Permissions permissions = resourceInfo.getResourceMethod().getAnnotation(Permissions.class);

if (permissions == null) {

permissions = resourceInfo.getResourceClass().getAnnotation(Permissions.class);

}

if (permissions == null) {

//TODO

Logger.getLogger(PermissionProvider.class.getName())

.warning(String.format("%s not annotated @Permissions",

resourceInfo.getResourceMethod().toGenericString()));

return;

}

context.register(new PermissionTester(permissions));

}

開發者ID:backpaper0,項目名稱:sealion,代碼行數:22,

示例16: shouldRegisterFilterWhenIsPermitAllReturnsFalse

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Test

public void shouldRegisterFilterWhenIsPermitAllReturnsFalse() throws Exception {

// given

AuthenticationFeature feature = new AuthenticationFeature() {

@Override

boolean isPermitAll(ResourceInfo resourceInfo) {

return false;

}

};

// when

FeatureContext context = mock(FeatureContext.class);

feature.configure(mock(ResourceInfo.class), context);

// then

verify(context).register(any(AuthenticationFilter.class));

}

開發者ID:puzzle,項目名稱:jee-user-auth,代碼行數:18,

示例17: shouldNotRegisterFilterWhenIsPermitAllReturnsTrue

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Test

public void shouldNotRegisterFilterWhenIsPermitAllReturnsTrue() throws Exception {

// given

AuthenticationFeature feature = new AuthenticationFeature() {

@Override

boolean isPermitAll(ResourceInfo resourceInfo) {

return true;

}

};

// when

FeatureContext context = mock(FeatureContext.class);

feature.configure(mock(ResourceInfo.class), context);

// then

verify(context, never()).register(any(AuthenticationFilter.class));

}

開發者ID:puzzle,項目名稱:jee-user-auth,代碼行數:18,

示例18: configure

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void configure(ResourceInfo resourceInfo, FeatureContext context) {

Class> resourceClass = resourceInfo.getResourceClass();

Method method = resourceInfo.getResourceMethod();

boolean required = true;

if (resourceClass.isAnnotationPresent(TenantRequired.class)) {

required = resourceClass.getAnnotation(TenantRequired.class).value();

}

if (method.isAnnotationPresent(TenantRequired.class)) {

required = method.getAnnotation(TenantRequired.class).value();

}

if (required) {

context.register(TENANT_FILTER);

}

}

開發者ID:hawkular,項目名稱:hawkular-commons,代碼行數:19,

示例19: configure

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void configure(ResourceInfo resourceInfo, FeatureContext context) {

Method resourceMethod = resourceInfo.getResourceMethod();

Class> resourceClass = resourceInfo.getResourceClass();

if(metricsDisabled(resourceClass)) {

return;

}

Path methodPath = resourceMethod.getAnnotation(Path.class);

Path classPath = resourceClass.getAnnotation(Path.class);

Path path = methodPath != null ? methodPath : classPath;

if(path != null) {

UriBuilder builder = methodPath != null

? UriBuilder.fromResource(resourceClass).path(resourceClass, resourceMethod.getName())

: UriBuilder.fromResource(resourceClass);

String template = builder.toTemplate();

context.register(new TimerBeforeFilter(template));

context.register(TimerAfterFilter.class);

}

}

開發者ID:kantega,項目名稱:respiro,代碼行數:23,

示例20: configure

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void configure(ResourceInfo resourceInfo, FeatureContext context) {

List 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);

}

}

開發者ID:silb,項目名稱:shiro-jersey,代碼行數:19,

示例21: configure

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void configure(ResourceInfo resourceInfo, FeatureContext context) {

Jsend jsend = resourceInfo.getResourceMethod().getAnnotation(Jsend.class);

if (jsend == null) {

jsend = resourceInfo.getResourceClass().getAnnotation(Jsend.class);

}

if (jsend != null) {

Produces produces = resourceInfo.getResourceMethod().getAnnotation(Produces.class);

if (produces == null) {

produces = resourceInfo.getResourceClass().getAnnotation(Produces.class);

}

if (produces == null || produces.value().length == 0) {

context.register(new JsendFilter(jsend));

} else {

final Jsend finalJsend = jsend;

Arrays.asList(produces.value())

.stream()

.filter(ct -> MediaType.APPLICATION_JSON_TYPE.isCompatible(MediaType.valueOf(ct)))

.findFirst()

.ifPresent(s -> context.register(new JsendFilter(finalJsend)));

}

}

}

開發者ID:guestful,項目名稱:module.jaxrs-filter-jsend,代碼行數:24,

示例22: configure

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

protected void configure() {

jerseyToGuice(MultivaluedParameterExtractorProvider.class);

jerseyToGuice(Application.class);

jerseyToGuice(Providers.class);

// request scoped objects, but hk will control their scope

// must be used in guice only with Provider

jerseyToGuice(UriInfo.class);

jerseyToGuice(ResourceInfo.class);

jerseyToGuice(HttpHeaders.class);

jerseyToGuice(SecurityContext.class);

jerseyToGuice(Request.class);

jerseyToGuice(ContainerRequest.class);

jerseyToGuice(AsyncContext.class);

if (!guiceServletSupport) {

// bind request and response objects when guice servlet module not registered

// but this will work only for resources

jerseyToGuice(HttpServletRequest.class);

jerseyToGuice(HttpServletResponse.class);

}

}

開發者ID:xvik,項目名稱:dropwizard-guicey,代碼行數:24,

示例23: configure

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void configure(ResourceInfo resourceInfo, FeatureContext featureContext) {

// No need to check non-Jax-rs classes

if (resourceInfo.getResourceClass().getAnnotation(Path.class) != null) {

if (filterNeeded(RequiresAuthentication.class, RequiresNoAuthentication.class, resourceInfo)) {

featureContext.register(new RequiresAuthenticationContainerRequestFilter());

}

if (filterNeeded(RequiresGuest.class, RequiresNoGuest.class, resourceInfo)) {

featureContext.register(new RequiresGuestContainerRequestFilter());

}

if (filterNeeded(RequiresPermissions.class, RequiresNoPermission.class, resourceInfo)) {

featureContext.register(new RequiresPermissionContainerRequestFilter(resourceInfo));

}

if (filterNeeded(RequiresRoles.class, RequiresNoRoles.class, resourceInfo)) {

featureContext.register(new RequiresRolesContainerRequestFilter(resourceInfo));

}

if (filterNeeded(RequiresUser.class, RequiresNoUser.class, resourceInfo)) {

featureContext.register(new RequiresUserContainerRequestFilter());

}

}

}

開發者ID:LosD,項目名稱:Shiro-Jersey2-annotations,代碼行數:26,

示例24: RequiresPermissionContainerRequestFilter

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

public RequiresPermissionContainerRequestFilter(ResourceInfo resourceInfo) {

RequiresPermissions permissions = resourceInfo.getResourceClass().getAnnotation(

RequiresPermissions.class);

RequiresPermissions methodPermissions = resourceInfo.getResourceMethod().getAnnotation(

RequiresPermissions.class);

if (methodPermissions != null) {

permissions = methodPermissions;

}

Objects.requireNonNull(permissions);

logical = permissions.logical();

for (String permission : permissions.value()) {

requiredPermissions.add(new WildcardPermission(permission));

}

}

開發者ID:LosD,項目名稱:Shiro-Jersey2-annotations,代碼行數:17,

示例25: configure

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void configure(ResourceInfo resourceInfo, FeatureContext context) {

final AnnotatedMethod am = new AnnotatedMethod(resourceInfo.getResourceMethod());

final Annotation[][] parameterAnnotations = am.getParameterAnnotations();

if (am.isAnnotationPresent(RolesAllowed.class) || am.isAnnotationPresent(DenyAll.class) ||

am.isAnnotationPresent(PermitAll.class)) {

context.register(authFilter);

} else {

for (Annotation[] annotations : parameterAnnotations) {

for (Annotation annotation : annotations) {

if (annotation instanceof Auth) {

context.register(authFilter);

return;

}

}

}

}

}

開發者ID:dropwizard,項目名稱:dropwizard-java8,代碼行數:19,

示例26: configure

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void configure(ResourceInfo resourceInfo, FeatureContext context) {

Method am = resourceInfo.getResourceMethod();

if (am.isAnnotationPresent(Permissions.class)) {

Authenticated authenticated = am.getAnnotation(Authenticated.class);

if (authenticated == null) {

authenticated = resourceInfo.getResourceClass().getAnnotation(Authenticated.class);

if (authenticated == null) {

throw new IllegalStateException("@Permissions found on " + am + " but no @Authenticated found");

}

}

List permissions = Arrays.asList(am.getAnnotation(Permissions.class).value());

Collection vars = new HashSet<>();

for (String p : permissions) {

int s = p.indexOf('{');

while (s != -1) {

int e = p.indexOf('}', s + 1);

vars.add(p.substring(s + 1, e));

s = p.indexOf('{', e + 1);

}

}

context.register(new PermissionFilter(authenticated.value(), permissions, vars));

}

}

開發者ID:guestful,項目名稱:module.jaxrs-filter-security,代碼行數:25,

示例27: Server

​點讚 3

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

public Server() {

register(FreemarkerMvcFeature.class);

packages("ru.qatools.school.baguette.resources");

register(new DynamicFeature() {

@Override

public void configure(ResourceInfo resourceInfo, FeatureContext context) {

context.register(DatabaseProvider.class);

if (resourceInfo.getResourceMethod().isAnnotationPresent(AuthenticationRequired.class)) {

context.register(AuthenticationFilter.class);

}

}

});

}

開發者ID:autoschool,項目名稱:baguette,代碼行數:17,

示例28: configure

​點讚 2

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void configure(ResourceInfo resourceInfo, FeatureContext context) {

Class> resourceClass = resourceInfo.getResourceClass();

Method method = resourceInfo.getResourceMethod();

logger.info("getResourceClass: " + resourceClass);

logger.info("getResourceMethod: " + method);

context.property("new_dynamic_feature", resourceClass + "|" + method);

}

開發者ID:PacktPublishing,項目名稱:Mastering-Java-EE-Development-with-WildFly,代碼行數:9,

示例29: configure

​點讚 2

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void configure(ResourceInfo resourceInfo, FeatureContext context) {

if (ENFORCE_AUTHENTICATION && ENFORCE_AUTHORIZATION) {

final Method method = resourceInfo.getResourceMethod();

if (method.isAnnotationPresent(PermissionRequired.class)) {

context.register(AuthorizationFilter.class);

}

}

}

開發者ID:stevespringett,項目名稱:Alpine,代碼行數:10,

示例30: configure

​點讚 2

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void configure(ResourceInfo resourceInfo, FeatureContext context) {

if (ENFORCE_AUTHENTICATION) {

final Method method = resourceInfo.getResourceMethod();

if (!method.isAnnotationPresent(AuthenticationNotRequired.class)) {

context.register(AuthenticationFilter.class);

}

}

}

開發者ID:stevespringett,項目名稱:Alpine,代碼行數:10,

示例31: configure

​點讚 2

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void configure(ResourceInfo resourceInfo, FeatureContext context) {

Method method = resourceInfo.getResourceMethod();

Annotation[][] parameterAnnotations = method.getParameterAnnotations();

for (Annotation[] annotations : parameterAnnotations) {

for (Annotation annotation : annotations) {

if (annotation.annotationType().equals(Session.class) && !method.getName().startsWith("log")) {

context.register(NiPingAuthFilter.class);

}

}

}

}

開發者ID:CloudWise-OpenSource,項目名稱:SAPNetworkMonitor,代碼行數:13,

示例32: configure

​點讚 2

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void configure(ResourceInfo resourceInfo, FeatureContext context) {

List 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);

}

}

開發者ID:FroMage,項目名稱:redpipe,代碼行數:28,

示例33: shouldFilter

​點讚 2

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

/**

* Helper to determine if the filter applies in the current context or not.

*

* @param context Context provided on the request

* @param resourceInfo Resource Info injected via @Context

* @return true if this filter should apply to the current context

*/

protected boolean shouldFilter(ContainerRequestContext context, ResourceInfo resourceInfo) {

if (resourceInfo.getResourceMethod().getAnnotation(DisableTracing.class) != null

|| resourceInfo.getResourceClass().getAnnotation(DisableTracing.class) != null) {

return false;

}

return true;

}

開發者ID:ExpediaDotCom,項目名稱:haystack-client-java,代碼行數:15,

示例34: getOperationName

​點讚 2

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

/**

* Extension point used to supply the operation name for tracing.

*

* @param context Context provided on the request

* @param resourceInfo Resource Info injected via @Context

* @return the name used for this operation

*/

protected String getOperationName(ContainerRequestContext context, ResourceInfo resourceInfo) {

final Traced methodAnnotation = resourceInfo.getResourceMethod().getAnnotation(Traced.class);

if (methodAnnotation != null) {

return methodAnnotation.name();

}

final Traced classAnnotation = resourceInfo.getResourceClass().getAnnotation(Traced.class);

if (classAnnotation != null) {

return classAnnotation.name();

}

return String.format("%s:%s", context.getMethod(), resourceInfo.getResourceClass().getCanonicalName());

}

開發者ID:ExpediaDotCom,項目名稱:haystack-client-java,代碼行數:21,

示例35: test

​點讚 2

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

public Span test(String clientTraceId, String clientSpanId, int statusCode) throws Exception {

TracerTestImpl tracer = new TracerTestImpl();

ResourceInfo resourceInfo = Mockito.mock(ResourceInfo.class);

Method method = TraceContainerFilterTest.class.getMethod("testNoClientTrace");

Mockito.when(resourceInfo.getResourceMethod()).thenReturn(method);

Mockito.when(resourceInfo.getResourceClass()).thenReturn((Class)method.getDeclaringClass());

TraceContainerFilter scf = new TraceContainerFilter();

scf.setTracer(tracer);

scf.resourceInfo = resourceInfo;

UriInfo uriInfo = Mockito.mock(UriInfo.class);

Mockito.when(uriInfo.getRequestUri()).thenReturn(new URI("https://example.com:7110/some/path"));

Mockito.when(uriInfo.getPath()).thenReturn("/path");

ContainerRequestContext requestContext = Mockito.mock(ContainerRequestContext.class);

Mockito.when(requestContext.getUriInfo()).thenReturn(uriInfo);

Mockito.when(requestContext.getMethod()).thenReturn("GET");

Mockito.when(requestContext.getHeaderString(Mockito.eq(TracerImpl.SPAN_ID))).thenReturn(clientSpanId);

Mockito.when(requestContext.getHeaderString(Mockito.eq(TracerImpl.TRACE_ID))).thenReturn(clientTraceId);

scf.filter(requestContext);

Assert.assertNotNull(tracer.getCurrentSpan());

ContainerResponseContext responseContext = Mockito.mock(ContainerResponseContext.class);

Mockito.when(responseContext.getEntityAnnotations()).thenReturn(new Annotation[]{});

Mockito.when(responseContext.getStatus()).thenReturn(statusCode);

scf.filter(requestContext, responseContext);

Assert.assertNull(tracer.getCurrentSpan());

Span span = tracer.getCapturedSpan();

Assert.assertEquals("service", span.getService());

Assert.assertEquals("TraceContainerFilterTest", span.getResource());

Assert.assertEquals("testNoClientTrace", span.getOperation());

return span;

}

開發者ID:chonton,項目名稱:apm-client,代碼行數:41,

示例36: testInterceptor

​點讚 2

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@SuppressWarnings({

"unchecked",

"rawtypes"

})

@Test

public void testInterceptor() throws Exception {

jwtInterceptor.setClaimsProcessor(new ValidatingProcessor("typ", "https://example.com/register"));

final JwtClaims jwtClaims = JwtClaims.parse("{\"typ\":\"https://example.com/register\", \"aud\":\"sample\", \"jti\": \"abc\", \"iss\":\"http://accounts.trajano.net\"}");

final String jwt = cryptoOps.sign(jwtClaims);

System.out.println(jwt);

final ResourceInfo resourceInfo = Mockito.mock(ResourceInfo.class);

Mockito.when(resourceInfo.getResourceMethod()).thenReturn(Hello.class.getMethod("hello2B"));

Mockito.when(resourceInfo.getResourceClass()).thenReturn((Class) Hello.class);

jwtInterceptor.setResourceInfo(resourceInfo);

final ContainerRequestContext containerRequestContext = Mockito.mock(ContainerRequestContext.class);

final UriInfo uriInfo = Mockito.mock(UriInfo.class);

Mockito.when(uriInfo.getRequestUri()).thenReturn(URI.create("http://trajano.net/sample"));

Mockito.when(containerRequestContext.getUriInfo()).thenReturn(uriInfo);

Mockito.when(containerRequestContext.getHeaderString("X-JWT-Assertion")).thenReturn(jwt);

Mockito.when(containerRequestContext.getHeaderString("X-JWT-Audience")).thenReturn("sample");

mdcInterceptor.filter(containerRequestContext);

jwtInterceptor.filter(containerRequestContext);

// final Request request = mock(Request.class);

// when(request.getHeader("X-JWT-Assertion")).thenReturn(jwt);

// final Response responder = mock(Response.class);

// final ServiceMethodInfo serviceMethodInfo = mock(ServiceMethodInfo.class);

// assertTrue(interceptor.preCall(request, responder, serviceMethodInfo));

}

開發者ID:trajano,項目名稱:app-ms,代碼行數:33,

示例37: configure

​點讚 2

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void configure(ResourceInfo resourceInfo, FeatureContext context) {

// check method

if (!registerAuthenticationFilters(context, resourceInfo.getResourceMethod())) {

// check class

registerAuthenticationFilters(context, resourceInfo.getResourceClass());

}

}

開發者ID:holon-platform,項目名稱:holon-jaxrs,代碼行數:9,

示例38: processResponse

​點讚 2

import javax.ws.rs.container.ResourceInfo; //導入依賴的package包/類

@Override

public void processResponse(ContainerRequestContext requestContext,

ContainerResponseContext responseContext,

ResourceInfo resourceInfo) {

MediaType mediaType = responseContext.getMediaType();

if (mediaType != null && MediaType.APPLICATION_JSON_TYPE.equals(mediaType)) {

Object responseData = responseContext.getEntity();

WrapperResponseEntity jsonResponse;

if (responseData instanceof WrapperResponseEntity) {

jsonResponse = (WrapperResponseEntity) responseData;

} else {

jsonResponse = new WrapperResponseEntity(ResponseCode.OK);

jsonResponse.setData(responseData);

}

responseContext.setStatus(ResponseCode.OK.getCode());

responseContext.setEntity(jsonResponse);

}

}

開發者ID:warlock-china,項目名稱:azeroth,代碼行數:22,

注:本文中的javax.ws.rs.container.ResourceInfo類示例整理自Github/MSDocs等源碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。

java定义geinfo_Java ResourceInfo類代碼示例相关推荐

  1. java datasource mysql_Java MysqlDataSource類代碼示例

    本文整理匯總了Java中com.mysql.cj.jdbc.MysqlDataSource類的典型用法代碼示例.如果您正苦於以下問題:Java MysqlDataSource類的具體用法?Java M ...

  2. java+subject+login_Java Subject類代碼示例

    本文整理匯總了Java中javax.security.auth.Subject類的典型用法代碼示例.如果您正苦於以下問題:Java Subject類的具體用法?Java Subject怎麽用?Java ...

  3. kies air java 证书_Java ToStringBuilder類代碼示例

    本文整理匯總了Java中org.apache.commons.lang3.builder.ToStringBuilder類的典型用法代碼示例.如果您正苦於以下問題:Java ToStringBuild ...

  4. java uiautomation_Java UiAutomation類代碼示例

    本文整理匯總了Java中android.app.UiAutomation類的典型用法代碼示例.如果您正苦於以下問題:Java UiAutomation類的具體用法?Java UiAutomation怎 ...

  5. java nifty_Java NiftyDialogBuilder類代碼示例

    本文整理匯總了Java中com.gitonway.lee.niftymodaldialogeffects.NiftyDialogBuilder類的典型用法代碼示例.如果您正苦於以下問題:Java Ni ...

  6. java intfunction_Java IntFunction類代碼示例

    本文整理匯總了Java中java.util.function.IntFunction類的典型用法代碼示例.如果您正苦於以下問題:Java IntFunction類的具體用法?Java IntFunct ...

  7. java try finally connectoin close_Java SocketChannel類代碼示例

    本文整理匯總了Java中io.netty.channel.socket.SocketChannel類的典型用法代碼示例.如果您正苦於以下問題:Java SocketChannel類的具體用法?Java ...

  8. java sentence_Java Sentence類代碼示例

    本文整理匯總了Java中aima.core.logic.propositional.parsing.ast.Sentence類的典型用法代碼示例.如果您正苦於以下問題:Java Sentence類的具 ...

  9. java中的case1怎么说_Java Cas20ServiceTicketValidator類代碼示例

    本文整理匯總了Java中org.jasig.cas.client.validation.Cas20ServiceTicketValidator類的典型用法代碼示例.如果您正苦於以下問題:Java Ca ...

最新文章

  1. 【每日一算法】救生艇
  2. python 查询文本文件的层次
  3. Linux gdb多进程、多线程调试
  4. 海思Hi3516A(5)3D降噪
  5. android实例教程_活动之间的Android意向处理示例教程
  6. Kafka笔记整理(一)
  7. HTML5如何实现网页消息通知提醒
  8. java模拟器.apk_java游戏模拟器安卓版下载-java模拟器apk下载 v2.2.0 安卓版-IT猫扑网...
  9. Qt +ffmpeg(vp8) 记录视频每一帧并生成webm文件格式
  10. 教育统计系统服务器,2020版教育事业统计软件常见问题及解决方案
  11. 盘姬工具箱v1.10最新版 非常实用的工具箱软件
  12. 怎样为自己计算机设置共享密码错误,如何忘记共享电脑的账号和密码怎么办
  13. 神经网络中验证集、训练集和测试集
  14. Deeplink最全解析
  15. 超链接中 utm_source, utm_medium 等参数的含义是什么?
  16. linux下安装虚拟天文馆,如何在Ubuntu 18.04/17.10/16.04中安装Stellarium 0.17.0 虚拟天文馆...
  17. Azure- 使用 Helm 管理应用程序和包
  18. 通过深度学习评估公共开放空间的利用率:以底特律河岸开放空间研究为例
  19. 08 web原理与web测试
  20. 最全Pycharm教程(14)——Pycharm编辑器功能总篇

热门文章

  1. pythonppt_用Python实现ppt转化图片(附带长图合并功能)
  2. 跨境电商:如何高效地做海外网红营销?
  3. 一米智能伴读机器人app下载_呀呀伴读app下载-呀呀伴读 安卓版v1.3.3-PC6安卓网
  4. 【cocos精品】正版《仙剑奇侠传》带你重温仙剑之旅
  5. 用大数据“填志愿”靠谱吗?专家:仅供参考不能依赖
  6. 变频调速matlab仿真模型,SPWM变频调速系统的MATLAB仿真
  7. 利盟在台湾地区发布十二款激光打印新品
  8. Just Pour the Water
  9. CAD中插入外部参照字体会变繁体_CAD外部参照怎么用,什么是外部参照,和块有什么区别?...
  10. 前端求职路-路漫漫其修远兮,吾将上下而求索