diff --git a/documentation/extensions/consistent_colors.md b/documentation/extensions/consistent_colors.md new file mode 100644 index 000000000..ea59716b2 --- /dev/null +++ b/documentation/extensions/consistent_colors.md @@ -0,0 +1,37 @@ +Consistent Colors +================= + +[Back](index.md) + +Since XMPP can be used on multiple platforms at the same time, +it might be a good idea to render given Strings like nicknames in the same +color on all platforms to provide a consistent user experience. + +The utility class `ConsistentColor` allows the generation of colors to a given +string following the specification of [XEP-0392](https://xmpp.org/extensions/xep-0392.html). + +##Usage +To generate a consistent color for a given string, call +``` +float[] rgb = ConsistentColor.RGBFrom(input); +``` +The resulting float array contains values for RGB in the range of 0 to 1. + +##Color Deficiency Corrections +Some users might suffer from color vision deficiencies. To compensate those deficiencies, +the API allows for color correction. The color correction mode is a static value, which can be changed at any time. + +To correct colors for users with red-green color deficiency use the following code: +``` +ConsistentColor.activateRedGreenBlindnessCorrection(); +``` + +For color correction for users with blue-blindness, call +``` +ConsistentColor.activateBlueBlindnessCorrection(); +``` + +To deactivate color vision deficiency correction, call +``` +ConsistenColor.deactivateDeficiencyCorrection(); +``` \ No newline at end of file diff --git a/documentation/extensions/index.md b/documentation/extensions/index.md index 6b8fca9d9..4a40168e8 100644 --- a/documentation/extensions/index.md +++ b/documentation/extensions/index.md @@ -96,6 +96,7 @@ Experimental Smack Extensions and currently supported XEPs of smack-experimental | HTTP File Upload | [XEP-0363](http://xmpp.org/extensions/xep-0363.html) | Protocol to request permissions to upload a file to an HTTP server and get a shareable URL. | | [Multi-User Chat Light](muclight.md) | [XEP-xxxx](http://mongooseim.readthedocs.io/en/latest/open-extensions/xeps/xep-muc-light.html) | Multi-User Chats for mobile XMPP applications and specific enviroment. | | [OMEMO Multi End Message and Object Encryption](omemo.md) | [XEP-XXXX](https://conversations.im/omemo/xep-omemo.html) | Encrypt messages using OMEMO encryption (currently only with smack-omemo-signal -> GPLv3). | +| [Consistent Color Generation](consistent_colors.md) | [XEP-0392](http://xmpp.org/extensions/xep-0392.html) | Generate consistent colors for identifiers like usernames to provide a consistent user experience. | | Google GCM JSON payload | n/a | Semantically the same as XEP-0335: JSON Containers | diff --git a/documentation/processing.md b/documentation/processing.md index 5688590e1..d97f7f2e4 100644 --- a/documentation/processing.md +++ b/documentation/processing.md @@ -49,7 +49,7 @@ filters includes: * `StanzaIdFilter` -- filters for packets with a particular packet ID. * `ThreadFilter` -- filters for message packets with a particular thread ID. * `ToContainsFilter` -- filters for packets that are sent to a particular address. - * `FromContainsFilter` -- filters for packets that are sent to a particular address. + * `FromContainsFilter` -- filters for packets that are sent from a particular address. * `StanzaExtensionFilter` -- filters for packets that have a particular packet extension. * `AndFilter` -- implements the logical AND operation over two filters. * `OrFilter` -- implements the logical OR operation over two filters. diff --git a/smack-android-extensions/src/main/java/org/jivesoftware/smackx/ping/android/package-info.java b/smack-android-extensions/src/main/java/org/jivesoftware/smackx/ping/android/package-info.java index 9db7284cf..3bdff8b53 100644 --- a/smack-android-extensions/src/main/java/org/jivesoftware/smackx/ping/android/package-info.java +++ b/smack-android-extensions/src/main/java/org/jivesoftware/smackx/ping/android/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Android classes for XEP-0199: XMPP Ping. */ package org.jivesoftware.smackx.ping.android; diff --git a/smack-android/src/main/java/org/jivesoftware/smackx/debugger/android/package-info.java b/smack-android/src/main/java/org/jivesoftware/smackx/debugger/android/package-info.java index 8156cce8c..9b581a6ff 100644 --- a/smack-android/src/main/java/org/jivesoftware/smackx/debugger/android/package-info.java +++ b/smack-android/src/main/java/org/jivesoftware/smackx/debugger/android/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Android classes for debugging purposes. */ package org.jivesoftware.smackx.debugger.android; diff --git a/smack-android/src/main/java/org/jivesoftware/smackx/debugger/package-info.java b/smack-android/src/main/java/org/jivesoftware/smackx/debugger/package-info.java index fd29184c8..a6e02ba25 100644 --- a/smack-android/src/main/java/org/jivesoftware/smackx/debugger/package-info.java +++ b/smack-android/src/main/java/org/jivesoftware/smackx/debugger/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smack optional Debuggers. */ package org.jivesoftware.smackx.debugger; diff --git a/smack-core/src/main/java/org/jivesoftware/smack/compression/package-info.java b/smack-core/src/main/java/org/jivesoftware/smack/compression/package-info.java index d0332b1b8..cbfa6c101 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/compression/package-info.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/compression/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smack classes for compression. */ package org.jivesoftware.smack.compression; diff --git a/smack-core/src/main/java/org/jivesoftware/smack/provider/Provider.java b/smack-core/src/main/java/org/jivesoftware/smack/provider/Provider.java index 225ff3079..87250c50f 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/provider/Provider.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/provider/Provider.java @@ -1,6 +1,6 @@ /** * - * Copyright © 2014 Florian Schmaus + * Copyright © 2014-2018 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,17 @@ import org.jivesoftware.smack.util.ParserUtils; import org.xmlpull.v1.XmlPullParser; +/** + * Smack provider are the parsers used to deserialize raw XMPP into the according Java {@link Element}s. + *

+ * At any time when {@link #parse(XmlPullParser, int)} is invoked any type of exception can be thrown. If the parsed + * element does not follow the specification, for example by putting a string where only integers are allowed, then a + * {@link org.jivesoftware.smack.SmackException} should be thrown. + *

+ * + * @author Florian Schmaus + * @param the type of the resulting element. + */ public abstract class Provider { public final E parse(XmlPullParser parser) throws Exception { diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/carbons/package-info.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/carbons/package-info.java index 930fcda8f..581a4fa76 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/carbons/package-info.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/carbons/package-info.java @@ -16,6 +16,6 @@ */ /** - * Smack's API for XEP-280: Message Carbons. + * Smack's API for XEP-0280: Message Carbons. */ package org.jivesoftware.smackx.carbons; diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/carbons/packet/package-info.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/carbons/packet/package-info.java index f497b5d42..fbb8f6468 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/carbons/packet/package-info.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/carbons/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * Stanzas and extension elements for XEP-280: Message Carbons. + * Stanzas and extension elements for XEP-0280: Message Carbons. */ package org.jivesoftware.smackx.carbons.packet; diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/carbons/provider/package-info.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/carbons/provider/package-info.java index 3288764a8..608274230 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/carbons/provider/package-info.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/carbons/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * Provider for XEP-280: Message Carbons. + * Provider for XEP-0280: Message Carbons. */ package org.jivesoftware.smackx.carbons.provider; diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/colors/ConsistentColor.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/colors/ConsistentColor.java new file mode 100644 index 000000000..aec73b8d0 --- /dev/null +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/colors/ConsistentColor.java @@ -0,0 +1,218 @@ +/** + * + * Copyright © 2018 Paul Schaub + * + * 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.smackx.colors; + +import org.jivesoftware.smack.util.Objects; +import org.jivesoftware.smack.util.SHA1; + +public class ConsistentColor { + + private static final ConsistentColorSettings DEFAULT_SETTINGS = new ConsistentColorSettings(); + + // See XEP-0392 §13.1 Constants for YCbCr (BT.601) + private static final double KR = 0.299; + private static final double KG = 0.587; + private static final double KB = 0.114; + + // See XEP-0392 §5.4 CbCr to RGB + private static final double Y = 0.732; + + public enum Deficiency { + /** + * Do not apply measurements for color vision deficiency correction. + */ + none, + + /** + * Activate color correction for users suffering from red-green-blindness. + */ + redGreenBlindness, + + /** + * Activate color correction for users suffering from blue-blindness. + */ + blueBlindness + } + + /** + * Generate an angle in the CbCr plane from the input string. + * @see §5.1: Angle generation + * + * @param input input string + * @return output angle + */ + private static double createAngle(CharSequence input) { + byte[] h = SHA1.bytes(input.toString()); + double v = u(h[0]) + (256 * u(h[1])); + double d = v / 65536; + return d * 2 * Math.PI; + } + + /** + * Apply correction for color vision deficiencies to an angle in the CbCr plane. + * @see §5.2: Corrections for Color Vision Deficiencies + * + * @param angle angle in CbCr plane + * @param deficiency type of vision deficiency + * @return corrected angle in CbCr plane + */ + private static double applyColorDeficiencyCorrection(double angle, Deficiency deficiency) { + switch (deficiency) { + case none: + break; + case redGreenBlindness: + angle %= Math.PI; + break; + case blueBlindness: + angle -= Math.PI / 2; + angle %= Math.PI; + angle += Math.PI / 2; + break; + } + return angle; + } + + /** + * Convert an angle in the CbCr plane to values cb,cr in the YCbCr color space. + * @see §5.3: CbCr generation + * + * @param angle angel in CbCr plane. + * @return value pair cb,cr + */ + private static double[] angleToCbCr(double angle) { + double cb = Math.cos(angle); + double cr = Math.sin(angle); + + double acb = Math.abs(cb); + double acr = Math.abs(cr); + double factor; + if (acr > acb) { + factor = 0.5 / acr; + } else { + factor = 0.5 / acb; + } + + cb *= factor; + cr *= factor; + + return new double[] {cb, cr}; + } + + /** + * Convert a value pair cb,cr in the YCbCr color space to RGB. + * @see §5.4: CbCr to RGB + * + * @param cbcr value pair from the YCbCr color space + * @return RGB value triple (R,G,B in [0,1]) + */ + private static float[] CbCrToRGB(double[] cbcr, double y) { + double cb = cbcr[0]; + double cr = cbcr[1]; + + double r = 2 * (1 - KR) * cr + y; + double b = 2 * (1 - KB) * cb + y; + double g = (y - KR * r - KB * b) / KG; + + // Clip values to [0,1] + r = clip(r); + g = clip(g); + b = clip(b); + + return new float[] {(float) r, (float) g, (float) b}; + } + + /** + * Clip values to stay in range(0,1). + * + * @param value input + * @return input clipped to stay in boundaries from 0 to 1. + */ + private static double clip(double value) { + double out = value; + + if (value < 0) { + out = 0; + } + + if (value > 1) { + out = 1; + } + + return out; + } + + /** + * Treat a signed java byte as unsigned to get its numerical value. + * + * @param b signed java byte + * @return integer value of its unsigned representation + */ + private static int u(byte b) { + // Get unsigned value of signed byte as an integer. + return b & 0xFF; + } + + /** + * Return the consistent RGB color value of the input. + * This method uses the default {@link ConsistentColorSettings}. + * + * @param input input string (for example username) + * @return consistent color of that username as RGB values in range [0,1]. + * @see #RGBFrom(CharSequence, ConsistentColorSettings) + */ + public static float[] RGBFrom(CharSequence input) { + return RGBFrom(input, DEFAULT_SETTINGS); + } + + /** + * Return the consistent RGB color value for the input. + * This method respects the color vision deficiency mode set by the user. + * + * @param input input string (for example username) + * @param settings the settings for consistent color creation. + * @return consistent color of that username as RGB values in range [0,1]. + */ + public static float[] RGBFrom(CharSequence input, ConsistentColorSettings settings) { + double angle = createAngle(input); + double correctedAngle = applyColorDeficiencyCorrection(angle, settings.getDeficiency()); + double[] CbCr = angleToCbCr(correctedAngle); + float[] rgb = CbCrToRGB(CbCr, Y); + return rgb; + } + + public static class ConsistentColorSettings { + + private final Deficiency deficiency; + + public ConsistentColorSettings() { + this(Deficiency.none); + } + + public ConsistentColorSettings(Deficiency deficiency) { + this.deficiency = Objects.requireNonNull(deficiency, "Deficiency must be given"); + } + + /** + * Return the deficiency setting. + * + * @return deficiency setting. + */ + public Deficiency getDeficiency() { + return deficiency; + } + } +} diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/colors/package-info.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/colors/package-info.java new file mode 100644 index 000000000..62a57ce2c --- /dev/null +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/colors/package-info.java @@ -0,0 +1,21 @@ +/** + * + * Copyright © 2018 Paul Schaub + * + * 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. + */ + +/** + * Smack's API for XEP-0392: Consistent Color Generation. + */ +package org.jivesoftware.smackx.colors; diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/csi/package-info.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/csi/package-info.java index 067263ee5..afd90ab81 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/csi/package-info.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/csi/package-info.java @@ -16,6 +16,6 @@ */ /** - * Smack's API for XEP-352: Client State Indication. + * Smack's API for XEP-0352: Client State Indication. */ package org.jivesoftware.smackx.csi; diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/csi/packet/package-info.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/csi/packet/package-info.java index 934a86845..18f7c6bb9 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/csi/packet/package-info.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/csi/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * Plain stream elements for XEP-352: Client State Indication. + * Plain stream elements for XEP-0352: Client State Indication. */ package org.jivesoftware.smackx.csi.packet; diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/csi/provider/package-info.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/csi/provider/package-info.java index 52dee86be..ed119a840 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/csi/provider/package-info.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/csi/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * Provider for XEP-352: Client State Indication. + * Provider for XEP-0352: Client State Indication. */ package org.jivesoftware.smackx.csi.provider; diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/hoxt/package-info.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/hoxt/package-info.java index cda888049..1f5940a4d 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/hoxt/package-info.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/hoxt/package-info.java @@ -16,6 +16,6 @@ */ /** - * Smack's API for XEP-332: HTTP over XMPP transport. + * Smack's API for XEP-0332: HTTP over XMPP transport. */ package org.jivesoftware.smackx.hoxt; diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/hoxt/packet/package-info.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/hoxt/packet/package-info.java index 10cd303b3..13d242dd0 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/hoxt/packet/package-info.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/hoxt/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * Stanzas and extension elements for XEP-332: HTTP over XMPP transport. + * Stanzas and extension elements for XEP-0332: HTTP over XMPP transport. */ package org.jivesoftware.smackx.hoxt.packet; diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/hoxt/provider/package-info.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/hoxt/provider/package-info.java index 91495b763..38572ad4e 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/hoxt/provider/package-info.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/hoxt/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * Providers for XEP-332: HTTP over XMPP transport. + * Providers for XEP-0332: HTTP over XMPP transport. */ package org.jivesoftware.smackx.hoxt.provider; diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/json/packet/package-info.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/json/packet/package-info.java index 7833b2139..e9e1e9f5a 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/json/packet/package-info.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/json/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * Extension elements for XEP-295: JSON Encodings for XMPP. + * Extension elements for XEP-0295: JSON Encodings for XMPP. */ package org.jivesoftware.smackx.json.packet; diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/json/provider/package-info.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/json/provider/package-info.java index e6189937d..5e5257e80 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/json/provider/package-info.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/json/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * Providers for XEP-295: JSON Encodings for XMPP. + * Providers for XEP-0295: JSON Encodings for XMPP. */ package org.jivesoftware.smackx.json.provider; diff --git a/smack-experimental/src/test/java/org/jivesoftware/smackx/colors/ConsistentColorsTest.java b/smack-experimental/src/test/java/org/jivesoftware/smackx/colors/ConsistentColorsTest.java new file mode 100644 index 000000000..debdfa0e7 --- /dev/null +++ b/smack-experimental/src/test/java/org/jivesoftware/smackx/colors/ConsistentColorsTest.java @@ -0,0 +1,152 @@ +/** + * + * Copyright © 2018 Paul Schaub + * + * 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.smackx.colors; + +import static junit.framework.TestCase.assertEquals; +import static junit.framework.TestCase.assertTrue; + +import org.jivesoftware.smack.test.util.SmackTestSuite; + +import org.jivesoftware.smackx.colors.ConsistentColor.Deficiency; + +import org.junit.Test; + +public class ConsistentColorsTest extends SmackTestSuite { + + // Margin of error we allow due to floating point arithmetic + private static final float EPS = 0.001f; + + private static final ConsistentColor.ConsistentColorSettings noDeficiency = new ConsistentColor.ConsistentColorSettings(Deficiency.none); + private static final ConsistentColor.ConsistentColorSettings redGreenDeficiency = new ConsistentColor.ConsistentColorSettings(Deficiency.redGreenBlindness); + private static final ConsistentColor.ConsistentColorSettings blueBlindnessDeficiency = new ConsistentColor.ConsistentColorSettings(Deficiency.blueBlindness); + + /* + Below tests check the test vectors from XEP-0392 §13.2. + */ + + @Test + public void romeoNoDeficiencyTest() { + String value = "Romeo"; + float[] expected = new float[] {0.281f, 0.790f, 1.000f}; + float[] actual = ConsistentColor.RGBFrom(value, noDeficiency); + assertRGBEquals(expected, actual, EPS); + } + + @Test + public void romeoRedGreenBlindnessTest() { + String value = "Romeo"; + float[] expected = new float[] {1.000f, 0.674f, 0.000f}; + float[] actual = ConsistentColor.RGBFrom(value, redGreenDeficiency); + assertRGBEquals(expected, actual, EPS); + } + + @Test + public void romeoBlueBlindnessTest() { + String value = "Romeo"; + float[] expected = new float[] {1.000f, 0.674f, 0.000f}; + float[] actual = ConsistentColor.RGBFrom(value, blueBlindnessDeficiency); + assertRGBEquals(expected, actual, EPS); + } + + @Test + public void julietNoDeficiencyTest() { + String value = "juliet@capulet.lit"; + float[] expected = new float[] {0.337f, 1.000f, 0.000f}; + float[] actual = ConsistentColor.RGBFrom(value, noDeficiency); + assertRGBEquals(expected, actual, EPS); + } + + @Test + public void julietRedGreenBlindnessTest() { + String value = "juliet@capulet.lit"; + float[] expected = new float[] {1.000f, 0.359f, 1.000f}; + float[] actual = ConsistentColor.RGBFrom(value, redGreenDeficiency); + assertRGBEquals(expected, actual, EPS); + } + + @Test + public void julietBlueBlindnessTest() { + String value = "juliet@capulet.lit"; + float[] expected = new float[] {0.337f, 1.000f, 0.000f}; + float[] actual = ConsistentColor.RGBFrom(value, blueBlindnessDeficiency); + assertRGBEquals(expected, actual, EPS); + } + + @Test + public void emojiNoDeficiencyTest() { + String value = "\uD83D\uDE3A"; + float[] expected = new float[] {0.347f, 0.756f, 1.000f}; + float[] actual = ConsistentColor.RGBFrom(value, noDeficiency); + assertRGBEquals(expected, actual, EPS); + } + + @Test + public void emojiRedGreenBlindnessTest() { + String value = "\uD83D\uDE3A"; + float[] expected = new float[] {1.000f, 0.708f, 0.000f}; + float[] actual = ConsistentColor.RGBFrom(value, redGreenDeficiency); + assertRGBEquals(expected, actual, EPS); + } + + @Test + public void emojiBlueBlindnessTest() { + String value = "\uD83D\uDE3A"; + float[] expected = new float[] {1.000f, 0.708f, 0.000f}; + float[] actual = ConsistentColor.RGBFrom(value, blueBlindnessDeficiency); + assertRGBEquals(expected, actual, EPS); + } + + @Test + public void councilNoDeficiencyTest() { + String value = "council"; + float[] expected = new float[] {0.732f, 0.560f, 1.000f}; + float[] actual = ConsistentColor.RGBFrom(value, noDeficiency); + assertRGBEquals(expected, actual, EPS); + } + + @Test + public void councilRedGreenBlindnessTest() { + String value = "council"; + float[] expected = new float[] {0.732f, 0.904f, 0.000f}; + float[] actual = ConsistentColor.RGBFrom(value, redGreenDeficiency); + assertRGBEquals(expected, actual, EPS); + } + + @Test + public void councilBlueBlindnessTest() { + String value = "council"; + float[] expected = new float[] {0.732f, 0.904f, 0.000f}; + float[] actual = ConsistentColor.RGBFrom(value, blueBlindnessDeficiency); + assertRGBEquals(expected, actual, EPS); + } + + /** + * Check, whether the values of two float arrays of size 3 are pairwise equal with an allowed error of eps. + * + * @param expected expected values + * @param actual actual values + * @param eps allowed error + */ + private static void assertRGBEquals(float[] expected, float[] actual, float eps) { + assertEquals(3, expected.length); + assertEquals(3, actual.length); + + for (int i = 0; i < actual.length; i++) { + assertTrue(Math.abs(expected[i] - actual[i]) < eps); + } + } +} diff --git a/smack-extensions/src/main/java/org/jivesoftware/smack/extensions/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smack/extensions/package-info.java index 1237c97e3..50d555d43 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smack/extensions/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smack/extensions/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks initializer for extensions. */ package org.jivesoftware.smack.extensions; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/address/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/address/package-info.java index f9c0b1e56..2a1318ff5 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/address/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/address/package-info.java @@ -16,6 +16,6 @@ */ /** - * Smack's API for XEP-33: Extended Stanza Addressing. + * Smack's API for XEP-0033: Extended Stanza Addressing. */ package org.jivesoftware.smackx.address; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/address/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/address/packet/package-info.java index f90f49356..c1c61f32a 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/address/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/address/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * Stanzas and extension elements for XEP-33: Extended Stanzas Addressing. + * Stanzas and extension elements for XEP-0033: Extended Stanzas Addressing. */ package org.jivesoftware.smackx.address.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/address/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/address/provider/package-info.java index 70a2e9f1d..8b461f973 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/address/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/address/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * Providers for XEP-33: Extended Stanza Addressing. + * Providers for XEP-0033: Extended Stanza Addressing. */ package org.jivesoftware.smackx.address.provider; 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 e133bc805..ebc17dd29 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 @@ -85,7 +85,7 @@ public class ServiceAdministrationManager extends Manager { FormField passwordVerifyField = answerForm.getField("password-verify"); passwordVerifyField.addValue(password); - command.next(answerForm); + command.execute(answerForm); assert (command.isCompleted()); } @@ -113,7 +113,7 @@ public class ServiceAdministrationManager extends Manager { FormField accountJids = answerForm.getField("accountjids"); accountJids.addValues(JidUtil.toStringList(jidsToDelete)); - command.next(answerForm); + command.execute(answerForm); assert (command.isCompleted()); } } diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/amp/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/amp/package-info.java index c48fe252f..eeece3621 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/amp/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/amp/package-info.java @@ -16,6 +16,6 @@ */ /** - * Smack's API for XEP-79: Advanced Message Processing. + * Smack's API for XEP-0079: Advanced Message Processing. */ package org.jivesoftware.smackx.amp; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/amp/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/amp/packet/package-info.java index 9ce68f0f7..c4d3b88f2 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/amp/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/amp/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * Stanzas and extension elements for XEP-79: Advanced Message Processing. + * Stanzas and extension elements for XEP-0079: Advanced Message Processing. */ package org.jivesoftware.smackx.amp.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/amp/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/amp/provider/package-info.java index 733ab2922..6725d155a 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/amp/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/amp/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * Providers for XEP-79: Advanced Message Processing. + * Providers for XEP-0079: Advanced Message Processing. */ package org.jivesoftware.smackx.amp.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/attention/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/attention/package-info.java index 8c4795415..4457bb922 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/attention/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/attention/package-info.java @@ -16,6 +16,6 @@ */ /** - * Smack's API for XEP-224: Attention. + * Smack's API for XEP-0224: Attention. */ package org.jivesoftware.smackx.attention; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/attention/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/attention/packet/package-info.java index 61ab8fbc0..b015b31a0 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/attention/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/attention/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * Stanzas and extension elements for XEP-224: Attention. + * Stanzas and extension elements for XEP-0224: Attention. */ package org.jivesoftware.smackx.attention.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/bob/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/bob/package-info.java index 1e03acf76..08a072b5c 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/bob/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/bob/package-info.java @@ -15,7 +15,7 @@ * limitations under the License. */ /** - * Classes and interfaces of Bits of Binary. + * Classes and interfaces of XEP-0231: Bits of Binary. * * @author Fernando Ramirez * @see XEP-0231: Bits of diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/bookmarks/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/bookmarks/package-info.java index ca0170f0b..2498e4279 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/bookmarks/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/bookmarks/package-info.java @@ -16,6 +16,6 @@ */ /** - * Smack's API for XEP-48: Bookmarks. + * Smack's API for XEP-0048: Bookmarks. */ package org.jivesoftware.smackx.bookmarks; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/ibb/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/ibb/package-info.java index 76c811e14..1a9b1c1d8 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/ibb/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/ibb/package-info.java @@ -16,6 +16,6 @@ */ /** - * Smack's API for XEP-47: In-Band Bytestreams. + * Smack's API for XEP-0047: In-Band Bytestreams. */ package org.jivesoftware.smackx.bytestreams.ibb; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/ibb/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/ibb/packet/package-info.java index 66e14aa6c..16ad5c337 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/ibb/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/ibb/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * Stanzas and extension elements for XEP-47: In-Band Bytestreams. + * Stanzas and extension elements for XEP-0047: In-Band Bytestreams. */ package org.jivesoftware.smackx.bytestreams.ibb.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/ibb/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/ibb/provider/package-info.java index 60a5e57ec..5c529ec9e 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/ibb/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/ibb/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * Providers for XEP-47: In-Band Bytestreams. + * Providers for XEP-0047: In-Band Bytestreams. */ package org.jivesoftware.smackx.bytestreams.ibb.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/package-info.java index 2bb04769d..e379dd48e 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/package-info.java @@ -16,6 +16,6 @@ */ /** - * Smack's API for XEP-65: SOCKS5 Bytestreams. + * Smack's API for XEP-0065: SOCKS5 Bytestreams, as well as XEP-0047: In-Band Bytestreams. */ package org.jivesoftware.smackx.bytestreams; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/socks5/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/socks5/package-info.java index 0a41e6bb6..718872aff 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/socks5/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/socks5/package-info.java @@ -16,6 +16,6 @@ */ /** - * Smack's API for XEP-65: SOCKS5 Bytestreams. + * Smack's API for XEP-0065: SOCKS5 Bytestreams. */ package org.jivesoftware.smackx.bytestreams.socks5; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/socks5/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/socks5/packet/package-info.java index 8484383b4..beb41ce9e 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/socks5/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/socks5/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * Stanzas and extension elements for XEP-65: SOCKS5 Bytestreams. + * Stanzas and extension elements for XEP-0065: SOCKS5 Bytestreams. */ package org.jivesoftware.smackx.bytestreams.socks5.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/socks5/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/socks5/provider/package-info.java index 17e7cbdb0..783ac6ae1 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/socks5/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/socks5/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * Providers for XEP-65: SOCKS5 Bytestreams. + * Providers for XEP-0065: SOCKS5 Bytestreams. */ package org.jivesoftware.smackx.bytestreams.socks5.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/caps/cache/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/caps/cache/package-info.java index 38e375ca8..972a9f6cc 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/caps/cache/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/caps/cache/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Cache classes for XEP-0115: Entity Capabilities. */ package org.jivesoftware.smackx.caps.cache; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/caps/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/caps/package-info.java index 4524ad5e9..1c6e66aea 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/caps/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/caps/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks implementation of XEP-0115: Entity Capabilities. */ package org.jivesoftware.smackx.caps; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/caps/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/caps/packet/package-info.java index 0f7dd1f6d..5e958174d 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/caps/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/caps/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes for XEP-0115: Entity Capabilities. */ package org.jivesoftware.smackx.caps.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/caps/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/caps/provider/package-info.java index bfbf35337..e0d962818 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/caps/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/caps/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Provider classes for XEP-0115: Entity Capabilities. */ package org.jivesoftware.smackx.caps.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/chatstates/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/chatstates/package-info.java index 5b2d476aa..049af49ff 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/chatstates/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/chatstates/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks implementation of XEP-0085: Chat State Notifications. */ package org.jivesoftware.smackx.chatstates; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/chatstates/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/chatstates/packet/package-info.java index 739ce9029..c72b9363c 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/chatstates/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/chatstates/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes for XEP-0085: Chat State Notifications. */ package org.jivesoftware.smackx.chatstates.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/chatstates/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/chatstates/provider/package-info.java index 81c818453..b4e68bf6c 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/chatstates/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/chatstates/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * Provider classes for Chat State Notifications (XEP-0085). + * Provider classes for XEP-0085: Chat State Notifications. */ package org.jivesoftware.smackx.chatstates.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/commands/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/commands/package-info.java index 51307e3b2..75e6bd7d3 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/commands/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/commands/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks implementation of XEP-0050: Ad-Hoc Commands. */ package org.jivesoftware.smackx.commands; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/commands/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/commands/packet/package-info.java index e031f651c..db1aa9ab1 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/commands/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/commands/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes for XEP-0050: Ad-Hoc Commands. */ package org.jivesoftware.smackx.commands.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/commands/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/commands/provider/package-info.java index a3bc6c4aa..1ee46e325 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/commands/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/commands/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Provider classes for XEP-0050: Ad-Hoc Commands. */ package org.jivesoftware.smackx.commands.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/delay/filter/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/delay/filter/package-info.java index f9db39ee1..65844c224 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/delay/filter/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/delay/filter/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * StanzaFilter classes for XEP-0203: Delayed Delivery, as well as XEP-0091: Legacy Delayed Delivery. */ package org.jivesoftware.smackx.delay.filter; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/delay/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/delay/package-info.java index 4630ba37b..f74397b88 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/delay/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/delay/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks implementation of XEP-0203: Delayed Delivery, as well as XEP-0091: Legacy Delayed Delivery. */ package org.jivesoftware.smackx.delay; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/delay/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/delay/packet/package-info.java index 4249162b2..8b5282c8a 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/delay/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/delay/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes for XEP-0203: Delayed Delivery, as well as XEP-0091: Legacy Delayed Delivery. */ package org.jivesoftware.smackx.delay.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/delay/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/delay/provider/package-info.java index d1e399543..49a194ffa 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/delay/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/delay/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Provider classes for XEP-0203: Delayed Delivery, as well as XEP-0091: Legacy Delayed Delivery. */ package org.jivesoftware.smackx.delay.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/disco/ServiceDiscoveryManager.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/disco/ServiceDiscoveryManager.java index 0b861eaf1..e4dc18f3c 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/disco/ServiceDiscoveryManager.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/disco/ServiceDiscoveryManager.java @@ -1,6 +1,6 @@ /** * - * Copyright 2003-2007 Jive Software. + * Copyright 2003-2007 Jive Software, 2018 Florian Schmaus. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -43,6 +43,7 @@ import org.jivesoftware.smack.packet.IQ; import org.jivesoftware.smack.packet.Stanza; import org.jivesoftware.smack.packet.XMPPError; import org.jivesoftware.smack.util.Objects; +import org.jivesoftware.smack.util.StringUtils; import org.jivesoftware.smackx.caps.EntityCapsManager; import org.jivesoftware.smackx.disco.packet.DiscoverInfo; @@ -66,6 +67,7 @@ import org.jxmpp.util.cache.ExpirationCache; * * * @author Gaston Dombiak + * @author Florian Schmaus */ public final class ServiceDiscoveryManager extends Manager { @@ -875,20 +877,26 @@ public final class ServiceDiscoveryManager extends Manager { public DomainBareJid findService(String feature, boolean useCache, String category, String type) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { - List services = findServicesDiscoverInfo(feature, true, useCache); + boolean noCategory = StringUtils.isNullOrEmpty(category); + boolean noType = StringUtils.isNullOrEmpty(type); + if (noType != noCategory) { + throw new IllegalArgumentException("Must specify either both, category and type, or none"); + } + + List services = findServicesDiscoverInfo(feature, false, useCache); if (services.isEmpty()) { return null; } - DiscoverInfo info = services.get(0); - if (category != null && type != null) { - if (!info.hasIdentity(category, type)) { - return null; + + if (!noCategory && !noType) { + for (DiscoverInfo info : services) { + if (info.hasIdentity(category, type)) { + return info.getFrom().asDomainBareJid(); + } } } - else if (category != null || type != null) { - throw new IllegalArgumentException("Must specify either both, category and type, or none"); - } - return info.getFrom().asDomainBareJid(); + + return services.get(0).getFrom().asDomainBareJid(); } public DomainBareJid findService(String feature, boolean useCache) throws NoResponseException, diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/disco/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/disco/package-info.java index 0aa4cee77..00bf2ec0a 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/disco/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/disco/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks implementation of XEP-0030: Service Discovery. */ package org.jivesoftware.smackx.disco; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/disco/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/disco/packet/package-info.java index 960f07e18..b175ae463 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/disco/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/disco/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes for XEP-0030: Service Discovery. */ package org.jivesoftware.smackx.disco.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/disco/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/disco/provider/package-info.java index e4b88df25..c2ac1ff48 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/disco/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/disco/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Provider classes for XEP-0030: Service Discovery. */ package org.jivesoftware.smackx.disco.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/filetransfer/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/filetransfer/package-info.java index 8d52af604..b31a88347 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/filetransfer/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/filetransfer/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * File Transfers via XEP-0095: Stream Initialization. */ package org.jivesoftware.smackx.filetransfer; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/forward/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/forward/package-info.java index ef2295172..06aeb9c0a 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/forward/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/forward/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks implementation of XEP-0297: Stanza Forwarding. */ package org.jivesoftware.smackx.forward; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/forward/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/forward/packet/package-info.java index 9a2b14fef..a4675fc67 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/forward/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/forward/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes for XEP-0297: Stanza Forwarding. */ package org.jivesoftware.smackx.forward.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/forward/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/forward/provider/package-info.java index dec015fdb..f00bb93f6 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/forward/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/forward/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Provider classes for XEP-0297: Stanza Forwarding. */ package org.jivesoftware.smackx.forward.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/geoloc/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/geoloc/package-info.java index 9ad53c2c3..6f37dbec0 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/geoloc/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/geoloc/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks implementation of XEP-0080: User Location. */ package org.jivesoftware.smackx.geoloc; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/geoloc/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/geoloc/packet/package-info.java index c86f84faa..f7edcecae 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/geoloc/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/geoloc/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes for XEP-0080: User Location. */ package org.jivesoftware.smackx.geoloc.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/geoloc/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/geoloc/provider/package-info.java index ac07726df..9b84d1e3d 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/geoloc/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/geoloc/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Provider classes for XEP-0080: User Location. */ package org.jivesoftware.smackx.geoloc.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/iqlast/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/iqlast/package-info.java index 4e4499bcc..51beec6b3 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/iqlast/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/iqlast/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks implementation of XEP-0012: Last Activity. */ package org.jivesoftware.smackx.iqlast; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/iqlast/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/iqlast/packet/package-info.java index f0f136a3c..a8c93b62a 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/iqlast/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/iqlast/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes for XEP-0012: Last Activity. */ package org.jivesoftware.smackx.iqlast.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/iqprivate/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/iqprivate/package-info.java index 436b03162..58227edac 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/iqprivate/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/iqprivate/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks implementation of XEP-0049: Private XML Storage. */ package org.jivesoftware.smackx.iqprivate; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/iqprivate/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/iqprivate/packet/package-info.java index 529549b6a..17a1c0b2f 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/iqprivate/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/iqprivate/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes for XEP-0049: Private XML Storage. */ package org.jivesoftware.smackx.iqprivate.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/iqprivate/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/iqprivate/provider/package-info.java index e9346f4ca..6b6b46abb 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/iqprivate/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/iqprivate/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Provider classes for XEP-0049: Private XML Storage. */ package org.jivesoftware.smackx.iqprivate.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/iqregister/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/iqregister/package-info.java index 923a098e1..080c03c9f 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/iqregister/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/iqregister/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks implementation of XEP-0077: In-Band Registration. */ package org.jivesoftware.smackx.iqregister; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/iqregister/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/iqregister/packet/package-info.java index 25e189216..2492c2c50 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/iqregister/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/iqregister/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes for XEP-0077: In-Band Registration. */ package org.jivesoftware.smackx.iqregister.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/iqregister/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/iqregister/provider/package-info.java index 0688eaefd..b03fd6a52 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/iqregister/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/iqregister/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Provider classes for XEP-0077: In-Band Registration. */ package org.jivesoftware.smackx.iqregister.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/iqversion/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/iqversion/package-info.java index a864122f0..03f33d1fd 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/iqversion/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/iqversion/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks implementation of XEP-0092: Software Version. */ package org.jivesoftware.smackx.iqversion; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/iqversion/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/iqversion/packet/package-info.java index c96b9c7fa..4a82db59f 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/iqversion/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/iqversion/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes for XEP-0092: Software Version. */ package org.jivesoftware.smackx.iqversion.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/iqversion/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/iqversion/provider/package-info.java index c3f6020ec..ffebf0e1b 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/iqversion/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/iqversion/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Provider classes for XEP-0092: Software Version. */ package org.jivesoftware.smackx.iqversion.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/jiveproperties/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/jiveproperties/package-info.java index 2887946aa..50cc7a927 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/jiveproperties/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/jiveproperties/package-info.java @@ -16,6 +16,7 @@ */ /** - * TODO describe me. + * Smacks implementation for attaching arbitrary properties to packets according to + * https://docs.jivesoftware.com/smack/latest/documentation/properties.html. */ package org.jivesoftware.smackx.jiveproperties; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/jiveproperties/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/jiveproperties/packet/package-info.java index c0779f31d..144997cd1 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/jiveproperties/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/jiveproperties/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes. */ package org.jivesoftware.smackx.jiveproperties.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/jiveproperties/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/jiveproperties/provider/package-info.java index e5e98261a..3a96deecd 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/jiveproperties/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/jiveproperties/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Provider classes. */ package org.jivesoftware.smackx.jiveproperties.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/message_correct/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/message_correct/provider/package-info.java index 225a76d12..6d32305ab 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/message_correct/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/message_correct/provider/package-info.java @@ -14,4 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +/** + * XMPP stream element providers for Last Message Correction as defined in XEP-0308. + */ package org.jivesoftware.smackx.message_correct.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/package-info.java index d7218640e..9861e03c4 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/package-info.java @@ -16,6 +16,6 @@ */ /** - * Classes and Interfaces that implement Multi-User Chat (MUC) as defined in XEP-45. + * Classes and Interfaces that implement Multi-User Chat (MUC) as defined in XEP-0045. */ package org.jivesoftware.smackx.muc; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/packet/package-info.java index 91b470c5f..d64426712 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes for XEP-0045: Multi-User Chat. */ package org.jivesoftware.smackx.muc.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/provider/package-info.java index 1a55577a9..933224c3f 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Provider classes for XEP-0045: Multi-User Chat. */ package org.jivesoftware.smackx.muc.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/nick/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/nick/package-info.java index 4612a7f8b..1bff3a2dc 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/nick/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/nick/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks implementation of XEP-0172: User Nickname. */ package org.jivesoftware.smackx.nick; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/nick/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/nick/packet/package-info.java index 9cbb6dd68..20086fdde 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/nick/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/nick/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes for XEP-0172: User Nickname. */ package org.jivesoftware.smackx.nick.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/offline/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/offline/package-info.java index 96bf174a6..96f3a883a 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/offline/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/offline/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks implementation of XEP-0013: Flexible Offline Message Retrieval. */ package org.jivesoftware.smackx.offline; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/offline/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/offline/packet/package-info.java index bf5b5aa78..07a337109 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/offline/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/offline/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes for XEP-0013: Flexible Offline Message Retrieval. */ package org.jivesoftware.smackx.offline.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/package-info.java index 01e4ee051..b7b3f868f 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Integration tests. */ package org.jivesoftware.smackx; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/pep/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/pep/package-info.java index 97c8ed74d..8b5a66864 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/pep/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/pep/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks implementation XEP-0163: Personal Eventing Protocol. */ package org.jivesoftware.smackx.pep; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/ping/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/ping/package-info.java index 92e6a80e4..49e29068b 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/ping/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/ping/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks implementation of XEP-0199: XMPP Ping. */ package org.jivesoftware.smackx.ping; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/ping/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/ping/packet/package-info.java index 02d1e5a26..910b79c09 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/ping/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/ping/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes for XEP-0199: XMPP Ping. */ package org.jivesoftware.smackx.ping.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/ping/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/ping/provider/package-info.java index 32502d020..7a394eb1c 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/ping/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/ping/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Provider classes for XEP-0199: XMPP Ping. */ package org.jivesoftware.smackx.ping.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/privacy/filter/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/privacy/filter/package-info.java index c0686af98..146123bd4 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/privacy/filter/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/privacy/filter/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Filters for XEP-0016: Privacy Lists. */ package org.jivesoftware.smackx.privacy.filter; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/privacy/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/privacy/package-info.java index 4f6fb475f..5e55cb94c 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/privacy/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/privacy/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks implementation of XEP-0016: Privacy Lists. */ package org.jivesoftware.smackx.privacy; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/privacy/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/privacy/packet/package-info.java index 6b5b44948..95a125821 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/privacy/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/privacy/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes for XEP-0016: Privacy Lists. */ package org.jivesoftware.smackx.privacy.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/privacy/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/privacy/provider/package-info.java index 00845b8f1..3a61a02ef 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/privacy/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/privacy/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Provider classes for XEP-0016: Privacy Lists. */ package org.jivesoftware.smackx.privacy.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/package-info.java index ae9bd4777..18f3ea8c5 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/package-info.java @@ -16,6 +16,6 @@ */ /** - * Smack's API for XEP-60: Publish-Subscribe. + * Smack's API for XEP-0060: Publish-Subscribe. */ package org.jivesoftware.smackx.pubsub; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/receipts/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/receipts/package-info.java index 0dbb81966..c6c72660d 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/receipts/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/receipts/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * XEP-0184: Message Delivery Receipts. */ package org.jivesoftware.smackx.receipts; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/rsm/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/rsm/package-info.java index a1cf9a464..053f0cb08 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/rsm/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/rsm/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * XEP-0059: Result Set Management. */ package org.jivesoftware.smackx.rsm; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/rsm/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/rsm/packet/package-info.java index 1d40ab28e..31d5e9873 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/rsm/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/rsm/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes of XEP-0059: Result Set Management. */ package org.jivesoftware.smackx.rsm.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/rsm/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/rsm/provider/package-info.java index 1544de9a5..353b2d03d 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/rsm/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/rsm/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Providers for XEP-0059: Result Set Management. */ package org.jivesoftware.smackx.rsm.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/search/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/search/package-info.java index 042c2ec6c..085c54be4 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/search/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/search/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks implementation of XEP-0055: Jabber Search. */ package org.jivesoftware.smackx.search; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/sharedgroups/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/sharedgroups/package-info.java index ea042fe6e..d45f14dcb 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/sharedgroups/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/sharedgroups/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Implementation of shared groups. Will only work with Wildfire! */ package org.jivesoftware.smackx.sharedgroups; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/sharedgroups/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/sharedgroups/packet/package-info.java index ed413c396..2c0c34008 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/sharedgroups/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/sharedgroups/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes of shared groups. */ package org.jivesoftware.smackx.sharedgroups.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/shim/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/shim/package-info.java index 43c2e352d..fb6c462c4 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/shim/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/shim/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks implementation of XEP-0131: Stanza Headers and Internet Metadata. */ package org.jivesoftware.smackx.shim; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/shim/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/shim/packet/package-info.java index aab9002d4..2eaa8723f 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/shim/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/shim/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes for XEP-0131: Stanza Headers and Internet Metadata. */ package org.jivesoftware.smackx.shim.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/shim/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/shim/provider/package-info.java index dbf303457..30de36bb5 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/shim/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/shim/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Provider classes of XEP-0131: Stanza Headers and Internet Metadata. */ package org.jivesoftware.smackx.shim.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/si/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/si/package-info.java index 188747f7a..6853b4509 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/si/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/si/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks implementation of XEP-0095: Stream Initiation. */ package org.jivesoftware.smackx.si; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/si/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/si/packet/package-info.java index 1999006c6..da6d40610 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/si/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/si/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes for XEP-0095: Stream Initiation. */ package org.jivesoftware.smackx.si.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/si/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/si/provider/package-info.java index afd8a34dd..b4fc1b917 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/si/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/si/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Provider classes for XEP-0095: Stream Initiation. */ package org.jivesoftware.smackx.si.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/time/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/time/package-info.java index adbd1a9ef..a58ba8b5c 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/time/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/time/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks implementation of XEP-0202: Entity Time. */ package org.jivesoftware.smackx.time; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/time/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/time/packet/package-info.java index 388a72643..aea56184a 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/time/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/time/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes of XEP-0202: Entity Time. */ package org.jivesoftware.smackx.time.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/time/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/time/provider/package-info.java index 1e1d03665..0bb4a3850 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/time/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/time/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Provider classes of XEP-0202: Entity Time. */ package org.jivesoftware.smackx.time.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/vcardtemp/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/vcardtemp/package-info.java index 9715b1268..6e86ce57b 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/vcardtemp/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/vcardtemp/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks implementation of XEP-0054: vcard-temp. */ package org.jivesoftware.smackx.vcardtemp; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/vcardtemp/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/vcardtemp/packet/package-info.java index 8ddf6c0a3..8ccd2494a 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/vcardtemp/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/vcardtemp/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes for XEP-0054: vcard-temp. */ package org.jivesoftware.smackx.vcardtemp.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/vcardtemp/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/vcardtemp/provider/package-info.java index 2db3900e9..e8f4f8415 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/vcardtemp/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/vcardtemp/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Provider classes for XEP-0054: vcard-temp. */ package org.jivesoftware.smackx.vcardtemp.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/xdata/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/xdata/package-info.java index 12c9a7ff9..1c6665572 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/xdata/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/xdata/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks implementation of XEP-0004: Data Forms. */ package org.jivesoftware.smackx.xdata; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/xdata/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/xdata/packet/package-info.java index 2399b5453..141554c9b 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/xdata/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/xdata/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes for XEP-0004: Data Forms. */ package org.jivesoftware.smackx.xdata.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/xdata/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/xdata/provider/package-info.java index 8f5049657..97b82a224 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/xdata/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/xdata/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Provider classes for XEP-0004: Data Forms. */ package org.jivesoftware.smackx.xdata.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatalayout/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatalayout/package-info.java index cef89929c..bd6be54bd 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatalayout/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatalayout/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks implementation of XEP-0141: Data Forms Layout. */ package org.jivesoftware.smackx.xdatalayout; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatalayout/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatalayout/packet/package-info.java index b68819803..c6282a494 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatalayout/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatalayout/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes for XEP-0141: Data Forms Layout. */ package org.jivesoftware.smackx.xdatalayout.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatalayout/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatalayout/provider/package-info.java index 18a935e40..0297bfcac 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatalayout/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatalayout/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Provider classes for XEP-0141: Data Forms Layout. */ package org.jivesoftware.smackx.xdatalayout.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatavalidation/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatavalidation/package-info.java index d6e6200ce..ccfca4a32 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatavalidation/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatavalidation/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks implementation of XEP-0122: Data Forms Validation. */ package org.jivesoftware.smackx.xdatavalidation; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatavalidation/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatavalidation/packet/package-info.java index 887f15b7a..f9e52b73b 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatavalidation/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatavalidation/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes for XEP-0122: Data Forms Validation. */ package org.jivesoftware.smackx.xdatavalidation.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatavalidation/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatavalidation/provider/package-info.java index fc673aef8..e1a37225e 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatavalidation/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatavalidation/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Provider classes for XEP-0122: Data Forms Validation. */ package org.jivesoftware.smackx.xdatavalidation.provider; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/xhtmlim/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/xhtmlim/package-info.java index 86986ac31..99c3f7b08 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/xhtmlim/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/xhtmlim/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks implementation of XEP-0071: XHTML-IM. */ package org.jivesoftware.smackx.xhtmlim; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/xhtmlim/packet/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/xhtmlim/packet/package-info.java index 6c27815b4..5539eff48 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/xhtmlim/packet/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/xhtmlim/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes for XEP-0071: XHTML-IM. */ package org.jivesoftware.smackx.xhtmlim.packet; diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/xhtmlim/provider/package-info.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/xhtmlim/provider/package-info.java index 67cdd3ecd..d368bb23e 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/xhtmlim/provider/package-info.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/xhtmlim/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Provider classes for XEP-0071: XHTML-IM. */ package org.jivesoftware.smackx.xhtmlim.provider; diff --git a/smack-im/src/main/java/org/jivesoftware/smack/chat/package-info.java b/smack-im/src/main/java/org/jivesoftware/smack/chat/package-info.java index 1c1af838d..6061532c3 100644 --- a/smack-im/src/main/java/org/jivesoftware/smack/chat/package-info.java +++ b/smack-im/src/main/java/org/jivesoftware/smack/chat/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks legacy API for 1:1 chats. */ package org.jivesoftware.smack.chat; diff --git a/smack-im/src/main/java/org/jivesoftware/smack/im/package-info.java b/smack-im/src/main/java/org/jivesoftware/smack/im/package-info.java index 84123ebdd..2185b2053 100644 --- a/smack-im/src/main/java/org/jivesoftware/smack/im/package-info.java +++ b/smack-im/src/main/java/org/jivesoftware/smack/im/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Internal classes for smack-im. */ package org.jivesoftware.smack.im; diff --git a/smack-im/src/main/java/org/jivesoftware/smack/roster/package-info.java b/smack-im/src/main/java/org/jivesoftware/smack/roster/package-info.java index 306e1128d..cfc810e09 100644 --- a/smack-im/src/main/java/org/jivesoftware/smack/roster/package-info.java +++ b/smack-im/src/main/java/org/jivesoftware/smack/roster/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks API for Rosters. */ package org.jivesoftware.smack.roster; diff --git a/smack-im/src/main/java/org/jivesoftware/smack/roster/packet/package-info.java b/smack-im/src/main/java/org/jivesoftware/smack/roster/packet/package-info.java index aa1582f6e..5ff0b19bd 100644 --- a/smack-im/src/main/java/org/jivesoftware/smack/roster/packet/package-info.java +++ b/smack-im/src/main/java/org/jivesoftware/smack/roster/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Element classes for Rosters. */ package org.jivesoftware.smack.roster.packet; diff --git a/smack-im/src/main/java/org/jivesoftware/smack/roster/provider/package-info.java b/smack-im/src/main/java/org/jivesoftware/smack/roster/provider/package-info.java index 338f94980..14849d967 100644 --- a/smack-im/src/main/java/org/jivesoftware/smack/roster/provider/package-info.java +++ b/smack-im/src/main/java/org/jivesoftware/smack/roster/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Provider classes for Rosters. */ package org.jivesoftware.smack.roster.provider; diff --git a/smack-im/src/main/java/org/jivesoftware/smack/roster/rosterstore/package-info.java b/smack-im/src/main/java/org/jivesoftware/smack/roster/rosterstore/package-info.java index 22e47665b..e3de0397d 100644 --- a/smack-im/src/main/java/org/jivesoftware/smack/roster/rosterstore/package-info.java +++ b/smack-im/src/main/java/org/jivesoftware/smack/roster/rosterstore/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Persistence classes for Rosters. */ package org.jivesoftware.smack.roster.rosterstore; diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/caps/EntityCapsTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/caps/EntityCapsTest.java index 8b389f335..412abe1e4 100644 --- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/caps/EntityCapsTest.java +++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/caps/EntityCapsTest.java @@ -46,6 +46,7 @@ import org.jivesoftware.smackx.disco.packet.DiscoverInfo; import org.igniterealtime.smack.inttest.AbstractSmackIntegrationTest; import org.igniterealtime.smack.inttest.SmackIntegrationTest; import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment; +import org.igniterealtime.smack.inttest.util.SimpleResultSyncPoint; import org.junit.AfterClass; import org.junit.BeforeClass; @@ -131,7 +132,7 @@ public class EntityCapsTest extends AbstractSmackIntegrationTest { * */ @SmackIntegrationTest - public void testPreventDiscoInfo() throws XMPPException, NoResponseException, NotConnectedException, InterruptedException { + public void testPreventDiscoInfo() throws Exception { final String dummyFeature = getNewDummyFeature(); conOne.addPacketSendingListener(new StanzaListener() { @@ -142,9 +143,27 @@ public class EntityCapsTest extends AbstractSmackIntegrationTest { }, new AndFilter(new StanzaTypeFilter(DiscoverInfo.class), IQTypeFilter.GET)); + final SimpleResultSyncPoint presenceReceivedSyncPoint = new SimpleResultSyncPoint(); + final StanzaListener presenceListener = new StanzaListener() { + @Override + public void processStanza(Stanza packet) { + presenceReceivedSyncPoint.signal(); + } + }; + + // Add a stanzaListener to listen for incoming presence + conOne.addAsyncStanzaListener(presenceListener, PresenceTypeFilter.AVAILABLE); + // add a bogus feature so that con1 ver won't match con0's sdmTwo.addFeature(dummyFeature); + try { + // wait for the dummy feature to get sent via presence + presenceReceivedSyncPoint.waitForResult(timeout); + } finally { + conOne.removeAsyncStanzaListener(presenceListener); + } + dropCapsCache(); // discover that DiscoverInfo info = sdmOne.discoverInfo(conTwo.getUser()); diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/pubsub/PubSubIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/pubsub/PubSubIntegrationTest.java index 91546842b..403535d9f 100644 --- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/pubsub/PubSubIntegrationTest.java +++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/pubsub/PubSubIntegrationTest.java @@ -1,6 +1,6 @@ /** * - * Copyright 2015 Florian Schmaus + * Copyright 2015-2018 Florian Schmaus * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -52,8 +52,15 @@ public class PubSubIntegrationTest extends AbstractSmackIntegrationTest { public void simplePubSubNodeTest() throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { final String nodename = "sinttest-simple-nodename-" + testRunId; final String itemId = "sintest-simple-itemid-" + testRunId; - LeafNode leafNode = pubSubManagerOne.createNode(nodename); + ConfigureForm defaultConfiguration = pubSubManagerOne.getDefaultConfiguration(); + ConfigureForm config = new ConfigureForm(defaultConfiguration.createAnswerForm()); + // Configure the node as "Notification-Only Node", which in turn means that + // items do not need payload, to prevent payload-required error responses when + // publishing the item. + config.setDeliverPayloads(false); + Node node = pubSubManagerOne.createNode(nodename, config); try { + LeafNode leafNode = (LeafNode) node; leafNode.publish(new Item(itemId)); List items = leafNode.getItems(); assertEquals(1, items.size()); diff --git a/smack-java7/src/main/java/org/jivesoftware/smack/java7/package-info.java b/smack-java7/src/main/java/org/jivesoftware/smack/java7/package-info.java index 22e71eb20..cc0201cd0 100644 --- a/smack-java7/src/main/java/org/jivesoftware/smack/java7/package-info.java +++ b/smack-java7/src/main/java/org/jivesoftware/smack/java7/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Java7 related classes. */ package org.jivesoftware.smack.java7; diff --git a/smack-java7/src/main/java/org/jivesoftware/smack/util/stringencoder/java7/package-info.java b/smack-java7/src/main/java/org/jivesoftware/smack/util/stringencoder/java7/package-info.java index e7d8bbaee..881ea961b 100644 --- a/smack-java7/src/main/java/org/jivesoftware/smack/util/stringencoder/java7/package-info.java +++ b/smack-java7/src/main/java/org/jivesoftware/smack/util/stringencoder/java7/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Java7 related classes for Smacks Base64 implementation. */ package org.jivesoftware.smack.util.stringencoder.java7; diff --git a/smack-java7/src/main/java/org/jivesoftware/smack/util/stringencoder/package-info.java b/smack-java7/src/main/java/org/jivesoftware/smack/util/stringencoder/package-info.java index 8609a8018..bf6407aba 100644 --- a/smack-java7/src/main/java/org/jivesoftware/smack/util/stringencoder/package-info.java +++ b/smack-java7/src/main/java/org/jivesoftware/smack/util/stringencoder/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Java7 related classes for Smacks StringEncoder. */ package org.jivesoftware.smack.util.stringencoder; diff --git a/smack-resolver-dnsjava/src/main/java/org/jivesoftware/smack/util/dns/dnsjava/package-info.java b/smack-resolver-dnsjava/src/main/java/org/jivesoftware/smack/util/dns/dnsjava/package-info.java index dbb112a6b..f2b9ebdc1 100644 --- a/smack-resolver-dnsjava/src/main/java/org/jivesoftware/smack/util/dns/dnsjava/package-info.java +++ b/smack-resolver-dnsjava/src/main/java/org/jivesoftware/smack/util/dns/dnsjava/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * A Java DNS resolver implementation for Smack. */ package org.jivesoftware.smack.util.dns.dnsjava; diff --git a/smack-resolver-dnsjava/src/main/java/org/jivesoftware/smack/util/dns/package-info.java b/smack-resolver-dnsjava/src/main/java/org/jivesoftware/smack/util/dns/package-info.java index 6c37a108c..4461efc1e 100644 --- a/smack-resolver-dnsjava/src/main/java/org/jivesoftware/smack/util/dns/package-info.java +++ b/smack-resolver-dnsjava/src/main/java/org/jivesoftware/smack/util/dns/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks DNS resolvers. */ package org.jivesoftware.smack.util.dns; diff --git a/smack-resolver-dnsjava/src/main/java/org/jivesoftware/smack/util/package-info.java b/smack-resolver-dnsjava/src/main/java/org/jivesoftware/smack/util/package-info.java index 9ad9b1354..41218a37d 100644 --- a/smack-resolver-dnsjava/src/main/java/org/jivesoftware/smack/util/package-info.java +++ b/smack-resolver-dnsjava/src/main/java/org/jivesoftware/smack/util/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smack util classes. */ package org.jivesoftware.smack.util; diff --git a/smack-resolver-javax/src/main/java/org/jivesoftware/smack/util/dns/javax/package-info.java b/smack-resolver-javax/src/main/java/org/jivesoftware/smack/util/dns/javax/package-info.java index 304f12765..2d4eb60b4 100644 --- a/smack-resolver-javax/src/main/java/org/jivesoftware/smack/util/dns/javax/package-info.java +++ b/smack-resolver-javax/src/main/java/org/jivesoftware/smack/util/dns/javax/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * A javax DNS resolver implementation for Smack. */ package org.jivesoftware.smack.util.dns.javax; diff --git a/smack-resolver-javax/src/main/java/org/jivesoftware/smack/util/dns/package-info.java b/smack-resolver-javax/src/main/java/org/jivesoftware/smack/util/dns/package-info.java index 6c37a108c..4461efc1e 100644 --- a/smack-resolver-javax/src/main/java/org/jivesoftware/smack/util/dns/package-info.java +++ b/smack-resolver-javax/src/main/java/org/jivesoftware/smack/util/dns/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks DNS resolvers. */ package org.jivesoftware.smack.util.dns; diff --git a/smack-resolver-javax/src/main/java/org/jivesoftware/smack/util/package-info.java b/smack-resolver-javax/src/main/java/org/jivesoftware/smack/util/package-info.java index 9ad9b1354..41218a37d 100644 --- a/smack-resolver-javax/src/main/java/org/jivesoftware/smack/util/package-info.java +++ b/smack-resolver-javax/src/main/java/org/jivesoftware/smack/util/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smack util classes. */ package org.jivesoftware.smack.util; diff --git a/smack-resolver-minidns/src/main/java/org/jivesoftware/smack/util/dns/minidns/package-info.java b/smack-resolver-minidns/src/main/java/org/jivesoftware/smack/util/dns/minidns/package-info.java index 6cc36fc16..7ea895064 100644 --- a/smack-resolver-minidns/src/main/java/org/jivesoftware/smack/util/dns/minidns/package-info.java +++ b/smack-resolver-minidns/src/main/java/org/jivesoftware/smack/util/dns/minidns/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * A MiniDNS resolver implementation for Smack. */ package org.jivesoftware.smack.util.dns.minidns; diff --git a/smack-resolver-minidns/src/main/java/org/jivesoftware/smack/util/dns/package-info.java b/smack-resolver-minidns/src/main/java/org/jivesoftware/smack/util/dns/package-info.java index 6c37a108c..4461efc1e 100644 --- a/smack-resolver-minidns/src/main/java/org/jivesoftware/smack/util/dns/package-info.java +++ b/smack-resolver-minidns/src/main/java/org/jivesoftware/smack/util/dns/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smacks DNS resolvers. */ package org.jivesoftware.smack.util.dns; diff --git a/smack-resolver-minidns/src/main/java/org/jivesoftware/smack/util/package-info.java b/smack-resolver-minidns/src/main/java/org/jivesoftware/smack/util/package-info.java index 9ad9b1354..41218a37d 100644 --- a/smack-resolver-minidns/src/main/java/org/jivesoftware/smack/util/package-info.java +++ b/smack-resolver-minidns/src/main/java/org/jivesoftware/smack/util/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * Smack util classes. */ package org.jivesoftware.smack.util; diff --git a/smack-sasl-javax/src/main/java/org/jivesoftware/smack/sasl/javax/package-info.java b/smack-sasl-javax/src/main/java/org/jivesoftware/smack/sasl/javax/package-info.java index eefb2c4d6..aa0462a72 100644 --- a/smack-sasl-javax/src/main/java/org/jivesoftware/smack/sasl/javax/package-info.java +++ b/smack-sasl-javax/src/main/java/org/jivesoftware/smack/sasl/javax/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * A javax SASL implementation for Smack. */ package org.jivesoftware.smack.sasl.javax; diff --git a/smack-sasl-provided/src/main/java/org/jivesoftware/smack/sasl/provided/package-info.java b/smack-sasl-provided/src/main/java/org/jivesoftware/smack/sasl/provided/package-info.java index 0e53eb49e..fd5c96d91 100644 --- a/smack-sasl-provided/src/main/java/org/jivesoftware/smack/sasl/provided/package-info.java +++ b/smack-sasl-provided/src/main/java/org/jivesoftware/smack/sasl/provided/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * A SASL implementation for Smack. */ package org.jivesoftware.smack.sasl.provided; diff --git a/smack-tcp/src/main/java/org/jivesoftware/smack/sm/package-info.java b/smack-tcp/src/main/java/org/jivesoftware/smack/sm/package-info.java index bc703f228..25369e59c 100644 --- a/smack-tcp/src/main/java/org/jivesoftware/smack/sm/package-info.java +++ b/smack-tcp/src/main/java/org/jivesoftware/smack/sm/package-info.java @@ -16,6 +16,6 @@ */ /** - * Smack's implementation of XEP-198: Stream Management. + * Smack's implementation of XEP-0198: Stream Management. */ package org.jivesoftware.smack.sm; diff --git a/smack-tcp/src/main/java/org/jivesoftware/smack/sm/packet/package-info.java b/smack-tcp/src/main/java/org/jivesoftware/smack/sm/packet/package-info.java index eb9e6f5ff..1c0009131 100644 --- a/smack-tcp/src/main/java/org/jivesoftware/smack/sm/packet/package-info.java +++ b/smack-tcp/src/main/java/org/jivesoftware/smack/sm/packet/package-info.java @@ -16,6 +16,6 @@ */ /** - * Plain stream elements for XEP-198: Stream Management. + * Plain stream elements for XEP-0198: Stream Management. */ package org.jivesoftware.smack.sm.packet; diff --git a/smack-tcp/src/main/java/org/jivesoftware/smack/sm/provider/package-info.java b/smack-tcp/src/main/java/org/jivesoftware/smack/sm/provider/package-info.java index 48e212580..a700200bb 100644 --- a/smack-tcp/src/main/java/org/jivesoftware/smack/sm/provider/package-info.java +++ b/smack-tcp/src/main/java/org/jivesoftware/smack/sm/provider/package-info.java @@ -16,6 +16,6 @@ */ /** - * Providers for XEP-198: Stream Management. + * Providers for XEP-0198: Stream Management. */ package org.jivesoftware.smack.sm.provider; diff --git a/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/package-info.java b/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/package-info.java index ef6cb1870..9d2ac84f5 100644 --- a/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/package-info.java +++ b/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/package-info.java @@ -16,6 +16,6 @@ */ /** - * TODO describe me. + * TCP-IP related classes for Smack. */ package org.jivesoftware.smack.tcp;