1
0
Fork 0
mirror of https://codeberg.org/Mercury-IM/Smack synced 2025-12-07 13:41:08 +01:00

Do not have Stanza.getExtension(String, String) return a generic type

Returning a generic would allow for

List<ExtensionElement> list = stanza.getExtension("foo", "bar");

to compile (Note the we are calling getExtension(), not
getExtension*s*()).

Users are encouraged to use the type safe getExtension(Class<? extends
ExtensionElement) variant instead.

Fixes SMACK-825.
This commit is contained in:
Florian Schmaus 2020-04-05 22:10:05 +02:00
parent 62916b8490
commit 07da9ffb48
65 changed files with 207 additions and 121 deletions

View file

@ -101,7 +101,7 @@ public class InBandBytestreamSessionMessageTest extends InitExtensions {
@Override
public void verify(Message request, IQ response) {
DataPacketExtension dpe = request.getExtension(
DataPacketExtension.ELEMENT, DataPacketExtension.NAMESPACE);
DataPacketExtension.class);
assertEquals(lastSeq++, dpe.getSeq());
}

View file

@ -117,8 +117,7 @@ public class GeoLocationTest extends InitExtensions {
Message messageWithGeoLocation = PacketParserUtils.parseStanza(geoLocationMessageString);
assertNotNull(messageWithGeoLocation);
GeoLocation geoLocation = messageWithGeoLocation.getExtension(GeoLocation.ELEMENT,
GeoLocation.NAMESPACE);
GeoLocation geoLocation = messageWithGeoLocation.getExtension(GeoLocation.class);
assertNotNull(geoLocation);
assertNotNull(geoLocation.toXML());

View file

@ -69,8 +69,7 @@ public class GeoLocationProviderTest extends InitExtensions {
Message messageWithGeoLocation = PacketParserUtils.parseStanza(geoLocationString);
assertNotNull(messageWithGeoLocation);
GeoLocation geoLocation = messageWithGeoLocation.getExtension(GeoLocation.ELEMENT,
GeoLocation.NAMESPACE);
GeoLocation geoLocation = messageWithGeoLocation.getExtension(GeoLocation.class);
assertNotNull(geoLocation);
assertEquals((Double) 23d, geoLocation.getAccuracy());
@ -138,8 +137,7 @@ public class GeoLocationProviderTest extends InitExtensions {
Message messageWithGeoLocation = PacketParserUtils.parseStanza(geoLocationString);
assertNotNull(messageWithGeoLocation);
GeoLocation geoLocation = messageWithGeoLocation.getExtension(GeoLocation.ELEMENT,
GeoLocation.NAMESPACE);
GeoLocation geoLocation = messageWithGeoLocation.getExtension(GeoLocation.class);
assertNotNull(geoLocation);
assertEquals((Double) 23d, geoLocation.getAccuracy());
@ -183,8 +181,7 @@ public class GeoLocationProviderTest extends InitExtensions {
Message messageWithGeoLocation = PacketParserUtils.parseStanza(geoLocationString);
GeoLocation geoLocation = messageWithGeoLocation.getExtension(GeoLocation.ELEMENT,
GeoLocation.NAMESPACE);
GeoLocation geoLocation = messageWithGeoLocation.getExtension(GeoLocation.class);
assertEquals((Double) 90d, geoLocation.getError());
}
@ -203,8 +200,7 @@ public class GeoLocationProviderTest extends InitExtensions {
Message messageWithGeoLocation = PacketParserUtils.parseStanza(geoLocationString);
GeoLocation geoLocation = messageWithGeoLocation.getExtension(GeoLocation.ELEMENT,
GeoLocation.NAMESPACE);
GeoLocation geoLocation = messageWithGeoLocation.getExtension(GeoLocation.class);
assertEquals((Double) 90d, geoLocation.getAccuracy());
}
@ -224,8 +220,7 @@ public class GeoLocationProviderTest extends InitExtensions {
Message messageWithGeoLocation = PacketParserUtils.parseStanza(geoLocationString);
GeoLocation geoLocation = messageWithGeoLocation.getExtension(GeoLocation.ELEMENT,
GeoLocation.NAMESPACE);
GeoLocation geoLocation = messageWithGeoLocation.getExtension(GeoLocation.class);
assertEquals((Double) 90d, geoLocation.getAccuracy());
assertNull(geoLocation.getError());

View file

@ -62,7 +62,7 @@ public class DeliveryReceiptTest extends InitExtensions {
parser = PacketParserUtils.getParserFor(control);
Message p = PacketParserUtils.parseMessage(parser);
DeliveryReceiptRequest drr = p.getExtension(DeliveryReceiptRequest.ELEMENT, DeliveryReceipt.NAMESPACE);
DeliveryReceiptRequest drr = p.getExtension(DeliveryReceiptRequest.class);
assertNotNull(drr);
assertTrue(DeliveryReceiptManager.hasDeliveryReceiptRequest(p));

View file

@ -1,6 +1,6 @@
/**
*
* Copyright © 2014 Florian Schmaus
* Copyright © 2014-2020 Florian Schmaus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -49,7 +49,7 @@ public class RSMSetProviderTest extends InitExtensions {
// @formatter:on
IQ iqWithRsm = PacketParserUtils.parseStanza(rsmset);
RSMSet rsm = iqWithRsm.getExtension(RSMSet.ELEMENT, RSMSet.NAMESPACE);
RSMSet rsm = iqWithRsm.getExtension(RSMSet.class);
assertNotNull(rsm);
assertEquals("aftervalue", rsm.getAfter());
assertEquals("beforevalue", rsm.getBefore());