ModelValidation { public Charset getCharset(@CheckForNull final String charset) { try { if (StringUtils.isNotBlank(charset)) { return Charset.forName(charset); } } catch (UnsupportedCharsetException | IllegalCharsetNameException exception) { } return Charset.defaultCharset(); } ModelValidation(); @VisibleForTesting  ModelValidation(final JenkinsFacade jenkins); ComboBoxModel getAllCharsets(); Charset getCharset(@CheckForNull final String charset); void ensureValidId(final String id); FormValidation validateId(final String id); FormValidation validateCharset(final String reportEncoding); ListBoxModel getAllSeverityFilters(); ListBoxModel getAllTrendChartTypes(); ComboBoxModel getAllJobs(); FormValidation validateJob(final String referenceJobName); @SuppressWarnings("WeakerAccess") FormValidation validateThreshold(@QueryParameter final int threshold); FormValidation validateHealthy(final int healthy, final int unhealthy); FormValidation validateUnhealthy(final int healthy, final int unhealthy); FormValidation doCheckPattern(@AncestorInPath final AbstractProject<?, ?> project,
            @QueryParameter final String pattern); FormValidation doCheckSourceDirectory(@AncestorInPath final AbstractProject<?, ?> project,
            @QueryParameter final String sourceDirectory);  }
@Test void shouldFallbackToPlatformCharset() { ModelValidation model = new ModelValidation(); assertThat(model.getCharset("UTF-8")).isEqualTo(StandardCharsets.UTF_8); assertThat(model.getCharset("nothing")).isEqualTo(Charset.defaultCharset()); assertThat(model.getCharset("")).isEqualTo(Charset.defaultCharset()); assertThat(model.getCharset(null)).isEqualTo(Charset.defaultCharset()); }