当前位置: 首页>>代码示例>>Java>>正文


Java InterceptionException类代码示例

本文整理汇总了Java中br.com.caelum.vraptor.InterceptionException的典型用法代码示例。如果您正苦于以下问题:Java InterceptionException类的具体用法?Java InterceptionException怎么用?Java InterceptionException使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


InterceptionException类属于br.com.caelum.vraptor包,在下文中一共展示了InterceptionException类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: intercept

import br.com.caelum.vraptor.InterceptionException; //导入依赖的package包/类
@Override
public void intercept(InterceptorStack stack, ControllerMethod method, Object controllerInstance)
		throws InterceptionException {
	if (this.session.isLogged()) {
		Permissioned ann = method.getMethod().getAnnotation(Permissioned.class);
		if (ann.value().getLevel() > session.getAccessLevel()) {
			if (ann.permissions().length <= 0) {
				this.unauthorized();
			} else {
				for (Class<? extends Permission> perm : ann.permissions()) {
					if (session.getPermissions().contains(perm.getCanonicalName())) {
						stack.next(method, controllerInstance);
						return;
					}
				}
				this.unauthorized();
			}
		} else {
			stack.next(method, controllerInstance);
		}
	} else {
		this.unauthorized();
	}
}
 
开发者ID:progolden,项目名称:vraptor-boilerplate,代码行数:25,代码来源:PermissionInterceptor.java

示例2: intercept

import br.com.caelum.vraptor.InterceptionException; //导入依赖的package包/类
@Override
public void intercept(InterceptorStack stack, ControllerMethod method,
		Object obj) throws InterceptionException {
	ClassController<KarmaCalculator> mirrorOnKarma = new Mirror().on(KarmaCalculator.class);
	List<Field> karmaCalculatorFields = mirrorOnKarma.reflectAll().fields();
		
	for (Field field : karmaCalculatorFields) {
		result.include(field.getName(), mirrorOnKarma.get().field(field));
	}
	
	PermissionRules[] rules = PermissionRules.values();
	for (PermissionRules rule : rules) {
		long karma = environmentKarma.get(rule);
		result.include(rule.name(), karma);
	}

	stack.next(method, obj);
}
 
开发者ID:caelum,项目名称:mamute,代码行数:19,代码来源:RulesInterceptor.java

示例3: intercept

import br.com.caelum.vraptor.InterceptionException; //导入依赖的package包/类
@BeforeCall
public void intercept() throws InterceptionException {
	
	String origin = request.getHeader("origin") != null ? request.getHeader("origin") : "*";
	
	response.addHeader("Access-Control-Allow-Origin", origin);
	response.addHeader("Access-Control-Allow-Credentials", "true");
	response.addHeader("Access-Control-Expose-Headers", "Content-Type, Location");
}
 
开发者ID:pedro-hos,项目名称:aprendendo-vraptor,代码行数:10,代码来源:CORSInterceptor.java

示例4: intercept

import br.com.caelum.vraptor.InterceptionException; //导入依赖的package包/类
@Override
public void intercept(InterceptorStack stack, ResourceMethod method, Object resourceInstance) throws InterceptionException {
	sessionManager.refreshSession(userSession);
	request.setAttribute("userSession", userSession);
	request.setAttribute("roleManager", userSession.getRoleManager());
	stack.next(method, resourceInstance);
}
 
开发者ID:eclipse123,项目名称:JForum,代码行数:8,代码来源:SessionManagerInterceptor.java

示例5: intercept

import br.com.caelum.vraptor.InterceptionException; //导入依赖的package包/类
@Override
public void intercept(InterceptorStack stack, ResourceMethod method, Object resourceInstance) throws InterceptionException {
	RoleManager roleManager = userSession.getRoleManager();

	if (!roleManager.isAdministrator() && !roleManager.isModerator() && !roleManager.getCanEditPosts()) {
		int postId = Integer.parseInt(request.getParameter("postId"));

		Post post = this.postRepository.get(postId);
		Forum forum = post.getForum();

		long time = this.repository.getLimitedTime(forum);

		if (time > 0) {
			long duration = (System.currentTimeMillis() - post.getDate().getTime()) / 1000;

			if (duration > time) {
				// TODO: Decide to where redirect the user
				throw new RuntimeException("duration > time");
			}
		}

		if (roleManager.getPostOnlyWithModeratorOnline() && !sessionManager.isModeratorOnline()) {
			// TODO
			throw new RuntimeException("Posting is only allowed when moderators are online");
		}
	}

	stack.next(method, resourceInstance);
}
 
