List of usage examples for org.apache.commons.lang StringUtils defaultIfBlank
public static String defaultIfBlank(String str, String defaultStr)
Returns either the passed in String, or if the String is whitespace, empty ("") or null
, the value of defaultStr
.
From source file:org.sonar.plugins.delphi.codecoverage.CodeCoverageSensor.java
private void readJdbcFromConfiguration(Settings settings) { for (int i = 0; i < JDBC_PROPERTY_KEYS.length; ++i) { String jdbcProperty = StringUtils.defaultIfBlank(settings.getString(JDBC_PROPERTY_KEYS[i]), JDBC_DEFAULT_VALUES[i]); jdbcProperties.put(JDBC_PROPERTY_KEYS[i], jdbcProperty); }/*from w w w . j a v a 2 s . c o m*/ }
From source file:org.sonar.plugins.emailnotifications.EmailNotificationChannel.java
private void send(EmailMessage emailMessage) throws EmailException { // Trick to correctly initilize javax.mail library ClassLoader classloader = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(getClass().getClassLoader()); try {//from w w w. ja va 2 s . c om LOG.debug("Sending email: {}", emailMessage); String host = null; try { host = new URL(configuration.getServerBaseURL()).getHost(); } catch (MalformedURLException e) { // ignore } SimpleEmail email = new SimpleEmail(); if (StringUtils.isNotBlank(host)) { /* * Set headers for proper threading: GMail will not group messages, even if they have same subject, but don't have "In-Reply-To" and * "References" headers. TODO investigate threading in other clients like KMail, Thunderbird, Outlook */ if (StringUtils.isNotEmpty(emailMessage.getMessageId())) { String messageId = "<" + emailMessage.getMessageId() + "@" + host + ">"; email.addHeader(IN_REPLY_TO_HEADER, messageId); email.addHeader(REFERENCES_HEADER, messageId); } // Set headers for proper filtering email.addHeader(LIST_ID_HEADER, "Sonar <sonar." + host + ">"); email.addHeader(LIST_ARCHIVE_HEADER, configuration.getServerBaseURL()); } // Set general information email.setCharset("UTF-8"); String from = StringUtils.isBlank(emailMessage.getFrom()) ? FROM_NAME_DEFAULT : emailMessage.getFrom() + " (Sonar)"; email.setFrom(configuration.getFrom(), from); email.addTo(emailMessage.getTo(), " "); String subject = StringUtils.defaultIfBlank(StringUtils.trimToEmpty(configuration.getPrefix()) + " ", "") + StringUtils.defaultString(emailMessage.getSubject(), SUBJECT_DEFAULT); email.setSubject(subject); email.setMsg(emailMessage.getMessage()); // Send email.setHostName(configuration.getSmtpHost()); if (StringUtils.equalsIgnoreCase(configuration.getSecureConnection(), "SSL")) { email.setSSL(true); email.setSslSmtpPort(String.valueOf(configuration.getSmtpPort())); // this port is not used except in EmailException message, that's why it's set with the same value than SSL port. // It prevents from getting bad message. email.setSmtpPort(configuration.getSmtpPort()); } else if (StringUtils.isBlank(configuration.getSecureConnection())) { email.setSmtpPort(configuration.getSmtpPort()); } else { throw new SonarException( "Unknown type of SMTP secure connection: " + configuration.getSecureConnection()); } if (StringUtils.isNotBlank(configuration.getSmtpUsername()) || StringUtils.isNotBlank(configuration.getSmtpPassword())) { email.setAuthentication(configuration.getSmtpUsername(), configuration.getSmtpPassword()); } email.setSocketConnectionTimeout(SOCKET_TIMEOUT); email.setSocketTimeout(SOCKET_TIMEOUT); email.send(); } finally { Thread.currentThread().setContextClassLoader(classloader); } }
From source file:org.sonar.plugins.emailnotifications.reviews.ReviewEmailTemplate.java
/** * Visibility has been relaxed for tests. *//*from ww w .ja v a2s. c o m*/ String getUserFullName(String login) { if (login == null) { return null; } User user = userFinder.findByLogin(login); if (user == null) { // most probably user was deleted return login; } return StringUtils.defaultIfBlank(user.getName(), login); }
From source file:org.sonar.plugins.emailnotifications.templates.reviews.ReviewEmailTemplate.java
/** * Visibility has been relaxed for tests. *//* w w w . ja v a 2 s .c o m*/ String getUserFullName(String login) { if (login == null) { return null; } User user = userFinder.findByLogin(login); if (user == null) { // most probably user was deleted return login; } return StringUtils.defaultIfBlank(user.getName(), login); }
From source file:org.sonar.plugins.gosu.surefire.data.SurefireStaxHandler.java
private static String getClassname(SMInputCursor testCaseCursor, String defaultClassname) throws XMLStreamException { String testClassName = testCaseCursor.getAttrValue("classname"); if (StringUtils.isNotBlank(testClassName) && testClassName.endsWith(")")) { testClassName = testClassName.substring(0, testClassName.indexOf('(')); }/*from w ww . j av a 2s.co m*/ return StringUtils.defaultIfBlank(testClassName, defaultClassname); }
From source file:org.sonar.plugins.javascript.integrationtests.parser.SurefireStaxHandler.java
private String getClassname(SMInputCursor testCaseCursor, String defaultClassname) throws XMLStreamException { String testClassName = testCaseCursor.getAttrValue("classname"); return StringUtils.defaultIfBlank(testClassName, defaultClassname); }
From source file:org.sonar.plugins.scmactivity.ScmConfiguration.java
public String getUrl() { String url = conf.getString(ScmActivityPlugin.URL_PROPERTY); if (StringUtils.isBlank(url)) { url = getMavenUrl();/* www. ja v a 2 s. c om*/ } return StringUtils.defaultIfBlank(url, null); }
From source file:org.sonar.plugins.switchoffviolations.pattern.PatternsInitializer.java
private void loadPatternsFromNewProperties() { // Patterns Multicriteria String patternConf = StringUtils.defaultIfBlank(settings.getString(Constants.PATTERNS_MULTICRITERIA_KEY), "");//w w w . j a v a 2 s . c o m for (String id : StringUtils.split(patternConf, ',')) { String propPrefix = Constants.PATTERNS_MULTICRITERIA_KEY + "." + id + "."; String resourceKeyPattern = settings.getString(propPrefix + Constants.RESOURCE_KEY); String ruleKeyPattern = settings.getString(propPrefix + Constants.RULE_KEY); Pattern pattern = new Pattern(firstNonNull(resourceKeyPattern, "*"), firstNonNull(ruleKeyPattern, "*")); String lineRange = settings.getString(propPrefix + Constants.LINE_RANGE_KEY); PatternDecoder.decodeRangeOfLines(pattern, firstNonNull(lineRange, "*")); multicriteriaPatterns.add(pattern); } // Patterns Block patternConf = StringUtils.defaultIfBlank(settings.getString(Constants.PATTERNS_BLOCK_KEY), ""); for (String id : StringUtils.split(patternConf, ',')) { String propPrefix = Constants.PATTERNS_BLOCK_KEY + "." + id + "."; String beginBlockRegexp = settings.getString(propPrefix + Constants.BEGIN_BLOCK_REGEXP); String endBlockRegexp = settings.getString(propPrefix + Constants.END_BLOCK_REGEXP); Pattern pattern = new Pattern().setBeginBlockRegexp(nullToEmpty(beginBlockRegexp)) .setEndBlockRegexp(nullToEmpty(endBlockRegexp)); blockPatterns.add(pattern); } // Patterns All File patternConf = StringUtils.defaultIfBlank(settings.getString(Constants.PATTERNS_ALLFILE_KEY), ""); for (String id : StringUtils.split(patternConf, ',')) { String propPrefix = Constants.PATTERNS_ALLFILE_KEY + "." + id + "."; String allFileRegexp = settings.getString(propPrefix + Constants.FILE_REGEXP); Pattern pattern = new Pattern().setAllFileRegexp(nullToEmpty(allFileRegexp)); allFilePatterns.add(pattern); } }
From source file:org.sonar.scanner.issue.ignore.pattern.AbstractPatternInitializer.java
@VisibleForTesting protected final void initPatterns() { // Patterns Multicriteria multicriteriaPatterns = new ArrayList<>(); String patternConf = StringUtils.defaultIfBlank(settings.getString(getMulticriteriaConfigurationKey()), ""); for (String id : StringUtils.split(patternConf, ',')) { String propPrefix = getMulticriteriaConfigurationKey() + "." + id + "."; String resourceKeyPattern = settings.getString(propPrefix + "resourceKey"); String ruleKeyPattern = settings.getString(propPrefix + "ruleKey"); String lineRange = "*"; String[] fields = new String[] { resourceKeyPattern, ruleKeyPattern, lineRange }; PatternDecoder.checkRegularLineConstraints(StringUtils.join(fields, ","), fields); Set<LineRange> rangeOfLines = PatternDecoder.decodeRangeOfLines(firstNonNull(lineRange, "*")); IssuePattern pattern = new IssuePattern(firstNonNull(resourceKeyPattern, "*"), firstNonNull(ruleKeyPattern, "*"), rangeOfLines); multicriteriaPatterns.add(pattern); }/*from w w w. j av a 2s . c o m*/ }
From source file:org.sonar.scanner.issue.ignore.pattern.IssueExclusionPatternInitializer.java
private final void loadFileContentPatterns() { // Patterns Block blockPatterns = new ArrayList<>(); String patternConf = StringUtils .defaultIfBlank(getSettings().getString(IssueExclusionProperties.PATTERNS_BLOCK_KEY), ""); for (String id : StringUtils.split(patternConf, ',')) { String propPrefix = IssueExclusionProperties.PATTERNS_BLOCK_KEY + "." + id + "."; String beginBlockRegexp = getSettings() .getString(propPrefix + IssueExclusionProperties.BEGIN_BLOCK_REGEXP); String endBlockRegexp = getSettings().getString(propPrefix + IssueExclusionProperties.END_BLOCK_REGEXP); String[] fields = new String[] { beginBlockRegexp, endBlockRegexp }; PatternDecoder.checkDoubleRegexpLineConstraints(StringUtils.join(fields, ","), fields); BlockIssuePattern pattern = new BlockIssuePattern(nullToEmpty(beginBlockRegexp), nullToEmpty(endBlockRegexp)); blockPatterns.add(pattern);//from w w w .j av a 2 s .com } blockPatterns = Collections.unmodifiableList(blockPatterns); // Patterns All File allFilePatterns = new ArrayList<>(); patternConf = StringUtils .defaultIfBlank(getSettings().getString(IssueExclusionProperties.PATTERNS_ALLFILE_KEY), ""); for (String id : StringUtils.split(patternConf, ',')) { String propPrefix = IssueExclusionProperties.PATTERNS_ALLFILE_KEY + "." + id + "."; String allFileRegexp = getSettings().getString(propPrefix + IssueExclusionProperties.FILE_REGEXP); PatternDecoder.checkWholeFileRegexp(allFileRegexp); allFilePatterns.add(nullToEmpty(allFileRegexp)); } allFilePatterns = Collections.unmodifiableList(allFilePatterns); }