protected static boolean isValidDate()

in src/main/java/org/apache/maven/plugins/changes/ChangesCheckMojo.java [122:161]


    protected static boolean isValidDate(String string, String pattern, String locale) {
        if (StringUtils.isEmpty(string)) {
            return false;
        }

        if (StringUtils.isEmpty(pattern)) {
            return false;
        }

        try {
            Locale usedLocale = null;

            if (StringUtils.isEmpty(locale)) {
                // No locale specified, use the default locale as default value
                // The same behavior as before the locale parameter was added
                usedLocale = Locale.getDefault();
            } else {
                // Try to find the specified locale on this system
                Locale[] locales = Locale.getAvailableLocales();
                for (Locale value : locales) {
                    if (value.toString().equals(locale)) {
                        usedLocale = value;
                        break;
                    }
                }

                if (usedLocale == null) {
                    // The use specified locale was not found on this system,
                    // use the default locale as default value
                    usedLocale = Locale.getDefault();
                }
            }

            SimpleDateFormat df = new SimpleDateFormat(pattern, usedLocale);
            df.parse(string);
            return true;
        } catch (ParseException e) {
            return false;
        }
    }