开发者ID:eclipse123,项目名称:JForum,代码行数:30,代码来源:PostEditInterceptor.java

示例6: intercept

import br.com.caelum.vraptor.InterceptionException; //导入依赖的package包/类
public void intercept(InterceptorStack stack, ControllerMethod method,
		Object resourceInstance) throws InterceptionException {
	LOG.debug("request for: " + req.getRequestURI());
	viewObjects.include();
	
	stack.next(method, resourceInstance);
}
 
开发者ID:caelum,项目名称:mamute,代码行数:8,代码来源:GlobalInterceptor.java

示例7: intercept

import br.com.caelum.vraptor.InterceptionException; //导入依赖的package包/类
@Override
public void intercept(InterceptorStack stack, ControllerMethod method,
		Object instance) throws InterceptionException {
	try {
		stack.next(method, instance);
	}catch (Exception e) {
		
		StringWriter sw = new StringWriter();
		PrintWriter pw = new PrintWriter(sw);
		
		Throwable cause = e.getCause();
		if(cause != null){
			if (cause instanceof ConstraintViolationException) {
				Set<ConstraintViolation<?>> constraintViolations = ((ConstraintViolationException) cause).getConstraintViolations();
				pw.printf("\nConstraint Violations: \n");
				for (ConstraintViolation<?> constraintViolation : constraintViolations) {
					pw.printf("\t" +constraintViolation.getConstraintDescriptor().getAnnotation()+"\n");
				}
				pw.printf("\n");
				log.error(sw.toString());
			}
			cause.printStackTrace(pw);
		}else{
			e.printStackTrace(pw);
		}
		
		pw.close();
		result.include("stacktrace", sw.toString());
		throw e;
	}
}
 
开发者ID:caelum,项目名称:mamute,代码行数:32,代码来源:InternalErrorInterceptor.java

示例8: intercept

import br.com.caelum.vraptor.InterceptionException; //导入依赖的package包/类
@Override
public void intercept(InterceptorStack stack, ControllerMethod method,
		Object obj) throws InterceptionException {
	try {
		locals.reset().put(Result.class, result).put(MessageFactory.class, factory);
		stack.next(method, obj);
	} finally {
		locals.clear();
	}
}
 
开发者ID:caelum,项目名称:mamute,代码行数:11,代码来源:PimpMyControllerInterceptor.java

示例9: intercept

import br.com.caelum.vraptor.InterceptionException; //导入依赖的package包/类
@Override
public void intercept(InterceptorStack interceptorStack, ControllerMethod controllerMethod, Object o) throws InterceptionException {
	List<BlockedIp> ips = blockedIps.list();
	Collection<IpMatcher> matchers = Collections2.transform(ips, extractIp);
	boolean isBlocked = matches(matchers);
	if (isBlocked) {
		result.use(http()).sendError(503);
		return;
	}
	interceptorStack.next(controllerMethod, o);
}
 
开发者ID:caelum,项目名称:mamute,代码行数:12,代码来源:BlockedIpInterceptor.java

示例10: intercept

import br.com.caelum.vraptor.InterceptionException; //导入依赖的package包/类
@Override
public void intercept(InterceptorStack stack, 
		ResourceMethod method, Object resourceInstance) throws InterceptionException {

	result.include("errors", Arrays.asList(new ValidationMessage("Usuário não está logado", "Login")));
	result.redirectTo(LoginController.class).login();
}
 
开发者ID:rponte,项目名称:spring-camel,代码行数:8,代码来源:AutenticacaoInterceptor.java

示例11: intercept

