diff --git a/build.gradle b/build.gradle
index f4e013e2e..4922ceff0 100644
--- a/build.gradle
+++ b/build.gradle
@@ -10,7 +10,7 @@ buildscript {
classpath 'org.kordamp:markdown-gradle-plugin:1.0.0'
classpath 'org.kordamp.gradle:clirr-gradle-plugin:0.2.0'
classpath "org.kt3k.gradle.plugin:coveralls-gradle-plugin:2.3.1"
- classpath 'net.ltgt.gradle:gradle-errorprone-plugin:0.0.8'
+ classpath 'net.ltgt.gradle:gradle-errorprone-plugin:0.0.9'
}
}
apply plugin: 'org.kordamp.gradle.markdown'
@@ -170,7 +170,7 @@ allprojects {
// version 52.0" error messages caused by the errorprone javac.
// See https://github.com/tbroyer/gradle-errorprone-plugin/issues/18 for more information.
configurations.errorprone {
- resolutionStrategy.force 'com.google.errorprone:error_prone_core:2.0.15'
+ resolutionStrategy.force 'com.google.errorprone:error_prone_core:2.0.18'
}
}
diff --git a/smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java b/smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java
index eab2710c2..32b3ada5e 100644
--- a/smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java
+++ b/smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java
@@ -1481,6 +1481,7 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
getReplyTimeout());
}
+ @SuppressWarnings("FutureReturnValueIgnored")
@Override
public void sendStanzaWithResponseCallback(Stanza stanza, final StanzaFilter replyFilter,
final StanzaListener callback, final ExceptionCallback exceptionCallback,
@@ -1553,6 +1554,7 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
sendStanzaWithResponseCallback(iqRequest, replyFilter, callback, exceptionCallback, timeout);
}
+ @SuppressWarnings("FutureReturnValueIgnored")
@Override
public void addOneTimeSyncCallback(final StanzaListener callback, final StanzaFilter packetFilter) {
final StanzaListener packetListener = new StanzaListener() {
diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/Node.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/Node.java
index c62180dd4..dae02e80c 100644
--- a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/Node.java
+++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/Node.java
@@ -594,7 +594,7 @@ abstract public class Node
*
* @author Robin Collier
*/
- public class ItemEventTranslator implements StanzaListener
+ public static class ItemEventTranslator implements StanzaListener
{
@SuppressWarnings("rawtypes")
private ItemEventListener listener;
@@ -623,7 +623,7 @@ abstract public class Node
*
* @author Robin Collier
*/
- public class ItemDeleteTranslator implements StanzaListener
+ public static class ItemDeleteTranslator implements StanzaListener
{
private ItemDeleteListener listener;
diff --git a/smack-im/src/test/java/org/jivesoftware/smack/chat/ChatConnectionTest.java b/smack-im/src/test/java/org/jivesoftware/smack/chat/ChatConnectionTest.java
index fcae16b0b..0d7e07c0d 100644
--- a/smack-im/src/test/java/org/jivesoftware/smack/chat/ChatConnectionTest.java
+++ b/smack-im/src/test/java/org/jivesoftware/smack/chat/ChatConnectionTest.java
@@ -387,7 +387,7 @@ public class ChatConnectionTest {
}
}
- private class TestMessageListener implements ChatMessageListener {
+ private static class TestMessageListener implements ChatMessageListener {
private Chat msgChat;
private int counter = 0;
diff --git a/smack-jingle-old/src/main/java/org/jivesoftware/smackx/jingleold/mediaimpl/JMFInit.java b/smack-jingle-old/src/main/java/org/jivesoftware/smackx/jingleold/mediaimpl/JMFInit.java
index 43dd3a95b..1db8ba357 100644
--- a/smack-jingle-old/src/main/java/org/jivesoftware/smackx/jingleold/mediaimpl/JMFInit.java
+++ b/smack-jingle-old/src/main/java/org/jivesoftware/smackx/jingleold/mediaimpl/JMFInit.java
@@ -103,6 +103,7 @@ public class JMFInit extends Frame implements Runnable {
}
}
+ @SuppressWarnings("LiteralClassName")
private void detectCaptureDevices() {
// check if JavaSound capture is available
message("Looking for Audio capturer");
diff --git a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/AgentStatus.java b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/AgentStatus.java
index c1ee92d39..e1e5b6e41 100644
--- a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/AgentStatus.java
+++ b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/AgentStatus.java
@@ -38,6 +38,7 @@ import org.xmlpull.v1.XmlPullParserException;
*/
public class AgentStatus implements ExtensionElement {
+ @SuppressWarnings("SimpleDateFormatConstant")
private static final SimpleDateFormat UTC_FORMAT = new SimpleDateFormat("yyyyMMdd'T'HH:mm:ss");
static {
@@ -206,7 +207,11 @@ public class AgentStatus implements ExtensionElement {
buf.append(" userID=\"").append(userID).append('"');
}
if (date != null) {
- buf.append(" startTime=\"").append(UTC_FORMAT.format(date)).append('"');
+ buf.append(" startTime=\"");
+ synchronized (UTC_FORMAT) {
+ buf.append(UTC_FORMAT.format(date));
+ }
+ buf.append('"');
}
if (email != null) {
buf.append(" email=\"").append(email).append('"');
@@ -260,7 +265,9 @@ public class AgentStatus implements ExtensionElement {
String userID = parser.getAttributeValue("", "userID");
Date date = null;
try {
- date = UTC_FORMAT.parse(parser.getAttributeValue("", "startTime"));
+ synchronized (UTC_FORMAT) {
+ date = UTC_FORMAT.parse(parser.getAttributeValue("", "startTime"));
+ }
}
catch (ParseException e) {
}
diff --git a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/OccupantsInfo.java b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/OccupantsInfo.java
index 4ca89b014..280e4c457 100644
--- a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/OccupantsInfo.java
+++ b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/OccupantsInfo.java
@@ -40,6 +40,7 @@ import org.xmlpull.v1.XmlPullParserException;
*/
public class OccupantsInfo extends IQ {
+ @SuppressWarnings("SimpleDateFormatConstant")
private static final SimpleDateFormat UTC_FORMAT = new SimpleDateFormat("yyyyMMdd'T'HH:mm:ss");
static {
@@ -93,7 +94,9 @@ public class OccupantsInfo extends IQ {
buf.append("");
// Add the date when the occupant joined the room
buf.append("");
- buf.append(UTC_FORMAT.format(occupant.getJoined()));
+ synchronized (UTC_FORMAT) {
+ buf.append(UTC_FORMAT.format(occupant.getJoined()));
+ }
buf.append("");
buf.append("");
}
@@ -165,7 +168,9 @@ public class OccupantsInfo extends IQ {
} else if ((eventType == XmlPullParser.START_TAG) &&
("joined".equals(parser.getName()))) {
try {
- joined = UTC_FORMAT.parse(parser.nextText());
+ synchronized (UTC_FORMAT) {
+ joined = UTC_FORMAT.parse(parser.nextText());
+ }
} catch (ParseException e) {
throw new SmackException(e);
}
diff --git a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/Transcripts.java b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/Transcripts.java
index 867b8db06..a9af67c5b 100644
--- a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/Transcripts.java
+++ b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/Transcripts.java
@@ -36,6 +36,7 @@ import org.jxmpp.jid.Jid;
*/
public class Transcripts extends IQ {
+ @SuppressWarnings("SimpleDateFormatConstant")
private static final SimpleDateFormat UTC_FORMAT = new SimpleDateFormat("yyyyMMdd'T'HH:mm:ss");
static {
UTC_FORMAT.setTimeZone(TimeZone.getTimeZone("GMT+0"));
@@ -169,10 +170,18 @@ public class Transcripts extends IQ {
.append("\">");
if (joinTime != null) {
- buf.append("").append(UTC_FORMAT.format(joinTime)).append("");
+ buf.append("");
+ synchronized (UTC_FORMAT) {
+ buf.append(UTC_FORMAT.format(joinTime));
+ }
+ buf.append("");
}
if (leftTime != null) {
- buf.append("").append(UTC_FORMAT.format(leftTime)).append("");
+ buf.append("");
+ synchronized (UTC_FORMAT) {
+ buf.append(UTC_FORMAT.format(leftTime));
+ }
+ buf.append("");
}
buf.append("");
for (AgentDetail agentDetail : agentDetails) {
@@ -234,10 +243,18 @@ public class Transcripts extends IQ {
buf.append("").append(agentJID).append("");
}
if (joinTime != null) {
- buf.append("").append(UTC_FORMAT.format(joinTime)).append("");
+ buf.append("");
+ synchronized (UTC_FORMAT) {
+ buf.append(UTC_FORMAT.format(joinTime));
+ }
+ buf.append("");
}
if (leftTime != null) {
- buf.append("").append(UTC_FORMAT.format(leftTime)).append("");
+ buf.append("");
+ synchronized (UTC_FORMAT) {
+ buf.append(UTC_FORMAT.format(leftTime));
+ }
+ buf.append("");
}
buf.append("");
diff --git a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/TranscriptsProvider.java b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/TranscriptsProvider.java
index cd748e391..a3b075c69 100644
--- a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/TranscriptsProvider.java
+++ b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/TranscriptsProvider.java
@@ -38,6 +38,7 @@ import java.util.TimeZone;
*/
public class TranscriptsProvider extends IQProvider {
+ @SuppressWarnings("SimpleDateFormatConstant")
private static final SimpleDateFormat UTC_FORMAT = new SimpleDateFormat("yyyyMMdd'T'HH:mm:ss");
static {
UTC_FORMAT.setTimeZone(TimeZone.getTimeZone("GMT+0"));
@@ -79,12 +80,16 @@ public class TranscriptsProvider extends IQProvider {
if (eventType == XmlPullParser.START_TAG) {
if (parser.getName().equals("joinTime")) {
try {
- joinTime = UTC_FORMAT.parse(parser.nextText());
+ synchronized (UTC_FORMAT) {
+ joinTime = UTC_FORMAT.parse(parser.nextText());
+ }
} catch (ParseException e) {}
}
else if (parser.getName().equals("leftTime")) {
try {
- leftTime = UTC_FORMAT.parse(parser.nextText());
+ synchronized (UTC_FORMAT) {
+ leftTime = UTC_FORMAT.parse(parser.nextText());
+ }
} catch (ParseException e) {}
}
else if (parser.getName().equals("agents")) {
@@ -116,12 +121,16 @@ public class TranscriptsProvider extends IQProvider {
}
else if (parser.getName().equals("joinTime")) {
try {
- joinTime = UTC_FORMAT.parse(parser.nextText());
+ synchronized (UTC_FORMAT) {
+ joinTime = UTC_FORMAT.parse(parser.nextText());
+ }
} catch (ParseException e) {}
}
else if (parser.getName().equals("leftTime")) {
try {
- leftTime = UTC_FORMAT.parse(parser.nextText());
+ synchronized (UTC_FORMAT) {
+ leftTime = UTC_FORMAT.parse(parser.nextText());
+ }
} catch (ParseException e) {}
}
else if (parser.getName().equals("agent")) {
diff --git a/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java b/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java
index 2b3665886..994c3e6fe 100644
--- a/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java
+++ b/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java
@@ -681,6 +681,7 @@ public class XMPPTCPConnection extends AbstractXMPPConnection {
* @throws SmackException
* @throws Exception if an exception occurs.
*/
+ @SuppressWarnings("LiteralClassName")
private void proceedTLSReceived() throws NoSuchAlgorithmException, CertificateException, IOException, KeyStoreException, NoSuchProviderException, UnrecoverableKeyException, KeyManagementException, SmackException {
SSLContext context = this.config.getCustomSSLContext();
KeyStore ks = null;
@@ -1710,6 +1711,7 @@ public class XMPPTCPConnection extends AbstractXMPPConnection {
* @return the previous listener for this stanza ID or null.
* @throws StreamManagementNotEnabledException if Stream Management is not enabled.
*/
+ @SuppressWarnings("FutureReturnValueIgnored")
public StanzaListener addStanzaIdAcknowledgedListener(final String id, StanzaListener listener) throws StreamManagementNotEnabledException {
// Prevent users from adding callbacks that will never get removed
if (!smWasEnabledAtLeastOnce) {
diff --git a/smack-tcp/src/test/java/org/jivesoftware/smack/tcp/PacketWriterTest.java b/smack-tcp/src/test/java/org/jivesoftware/smack/tcp/PacketWriterTest.java
index 211c0988c..761135e56 100644
--- a/smack-tcp/src/test/java/org/jivesoftware/smack/tcp/PacketWriterTest.java
+++ b/smack-tcp/src/test/java/org/jivesoftware/smack/tcp/PacketWriterTest.java
@@ -103,7 +103,7 @@ public class PacketWriterTest {
}
}
- public class BlockingStringWriter extends Writer {
+ public static class BlockingStringWriter extends Writer {
@Override
@SuppressWarnings("WaitNotInLoop")
public void write(char[] cbuf, int off, int len) throws IOException {