Package org.hibernate.validator.internal.engine.messageinterpolation.parser

Examples of org.hibernate.validator.internal.engine.messageinterpolation.parser.TokenIterator


      if ( cachingEnabled ) {
        tokenizedParameterMessages.putIfAbsent( resolvedMessage, tokens );
      }
    }
    resolvedMessage = interpolateExpression(
        new TokenIterator( tokens ),
        context,
        locale
    );

    // resolve EL expressions (step 5)
    tokens = null;
    if ( cachingEnabled ) {
      tokens = tokenizedELMessages.get( resolvedMessage );
    }
    if ( tokens == null ) {
      TokenCollector tokenCollector = new TokenCollector( resolvedMessage, InterpolationTermType.EL );
      tokens = tokenCollector.getTokenList();

      if ( cachingEnabled ) {
        tokenizedELMessages.putIfAbsent( resolvedMessage, tokens );
      }
    }
    resolvedMessage = interpolateExpression(
        new TokenIterator( tokens ),
        context,
        locale
    );

    // last but not least we have to take care of escaped literals
View Full Code Here


  }

  private String interpolateBundleMessage(String message, ResourceBundle bundle, Locale locale, boolean recursive)
      throws MessageDescriptorFormatException {
    TokenCollector tokenCollector = new TokenCollector( message, InterpolationTermType.PARAMETER );
    TokenIterator tokenIterator = new TokenIterator( tokenCollector.getTokenList() );
    while ( tokenIterator.hasMoreInterpolationTerms() ) {
      String term = tokenIterator.nextInterpolationTerm();
      String resolvedParameterValue = resolveParameter(
          term, bundle, locale, recursive
      );
      tokenIterator.replaceCurrentInterpolationTerm( resolvedParameterValue );
    }
    return tokenIterator.getInterpolatedMessage();
  }
View Full Code Here

      if ( cachingEnabled ) {
        tokenizedParameterMessages.putIfAbsent( resolvedMessage, tokens );
      }
    }
    resolvedMessage = interpolateExpression(
        new TokenIterator( tokens ),
        context,
        locale
    );

    // resolve EL expressions (step 5)
    tokens = null;
    if ( cachingEnabled ) {
      tokens = tokenizedELMessages.get( resolvedMessage );
    }
    if ( tokens == null ) {
      TokenCollector tokenCollector = new TokenCollector( resolvedMessage, InterpolationTermType.EL );
      tokens = tokenCollector.getTokenList();

      if ( cachingEnabled ) {
        tokenizedELMessages.putIfAbsent( resolvedMessage, tokens );
      }
    }
    resolvedMessage = interpolateExpression(
        new TokenIterator( tokens ),
        context,
        locale
    );

    // last but not least we have to take care of escaped literals
View Full Code Here

  }

  private String interpolateBundleMessage(String message, ResourceBundle bundle, Locale locale, boolean recursive)
      throws MessageDescriptorFormatException {
    TokenCollector tokenCollector = new TokenCollector( message, InterpolationTermType.PARAMETER );
    TokenIterator tokenIterator = new TokenIterator( tokenCollector.getTokenList() );
    while ( tokenIterator.hasMoreInterpolationTerms() ) {
      String term = tokenIterator.nextInterpolationTerm();
      String resolvedParameterValue = resolveParameter(
          term, bundle, locale, recursive
      );
      tokenIterator.replaceCurrentInterpolationTerm( resolvedParameterValue );
    }
    return tokenIterator.getInterpolatedMessage();
  }
View Full Code Here

public class TokenIteratorTest {

  @Test(expectedExceptions = IllegalStateException.class)
  public void testGettingInterpolatedMessageWithoutCallingHasMoreInterpolationTerms() throws Exception {
    TokenCollector tokenCollector = new TokenCollector( "foo", InterpolationTermType.PARAMETER );
    TokenIterator tokenIterator = new TokenIterator( tokenCollector.getTokenList() );
    tokenIterator.getInterpolatedMessage();
  }
View Full Code Here

  }

  @Test(expectedExceptions = IllegalStateException.class)
  public void testNextInterpolationTermWithoutCallingHasMoreInterpolationTerms() throws Exception {
    TokenCollector tokenCollector = new TokenCollector( "foo", InterpolationTermType.PARAMETER );
    TokenIterator tokenIterator = new TokenIterator( tokenCollector.getTokenList() );
    tokenIterator.nextInterpolationTerm();
  }
View Full Code Here

  @Test
  public void testMessageDescriptorWithoutParameter() throws Exception {
    String message = "this message has no parameter";
    TokenCollector tokenCollector = new TokenCollector( message, InterpolationTermType.PARAMETER );
    TokenIterator tokenIterator = new TokenIterator( tokenCollector.getTokenList() );

    assertFalse( tokenIterator.hasMoreInterpolationTerms(), "There should be no interpolation terms" );
    assertEquals( tokenIterator.getInterpolatedMessage(), message, "The message should be unchanged" );
  }
View Full Code Here

  }

  @Test
  public void testParameterTermHasPrecedenceForParameterParser() throws Exception {
    TokenCollector tokenCollector = new TokenCollector( "${foo}", InterpolationTermType.PARAMETER );
    TokenIterator tokenIterator = new TokenIterator( tokenCollector.getTokenList() );
    assertSingleReplacement( tokenIterator, "{foo}", "bar", "$bar" );
  }
View Full Code Here

  @Test
  public void testFindParameterTerms() throws Exception {
    String message = "{foo} {bar}";
    TokenCollector tokenCollector = new TokenCollector( message, InterpolationTermType.PARAMETER );
    TokenIterator tokenIterator = new TokenIterator( tokenCollector.getTokenList() );

    assertTrue( tokenIterator.hasMoreInterpolationTerms(), "There should be a term" );
    assertEquals( tokenIterator.nextInterpolationTerm(), "{foo}", "{foo} should be the first term" );

    assertTrue( tokenIterator.hasMoreInterpolationTerms(), "There should be a term" );
    assertEquals( tokenIterator.nextInterpolationTerm(), "{bar}", "{bar} should be the second term" );

    assertFalse( tokenIterator.hasMoreInterpolationTerms(), "There should be no more interpolation terms" );
  }
View Full Code Here

  @Test
  public void testEscapedMetaCharactersStayUntouched() throws Exception {
    String message = "\\} \\{ \\$ \\\\";
    TokenCollector tokenCollector = new TokenCollector( message, InterpolationTermType.PARAMETER );
    TokenIterator tokenIterator = new TokenIterator( tokenCollector.getTokenList() );

    assertFalse( tokenIterator.hasMoreInterpolationTerms(), "There should be no term" );
    assertEquals(
        tokenIterator.getInterpolatedMessage(),
        message,
        "Message should not change since all meta characters are escaped"
    );
  }
View Full Code Here

TOP

Related Classes of org.hibernate.validator.internal.engine.messageinterpolation.parser.TokenIterator

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.