import br.com.caelum.vraptor.InterceptionException; //导入依赖的package包/类
@Override
public void intercept(InterceptorStack stack, ControllerMethod method, Object controllerInstance)
	throws InterceptionException {
	try {
		stack.next(method, controllerInstance);
	} catch (InterceptionException e) {
		if (!(e.getCause() instanceof Exception) || !replay((Exception) e.getCause())) {
			throw e;
		}
	}
}
 
开发者ID:caelum,项目名称:vraptor4,代码行数:12,代码来源:ExceptionHandlerInterceptor.java

示例12: invokeMethod

import br.com.caelum.vraptor.InterceptionException; //导入依赖的package包/类
private Object invokeMethod(Object interceptor, Method stepMethod, Object... params) {
	try {
		return reflectionProvider.invoke(interceptor, stepMethod, params);
	} catch (Exception e) {
		// we dont wanna wrap it if it is a simple controller business logic
		// exception
		propagateIfInstanceOf(e.getCause(), ApplicationLogicException.class);
		throw new InterceptionException(e.getCause());
	}
}
 
开发者ID:caelum,项目名称:vraptor4,代码行数:11,代码来源:StepInvoker.java

示例13: intercept

import br.com.caelum.vraptor.InterceptionException; //导入依赖的package包/类
@Override
public void intercept(InterceptorStack stack, ControllerMethod method, Object controllerInstance)
		throws InterceptionException {
	Map<String, Object> parameters = (Map<String, Object>) session.getAttribute(FLASH_INCLUDED_PARAMETERS);
	
	if (parameters != null) {
		parameters = new HashMap<>(parameters);
		
		session.removeAttribute(FLASH_INCLUDED_PARAMETERS);
		for (Entry<String, Object> parameter : parameters.entrySet()) {
			result.include(parameter.getKey(), parameter.getValue());
		}
	}
	response.addRedirectListener(new RedirectListener() {
		@Override
		public void beforeRedirect() {
			Map<String, Object> included = result.included();
			if (!included.isEmpty()) {
				try {
					session.setAttribute(FLASH_INCLUDED_PARAMETERS, new HashMap<>(included));
				} catch (IllegalStateException e) {
					LOGGER.warn("HTTP Session was invalidated. It is not possible to include " +
							"Result parameters on Flash Scope", e);
				}
			}
		}
	});
	stack.next(method, controllerInstance);

}
 
开发者ID:caelum,项目名称:vraptor4,代码行数:31,代码来源:FlashInterceptor.java

示例14: validate

import br.com.caelum.vraptor.InterceptionException; //导入依赖的package包/类
@Override
public void validate(Class<?> originalType, List<Method> methods) {
	Method accepts = invoker.findMethod(methods, Accepts.class, originalType);

	if (accepts != null && !isBooleanReturn(accepts.getReturnType())) {
		throw new InterceptionException(format("@%s method must return boolean", 
				Accepts.class.getSimpleName()));
	}
}
 
开发者ID:caelum,项目名称:vraptor4,代码行数:10,代码来源:AcceptsNeedReturnBooleanValidationRule.java

示例15: validate

import br.com.caelum.vraptor.InterceptionException; //导入依赖的package包/类
@Override
public void validate(Class<?> originalType, List<Method> methods) {

	boolean hasAfterMethod = hasAnnotatedMethod(AfterCall.class, originalType, methods);
	boolean hasAroundMethod = hasAnnotatedMethod(AroundCall.class, originalType, methods);
	boolean hasBeforeMethod = hasAnnotatedMethod(BeforeCall.class, originalType, methods);

	if (!hasAfterMethod && !hasAroundMethod && !hasBeforeMethod) {
		throw new InterceptionException(format("Interceptor %s must "
			+ "declare at least one method whith @AfterCall, @AroundCall "
			+ "or @BeforeCall annotation", originalType.getCanonicalName()));
	}
}
 
开发者ID:caelum,项目名称:vraptor4,代码行数:14,代码来源:NoInterceptMethodsValidationRule.java


注:本文中的br.com.caelum.vraptor.InterceptionException类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。