类java.util.IllformedLocaleException源码实例Demo

下面列出了怎么用java.util.IllformedLocaleException的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: inception   文件: CandidateEntity.java
public CandidateEntity(KBHandle aHandle)
{
    handle = aHandle;
    
    if (aHandle.getKB() == null || aHandle.getKB().getDefaultLanguage() == null) {
        locale = Locale.ENGLISH;
    }
    else {
        try {
            locale = Locale.forLanguageTag(aHandle.getKB().getDefaultLanguage());
        }
        catch (IllformedLocaleException e) {
            locale = Locale.ENGLISH;
        }
    }
}
 
源代码2 项目: lucene-solr   文件: SimplePropertiesWriter.java
@SuppressForbidden(reason = "Usage of outdated locale parsing with Locale#toString() because of backwards compatibility")
private Locale getLocale(String name) {
  if (name == null) {
    return Locale.ROOT;
  }
  for (final Locale l : Locale.getAvailableLocales()) {
    if(name.equals(l.toString()) || name.equals(l.getDisplayName(Locale.ROOT))) {
      return locale;
    }
  }
  try {
    return new Locale.Builder().setLanguageTag(name).build();
  } catch (IllformedLocaleException ex) {
    throw new DataImportHandlerException(SEVERE, "Unsupported locale for PropertyWriter: " + name);
  }
}
 
@Override
public Locale resolveLocale(HttpServletRequest request) {
    Locale defaultLocale = Locale.getDefault();
    String language = request.getParameter(LANGUAGE_QUERY_PARAMETER_NAME);
    if (defaultLocale != null && language == null) {
        return defaultLocale;
    }

    Locale resolvedLocale;
    try {
        resolvedLocale = new Locale.Builder().setLanguageTag(language).build();
    } catch (IllformedLocaleException e) {
        resolvedLocale = Locale.getDefault();
    }
    return resolvedLocale;
}
 
源代码4 项目: data-prep   文件: DataprepLocaleContextResolver.java
private Locale resolveApplicationLocale(String configuredLocale) {
    Locale locale;
    if (StringUtils.isNotBlank(configuredLocale)) {
        try {
            locale = new Locale.Builder().setLanguageTag(configuredLocale).build();
            if (delegate.getSupportedLocales().contains(locale)) {
                LOGGER.debug("Setting application locale to configured {}", locale);
            } else {
                locale = DEFAULT_LOCALE;
                LOGGER.debug("Locale {} is not available. Defaulting to {}", configuredLocale,
                        delegate.getDefaultLocale());
            }
        } catch (IllformedLocaleException e) {
            locale = DEFAULT_LOCALE;
            LOGGER.warn(
                    "Error parsing configured application locale: {}. Defaulting to {}. Locale must be in the form \"en-US\" or \"fr-FR\"",
                    configuredLocale, DEFAULT_LOCALE, e);
        }
    } else {
        locale = DEFAULT_LOCALE;
        LOGGER.debug("Setting application locale to default value {}", delegate.getDefaultLocale());
    }
    LOGGER.info("Application locale set to: '{}'", locale);
    return locale;
}
 
源代码5 项目: openjdk-jdk9   文件: IncludeLocalesPlugin.java
private boolean filterOutUnsupportedTags(byte[] b) {
    List<Locale> locales;
    List<String> originalTags = Arrays.asList(new String(b).split(" "));

    try {
        locales = originalTags.stream()
            .filter(tag -> !tag.isEmpty())
            .map(IncludeLocalesPlugin::tagToLocale)
            .collect(Collectors.toList());
    } catch (IllformedLocaleException ile) {
        // Seems not an available locales string literal.
        return false;
    }

    byte[] filteredBytes = filterLocales(locales).stream()
        // Make sure the filtered language tags do exist in the
        // original supported tags for compatibility codes, e.g., "iw"
        .filter(originalTags::contains)
        .collect(Collectors.joining(" "))
        .getBytes();

    if (filteredBytes.length > b.length) {
        throw new InternalError("Size of filtered locales is bigger than the original one");
    }

    System.arraycopy(filteredBytes, 0, b, 0, filteredBytes.length);
    Arrays.fill(b, filteredBytes.length, b.length, (byte)' ');
    return true;
}
 
源代码6 项目: rdf4j   文件: Literals.java
/**
 * Checks if the given string is a <a href="https://tools.ietf.org/html/bcp47">BCP47</a> language tag according to
 * the rules defined by the JDK in the {@link Locale} API.
 *
 * @param languageTag A language tag
 * @return <code>true</code> if the given language tag is well-formed according to the rules specified in BCP47.
 */
public static boolean isValidLanguageTag(String languageTag) {
	try {
		new Locale.Builder().setLanguageTag(languageTag);
		return true;
	} catch (IllformedLocaleException e) {
		return false;
	}
}
 
