/** * An alternative constructor that creates an instance of {@link BeanValidationHintResolver}. */ public ValidationHelper(Object model, RequestContext requestContext, String eventId, String modelName, ExpressionParser expressionParser, MessageCodesResolver messageCodesResolver, MappingResults mappingResults) { this(model, requestContext, eventId, modelName, expressionParser, messageCodesResolver, mappingResults, new BeanValidationHintResolver()); }
hint = "javax.validation.groups.Default"; Class<?> resolvedHint = toClass(hint); if ((resolvedHint == null) && (model != null)) { resolvedHint = findInnerClass(model.getClass(), StringUtils.capitalize(hint)); resolvedHint = handleUnresolvedHint(model, flowId, stateId, hint);
private Class<?> findInnerClass(Class<?> targetClass, String hint) { try { return Class.forName(targetClass.getName() + "$" + hint); } catch (ClassNotFoundException e) { Class<?> superClass = targetClass.getSuperclass(); if (superClass != null) { return findInnerClass(superClass, hint); } } return null; }
public void testResolveHintNoMatch() { try { this.resolver.resolveValidationHints(null, "flowId", "state1", new String[] { "foo" }); fail("Expected exception"); } catch (FlowExecutionException ex) { // expected } }
private Class<?> findInnerClass(Class<?> targetClass, String hint) { try { return Class.forName(targetClass.getName() + "$" + hint); } catch (ClassNotFoundException e) { Class<?> superClass = targetClass.getSuperclass(); if (superClass != null) { return findInnerClass(superClass, hint); } } return null; }
public void testResolveFullyQualifiedClassNameHint() { String[] hints = new String[] { this.getClass().getName() }; Class<?>[] resolvedHints = this.resolver.resolveValidationHints(null, "flowId", "state1", hints); assertNotNull(resolvedHints); assertEquals(1, resolvedHints.length); assertEquals(this.getClass(), resolvedHints[0]); }
/** * An alternative constructor that creates an instance of {@link BeanValidationHintResolver}. */ public ValidationHelper(Object model, RequestContext requestContext, String eventId, String modelName, ExpressionParser expressionParser, MessageCodesResolver messageCodesResolver, MappingResults mappingResults) { this(model, requestContext, eventId, modelName, expressionParser, messageCodesResolver, mappingResults, new BeanValidationHintResolver()); }
hint = "javax.validation.groups.Default"; Class<?> resolvedHint = toClass(hint); if ((resolvedHint == null) && (model != null)) { resolvedHint = findInnerClass(model.getClass(), StringUtils.capitalize(hint)); resolvedHint = handleUnresolvedHint(model, flowId, stateId, hint);
public void testResolveInnterTypeHints() { String[] hints = new String[] {"default", "state1", "state2"}; Class<?>[] resolvedHints = this.resolver.resolveValidationHints(new TestModel(), "flowId", "state1", hints); assertNotNull(resolvedHints); assertEquals(3, resolvedHints.length); assertEquals(Default.class, resolvedHints[0]); assertEquals(BaseTestModel.State1.class, resolvedHints[1]); assertEquals(TestModel.State2.class, resolvedHints[2]); }
public void setUp() { this.resolver = new BeanValidationHintResolver(); }
private ValidationHintResolver getHintResolver(RequestContext requestContext) { ValidationHintResolver hintResolver = (ValidationHintResolver) requestContext.getActiveFlow() .getAttributes().get(FlowModelFlowBuilder.VALIDATION_HINT_RESOLVER_FLOW_ATTR); return (hintResolver != null ? hintResolver : new BeanValidationHintResolver()); }
private ValidationHintResolver getHintResolver(RequestContext requestContext) { ValidationHintResolver hintResolver = (ValidationHintResolver) requestContext.getActiveFlow() .getAttributes().get(FlowModelFlowBuilder.VALIDATION_HINT_RESOLVER_FLOW_ATTR); return (hintResolver != null ? hintResolver : new BeanValidationHintResolver()); }