/**
*
* Copyright
* 2009-2015 Jayway Products AB
* 2016-2017 Föreningen Sambruk
*
* Licensed under AGPL, Version 3.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.gnu.org/licenses/agpl.txt
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package se.streamsource.dci.restlet.server;
import org.junit.Test;
import org.qi4j.api.constraint.ConstraintDeclaration;
import org.qi4j.api.constraint.ConstraintViolation;
import org.qi4j.api.constraint.Constraints;
import org.qi4j.library.constraints.MaxLengthConstraint;
import org.qi4j.library.constraints.annotation.MaxLength;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Locale;
/**
* TODO
*/
public class ConstraintViolationMessagesTest
{
@MaxLength(50)
public String foo;
@Range(min=10, max=30)
public int bar;
@Range(min=10, max=30, message="Wrong range")
public int bar2;
@Test
public void testMessages() throws NoSuchFieldException, IllegalAccessException
{
{
ConstraintViolation violation = new ConstraintViolation("foo", getClass().getField("foo").getAnnotation(MaxLength.class), 70);
String message = new ConstraintViolationMessages().getMessage(violation, Locale.getDefault());
System.out.println(message);
}
{
ConstraintViolation violation = new ConstraintViolation("bar", getClass().getField("bar").getAnnotation(Range.class), 70);
String message = new ConstraintViolationMessages().getMessage(violation, Locale.getDefault());
System.out.println(message);
}
{
ConstraintViolation violation = new ConstraintViolation("bar2", getClass().getField("bar2").getAnnotation(Range.class), 70);
String message = new ConstraintViolationMessages().getMessage(violation, Locale.getDefault());
System.out.println(message);
}
}
@ConstraintDeclaration
@Retention( RetentionPolicy.RUNTIME )
@Constraints( MaxLengthConstraint.class )
public @interface Range
{
String message() default "{Range.message}";
int min();
int max();
}
}