源代码7 项目: rdf4j   文件: BCP47LanguageHandler.java
@Override
public boolean isRecognizedLanguage(String languageTag) {
	Objects.requireNonNull(languageTag, "Language tag cannot be null");

	try {
		Literals.normalizeLanguageTag(languageTag);
	} catch (IllformedLocaleException e) {
		return false;
	}

	return true;
}
 
源代码8 项目: rdf4j   文件: BCP47LanguageHandler.java
@Override
public Literal normalizeLanguage(String literalValue, String languageTag, ValueFactory valueFactory)
		throws LiteralUtilException {
	Objects.requireNonNull(languageTag, "Language tag cannot be null");
	Objects.requireNonNull(literalValue, "Literal value cannot be null");

	try {
		return valueFactory.createLiteral(literalValue, Literals.normalizeLanguageTag(languageTag));
	} catch (IllformedLocaleException e) {
		throw new LiteralUtilException("Could not normalize BCP47 language tag", e);
	}
}
 
源代码9 项目: mojito   文件: ReactAppController.java
/**
 * Get a valid locale from the cookie value.
 *
 * @param localeCookieValue
 * @return a valid locale.
 */
String getValidLocaleFromCookie(String localeCookieValue) {

    String validLocale;

    try {
        Locale localeFromCookie = new Locale.Builder().setLanguageTag(localeCookieValue).build();
        validLocale = localeFromCookie.toLanguageTag();
    } catch (NullPointerException | IllformedLocaleException e) {
        logger.debug("Invalid localeCookieValue, fallback to en");
        validLocale = "en";
    }

    return validLocale;
}
 
@Test
public void testFail() {
    final boolean[] crFlags = new boolean[4];
    TmfCoalescedEventRequest request = setupTestRequest(crFlags);
    TmfEventRequest subRequest1 = new TmfEventRequestStub(ITmfEvent.class, range1, 100, 200);
    TmfEventRequest subRequest2 = new TmfEventRequestStub(ITmfEvent.class, range1, 100, 200);
    request.addRequest(subRequest1);
    request.addRequest(subRequest2);

    request.fail(new IllformedLocaleException("Hi"));

    // Validate the coalescing request
    assertTrue("isCompleted", request.isCompleted());
    assertTrue("isFailed", request.isFailed());
    final Throwable failCause = request.getFailureCause();
    assertNotNull("Cause of failure", failCause);
    assertEquals("Cause of failure message", "Hi", failCause.getMessage());
    assertFalse("isCancelled", request.isCancelled());

    assertTrue("handleCompleted", crFlags[0]);
    assertFalse("handleSuccess", crFlags[1]);
    assertTrue("handleFailure", crFlags[2]);
    assertFalse("handleCancel", crFlags[3]);

    // Validate the first coalesced request
    assertTrue("isCompleted", subRequest1.isCompleted());
    assertTrue("isFailed", subRequest1.isFailed());
    assertFalse("isCancelled", subRequest1.isCancelled());

    // Validate the second coalesced request
    assertTrue("isCompleted", subRequest2.isCompleted());
    assertTrue("isFailed", subRequest2.isFailed());
    assertFalse("isCancelled", subRequest2.isCancelled());
}
 
源代码11 项目: sis   文件: Locales.java
/**
 * Parses the given language code and optional complements (country, variant), starting at the given index.
 * All characters before {@code fromIndex} are ignored. Characters from {@code fromIndex} to the end of the
 * string are parsed as documented in the {@link #parse(String)} method. In particular, this method tries to
 * convert 3-letters codes to 2-letters code on a <cite>best effort</cite> basis.
 *
 * <div class="note"><b>Example:</b>
 * This method is useful when language codes are appended to a base property or resource name.
 * For example a dictionary may define the {@code "remarks"} property by values associated to the
 * {@code "remarks_en"} and {@code "remarks_fr"} keys, for English and French locales respectively.</div>
 *
 * @param  code  the language code, which may be followed by country code.
 * @param  fromIndex  index of the first character to parse.
 * @return the language for the given code (never {@code null}).
 * @throws IllformedLocaleException if the given code is not valid.
 *
 * @see Locale#forLanguageTag(String)
 * @see org.apache.sis.util.iso.Types#toInternationalString(Map, String)
 */
