From fe85ab3b832491fdea1322285fca59b2c050c75b Mon Sep 17 00:00:00 2001 From: adiaholic Date: Tue, 9 Jul 2019 22:12:26 +0530 Subject: [PATCH 1/7] Correcting mini typing error --- .../src/main/java/org/jivesoftware/smack/util/NumberUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smack-core/src/main/java/org/jivesoftware/smack/util/NumberUtil.java b/smack-core/src/main/java/org/jivesoftware/smack/util/NumberUtil.java index 140fff4e3..9e914f884 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/util/NumberUtil.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/util/NumberUtil.java @@ -40,7 +40,7 @@ public class NumberUtil { throw new IllegalArgumentException("unsigned 32-bit integers can't be negative"); } if (value > ((1L << 32) - 1)) { - throw new IllegalArgumentException("unsigned 32-bit integers can't be greater then 2^32 - 1"); + throw new IllegalArgumentException("unsigned 32-bit integers can't be greater than 2^32 - 1"); } return value; } From 95c73f51b1421debf147d5f8b333f2d45ea0d453 Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Sun, 21 Jul 2019 23:07:53 +0200 Subject: [PATCH 2/7] Bump Checkstyle to 8.22 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 13fe1fb6d..3da33bce7 100644 --- a/build.gradle +++ b/build.gradle @@ -382,7 +382,7 @@ subprojects { apply plugin: 'org.kordamp.gradle.clirr' checkstyle { - toolVersion = '8.10' + toolVersion = '8.22' } task sourcesJar(type: Jar, dependsOn: classes) { classifier = 'sources' From 2ac452fe1e3d5bf6e3723ad16a2d85a20fa5c06c Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Mon, 22 Jul 2019 08:47:37 +0200 Subject: [PATCH 3/7] travis: Use apt addon to install graphviz --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index f3b1efaba..d8223459f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,11 +22,12 @@ before_install: - wget https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip - unzip -q gradle-${GRADLE_VERSION}-all.zip - export PATH="$(pwd)/gradle-${GRADLE_VERSION}/bin:$PATH" - - sudo apt-get install graphviz addons: apt: update: true + packages: + - graphviz install: gradle assemble --stacktrace From 4ca2c7cc69934bec592afa6e27139510fa35f048 Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Wed, 24 Jul 2019 09:18:39 +0200 Subject: [PATCH 4/7] Enable MissingJavadocPackage and UnnecessaryParentheses checkstyle checks --- config/checkstyle/checkstyle.xml | 4 ++++ .../smack/bosh/BOSHConfiguration.java | 4 ++-- .../smack/AbstractXMPPConnection.java | 8 +++---- .../smack/ConnectionConfiguration.java | 2 +- .../smack/ReconnectionManager.java | 1 - .../org/jivesoftware/smack/SmackFuture.java | 4 ++-- .../org/jivesoftware/smack/SmackReactor.java | 2 +- .../smack/SynchronizationPoint.java | 2 +- .../Java7ZlibInputOutputStream.java | 2 +- .../zlib/ZlibXmppCompressionFactory.java | 2 +- .../smack/debugger/SmackDebugger.java | 8 +++---- .../smack/filter/AbstractJidTypeFilter.java | 3 +-- .../AbstractXmppStateMachineConnection.java | 6 ++--- .../smack/fsm/StateDescriptorGraph.java | 4 ++-- .../jivesoftware/smack/packet/StreamOpen.java | 4 ++-- .../smack/sasl/SASLMechanism.java | 4 ++-- .../smack/sasl/core/ScramMechanism.java | 2 +- .../org/jivesoftware/smack/util/DNSUtil.java | 2 +- .../org/jivesoftware/smack/util/MultiMap.java | 2 +- .../smack/util/PacketParserUtils.java | 22 +++++++++---------- .../jivesoftware/smack/util/ParserUtils.java | 4 ++-- .../jivesoftware/smack/util/StringUtils.java | 1 - .../smack/util/XmlStringBuilder.java | 2 +- .../smack/util/dns/HostAddress.java | 2 +- .../smack/test/util/SmackTestUtil.java | 4 ++-- .../smackx/carbons/CarbonManager.java | 2 +- .../filter/EligibleForChatMarkerFilter.java | 2 +- .../element/MessageProcessingHintType.java | 3 +-- .../httpfileupload/HttpFileUploadManager.java | 2 +- .../provisioning/IoTProvisioningManager.java | 6 ++--- .../smackx/mam/element/MamPrefsIQ.java | 1 - .../smackx/mam/filter/MamResultFilter.java | 2 +- .../AbstractHttpOverXmppProviderTest.java | 4 ++-- .../admin/ServiceAdministrationManager.java | 4 ++-- .../org/jivesoftware/smackx/bob/BoBData.java | 2 +- .../ibb/InBandBytestreamSession.java | 2 +- .../AbstractDelayInformationProvider.java | 2 +- .../disco/provider/DiscoverInfoProvider.java | 2 +- .../filetransfer/FileTransferNegotiator.java | 2 +- .../smackx/iqlast/LastActivityManager.java | 2 +- .../org/jivesoftware/smackx/jingle/Role.java | 1 - .../org/jivesoftware/smackx/muc/RoomInfo.java | 2 +- .../jivesoftware/smackx/pep/PepManager.java | 4 ++-- .../smackx/pubsub/AccessModel.java | 2 +- .../smackx/pubsub/Affiliation.java | 2 +- .../pubsub/ChildrenAssociationPolicy.java | 2 +- .../smackx/pubsub/ConfigurationEvent.java | 2 +- .../smackx/pubsub/ConfigureForm.java | 19 +++++++--------- .../smackx/pubsub/ItemPublishEvent.java | 2 +- .../jivesoftware/smackx/pubsub/LeafNode.java | 2 +- .../smackx/pubsub/PubSubElementType.java | 2 +- .../smackx/pubsub/SubscribeForm.java | 12 ++++------ .../pubsub/provider/SubscriptionProvider.java | 2 +- .../receipts/DeliveryReceiptManager.java | 2 +- .../smackx/muc/MucMemoryLeakTest.java | 2 +- .../jivesoftware/smack/chat/ChatManager.java | 2 +- .../org/jivesoftware/smack/roster/Roster.java | 2 +- .../smack/roster/RosterEntry.java | 2 +- .../roster/provider/RosterPacketProvider.java | 2 +- .../smack/inttest/Configuration.java | 2 +- .../SmackIntegrationTestFramework.java | 4 ++-- .../smack/inttest/TestResult.java | 2 +- .../smack/inttest/XmppConnectionManager.java | 4 ++-- .../jingleold/media/MediaNegotiator.java | 2 +- .../sshare/api/ImageTransmitter.java | 2 +- .../jingleold/nat/TransportCandidate.java | 2 +- .../jingleold/nat/TransportNegotiator.java | 4 ++-- .../workgroup/settings/OfflineSettings.java | 2 +- .../omemo/signal/SignalOmemoRatchet.java | 4 ++-- .../signal/SignalOmemoStoreConnector.java | 2 +- .../smackx/omemo/FileBasedOmemoStore.java | 2 +- .../smackx/ox/OpenPgpMessage.java | 1 - .../ox/element/OpenPgpContentElement.java | 2 +- .../sasl/provided/SASLDigestMD5Mechanism.java | 2 +- .../smack/tcp/XMPPTCPConnection.java | 2 +- .../smack/tcp/XmppNioTcpConnection.java | 7 +++--- 76 files changed, 120 insertions(+), 131 deletions(-) diff --git a/config/checkstyle/checkstyle.xml b/config/checkstyle/checkstyle.xml index b6025f979..a2eeb7b26 100644 --- a/config/checkstyle/checkstyle.xml +++ b/config/checkstyle/checkstyle.xml @@ -212,5 +212,9 @@ + + + + diff --git a/smack-bosh/src/main/java/org/jivesoftware/smack/bosh/BOSHConfiguration.java b/smack-bosh/src/main/java/org/jivesoftware/smack/bosh/BOSHConfiguration.java index 8cf01fe85..f6fe91544 100644 --- a/smack-bosh/src/main/java/org/jivesoftware/smack/bosh/BOSHConfiguration.java +++ b/smack-bosh/src/main/java/org/jivesoftware/smack/bosh/BOSHConfiguration.java @@ -65,11 +65,11 @@ public final class BOSHConfiguration extends ConnectionConfiguration { } public String getProxyAddress() { - return (proxy != null ? proxy.getProxyAddress() : null); + return proxy != null ? proxy.getProxyAddress() : null; } public int getProxyPort() { - return (proxy != null ? proxy.getProxyPort() : 8080); + return proxy != null ? proxy.getProxyPort() : 8080; } public boolean isUsingHTTPS() { 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 853d39e38..883812f59 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java @@ -755,7 +755,7 @@ public abstract class AbstractXMPPConnection implements XMPPConnection { hostAddresses = DNSUtil.resolveXMPPServiceDomain(dnsName, failedAddresses, config.getDnssecMode()); } // Either the populated host addresses are not empty *or* there must be at least one failed address. - assert (!hostAddresses.isEmpty() || !failedAddresses.isEmpty()); + assert !hostAddresses.isEmpty() || !failedAddresses.isEmpty(); return failedAddresses; } @@ -788,7 +788,7 @@ public abstract class AbstractXMPPConnection implements XMPPConnection { @Override public final void sendStanza(Stanza stanza) throws NotConnectedException, InterruptedException { Objects.requireNonNull(stanza, "Stanza must not be null"); - assert (stanza instanceof Message || stanza instanceof Presence || stanza instanceof IQ); + assert stanza instanceof Message || stanza instanceof Presence || stanza instanceof IQ; throwNotConnectedExceptionIfAppropriate(); switch (fromMode) { @@ -1275,7 +1275,7 @@ public abstract class AbstractXMPPConnection implements XMPPConnection { * @throws InterruptedException */ protected void processStanza(final Stanza stanza) throws InterruptedException { - assert (stanza != null); + assert stanza != null; final SmackDebugger debugger = this.debugger; if (debugger != null) { @@ -1892,7 +1892,7 @@ public abstract class AbstractXMPPConnection implements XMPPConnection { @Override public final String toString() { EntityFullJid localEndpoint = getUser(); - String localEndpointString = (localEndpoint == null ? "not-authenticated" : localEndpoint.toString()); + String localEndpointString = localEndpoint == null ? "not-authenticated" : localEndpoint.toString(); return getClass().getSimpleName() + '[' + localEndpointString + "] (" + getConnectionCounter() + ')'; } diff --git a/smack-core/src/main/java/org/jivesoftware/smack/ConnectionConfiguration.java b/smack-core/src/main/java/org/jivesoftware/smack/ConnectionConfiguration.java index 32986efe2..730320132 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/ConnectionConfiguration.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/ConnectionConfiguration.java @@ -209,7 +209,7 @@ public abstract class ConnectionConfiguration { compressionEnabled = builder.compressionEnabled; // If the enabledSaslmechanisms are set, then they must not be empty - assert (enabledSaslMechanisms != null ? !enabledSaslMechanisms.isEmpty() : true); + assert enabledSaslMechanisms == null || !enabledSaslMechanisms.isEmpty(); if (dnssecMode != DnssecMode.disabled && customSSLContext != null) { throw new IllegalStateException("You can not use a custom SSL context with DNSSEC enabled"); diff --git a/smack-core/src/main/java/org/jivesoftware/smack/ReconnectionManager.java b/smack-core/src/main/java/org/jivesoftware/smack/ReconnectionManager.java index 793eee130..ee12b68d1 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/ReconnectionManager.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/ReconnectionManager.java @@ -447,6 +447,5 @@ public final class ReconnectionManager { * Policy using fixed amount of time between reconnection attempts. */ FIXED_DELAY, - ; } } diff --git a/smack-core/src/main/java/org/jivesoftware/smack/SmackFuture.java b/smack-core/src/main/java/org/jivesoftware/smack/SmackFuture.java index 9a6511d5f..121ae390a 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/SmackFuture.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/SmackFuture.java @@ -88,7 +88,7 @@ public abstract class SmackFuture implements Future, } private V getOrThrowExecutionException() throws ExecutionException { - assert (result != null || exception != null || cancelled); + assert result != null || exception != null || cancelled; if (result != null) { return result; } @@ -96,7 +96,7 @@ public abstract class SmackFuture implements Future, throw new ExecutionException(exception); } - assert (cancelled); + assert cancelled; throw new CancellationException(); } diff --git a/smack-core/src/main/java/org/jivesoftware/smack/SmackReactor.java b/smack-core/src/main/java/org/jivesoftware/smack/SmackReactor.java index b7fdc6877..342f4694a 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/SmackReactor.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/SmackReactor.java @@ -172,7 +172,7 @@ public class SmackReactor { LOGGER.info(this + " shut down after " + shutDownDelay + "ms"); } else { boolean contained = reactorThreads.remove(this); - assert (contained); + assert contained; } } } diff --git a/smack-core/src/main/java/org/jivesoftware/smack/SynchronizationPoint.java b/smack-core/src/main/java/org/jivesoftware/smack/SynchronizationPoint.java index f274ad293..f679dbf98 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/SynchronizationPoint.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/SynchronizationPoint.java @@ -79,7 +79,7 @@ public class SynchronizationPoint { */ public Exception sendAndWaitForResponse(TopLevelStreamElement request) throws NoResponseException, NotConnectedException, InterruptedException { - assert (state == State.Initial); + assert state == State.Initial; connectionLock.lock(); try { if (request != null) { diff --git a/smack-core/src/main/java/org/jivesoftware/smack/compression/Java7ZlibInputOutputStream.java b/smack-core/src/main/java/org/jivesoftware/smack/compression/Java7ZlibInputOutputStream.java index 9f09e1c82..b389d7d8e 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/compression/Java7ZlibInputOutputStream.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/compression/Java7ZlibInputOutputStream.java @@ -56,7 +56,7 @@ public class Java7ZlibInputOutputStream extends XMPPInputOutputStream { } catch (NoSuchMethodException e) { } method = m; - supported = (method != null); + supported = method != null; } public Java7ZlibInputOutputStream() { diff --git a/smack-core/src/main/java/org/jivesoftware/smack/compression/zlib/ZlibXmppCompressionFactory.java b/smack-core/src/main/java/org/jivesoftware/smack/compression/zlib/ZlibXmppCompressionFactory.java index c8e3f6381..cbb295c1b 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/compression/zlib/ZlibXmppCompressionFactory.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/compression/zlib/ZlibXmppCompressionFactory.java @@ -95,7 +95,7 @@ public final class ZlibXmppCompressionFactory extends XmppCompressionFactory { } // There is an invariant of Deflater/Inflater that input should only be set if needsInput() return true. - assert (compressor.needsInput()); + assert compressor.needsInput(); final byte[] compressorInputBuffer; final int compressorInputBufferOffset, compressorInputBufferLength; diff --git a/smack-core/src/main/java/org/jivesoftware/smack/debugger/SmackDebugger.java b/smack-core/src/main/java/org/jivesoftware/smack/debugger/SmackDebugger.java index 3c4410348..82ca10b62 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/debugger/SmackDebugger.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/debugger/SmackDebugger.java @@ -86,12 +86,12 @@ public abstract class SmackDebugger { */ public final Reader newConnectionReader(Reader reader) { XmlPrettyPrinter xmlPrettyPrinter = XmlPrettyPrinter.builder() - .setPrettyWriter((sb) -> incomingStreamSink(sb)) + .setPrettyWriter(sb -> incomingStreamSink(sb)) .build(); incomingStreamSplitterForPrettyPrinting = new XmppXmlSplitter(xmlPrettyPrinter); ObservableReader observableReader = new ObservableReader(reader); - observableReader.addReaderListener((readString) -> { + observableReader.addReaderListener(readString -> { try { incomingStreamSplitterForPrettyPrinting.append(readString); } @@ -113,12 +113,12 @@ public abstract class SmackDebugger { */ public final Writer newConnectionWriter(Writer writer) { XmlPrettyPrinter xmlPrettyPrinter = XmlPrettyPrinter.builder() - .setPrettyWriter((sb) -> outgoingStreamSink(sb)) + .setPrettyWriter(sb -> outgoingStreamSink(sb)) .build(); outgoingStreamSplitterForPrettyPrinting = new XmppXmlSplitter(xmlPrettyPrinter); ObservableWriter observableWriter = new ObservableWriter(writer); - observableWriter.addWriterListener((writtenString) -> { + observableWriter.addWriterListener(writtenString -> { try { outgoingStreamSplitterForPrettyPrinting.append(writtenString); } diff --git a/smack-core/src/main/java/org/jivesoftware/smack/filter/AbstractJidTypeFilter.java b/smack-core/src/main/java/org/jivesoftware/smack/filter/AbstractJidTypeFilter.java index d0bf7d67b..84093b774 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/filter/AbstractJidTypeFilter.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/filter/AbstractJidTypeFilter.java @@ -1,6 +1,6 @@ /** * - * Copyright 2017-2018 Florian Schmaus. + * Copyright 2017-2019 Florian Schmaus. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -28,7 +28,6 @@ public abstract class AbstractJidTypeFilter implements StanzaFilter { domainFull, domainBare, any, - ; } protected final JidType jidType; diff --git a/smack-core/src/main/java/org/jivesoftware/smack/fsm/AbstractXmppStateMachineConnection.java b/smack-core/src/main/java/org/jivesoftware/smack/fsm/AbstractXmppStateMachineConnection.java index 3330202d3..75526162e 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/fsm/AbstractXmppStateMachineConnection.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/fsm/AbstractXmppStateMachineConnection.java @@ -178,7 +178,7 @@ public abstract class AbstractXmppStateMachineConnection extends AbstractXMPPCon if (initialStateDescriptor.getClass() == walkStateGraphContext.finalStateClass) { // If this is used as final state, then it should be marked as such. - assert (initialStateDescriptor.isFinalState()); + assert initialStateDescriptor.isFinalState(); // We reached the final state. invokeConnectionStateMachineListener(new ConnectionStateEvent.FinalStateReached(initialState)); @@ -578,7 +578,7 @@ public abstract class AbstractXmppStateMachineConnection extends AbstractXMPPCon @Override protected TransitionIntoResult transitionInto(WalkStateGraphContext walkStateGraphContext) { - assert (walkFromDisconnectToAuthenticated == null); + assert walkFromDisconnectToAuthenticated == null; if (getStateDescriptor().getClass() == walkStateGraphContext.finalStateClass) { // If this is the final state, then record the walk so far. walkFromDisconnectToAuthenticated = new ArrayList<>(walkStateGraphContext.walkedStateGraphPath); @@ -780,7 +780,7 @@ public abstract class AbstractXmppStateMachineConnection extends AbstractXMPPCon if (walkFromDisconnectToAuthenticated != null) { // If there was already a previous walk to ConnectedButUnauthenticated, then the context of the current // walk must not start from the 'Disconnected' state. - assert (walkStateGraphContext.walkedStateGraphPath.get(0).stateDescriptor.getClass() != DisconnectedStateDescriptor.class); + assert walkStateGraphContext.walkedStateGraphPath.get(0).stateDescriptor.getClass() != DisconnectedStateDescriptor.class; walkFromDisconnectToAuthenticated.addAll(walkStateGraphContext.walkedStateGraphPath); } else { walkFromDisconnectToAuthenticated = new ArrayList<>(walkStateGraphContext.walkedStateGraphPath.size() + 1); diff --git a/smack-core/src/main/java/org/jivesoftware/smack/fsm/StateDescriptorGraph.java b/smack-core/src/main/java/org/jivesoftware/smack/fsm/StateDescriptorGraph.java index 104adbb8c..661c35426 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/fsm/StateDescriptorGraph.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/fsm/StateDescriptorGraph.java @@ -326,7 +326,7 @@ public class StateDescriptorGraph { private static List> topologicalSort(Collection> vertexes) { List> res = new ArrayList<>(); - dfs(vertexes, (vertex) -> res.add(0, vertex), null); + dfs(vertexes, vertex -> res.add(0, vertex), null); return res; } @@ -365,7 +365,7 @@ public class StateDescriptorGraph { PrintWriter dotOut, boolean breakStateName) { dotOut.append("digraph {\n"); dfs(vertexes, - (finishedVertex) -> { + finishedVertex -> { boolean isMultiVisitState = finishedVertex.element.isMultiVisitState(); boolean isFinalState = finishedVertex.element.isFinalState(); boolean isNotImplemented = finishedVertex.element.isNotImplemented(); diff --git a/smack-core/src/main/java/org/jivesoftware/smack/packet/StreamOpen.java b/smack-core/src/main/java/org/jivesoftware/smack/packet/StreamOpen.java index 83dd802cd..6ef368b63 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/packet/StreamOpen.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/packet/StreamOpen.java @@ -1,6 +1,6 @@ /** * - * Copyright © 2014 Florian Schmaus + * Copyright © 2014-2019 Florian Schmaus * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -119,6 +119,6 @@ public class StreamOpen implements Nonza { public enum StreamContentNamespace { client, - server; + server, } } diff --git a/smack-core/src/main/java/org/jivesoftware/smack/sasl/SASLMechanism.java b/smack-core/src/main/java/org/jivesoftware/smack/sasl/SASLMechanism.java index d65c86227..e86229078 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/sasl/SASLMechanism.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/sasl/SASLMechanism.java @@ -152,7 +152,7 @@ public abstract class SASLMechanism implements Comparable { this.password = password; this.authorizationId = authzid; this.sslSession = sslSession; - assert (authorizationId == null || authzidSupported()); + assert authorizationId == null || authzidSupported(); authenticateInternal(); authenticate(); } @@ -179,7 +179,7 @@ public abstract class SASLMechanism implements Comparable { this.serviceName = serviceName; this.authorizationId = authzid; this.sslSession = sslSession; - assert (authorizationId == null || authzidSupported()); + assert authorizationId == null || authzidSupported(); authenticateInternal(cbh); authenticate(); } diff --git a/smack-core/src/main/java/org/jivesoftware/smack/sasl/core/ScramMechanism.java b/smack-core/src/main/java/org/jivesoftware/smack/sasl/core/ScramMechanism.java index e8cb0e8e1..caa75cccf 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/sasl/core/ScramMechanism.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/sasl/core/ScramMechanism.java @@ -228,7 +228,7 @@ public abstract class ScramMechanism extends SASLMechanism { } String cbName = getChannelBindingName(); - assert (StringUtils.isNotEmpty(cbName)); + assert StringUtils.isNotEmpty(cbName); return cbName + ',' + authzidPortion + ","; } diff --git a/smack-core/src/main/java/org/jivesoftware/smack/util/DNSUtil.java b/smack-core/src/main/java/org/jivesoftware/smack/util/DNSUtil.java index 8ffcf64b6..6e27a115f 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/util/DNSUtil.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/util/DNSUtil.java @@ -233,7 +233,7 @@ public class DNSUtil { } for (SRVRecord r : bucket) { - running_total += (r.getWeight() + zeroWeight); + running_total += r.getWeight() + zeroWeight; totals[count] = running_total; count++; } diff --git a/smack-core/src/main/java/org/jivesoftware/smack/util/MultiMap.java b/smack-core/src/main/java/org/jivesoftware/smack/util/MultiMap.java index 0908106c2..783b2e2d5 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/util/MultiMap.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/util/MultiMap.java @@ -148,7 +148,7 @@ public class MultiMap { if (res == null) { return null; } - assert (!res.isEmpty()); + assert !res.isEmpty(); return res.iterator().next(); } diff --git a/smack-core/src/main/java/org/jivesoftware/smack/util/PacketParserUtils.java b/smack-core/src/main/java/org/jivesoftware/smack/util/PacketParserUtils.java index 178932554..795846105 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/util/PacketParserUtils.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/util/PacketParserUtils.java @@ -137,7 +137,7 @@ public class PacketParserUtils { */ public static Message parseMessage(XmlPullParser parser, XmlEnvironment outerXmlEnvironment) throws XmlPullParserException, IOException, SmackParsingException { ParserUtils.assertAtStartTag(parser); - assert (parser.getName().equals(Message.ELEMENT)); + assert parser.getName().equals(Message.ELEMENT); XmlEnvironment messageXmlEnvironment = XmlEnvironment.from(parser, outerXmlEnvironment); final int initialDepth = parser.getDepth(); @@ -218,7 +218,7 @@ public class PacketParserUtils { * @throws IOException */ public static String parseElementText(XmlPullParser parser) throws XmlPullParserException, IOException { - assert (parser.getEventType() == XmlPullParser.Event.START_ELEMENT); + assert parser.getEventType() == XmlPullParser.Event.START_ELEMENT; String res; // Advance to the text of the Element XmlPullParser.Event event = parser.next(); @@ -263,7 +263,7 @@ public class PacketParserUtils { public static CharSequence parseElement(XmlPullParser parser, boolean fullNamespaces) throws XmlPullParserException, IOException { - assert (parser.getEventType() == XmlPullParser.Event.START_ELEMENT); + assert parser.getEventType() == XmlPullParser.Event.START_ELEMENT; return parseContentDepth(parser, parser.getDepth(), fullNamespaces); } @@ -631,7 +631,7 @@ public class PacketParserUtils { */ public static Compress.Feature parseCompressionFeature(XmlPullParser parser) throws IOException, XmlPullParserException { - assert (parser.getEventType() == XmlPullParser.Event.START_ELEMENT); + assert parser.getEventType() == XmlPullParser.Event.START_ELEMENT; String name; final int initialDepth = parser.getDepth(); List methods = new LinkedList<>(); @@ -660,8 +660,8 @@ public class PacketParserUtils { break; } } - assert (parser.getEventType() == XmlPullParser.Event.END_ELEMENT); - assert (parser.getDepth() == initialDepth); + assert parser.getEventType() == XmlPullParser.Event.END_ELEMENT; + assert parser.getDepth() == initialDepth; return new Compress.Feature(methods); } @@ -679,7 +679,7 @@ public class PacketParserUtils { String text = parser.nextText(); String previousValue = descriptiveTexts.put(xmllang, text); - assert (previousValue == null); + assert previousValue == null; return descriptiveTexts; } @@ -704,7 +704,7 @@ public class PacketParserUtils { descriptiveTexts = parseDescriptiveTexts(parser, descriptiveTexts); } else { - assert (condition == null); + assert condition == null; condition = parser.getName(); } break; @@ -875,8 +875,8 @@ public class PacketParserUtils { public static StartTls parseStartTlsFeature(XmlPullParser parser) throws XmlPullParserException, IOException { - assert (parser.getEventType() == XmlPullParser.Event.START_ELEMENT); - assert (parser.getNamespace().equals(StartTls.NAMESPACE)); + ParserUtils.assertAtStartTag(parser); + assert parser.getNamespace().equals(StartTls.NAMESPACE); int initalDepth = parser.getDepth(); boolean required = false; outerloop: while (true) { @@ -900,7 +900,7 @@ public class PacketParserUtils { break; } } - assert (parser.getEventType() == XmlPullParser.Event.END_ELEMENT); + ParserUtils.assertAtEndTag(parser); return new StartTls(required); } diff --git a/smack-core/src/main/java/org/jivesoftware/smack/util/ParserUtils.java b/smack-core/src/main/java/org/jivesoftware/smack/util/ParserUtils.java index 86d091841..65b255297 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/util/ParserUtils.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/util/ParserUtils.java @@ -50,7 +50,7 @@ public class ParserUtils { public static final String JID = "jid"; public static void assertAtStartTag(XmlPullParser parser) throws XmlPullParserException { - assert (parser.getEventType() == XmlPullParser.Event.START_ELEMENT); + assert parser.getEventType() == XmlPullParser.Event.START_ELEMENT; } public static void assertAtStartTag(XmlPullParser parser, String name) throws XmlPullParserException { @@ -59,7 +59,7 @@ public class ParserUtils { } public static void assertAtEndTag(XmlPullParser parser) throws XmlPullParserException { - assert (parser.getEventType() == XmlPullParser.Event.END_ELEMENT); + assert parser.getEventType() == XmlPullParser.Event.END_ELEMENT; } public static void forwardToEndTagOfDepth(XmlPullParser parser, int depth) diff --git a/smack-core/src/main/java/org/jivesoftware/smack/util/StringUtils.java b/smack-core/src/main/java/org/jivesoftware/smack/util/StringUtils.java index 0798c1ab0..b2873ac59 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/util/StringUtils.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/util/StringUtils.java @@ -110,7 +110,6 @@ public class StringUtils { forAttribute, forAttributeApos, forText, - ; } /** diff --git a/smack-core/src/main/java/org/jivesoftware/smack/util/XmlStringBuilder.java b/smack-core/src/main/java/org/jivesoftware/smack/util/XmlStringBuilder.java index e4c7531f7..56e6eb177 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/util/XmlStringBuilder.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/util/XmlStringBuilder.java @@ -180,7 +180,7 @@ public class XmlStringBuilder implements Appendable, CharSequence, Element { } public XmlStringBuilder halfOpenElement(String name) { - assert (StringUtils.isNotEmpty(name)); + assert StringUtils.isNotEmpty(name); sb.append('<').append(name); return this; } diff --git a/smack-core/src/main/java/org/jivesoftware/smack/util/dns/HostAddress.java b/smack-core/src/main/java/org/jivesoftware/smack/util/dns/HostAddress.java index 686c23d37..83300bbc6 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/util/dns/HostAddress.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/util/dns/HostAddress.java @@ -111,7 +111,7 @@ public class HostAddress { public void setException(InetAddress inetAddress, Exception exception) { Exception old = exceptions.put(inetAddress, exception); - assert (old == null); + assert old == null; } /** diff --git a/smack-core/src/test/java/org/jivesoftware/smack/test/util/SmackTestUtil.java b/smack-core/src/test/java/org/jivesoftware/smack/test/util/SmackTestUtil.java index cfa0b114e..5f5dcf8d0 100644 --- a/smack-core/src/test/java/org/jivesoftware/smack/test/util/SmackTestUtil.java +++ b/smack-core/src/test/java/org/jivesoftware/smack/test/util/SmackTestUtil.java @@ -114,14 +114,14 @@ public class SmackTestUtil { public static XmlPullParser getParserFor(String xml, QName startTagQName, XmlPullParserKind parserKind) throws XmlPullParserException, IOException { XmlPullParser parser = getParserFor(xml, parserKind); - forwardParserToStartElement(parser, (p) -> p.getQName().equals(startTagQName)); + forwardParserToStartElement(parser, p -> p.getQName().equals(startTagQName)); return parser; } public static XmlPullParser getParserFor(String xml, String startTagLocalpart, XmlPullParserKind parserKind) throws XmlPullParserException, IOException { XmlPullParser parser = getParserFor(xml, parserKind); - forwardParserToStartElement(parser, (p) -> p.getName().equals(startTagLocalpart)); + forwardParserToStartElement(parser, p -> p.getName().equals(startTagLocalpart)); return parser; } diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/carbons/CarbonManager.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/carbons/CarbonManager.java index c0b477792..21b3faef7 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/carbons/CarbonManager.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/carbons/CarbonManager.java @@ -138,7 +138,7 @@ public final class CarbonManager extends Manager { // also reset here. enabled_state = false; boolean removed = connection().removeSyncStanzaListener(carbonsListener); - assert (removed); + assert removed; } @Override public void authenticated(XMPPConnection connection, boolean resumed) { diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/chat_markers/filter/EligibleForChatMarkerFilter.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/chat_markers/filter/EligibleForChatMarkerFilter.java index edf3f60ef..56035fbd0 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/chat_markers/filter/EligibleForChatMarkerFilter.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/chat_markers/filter/EligibleForChatMarkerFilter.java @@ -62,7 +62,7 @@ public final class EligibleForChatMarkerFilter extends StanzaExtensionFilter { ChatState state; try { state = ChatState.valueOf(chatStateElementName); - return (state == ChatState.active); + return state == ChatState.active; } catch (Exception ex) { return false; diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/hints/element/MessageProcessingHintType.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/hints/element/MessageProcessingHintType.java index a89bc56b5..320789ec8 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/hints/element/MessageProcessingHintType.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/hints/element/MessageProcessingHintType.java @@ -1,6 +1,6 @@ /** * - * Copyright 2017 Florian Schmaus + * Copyright 2017-2019 Florian Schmaus * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,6 +22,5 @@ public enum MessageProcessingHintType { no_store, no_copy, store, - ; } diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/httpfileupload/HttpFileUploadManager.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/httpfileupload/HttpFileUploadManager.java index 29f78c48c..88b4ecc8e 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/httpfileupload/HttpFileUploadManager.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/httpfileupload/HttpFileUploadManager.java @@ -134,7 +134,7 @@ public final class HttpFileUploadManager extends Manager { } private static UploadService uploadServiceFrom(DiscoverInfo discoverInfo) { - assert (containsHttpFileUploadNamespace(discoverInfo)); + assert containsHttpFileUploadNamespace(discoverInfo); UploadService.Version version; if (discoverInfo.containsFeature(NAMESPACE)) { diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/iot/provisioning/IoTProvisioningManager.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/iot/provisioning/IoTProvisioningManager.java index fbdef4c16..93622c7af 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/iot/provisioning/IoTProvisioningManager.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/iot/provisioning/IoTProvisioningManager.java @@ -1,6 +1,6 @@ /** * - * Copyright 2016 Florian Schmaus + * Copyright 2016-2019 Florian Schmaus * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -316,7 +316,7 @@ public final class IoTProvisioningManager extends Manager { return null; } Jid jid = discoverInfos.get(0).getFrom(); - assert (jid.isDomainBareJid()); + assert jid.isDomainBareJid(); return jid.asDomainBareJid(); } @@ -341,7 +341,7 @@ public final class IoTProvisioningManager extends Manager { IoTIsFriend iotIsFriend = new IoTIsFriend(friendInQuestion); iotIsFriend.setTo(provisioningServer); IoTIsFriendResponse response = connection().createStanzaCollectorAndSend(iotIsFriend).nextResultOrThrow(); - assert (response.getJid().equals(friendInQuestion)); + assert response.getJid().equals(friendInQuestion); boolean isFriend = response.getIsFriendResult(); if (!isFriend) { // Cache the negative is friend response. diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/mam/element/MamPrefsIQ.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/mam/element/MamPrefsIQ.java index 3361e03ec..8d829ec48 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/mam/element/MamPrefsIQ.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/mam/element/MamPrefsIQ.java @@ -39,7 +39,6 @@ public class MamPrefsIQ extends IQ { always, never, roster, - ; } /** diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/mam/filter/MamResultFilter.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/mam/filter/MamResultFilter.java index 7eb3ee286..988329e2c 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/mam/filter/MamResultFilter.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/mam/filter/MamResultFilter.java @@ -48,7 +48,7 @@ public class MamResultFilter extends FlexibleStanzaTypeFilter { } String resultQueryId = mamResultExtension.getQueryId(); - return ((queryId == null && resultQueryId == null) || (queryId != null && queryId.equals(resultQueryId))); + return (queryId == null && resultQueryId == null) || (queryId != null && queryId.equals(resultQueryId)); } } diff --git a/smack-experimental/src/test/java/org/jivesoftware/smackx/hoxt/provider/AbstractHttpOverXmppProviderTest.java b/smack-experimental/src/test/java/org/jivesoftware/smackx/hoxt/provider/AbstractHttpOverXmppProviderTest.java index 5af9ff08c..589c2c9a1 100644 --- a/smack-experimental/src/test/java/org/jivesoftware/smackx/hoxt/provider/AbstractHttpOverXmppProviderTest.java +++ b/smack-experimental/src/test/java/org/jivesoftware/smackx/hoxt/provider/AbstractHttpOverXmppProviderTest.java @@ -65,7 +65,7 @@ public class AbstractHttpOverXmppProviderTest { IQ iq = provider.parse(parser); assertTrue(iq instanceof HttpOverXmppResp); - HttpOverXmppResp body = ((HttpOverXmppResp) iq); + HttpOverXmppResp body = (HttpOverXmppResp) iq; checkHeaders(body.getHeaders(), expectedHeaders); } @@ -85,7 +85,7 @@ public class AbstractHttpOverXmppProviderTest { IQ iq = provider.parse(parser); assertTrue(iq instanceof HttpOverXmppReq); - HttpOverXmppReq body = ((HttpOverXmppReq) iq); + HttpOverXmppReq body = (HttpOverXmppReq) iq; checkHeaders(body.getHeaders(), expectedHeaders); } diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/admin/ServiceAdministrationManager.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/admin/ServiceAdministrationManager.java index cafcb5b36..a333b2027 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/admin/ServiceAdministrationManager.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/admin/ServiceAdministrationManager.java @@ -79,7 +79,7 @@ public class ServiceAdministrationManager extends Manager { answerForm.setAnswer("password-verify", password); command.execute(answerForm); - assert (command.isCompleted()); + assert command.isCompleted(); } public RemoteCommand deleteUser() { @@ -106,6 +106,6 @@ public class ServiceAdministrationManager extends Manager { answerForm.setAnswer("accountjids", jidsToDelete); command.execute(answerForm); - assert (command.isCompleted()); + assert command.isCompleted(); } } diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/bob/BoBData.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/bob/BoBData.java index 50106de41..cc981c1ee 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/bob/BoBData.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/bob/BoBData.java @@ -82,7 +82,7 @@ public class BoBData { private void setContentBinaryIfRequired() { if (contentBinary == null) { - assert (StringUtils.isNotEmpty(contentString)); + assert StringUtils.isNotEmpty(contentString); contentBinary = Base64.decode(contentString); } } diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamSession.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamSession.java index 3ff082df2..3a457797e 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamSession.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamSession.java @@ -757,7 +757,7 @@ public class InBandBytestreamSession implements BytestreamSession { bufferPointer = 0; // increment sequence, considering sequence overflow - this.seq = (this.seq + 1 == 65535 ? 0 : this.seq + 1); + this.seq = this.seq + 1 == 65535 ? 0 : this.seq + 1; } diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/delay/provider/AbstractDelayInformationProvider.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/delay/provider/AbstractDelayInformationProvider.java index 39a32ec56..43951f0c4 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/delay/provider/AbstractDelayInformationProvider.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/delay/provider/AbstractDelayInformationProvider.java @@ -33,7 +33,7 @@ public abstract class AbstractDelayInformationProvider extends ExtensionElementP public final DelayInformation parse(XmlPullParser parser, int initialDepth, XmlEnvironment xmlEnvironment) throws XmlPullParserException, IOException, SmackTextParseException { - String stampString = (parser.getAttributeValue("", "stamp")); + String stampString = parser.getAttributeValue("", "stamp"); String from = parser.getAttributeValue("", "from"); final String reason; XmlPullParser.Event event = parser.next(); diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/disco/provider/DiscoverInfoProvider.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/disco/provider/DiscoverInfoProvider.java index 561e41038..415c4eb15 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/disco/provider/DiscoverInfoProvider.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/disco/provider/DiscoverInfoProvider.java @@ -79,7 +79,7 @@ public class DiscoverInfoProvider extends IQProvider { if (parser.getName().equals("feature")) { // Create a new feature and add it to the discovered info. boolean notADuplicateFeature = discoverInfo.addFeature(variable); - assert (notADuplicateFeature); + assert notADuplicateFeature; } if (parser.getName().equals("query")) { done = true; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/filetransfer/FileTransferNegotiator.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/filetransfer/FileTransferNegotiator.java index 0d42e230a..c3a16df11 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/filetransfer/FileTransferNegotiator.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/filetransfer/FileTransferNegotiator.java @@ -73,7 +73,7 @@ public final class FileTransferNegotiator extends Manager { * set this variable to true for testing purposes as IBB is the backup file transfer method * and shouldn't be used as the only transfer method in production systems. */ - public static boolean IBB_ONLY = (System.getProperty("ibb") != null);//true; + public static boolean IBB_ONLY = System.getProperty("ibb") != null;//true; /** * Returns the file transfer negotiator related to a particular connection. diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/iqlast/LastActivityManager.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/iqlast/LastActivityManager.java index 56dd9d645..551c27682 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/iqlast/LastActivityManager.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/iqlast/LastActivityManager.java @@ -214,7 +214,7 @@ public final class LastActivityManager extends Manager { private long getIdleTime() { long lms = lastMessageSent; long now = System.currentTimeMillis(); - return ((now - lms) / 1000); + return (now - lms) / 1000; } /** diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/Role.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/Role.java index 0473b0894..9237c1117 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/Role.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/Role.java @@ -19,5 +19,4 @@ package org.jivesoftware.smackx.jingle; public enum Role { initiator, responder, - ; } diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/RoomInfo.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/RoomInfo.java index 8742d9661..5c24b578e 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/RoomInfo.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/RoomInfo.java @@ -208,7 +208,7 @@ public class RoomInfo { FormField subjectmodField = form.getField("muc#roominfo_subjectmod"); if (subjectmodField != null && !subjectmodField.getValues().isEmpty()) { String firstValue = subjectmodField.getFirstValue(); - subjectmod = ("true".equals(firstValue) || "1".equals(firstValue)); + subjectmod = "true".equals(firstValue) || "1".equals(firstValue); } FormField urlField = form.getField("muc#roominfo_logs"); diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/pep/PepManager.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/pep/PepManager.java index 26eba67e9..0cfb921d4 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/pep/PepManager.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/pep/PepManager.java @@ -104,9 +104,9 @@ public final class PepManager extends Manager { public void processStanza(Stanza stanza) { final Message message = (Message) stanza; final EventElement event = EventElement.from(stanza); - assert (event != null); + assert event != null; final EntityBareJid from = message.getFrom().asEntityBareJidIfPossible(); - assert (from != null); + assert from != null; asyncButOrdered.performAsyncButOrdered(from, new Runnable() { @Override public void run() { diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/AccessModel.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/AccessModel.java index df6cd903b..a01e1526e 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/AccessModel.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/AccessModel.java @@ -37,5 +37,5 @@ public enum AccessModel { roster, /** Only those on a whitelist may subscribe and retrieve items. */ - whitelist; + whitelist, } diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/Affiliation.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/Affiliation.java index 0a7e10d09..65195cca0 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/Affiliation.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/Affiliation.java @@ -167,7 +167,7 @@ public class Affiliation implements ExtensionElement { */ public boolean isAffiliationModification() { if (jid != null && affiliation != null) { - assert (node == null && namespace == AffiliationNamespace.owner); + assert node == null && namespace == AffiliationNamespace.owner; return true; } return false; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/ChildrenAssociationPolicy.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/ChildrenAssociationPolicy.java index f2e9ad0cd..e233915ae 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/ChildrenAssociationPolicy.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/ChildrenAssociationPolicy.java @@ -30,5 +30,5 @@ public enum ChildrenAssociationPolicy { owners, /** Only those on a whitelist may associate leaf nodes with the collection. */ - whitelist; + whitelist, } diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/ConfigurationEvent.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/ConfigurationEvent.java index 821b207aa..db847372d 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/ConfigurationEvent.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/ConfigurationEvent.java @@ -50,6 +50,6 @@ public class ConfigurationEvent extends NodeExtension implements EmbeddedPacketE if (getConfiguration() == null) return Collections.emptyList(); else - return Arrays.asList(((ExtensionElement) getConfiguration().getDataFormToSend())); + return Arrays.asList((ExtensionElement) getConfiguration().getDataFormToSend()); } } diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/ConfigureForm.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/ConfigureForm.java index 162935d81..f3671d07b 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/ConfigureForm.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/ConfigureForm.java @@ -19,6 +19,7 @@ package org.jivesoftware.smackx.pubsub; import java.util.ArrayList; import java.util.List; +import org.jivesoftware.smack.util.ParserUtils; import org.jivesoftware.smackx.xdata.Form; import org.jivesoftware.smackx.xdata.FormField; import org.jivesoftware.smackx.xdata.packet.DataForm; @@ -246,7 +247,7 @@ public class ConfigureForm extends Form { * @return true if it does, false otherwise */ public boolean isDeliverPayloads() { - return parseBoolean(getFieldValue(ConfigureNodeFields.deliver_payloads)); + return ParserUtils.parseXmlBoolean(getFieldValue(ConfigureNodeFields.deliver_payloads)); } /** @@ -353,7 +354,7 @@ public class ConfigureForm extends Form { * @return true if they should be notified, false otherwise */ public boolean isNotifyConfig() { - return parseBoolean(getFieldValue(ConfigureNodeFields.notify_config)); + return ParserUtils.parseXmlBoolean(getFieldValue(ConfigureNodeFields.notify_config)); } /** @@ -372,7 +373,7 @@ public class ConfigureForm extends Form { * @return true if subscribers should be notified, false otherwise */ public boolean isNotifyDelete() { - return parseBoolean(getFieldValue(ConfigureNodeFields.notify_delete)); + return ParserUtils.parseXmlBoolean(getFieldValue(ConfigureNodeFields.notify_delete)); } /** @@ -392,7 +393,7 @@ public class ConfigureForm extends Form { * @return true if subscribers should be notified, false otherwise */ public boolean isNotifyRetract() { - return parseBoolean(getFieldValue(ConfigureNodeFields.notify_retract)); + return ParserUtils.parseXmlBoolean(getFieldValue(ConfigureNodeFields.notify_retract)); } /** @@ -436,7 +437,7 @@ public class ConfigureForm extends Form { * @return true if items are persisted */ public boolean isPersistItems() { - return parseBoolean(getFieldValue(ConfigureNodeFields.persist_items)); + return ParserUtils.parseXmlBoolean(getFieldValue(ConfigureNodeFields.persist_items)); } /** @@ -455,7 +456,7 @@ public class ConfigureForm extends Form { * @return true if users must be available */ public boolean isPresenceBasedDelivery() { - return parseBoolean(getFieldValue(ConfigureNodeFields.presence_based_delivery)); + return ParserUtils.parseXmlBoolean(getFieldValue(ConfigureNodeFields.presence_based_delivery)); } /** @@ -566,7 +567,7 @@ public class ConfigureForm extends Form { * @return true if subscriptions are allowed, false otherwise */ public boolean isSubscribe() { - return parseBoolean(getFieldValue(ConfigureNodeFields.subscribe)); + return ParserUtils.parseXmlBoolean(getFieldValue(ConfigureNodeFields.subscribe)); } /** @@ -645,10 +646,6 @@ public class ConfigureForm extends Form { return result.toString(); } - private static boolean parseBoolean(String fieldValue) { - return ("1".equals(fieldValue) || "true".equals(fieldValue)); - } - private String getFieldValue(ConfigureNodeFields field) { FormField formField = getField(field.getFieldName()); diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/ItemPublishEvent.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/ItemPublishEvent.java index da845a337..577dad4f7 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/ItemPublishEvent.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/ItemPublishEvent.java @@ -96,7 +96,7 @@ public class ItemPublishEvent extends SubscriptionEvent { * @return true if the items are delayed, false otherwise. */ public boolean isDelayed() { - return (originalDate != null); + return originalDate != null; } /** diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/LeafNode.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/LeafNode.java index 22b4701dc..f2ea6abf0 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/LeafNode.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/LeafNode.java @@ -305,7 +305,7 @@ public class LeafNode extends Node { @SuppressWarnings("unchecked") public void publish(T item) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { Collection items = new ArrayList<>(1); - items.add((item == null ? (T) new Item() : item)); + items.add(item == null ? (T) new Item() : item); publish(items); } diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/PubSubElementType.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/PubSubElementType.java index 9aa1f3d5a..89522a9e5 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/PubSubElementType.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/PubSubElementType.java @@ -70,7 +70,7 @@ public enum PubSubElementType { public static PubSubElementType valueOfFromElemName(String elemName, String namespace) { int index = namespace.lastIndexOf('#'); - String fragment = (index == -1 ? null : namespace.substring(index + 1)); + String fragment = index == -1 ? null : namespace.substring(index + 1); if (fragment != null) { return valueOf((elemName + '_' + fragment).toUpperCase(Locale.US)); diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/SubscribeForm.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/SubscribeForm.java index a5cb0ab6d..f68524d16 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/SubscribeForm.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/SubscribeForm.java @@ -23,6 +23,7 @@ import java.util.Date; import java.util.List; import java.util.UnknownFormatConversionException; +import org.jivesoftware.smack.util.ParserUtils; import org.jivesoftware.smackx.xdata.Form; import org.jivesoftware.smackx.xdata.FormField; import org.jivesoftware.smackx.xdata.packet.DataForm; @@ -58,7 +59,7 @@ public class SubscribeForm extends Form { * @return true if want to receive, false otherwise */ public boolean isDeliverOn() { - return parseBoolean(getFieldValue(SubscribeOptionFields.deliver)); + return ParserUtils.parseXmlBoolean(getFieldValue(SubscribeOptionFields.deliver)); } /** @@ -77,7 +78,7 @@ public class SubscribeForm extends Form { * @return true to aggregate, false otherwise */ public boolean isDigestOn() { - return parseBoolean(getFieldValue(SubscribeOptionFields.digest)); + return ParserUtils.parseXmlBoolean(getFieldValue(SubscribeOptionFields.digest)); } /** @@ -143,7 +144,7 @@ public class SubscribeForm extends Form { * @return true to receive the message body, false otherwise */ public boolean isIncludeBody() { - return parseBoolean(getFieldValue(SubscribeOptionFields.include_body)); + return ParserUtils.parseXmlBoolean(getFieldValue(SubscribeOptionFields.include_body)); } /** @@ -188,11 +189,6 @@ public class SubscribeForm extends Form { setAnswer(SubscribeOptionFields.show_values.getFieldName(), values); } - - private static boolean parseBoolean(String fieldValue) { - return ("1".equals(fieldValue) || "true".equals(fieldValue)); - } - private String getFieldValue(SubscribeOptionFields field) { FormField formField = getField(field.getFieldName()); diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/provider/SubscriptionProvider.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/provider/SubscriptionProvider.java index 88f3c2e82..22c63015b 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/provider/SubscriptionProvider.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/provider/SubscriptionProvider.java @@ -55,7 +55,7 @@ public class SubscriptionProvider extends ExtensionElementProvider while (tag != XmlPullParser.Event.END_ELEMENT && !parser.getName().equals("subscribe-options")) tag = parser.next(); } while (parser.getEventType() != XmlPullParser.Event.END_ELEMENT) parser.next(); - return new Subscription(jid, nodeId, subId, (state == null ? null : Subscription.State.valueOf(state)), isRequired); + return new Subscription(jid, nodeId, subId, state == null ? null : Subscription.State.valueOf(state), isRequired); } } diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/receipts/DeliveryReceiptManager.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/receipts/DeliveryReceiptManager.java index c310ceb25..ca15cb0cc 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/receipts/DeliveryReceiptManager.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/receipts/DeliveryReceiptManager.java @@ -309,7 +309,7 @@ public final class DeliveryReceiptManager extends Manager { * @return true if a delivery receipt was requested */ public static boolean hasDeliveryReceiptRequest(Message message) { - return (DeliveryReceiptRequest.from(message) != null); + return DeliveryReceiptRequest.from(message) != null; } /** diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/muc/MucMemoryLeakTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/muc/MucMemoryLeakTest.java index 2f6fa7634..ad7c24ebd 100644 --- a/smack-extensions/src/test/java/org/jivesoftware/smackx/muc/MucMemoryLeakTest.java +++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/muc/MucMemoryLeakTest.java @@ -26,7 +26,7 @@ public class MucMemoryLeakTest extends SmackTestSuite { @Test public void mucMemoryLeakTest() throws XmppStringprepException, IllegalArgumentException, InterruptedException { - MemoryLeakTestUtil.noResourceLeakTest((c) -> MultiUserChatManager.getInstanceFor(c)); + MemoryLeakTestUtil.noResourceLeakTest(c -> MultiUserChatManager.getInstanceFor(c)); } } diff --git a/smack-im/src/main/java/org/jivesoftware/smack/chat/ChatManager.java b/smack-im/src/main/java/org/jivesoftware/smack/chat/ChatManager.java index d2571358b..fa5699a97 100644 --- a/smack-im/src/main/java/org/jivesoftware/smack/chat/ChatManager.java +++ b/smack-im/src/main/java/org/jivesoftware/smack/chat/ChatManager.java @@ -103,7 +103,7 @@ public final class ChatManager extends Manager{ * Will attempt to match on the JID in the from field, and then attempt the base JID if no match was found. * This is the most lenient matching. */ - BARE_JID; + BARE_JID, } private final StanzaFilter packetFilter = new OrFilter(MessageTypeFilter.CHAT, new FlexibleStanzaTypeFilter() { diff --git a/smack-im/src/main/java/org/jivesoftware/smack/roster/Roster.java b/smack-im/src/main/java/org/jivesoftware/smack/roster/Roster.java index 262105ae6..d9e54e886 100644 --- a/smack-im/src/main/java/org/jivesoftware/smack/roster/Roster.java +++ b/smack-im/src/main/java/org/jivesoftware/smack/roster/Roster.java @@ -1570,7 +1570,7 @@ public final class Roster extends Manager { else { fullFrom = from.asFullJidIfPossible(); // We know that this must be a full JID in this case. - assert (fullFrom != null); + assert fullFrom != null; } } Map userPresences; diff --git a/smack-im/src/main/java/org/jivesoftware/smack/roster/RosterEntry.java b/smack-im/src/main/java/org/jivesoftware/smack/roster/RosterEntry.java index a75a024ac..6e3f2db20 100644 --- a/smack-im/src/main/java/org/jivesoftware/smack/roster/RosterEntry.java +++ b/smack-im/src/main/java/org/jivesoftware/smack/roster/RosterEntry.java @@ -123,7 +123,7 @@ public final class RosterEntry extends Manager { * @param item new item */ void updateItem(RosterPacket.Item item) { - assert (item != null); + assert item != null; this.item = item; } diff --git a/smack-im/src/main/java/org/jivesoftware/smack/roster/provider/RosterPacketProvider.java b/smack-im/src/main/java/org/jivesoftware/smack/roster/provider/RosterPacketProvider.java index 47a08f1fb..344ad2b66 100644 --- a/smack-im/src/main/java/org/jivesoftware/smack/roster/provider/RosterPacketProvider.java +++ b/smack-im/src/main/java/org/jivesoftware/smack/roster/provider/RosterPacketProvider.java @@ -113,7 +113,7 @@ public class RosterPacketProvider extends IQProvider { } } ParserUtils.assertAtEndTag(parser); - assert (item != null); + assert item != null; return item; } } diff --git a/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/Configuration.java b/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/Configuration.java index d18cfe487..a6e3d6eda 100644 --- a/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/Configuration.java +++ b/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/Configuration.java @@ -149,7 +149,7 @@ public final class Configuration { this.disabledTests = disabledTests; this.testPackages = testPackages; - this.configurationApplier = (builder) -> { + this.configurationApplier = builder -> { if (tlsContext != null) { builder.setCustomSSLContext(tlsContext); } diff --git a/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/SmackIntegrationTestFramework.java b/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/SmackIntegrationTestFramework.java index 962da4bee..ab18e9d2a 100644 --- a/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/SmackIntegrationTestFramework.java +++ b/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/SmackIntegrationTestFramework.java @@ -592,7 +592,7 @@ public class SmackIntegrationTestFramework { } final String className = clz.getName(); final String unqualifiedClassName = clz.getSimpleName(); - return (classes.contains(className) || classes.contains(unqualifiedClassName)); + return classes.contains(className) || classes.contains(unqualifiedClassName); } public static final class TestRunResult { @@ -709,7 +709,7 @@ public class SmackIntegrationTestFramework { this.testMethod = testMethod; smackIntegrationTestAnnotation = testMethod.getAnnotation(SmackIntegrationTest.class); - assert (smackIntegrationTestAnnotation != null); + assert smackIntegrationTestAnnotation != null; parameterListOfConnections = testMethodParametersIsListOfConnections(testMethod); } diff --git a/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/TestResult.java b/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/TestResult.java index b3626dde5..f7620dfd2 100644 --- a/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/TestResult.java +++ b/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/TestResult.java @@ -28,7 +28,7 @@ public abstract class TestResult { public TestResult(SmackIntegrationTestFramework.ConcreteTest concreteTest, long startTime, long endTime, List logMessages) { this.concreteTest = concreteTest; - assert (endTime >= startTime); + assert endTime >= startTime; this.startTime = startTime; this.endTime = endTime; this.duration = endTime - startTime; diff --git a/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/XmppConnectionManager.java b/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/XmppConnectionManager.java index 4ea5531c3..c576a1948 100644 --- a/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/XmppConnectionManager.java +++ b/smack-integration-test/src/main/java/org/igniterealtime/smack/inttest/XmppConnectionManager.java @@ -283,7 +283,7 @@ public class XmppConnectionManager { registerAccount(finalAccountUsername, finalAccountPassword); } - DC mainConnection = defaultConnectionDescriptor.construct(sinttestConfiguration, (builder) -> { + DC mainConnection = defaultConnectionDescriptor.construct(sinttestConfiguration, builder -> { try { builder.setUsernameAndPassword(finalAccountUsername, finalAccountPassword) .setResource(middlefix + '-' + testRunId); @@ -398,7 +398,7 @@ public class XmppConnectionManager { throw new IllegalArgumentException(e); } - ConnectionConfigurationBuilderApplier usernameAndPasswordApplier = (configurationBuilder) -> { + ConnectionConfigurationBuilderApplier usernameAndPasswordApplier = configurationBuilder -> { configurationBuilder.setUsernameAndPassword(username, password); }; diff --git a/smack-jingle-old/src/main/java/org/jivesoftware/smackx/jingleold/media/MediaNegotiator.java b/smack-jingle-old/src/main/java/org/jivesoftware/smackx/jingleold/media/MediaNegotiator.java index c354a9fae..c2f809e93 100644 --- a/smack-jingle-old/src/main/java/org/jivesoftware/smackx/jingleold/media/MediaNegotiator.java +++ b/smack-jingle-old/src/main/java/org/jivesoftware/smackx/jingleold/media/MediaNegotiator.java @@ -354,7 +354,7 @@ public class MediaNegotiator extends JingleNegotiator { * @return true if the content is fully negotiated. */ public boolean isFullyEstablished() { - return (isEstablished() && ((getNegotiatorState() == JingleNegotiatorState.SUCCEEDED) || (getNegotiatorState() == JingleNegotiatorState.FAILED))); + return isEstablished() && ((getNegotiatorState() == JingleNegotiatorState.SUCCEEDED) || (getNegotiatorState() == JingleNegotiatorState.FAILED)); } // Payload types diff --git a/smack-jingle-old/src/main/java/org/jivesoftware/smackx/jingleold/mediaimpl/sshare/api/ImageTransmitter.java b/smack-jingle-old/src/main/java/org/jivesoftware/smackx/jingleold/mediaimpl/sshare/api/ImageTransmitter.java index f5234764e..39db457b8 100644 --- a/smack-jingle-old/src/main/java/org/jivesoftware/smackx/jingleold/mediaimpl/sshare/api/ImageTransmitter.java +++ b/smack-jingle-old/src/main/java/org/jivesoftware/smackx/jingleold/mediaimpl/sshare/api/ImageTransmitter.java @@ -164,7 +164,7 @@ public class ImageTransmitter implements Runnable { } } - trace = (System.currentTimeMillis() - trace); + trace = System.currentTimeMillis() - trace; LOGGER.fine("Loop Time:" + trace); if (trace < 500) { diff --git a/smack-jingle-old/src/main/java/org/jivesoftware/smackx/jingleold/nat/TransportCandidate.java b/smack-jingle-old/src/main/java/org/jivesoftware/smackx/jingleold/nat/TransportCandidate.java index cc873017f..d1d2a63ad 100644 --- a/smack-jingle-old/src/main/java/org/jivesoftware/smackx/jingleold/nat/TransportCandidate.java +++ b/smack-jingle-old/src/main/java/org/jivesoftware/smackx/jingleold/nat/TransportCandidate.java @@ -648,7 +648,7 @@ public abstract class TransportCandidate { this.id = session.getSid(); this.candidate = candidate; - int keySplitIndex = ((int) Math.ceil(((float) id.length()) / 2)); + int keySplitIndex = (int) Math.ceil(((float) id.length()) / 2); String local = id.substring(0, keySplitIndex) + ";" + localUser; String remote = id.substring(keySplitIndex) + ";" + remoteUser; diff --git a/smack-jingle-old/src/main/java/org/jivesoftware/smackx/jingleold/nat/TransportNegotiator.java b/smack-jingle-old/src/main/java/org/jivesoftware/smackx/jingleold/nat/TransportNegotiator.java index e8709c3bc..8d63b4019 100644 --- a/smack-jingle-old/src/main/java/org/jivesoftware/smackx/jingleold/nat/TransportNegotiator.java +++ b/smack-jingle-old/src/main/java/org/jivesoftware/smackx/jingleold/nat/TransportNegotiator.java @@ -281,7 +281,7 @@ public abstract class TransportNegotiator extends JingleNegotiator { * @return true if the transport is fully established. */ public final boolean isFullyEstablished() { - return (isEstablished() && ((getNegotiatorState() == JingleNegotiatorState.SUCCEEDED) || (getNegotiatorState() == JingleNegotiatorState.FAILED))); + return isEstablished() && ((getNegotiatorState() == JingleNegotiatorState.SUCCEEDED) || (getNegotiatorState() == JingleNegotiatorState.FAILED)); } /** @@ -303,7 +303,7 @@ public abstract class TransportNegotiator extends JingleNegotiator { // Sleep for some time, waiting for the candidates checks - int totalTime = (CANDIDATES_ACCEPT_PERIOD + TransportResolver.CHECK_TIMEOUT); + int totalTime = CANDIDATES_ACCEPT_PERIOD + TransportResolver.CHECK_TIMEOUT; int tries = (int) Math.ceil(totalTime / 1000); for (int i = 0; i < tries - 1; i++) { diff --git a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/settings/OfflineSettings.java b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/settings/OfflineSettings.java index 10c570a45..732a7126a 100644 --- a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/settings/OfflineSettings.java +++ b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/settings/OfflineSettings.java @@ -78,7 +78,7 @@ public class OfflineSettings extends SimpleIQ { } public boolean redirects() { - return (StringUtils.isNotEmpty(getRedirectURL())); + return StringUtils.isNotEmpty(getRedirectURL()); } public boolean isConfigured() { diff --git a/smack-omemo-signal/src/main/java/org/jivesoftware/smackx/omemo/signal/SignalOmemoRatchet.java b/smack-omemo-signal/src/main/java/org/jivesoftware/smackx/omemo/signal/SignalOmemoRatchet.java index 6fa0dec8e..de20f69a9 100644 --- a/smack-omemo-signal/src/main/java/org/jivesoftware/smackx/omemo/signal/SignalOmemoRatchet.java +++ b/smack-omemo-signal/src/main/java/org/jivesoftware/smackx/omemo/signal/SignalOmemoRatchet.java @@ -149,8 +149,8 @@ public class SignalOmemoRatchet } // TODO: Figure out, if this is enough... - int type = (ciphertextMessage.getType() == CiphertextMessage.PREKEY_TYPE ? - OmemoElement.TYPE_OMEMO_PREKEY_MESSAGE : OmemoElement.TYPE_OMEMO_MESSAGE); + int type = ciphertextMessage.getType() == CiphertextMessage.PREKEY_TYPE ? + OmemoElement.TYPE_OMEMO_PREKEY_MESSAGE : OmemoElement.TYPE_OMEMO_MESSAGE; return new CiphertextTuple(ciphertextMessage.serialize(), type); } diff --git a/smack-omemo-signal/src/main/java/org/jivesoftware/smackx/omemo/signal/SignalOmemoStoreConnector.java b/smack-omemo-signal/src/main/java/org/jivesoftware/smackx/omemo/signal/SignalOmemoStoreConnector.java index bfb1a20d9..0f607603a 100644 --- a/smack-omemo-signal/src/main/java/org/jivesoftware/smackx/omemo/signal/SignalOmemoStoreConnector.java +++ b/smack-omemo-signal/src/main/java/org/jivesoftware/smackx/omemo/signal/SignalOmemoStoreConnector.java @@ -135,7 +135,7 @@ public class SignalOmemoStoreConnector @Override public boolean containsPreKey(int i) { try { - return (loadPreKey(i) != null); + return loadPreKey(i) != null; } catch (InvalidKeyIdException e) { return false; } diff --git a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/FileBasedOmemoStore.java b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/FileBasedOmemoStore.java index 0c62c28c0..6cfba87a8 100644 --- a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/FileBasedOmemoStore.java +++ b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/FileBasedOmemoStore.java @@ -113,7 +113,7 @@ public abstract class FileBasedOmemoStore deviceIds = new TreeSet<>(); File userDir = hierarchy.getUserDirectory(localUser); File[] list = userDir.listFiles(); - for (File d : (list != null ? list : new File[] {})) { + for (File d : list != null ? list : new File[] {}) { if (d.isDirectory()) { try { deviceIds.add(Integer.parseInt(d.getName())); diff --git a/smack-openpgp/src/main/java/org/jivesoftware/smackx/ox/OpenPgpMessage.java b/smack-openpgp/src/main/java/org/jivesoftware/smackx/ox/OpenPgpMessage.java index 5c02c5d69..15c47a6d9 100644 --- a/smack-openpgp/src/main/java/org/jivesoftware/smackx/ox/OpenPgpMessage.java +++ b/smack-openpgp/src/main/java/org/jivesoftware/smackx/ox/OpenPgpMessage.java @@ -60,7 +60,6 @@ public class OpenPgpMessage { * Represents a {@link CryptElement}. */ crypt, - ; } private final String element; diff --git a/smack-openpgp/src/main/java/org/jivesoftware/smackx/ox/element/OpenPgpContentElement.java b/smack-openpgp/src/main/java/org/jivesoftware/smackx/ox/element/OpenPgpContentElement.java index 8ac666259..bcb661271 100644 --- a/smack-openpgp/src/main/java/org/jivesoftware/smackx/ox/element/OpenPgpContentElement.java +++ b/smack-openpgp/src/main/java/org/jivesoftware/smackx/ox/element/OpenPgpContentElement.java @@ -160,7 +160,7 @@ public abstract class OpenPgpContentElement implements ExtensionElement { } protected void addCommonXml(XmlStringBuilder xml) { - for (Jid toJid : (to != null ? to : Collections.emptySet())) { + for (Jid toJid : to != null ? to : Collections.emptySet()) { xml.halfOpenElement(ELEM_TO).attribute(ATTR_JID, toJid).closeEmptyElement(); } diff --git a/smack-sasl-provided/src/main/java/org/jivesoftware/smack/sasl/provided/SASLDigestMD5Mechanism.java b/smack-sasl-provided/src/main/java/org/jivesoftware/smack/sasl/provided/SASLDigestMD5Mechanism.java index 4c5ba0ee2..2b1a89d0a 100644 --- a/smack-sasl-provided/src/main/java/org/jivesoftware/smack/sasl/provided/SASLDigestMD5Mechanism.java +++ b/smack-sasl-provided/src/main/java/org/jivesoftware/smack/sasl/provided/SASLDigestMD5Mechanism.java @@ -173,7 +173,7 @@ public class SASLDigestMD5Mechanism extends SASLMechanism { String serverResponse = null; for (String part : challengeParts) { String[] keyValue = part.split("="); - assert (keyValue.length == 2); + assert keyValue.length == 2; String key = keyValue[0]; String value = keyValue[1]; if ("rspauth".equals(key)) { 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 8729be063..15e0fb81a 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 @@ -569,7 +569,7 @@ public class XMPPTCPConnection extends AbstractXMPPConnection { int port = hostAddress.getPort(); if (proxyInfo == null) { inetAddresses = hostAddress.getInetAddresses().iterator(); - assert (inetAddresses.hasNext()); + assert inetAddresses.hasNext(); innerloop: while (inetAddresses.hasNext()) { // Create a *new* Socket before every connection attempt, i.e. connect() call, since Sockets are not diff --git a/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XmppNioTcpConnection.java b/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XmppNioTcpConnection.java index d0ae8d351..e9992b367 100644 --- a/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XmppNioTcpConnection.java +++ b/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XmppNioTcpConnection.java @@ -229,7 +229,7 @@ public class XmppNioTcpConnection extends AbstractXmppNioConnection { notifyConnectionError(ise); return; } - assert (config.getXMPPServiceDomain().equals(reportedServerDomain)); + assert config.getXMPPServiceDomain().equals(reportedServerDomain); break; case "xmlns": streamOpen.append(" xmlns='").append(attributeValue).append('\''); @@ -513,7 +513,7 @@ public class XmppNioTcpConnection extends AbstractXmppNioConnection { } else { outgoingCharSequenceIterator = Collections.singletonList(nextCharSequence).iterator(); } - assert (outgoingCharSequenceIterator != null); + assert outgoingCharSequenceIterator != null; } else { // There is nothing more to write. break; @@ -1067,7 +1067,6 @@ public class XmppNioTcpConnection extends AbstractXmppNioConnection { initiated, successful, failed, - ; } private static final Level SSL_ENGINE_DEBUG_LOG_LEVEL = Level.FINEST; @@ -1282,7 +1281,7 @@ public class XmppNioTcpConnection extends AbstractXmppNioConnection { return null; case BUFFER_OVERFLOW: int applicationBufferSize = engine.getSession().getApplicationBufferSize(); - assert (peerAppData.remaining() < applicationBufferSize); + assert peerAppData.remaining() < applicationBufferSize; peerAppData = ByteBuffer.allocate(applicationBufferSize); continue; } From b86d08892667d8b0b178275603de7aca87719d57 Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Sat, 27 Jul 2019 12:37:55 +0200 Subject: [PATCH 5/7] Bump BouncyCastle to 1.62 --- version.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.gradle b/version.gradle index 41898e6d3..72ccec1ac 100644 --- a/version.gradle +++ b/version.gradle @@ -10,7 +10,7 @@ allprojects { // - https://issues.igniterealtime.org/browse/SMACK-858 jxmppVersion = '0.7.0-alpha5' miniDnsVersion = '0.4.0-alpha3' - bouncyCastleVersion = '1.61' + bouncyCastleVersion = '1.62' smackMinAndroidSdk = 19 } } From 41a3ec05c74a8dbc5b1faa003f04caa6f5bace5a Mon Sep 17 00:00:00 2001 From: adiaholic Date: Sun, 28 Jul 2019 16:36:12 +0530 Subject: [PATCH 6/7] Returning obtained XmlStringBuilder instead of null --- .../jivesoftware/smackx/mediaelement/element/MediaElement.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/mediaelement/element/MediaElement.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/mediaelement/element/MediaElement.java index b831933e5..08ebeba32 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/mediaelement/element/MediaElement.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/mediaelement/element/MediaElement.java @@ -90,7 +90,7 @@ public class MediaElement implements FormFieldChildElement { xml.append(uris, xmlEnvironment); xml.closeElement(this); - return null; + return xml; } public MediaElement from(FormField formField) { From 8da954f7a45425ad4d3405c5b6e2fcdd18b9a2fb Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Thu, 25 Jul 2019 09:56:46 +0200 Subject: [PATCH 7/7] OpenPGP: Bump Pgpainless to 0.0.1-alpha7 Also unify how new Security Providers are installed. Thanks to Paul Schaub for helping with this. --- .../jivesoftware/smack/util/SecurityUtil.java | 53 +++++++++++++++++++ .../smackx/hashes/HashManager.java | 7 +-- .../smackx/omemo/OmemoInitializer.java | 9 ++++ .../smackx/omemo/OmemoService.java | 7 --- .../smackx/omemo/WrapperObjectsTest.java | 6 +-- smack-openpgp/build.gradle | 2 +- .../ox/crypto/PainlessOpenPgpProvider.java | 9 ---- .../smackx/ox/util/OpenPgpInitializer.java | 9 ++++ .../smackx/ox/OpenPgpStoreTest.java | 3 -- 9 files changed, 78 insertions(+), 27 deletions(-) create mode 100644 smack-core/src/main/java/org/jivesoftware/smack/util/SecurityUtil.java diff --git a/smack-core/src/main/java/org/jivesoftware/smack/util/SecurityUtil.java b/smack-core/src/main/java/org/jivesoftware/smack/util/SecurityUtil.java new file mode 100644 index 000000000..3521279df --- /dev/null +++ b/smack-core/src/main/java/org/jivesoftware/smack/util/SecurityUtil.java @@ -0,0 +1,53 @@ +/** + * + * Copyright 2019 Florian Schmaus. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jivesoftware.smack.util; + +import java.lang.reflect.InvocationTargetException; +import java.security.Provider; +import java.security.Security; + +import org.jxmpp.util.cache.LruCache; + +public class SecurityUtil { + + private static final LruCache, Void> INSERTED_PROVIDERS_CACHE = new LruCache<>(8); + + public static void ensureProviderAtFirstPosition(Class providerClass) { + if (INSERTED_PROVIDERS_CACHE.containsKey(providerClass)) { + return; + } + + Provider provider; + try { + provider = providerClass.getDeclaredConstructor().newInstance(); + } catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException + | NoSuchMethodException | SecurityException e) { + throw new IllegalArgumentException(e); + } + + String providerName = provider.getName(); + + int installedPosition ; + synchronized (Security.class) { + Security.removeProvider(providerName); + installedPosition = Security.insertProviderAt(provider, 1); + } + assert installedPosition == 1; + + INSERTED_PROVIDERS_CACHE.put(providerClass, null); + } +} diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/hashes/HashManager.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/hashes/HashManager.java index a872b376c..888c2c1ac 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/hashes/HashManager.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/hashes/HashManager.java @@ -35,7 +35,6 @@ import static org.jivesoftware.smackx.hashes.HashManager.ALGORITHM.SHA_512; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; -import java.security.Security; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -43,7 +42,7 @@ import java.util.WeakHashMap; import org.jivesoftware.smack.Manager; import org.jivesoftware.smack.XMPPConnection; - +import org.jivesoftware.smack.util.SecurityUtil; import org.jivesoftware.smackx.disco.ServiceDiscoveryManager; import org.jivesoftware.smackx.hashes.element.HashElement; @@ -58,7 +57,9 @@ import org.bouncycastle.jce.provider.BouncyCastleProvider; public final class HashManager extends Manager { static { - Security.addProvider(new BouncyCastleProvider()); + // Remove any BC providers and add a fresh one. + // This is done, since older Android versions ship with a crippled BC provider. + SecurityUtil.ensureProviderAtFirstPosition(BouncyCastleProvider.class); } public static final String PREFIX_NS_ALGO = "urn:xmpp:hash-function-text-names:"; diff --git a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/OmemoInitializer.java b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/OmemoInitializer.java index 5f293490f..243257b99 100644 --- a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/OmemoInitializer.java +++ b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/OmemoInitializer.java @@ -17,6 +17,9 @@ package org.jivesoftware.smackx.omemo; import org.jivesoftware.smack.initializer.UrlInitializer; +import org.jivesoftware.smack.util.SecurityUtil; + +import org.bouncycastle.jce.provider.BouncyCastleProvider; /** * Initializer class that registers omemo providers. @@ -26,6 +29,12 @@ import org.jivesoftware.smack.initializer.UrlInitializer; @SuppressWarnings("unused") public class OmemoInitializer extends UrlInitializer { + static { + // Remove any BC providers and add a fresh one. + // This is done, since older Android versions ship with a crippled BC provider. + SecurityUtil.ensureProviderAtFirstPosition(BouncyCastleProvider.class); + } + @Override protected String getProvidersUri() { return "classpath:org.jivesoftware.smackx.omemo/omemo.providers"; diff --git a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/OmemoService.java b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/OmemoService.java index 8cf2aac6f..91eb51034 100644 --- a/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/OmemoService.java +++ b/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/OmemoService.java @@ -22,7 +22,6 @@ import static org.jivesoftware.smackx.omemo.util.OmemoConstants.Crypto.KEYTYPE; import java.security.InvalidAlgorithmParameterException; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; -import java.security.Security; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -45,7 +44,6 @@ import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smack.packet.Message; import org.jivesoftware.smack.packet.Stanza; import org.jivesoftware.smack.packet.StanzaError; - import org.jivesoftware.smackx.carbons.packet.CarbonExtension; import org.jivesoftware.smackx.mam.MamManager; import org.jivesoftware.smackx.muc.MultiUserChat; @@ -80,7 +78,6 @@ import org.jivesoftware.smackx.pubsub.PayloadItem; import org.jivesoftware.smackx.pubsub.PubSubException; import org.jivesoftware.smackx.pubsub.PubSubManager; -import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.jxmpp.jid.BareJid; import org.jxmpp.jid.EntityBareJid; import org.jxmpp.jid.Jid; @@ -102,10 +99,6 @@ import org.jxmpp.jid.Jid; public abstract class OmemoService implements OmemoCarbonCopyStanzaReceivedListener, OmemoMessageStanzaReceivedListener { - static { - Security.addProvider(new BouncyCastleProvider()); - } - protected static final Logger LOGGER = Logger.getLogger(OmemoService.class.getName()); private static final long MILLIS_PER_HOUR = 1000L * 60 * 60; diff --git a/smack-omemo/src/test/java/org/jivesoftware/smackx/omemo/WrapperObjectsTest.java b/smack-omemo/src/test/java/org/jivesoftware/smackx/omemo/WrapperObjectsTest.java index 43eb4353c..66c538bf8 100644 --- a/smack-omemo/src/test/java/org/jivesoftware/smackx/omemo/WrapperObjectsTest.java +++ b/smack-omemo/src/test/java/org/jivesoftware/smackx/omemo/WrapperObjectsTest.java @@ -25,21 +25,20 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import java.security.NoSuchAlgorithmException; -import java.security.Security; +import org.jivesoftware.smack.test.util.SmackTestSuite; import org.jivesoftware.smackx.omemo.element.OmemoElement; import org.jivesoftware.smackx.omemo.exceptions.CryptoFailedException; import org.jivesoftware.smackx.omemo.internal.CipherAndAuthTag; import org.jivesoftware.smackx.omemo.internal.CiphertextTuple; import org.jivesoftware.smackx.omemo.util.OmemoMessageBuilder; -import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.junit.Test; /** * Test the identityKeyWrapper. */ -public class WrapperObjectsTest { +public class WrapperObjectsTest extends SmackTestSuite { @Test public void ciphertextTupleTest() { @@ -56,7 +55,6 @@ public class WrapperObjectsTest { @Test public void cipherAndAuthTagTest() throws NoSuchAlgorithmException, CryptoFailedException { - Security.addProvider(new BouncyCastleProvider()); byte[] key = OmemoMessageBuilder.generateKey(KEYTYPE, KEYLENGTH); byte[] iv = OmemoMessageBuilder.generateIv(); byte[] authTag = OmemoMessageBuilder.generateIv(); diff --git a/smack-openpgp/build.gradle b/smack-openpgp/build.gradle index cc15f9beb..35ef3eae9 100644 --- a/smack-openpgp/build.gradle +++ b/smack-openpgp/build.gradle @@ -12,7 +12,7 @@ dependencies { compile project(':smack-extensions') compile project(':smack-experimental') - compile 'org.pgpainless:pgpainless-core:0.0.1-alpha4' + compile 'org.pgpainless:pgpainless-core:0.0.1-alpha7' testCompile project(path: ":smack-core", configuration: "testRuntime") testCompile project(path: ":smack-core", configuration: "archives") diff --git a/smack-openpgp/src/main/java/org/jivesoftware/smackx/ox/crypto/PainlessOpenPgpProvider.java b/smack-openpgp/src/main/java/org/jivesoftware/smackx/ox/crypto/PainlessOpenPgpProvider.java index 08011b2f5..ec72bd8b5 100644 --- a/smack-openpgp/src/main/java/org/jivesoftware/smackx/ox/crypto/PainlessOpenPgpProvider.java +++ b/smack-openpgp/src/main/java/org/jivesoftware/smackx/ox/crypto/PainlessOpenPgpProvider.java @@ -19,7 +19,6 @@ package org.jivesoftware.smackx.ox.crypto; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; -import java.security.Security; import java.util.ArrayList; import java.util.Collection; import java.util.logging.Level; @@ -38,7 +37,6 @@ import org.jivesoftware.smackx.ox.element.SignElement; import org.jivesoftware.smackx.ox.element.SigncryptElement; import org.jivesoftware.smackx.ox.store.definition.OpenPgpStore; -import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.bouncycastle.openpgp.PGPException; import org.bouncycastle.openpgp.PGPPublicKey; import org.bouncycastle.openpgp.PGPPublicKeyRingCollection; @@ -53,13 +51,6 @@ public class PainlessOpenPgpProvider implements OpenPgpProvider { private static final Logger LOGGER = Logger.getLogger(PainlessOpenPgpProvider.class.getName()); - static { - // Remove any BC providers and add a fresh one. - // This is done, since older Android versions ship with a crippled BC provider. - Security.removeProvider(BouncyCastleProvider.PROVIDER_NAME); - Security.addProvider(new BouncyCastleProvider()); - } - private final XMPPConnection connection; private final OpenPgpStore store; diff --git a/smack-openpgp/src/main/java/org/jivesoftware/smackx/ox/util/OpenPgpInitializer.java b/smack-openpgp/src/main/java/org/jivesoftware/smackx/ox/util/OpenPgpInitializer.java index df90e6cdf..ce723a3a4 100644 --- a/smack-openpgp/src/main/java/org/jivesoftware/smackx/ox/util/OpenPgpInitializer.java +++ b/smack-openpgp/src/main/java/org/jivesoftware/smackx/ox/util/OpenPgpInitializer.java @@ -17,12 +17,21 @@ package org.jivesoftware.smackx.ox.util; import org.jivesoftware.smack.initializer.UrlInitializer; +import org.jivesoftware.smack.util.SecurityUtil; + +import org.bouncycastle.jce.provider.BouncyCastleProvider; /** * Initializer class which registers ExtensionElementProviders on startup. */ public class OpenPgpInitializer extends UrlInitializer { + static { + // Remove any BC providers and add a fresh one. + // This is done, since older Android versions ship with a crippled BC provider. + SecurityUtil.ensureProviderAtFirstPosition(BouncyCastleProvider.class); + } + @Override protected String getProvidersUri() { return "classpath:org.jivesoftware.smackx.ox/openpgp.providers"; diff --git a/smack-openpgp/src/test/java/org/jivesoftware/smackx/ox/OpenPgpStoreTest.java b/smack-openpgp/src/test/java/org/jivesoftware/smackx/ox/OpenPgpStoreTest.java index 6be88ac0f..ca11a53b4 100644 --- a/smack-openpgp/src/test/java/org/jivesoftware/smackx/ox/OpenPgpStoreTest.java +++ b/smack-openpgp/src/test/java/org/jivesoftware/smackx/ox/OpenPgpStoreTest.java @@ -28,7 +28,6 @@ import java.io.IOException; import java.security.InvalidAlgorithmParameterException; import java.security.NoSuchAlgorithmException; import java.security.NoSuchProviderException; -import java.security.Security; import java.util.Arrays; import java.util.Collection; import java.util.Collections; @@ -45,7 +44,6 @@ import org.jivesoftware.smackx.ox.store.definition.OpenPgpStore; import org.jivesoftware.smackx.ox.store.definition.OpenPgpTrustStore; import org.jivesoftware.smackx.ox.store.filebased.FileBasedOpenPgpStore; -import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.bouncycastle.openpgp.PGPException; import org.bouncycastle.openpgp.PGPPublicKeyRing; import org.bouncycastle.openpgp.PGPSecretKeyRing; @@ -81,7 +79,6 @@ public class OpenPgpStoreTest extends SmackTestSuite { static { storagePath = FileTestUtil.getTempDir("storeTest"); - Security.addProvider(new BouncyCastleProvider()); } @Parameterized.Parameters