public static Locale parse(final String code, final int fromIndex) throws IllformedLocaleException {
    ArgumentChecks.ensureNonNull("code", code);
    ArgumentChecks.ensurePositive("fromIndex", fromIndex);
    int p1 = code.indexOf('_', fromIndex);
    int i  = code.indexOf('-', fromIndex);
    if (i >= 0 && (p1 < 0 || i < p1)) {
        /*
         * IETF BCP 47 language tag string. This syntax uses the '-' separator instead of '_'.
         * Note that the '_' character is illegal for the language code, but is legal for the
         * variant. Consequently we require the '-' character to appear before the first '_'.
         */
        return unique(new Locale.Builder().setLanguageTag(code).build());
    }
    /*
     * Old syntax (e.g. "en_US" or "eng; USA"). Split in (language, country, variant) components,
     * then convert the 3-letters codes to the 2-letters ones.
     */
    String language, country = "", variant = "";
    if (p1 < 0 && (p1 = code.indexOf(';', fromIndex)) < 0) {
        p1 = code.length();
    } else {
        final int s = p1 + 1;
        int p2 = code.indexOf('_', s);
        if (p2 < 0) {
            p2 = code.length();
        } else {
            variant = (String) trimWhitespaces(code, p2+1, code.length());
        }
        country = (String) trimWhitespaces(code, s, p2);
    }
    language = (String) trimWhitespaces(code, fromIndex, p1);
    language = toISO2(language, LANGUAGE);
    country  = toISO2(country,  COUNTRY);
    return unique(new Locale.Builder().setLanguage(language).setRegion(country).setVariant(variant).build());
}
 
源代码12 项目: sis   文件: LocalesTest.java
/**
 * Tests that {@link Locales#parse(String)} throw an exception if given an invalid argument.
 */
@Test
public void testParseInvalid() {
    try {
        Locales.parse("orange_APPLE");
        fail("Shall not parse invalid locale.");
    } catch (IllformedLocaleException e) {
        final String message = e.getMessage();
        assertTrue(message, message.contains("APPLE"));
    }
}
 
源代码13 项目: lucene-solr   文件: DateFormatEvaluator.java
@Override
public String evaluate(String expression, Context context) {
  List<Object> l = parseParams(expression, context.getVariableResolver());
  if (l.size() < 2 || l.size() > 4) {
    throw new DataImportHandlerException(SEVERE, "'formatDate()' must have two, three or four parameters ");
  }
  Object o = l.get(0);
  Object format = l.get(1);
  if (format instanceof VariableWrapper) {
    VariableWrapper wrapper = (VariableWrapper) format;
    o = wrapper.resolve();
    format = o.toString();
  }
  Locale locale = Locale.ENGLISH; // we default to ENGLISH for dates for full Java 9 compatibility
  if(l.size()>2) {
    Object localeObj = l.get(2);
    String localeStr = null;
    if (localeObj  instanceof VariableWrapper) {
      localeStr = ((VariableWrapper) localeObj).resolve().toString();
    } else {
      localeStr = localeObj.toString();
    }
    locale = availableLocales.get(localeStr);
    if (locale == null) try {
      locale = new Locale.Builder().setLanguageTag(localeStr).build();
    } catch (IllformedLocaleException ex) {
      throw new DataImportHandlerException(SEVERE, "Malformed / non-existent locale: " + localeStr, ex);
    }
  }
  TimeZone tz = TimeZone.getDefault(); // DWS TODO: is this the right default for us?  Deserves explanation if so.
  if(l.size()==4) {
    Object tzObj = l.get(3);
    String tzStr = null;
    if (tzObj  instanceof VariableWrapper) {
      tzStr = ((VariableWrapper) tzObj).resolve().toString();
    } else {
      tzStr = tzObj.toString();
    }
    if(availableTimezones.contains(tzStr)) {
      tz = TimeZone.getTimeZone(tzStr);
    } else {
      throw new DataImportHandlerException(SEVERE, "Unsupported Timezone: " + tzStr);
    }
  }
  String dateFmt = format.toString();
  SimpleDateFormat fmt = getDateFormat(dateFmt, tz, locale);
  Date date = null;
  if (o instanceof VariableWrapper) {
    date = evaluateWrapper((VariableWrapper) o, locale, tz);
  } else {
    date = evaluateString(o.toString(), locale, tz);
  }
  return fmt.format(date);
}
 
源代码14 项目: sis   文件: StringConverter.java
@Override java.util.Locale doConvert(String source) throws IllformedLocaleException {
    return Locales.parse(source);
}
 
源代码15 项目: dragonwell8_jdk   文件: LocaleEnhanceTest.java
BuilderILE(String... args) {
    super(IllformedLocaleException.class);

    this.args = args;

    run();
}
 
源代码16 项目: TencentKona-8   文件: LocaleEnhanceTest.java
BuilderILE(String... args) {
    super(IllformedLocaleException.class);

    this.args = args;

    run();
}
 
源代码17 项目: jdk8u60   文件: LocaleEnhanceTest.java
BuilderILE(String... args) {
    super(IllformedLocaleException.class);

    this.args = args;

    run();
}
 
源代码18 项目: openjdk-jdk8u   文件: LocaleEnhanceTest.java
BuilderILE(String... args) {
    super(IllformedLocaleException.class);

    this.args = args;

    run();
}
 
源代码19 项目: openjdk-jdk8u-backup   文件: LocaleEnhanceTest.java
BuilderILE(String... args) {
    super(IllformedLocaleException.class);

    this.args = args;

    run();
}
 
源代码20 项目: openjdk-jdk9   文件: LocaleEnhanceTest.java
BuilderILE(String... args) {
    super(IllformedLocaleException.class);

    this.args = args;

    run();
}
 
源代码21 项目: jdk8u-jdk   文件: LocaleEnhanceTest.java
BuilderILE(String... args) {
    super(IllformedLocaleException.class);

    this.args = args;

    run();
}
 
源代码22 项目: hottub   文件: LocaleEnhanceTest.java
BuilderILE(String... args) {
    super(IllformedLocaleException.class);

    this.args = args;

    run();
}
 
源代码23 项目: openjdk-8-source   文件: LocaleEnhanceTest.java
BuilderILE(String... args) {
    super(IllformedLocaleException.class);

    this.args = args;

    run();
}
 
源代码24 项目: openjdk-8   文件: LocaleEnhanceTest.java
BuilderILE(String... args) {
    super(IllformedLocaleException.class);

    this.args = args;

    run();
}
 
源代码25 项目: jdk8u_jdk   文件: LocaleEnhanceTest.java
BuilderILE(String... args) {
    super(IllformedLocaleException.class);

    this.args = args;

    run();
}
 
源代码26 项目: jdk8u-jdk   文件: LocaleEnhanceTest.java
BuilderILE(String... args) {
    super(IllformedLocaleException.class);

    this.args = args;

    run();
}
 
源代码27 项目: jdk8u-dev-jdk   文件: LocaleEnhanceTest.java
BuilderILE(String... args) {
    super(IllformedLocaleException.class);

    this.args = args;

    run();
}
 
源代码28 项目: sis   文件: ValueConverter.java
/**
 * Converts the given string to a locale. The string is the language code either as the 2
 * letters or the 3 letters ISO code. It can optionally be followed by the {@code '_'}
 * character and the country code (again either as 2 or 3 letters), optionally followed
 * by {@code '_'} and the variant.
 *
 * @param  context  context (GML version, locale, <i>etc.</i>) of the (un)marshalling process.
 * @param  value    the string to convert to a locale, or {@code null}.
 * @return the converted locale, or {@code null} if the given value was null or empty, or
 *         if an exception was thrown and {@code exceptionOccured(…)} returned {@code true}.
 * @throws IllformedLocaleException if the given string can not be converted to a locale.
 *
 * @see Locales#parse(String)
 */
public Locale toLocale(final MarshalContext context, String value) throws IllformedLocaleException {
    value = trimWhitespaces(value);
    if (value != null && !value.isEmpty()) try {
        return Locales.parse(value);
    } catch (IllformedLocaleException e) {
        if (!exceptionOccured(context, value, String.class, Locale.class, e)) {
            throw e;
        }
    }
    return null;
}
 
源代码29 项目: rdf4j   文件: Literals.java
/**
 * Normalizes the given <a href="https://tools.ietf.org/html/bcp47">BCP47</a> language tag according to the rules
 * defined by the JDK in the {@link Locale} API.
 *
 * @param languageTag An unnormalized, valid, language tag
 * @return A normalized version of the given language tag
 * @throws IllformedLocaleException If the given language tag is ill-formed according to the rules specified in
 *                                  BCP47.
 */
public static String normalizeLanguageTag(String languageTag) throws IllformedLocaleException {
	return new Locale.Builder().setLanguageTag(languageTag).build().toLanguageTag().intern();
}
 
源代码30 项目: sis   文件: Locales.java
/**
 * Parses the given language code, optionally followed by country code and variant. The given string can be either
 * the 2 letters or the 3 letters ISO 639 code. It can optionally be followed by the {@code '_'} character and the
 * country code (again either as 2 or 3 letters), optionally followed by {@code '_'} and the variant.
 *
 * <p>This method can be used when the caller wants the same {@code Locale} constants no matter if the language
 * and country codes use 2 or 3 letters. This method tries to convert 3-letters codes to 2-letters code on a
 * <cite>best effort</cite> basis.</p>
 *
 * @param  code  the language code, optionally followed by country code and variant.
 * @return the language for the given code (never {@code null}).
 * @throws IllformedLocaleException if the given code is not valid.
 *
 * @see Locale#forLanguageTag(String)
 */
public static Locale parse(final String code) throws IllformedLocaleException {
    return parse(code, 0);
}
 
 类所在包
 同包方法