This is an automated email from the ASF dual-hosted git repository.
vavrtom pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/qpid-broker-j.git
The following commit(s) were added to refs/heads/main by this push:
new 263dff30c5 QPID-8658 - [Broker-J] Add Java 21 to the GitHub test
matrix (#224)
263dff30c5 is described below
commit 263dff30c598a382cff4142909dcacff0ce0c7aa
Author: Daniil Kirilyuk <[email protected]>
AuthorDate: Tue Oct 31 09:29:19 2023 +0100
QPID-8658 - [Broker-J] Add Java 21 to the GitHub test matrix (#224)
---
.github/workflows/build.yml | 2 +-
.../MimeContentConverterRegistry.java | 9 +++-
.../qpid/test/utils/tls/TlsResourceBuilder.java | 58 +++++++++-------------
3 files changed, 32 insertions(+), 37 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 94c287008a..3631cd7f19 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -24,7 +24,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- java: [ 11, 17 ]
+ java: [ 11, 17, 21 ]
steps:
- uses: actions/checkout@v3
diff --git
a/broker-core/src/main/java/org/apache/qpid/server/message/mimecontentconverter/MimeContentConverterRegistry.java
b/broker-core/src/main/java/org/apache/qpid/server/message/mimecontentconverter/MimeContentConverterRegistry.java
index 79cbba7a7e..1714ed5bce 100644
---
a/broker-core/src/main/java/org/apache/qpid/server/message/mimecontentconverter/MimeContentConverterRegistry.java
+++
b/broker-core/src/main/java/org/apache/qpid/server/message/mimecontentconverter/MimeContentConverterRegistry.java
@@ -27,6 +27,8 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.ImmutableMultimap;
@@ -39,7 +41,7 @@ import org.apache.qpid.server.plugin.QpidServiceLoader;
public class MimeContentConverterRegistry
{
private static final Logger LOGGER =
LoggerFactory.getLogger(MimeContentConverterRegistry.class);
-
+ private static final String SEQUENCED_MAP = "java.util.SequencedMap";
private static final Map<String, MimeContentToObjectConverter>
_mimeContentToObjectConverters;
private static final Multimap<Class, ObjectToMimeContentConverter>
_classToMimeContentConverters;
@@ -105,7 +107,10 @@ public class MimeContentConverterRegistry
ObjectToMimeContentConverter converter = null;
if (object != null)
{
- final List<Class<?>> classes = new
ArrayList<>(Arrays.asList(object.getClass().getInterfaces()));
+ final List<Class<?>> classes =
Stream.of(object.getClass().getInterfaces())
+ // Java 21 compatibility fix
+ .flatMap(anInterface ->
SEQUENCED_MAP.equals(anInterface.getName()) ?
Stream.of(anInterface.getInterfaces()) : Stream.of(anInterface))
+ .collect(Collectors.toList());
classes.add(object.getClass());
for (Class<?> i : classes)
{
diff --git
a/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/tls/TlsResourceBuilder.java
b/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/tls/TlsResourceBuilder.java
index ad75e15fb1..e242037c35 100644
---
a/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/tls/TlsResourceBuilder.java
+++
b/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/tls/TlsResourceBuilder.java
@@ -138,48 +138,35 @@ public class TlsResourceBuilder
final String dn,
final Instant from,
final Instant to,
- final AlternativeName...
alternativeName)
+ final AlternativeName...
alternativeNames)
throws CertificateException
{
- return createCertificate(keyPair,
- ca,
- dn,
- new ValidityPeriod(from, to),
- createKeyUsageExtension(),
-
createAlternateNamesExtension(alternativeName));
+ return createCertificate(keyPair, ca, dn, new ValidityPeriod(from,
to), alternativeNames, createKeyUsageExtension());
}
public static X509Certificate
createCertificateForClientAuthorization(final KeyPair keyPair,
final KeyCertificatePair ca,
final String dn,
-
final AlternativeName... alternativeName)
+
final AlternativeName... alternativeNames)
throws CertificateException
{
- return createCertificate(keyPair,
- ca,
- dn,
- createValidityPeriod(),
- createExtendedUsageExtension(new
ExtendedKeyUsage(new KeyPurposeId[]{KeyPurposeId.id_kp_clientAuth})),
-
createAuthorityKeyExtension(ca.getCertificate().getPublicKey()),
-
createSubjectKeyExtension(keyPair.getPublic()),
-
createAlternateNamesExtension(alternativeName));
+ return createCertificate(keyPair, ca, dn, createValidityPeriod(),
alternativeNames,
+ createExtendedUsageExtension(new ExtendedKeyUsage(new
KeyPurposeId[]{KeyPurposeId.id_kp_clientAuth})),
+
createAuthorityKeyExtension(ca.getCertificate().getPublicKey()),
+ createSubjectKeyExtension(keyPair.getPublic()));
}
public static X509Certificate
createCertificateForServerAuthorization(final KeyPair keyPair,
final KeyCertificatePair ca,
final String dn,
-
final AlternativeName... alternativeName)
+
final AlternativeName... alternativeNames)
throws CertificateException
{
- return createCertificate(keyPair,
- ca,
- dn,
- createValidityPeriod(),
- createExtendedUsageExtension(new
ExtendedKeyUsage(new KeyPurposeId[]{KeyPurposeId.id_kp_serverAuth})),
-
createAuthorityKeyExtension(ca.getCertificate().getPublicKey()),
-
createSubjectKeyExtension(keyPair.getPublic()),
-
createAlternateNamesExtension(alternativeName));
+ return createCertificate(keyPair, ca, dn, createValidityPeriod(),
alternativeNames,
+ createExtendedUsageExtension(new ExtendedKeyUsage(new
KeyPurposeId[]{KeyPurposeId.id_kp_serverAuth})),
+
createAuthorityKeyExtension(ca.getCertificate().getPublicKey()),
+ createSubjectKeyExtension(keyPair.getPublic()));
}
public static X509Certificate
createCertificateWithCrlDistributionPoint(final KeyPair keyPair,
@@ -192,6 +179,7 @@ public class TlsResourceBuilder
caPair,
dn,
createValidityPeriod(),
+ null,
createKeyUsageExtension(),
createDistributionPointExtension(crlUri));
}
@@ -200,6 +188,7 @@ public class TlsResourceBuilder
final KeyCertificatePair
ca,
final String dn,
final ValidityPeriod
validityPeriod,
+ final AlternativeName[]
alternativeNames,
final Extension...
extensions)
throws CertificateException
{
@@ -218,6 +207,10 @@ public class TlsResourceBuilder
{
builder.addExtension(e);
}
+ if (alternativeNames != null && alternativeNames.length > 0)
+ {
+
builder.addExtension(createAlternateNamesExtension(alternativeNames));
+ }
return buildX509Certificate(builder, ca.getPrivateKey());
}
catch (OperatorException | IOException e)
@@ -244,7 +237,10 @@ public class TlsResourceBuilder
builder.addExtension(Extension.basicConstraints, false, new
BasicConstraints(false));
builder.addExtension(createKeyUsageExtension());
builder.addExtension(createSubjectKeyExtension(keyPair.getPublic()));
-
builder.addExtension(createAlternateNamesExtension(alternativeName));
+ if (alternativeName != null && alternativeName.length > 0)
+ {
+
builder.addExtension(createAlternateNamesExtension(alternativeName));
+ }
return buildX509Certificate(builder, keyPair.getPrivate());
}
catch (OperatorException | IOException e)
@@ -330,7 +326,6 @@ public class TlsResourceBuilder
new Date(validityPeriod.getTo().toEpochMilli()),
new X500Name(RFC4519Style.INSTANCE, dn),
keyPair.getPublic());
- //builder.addExtension(Extension.keyUsage, false, new
KeyUsage(KeyUsage.keyCertSign));
builder.addExtension(Extension.basicConstraints, false, new
BasicConstraints(true));
builder.addExtension(createSubjectKeyExtension(keyPair.getPublic()));
builder.addExtension(createAuthorityKeyExtension(rootCA.getCertificate().getPublicKey()));
@@ -382,15 +377,10 @@ public class TlsResourceBuilder
final KeyCertificatePair
ca,
final String dn,
final ValidityPeriod
validityPeriod,
- final AlternativeName...
alternativeName)
+ final AlternativeName...
alternativeNames)
throws CertificateException
{
- return createCertificate(keyPair,
- ca,
- dn,
- validityPeriod,
- createKeyUsageExtension(),
-
createAlternateNamesExtension(alternativeName));
+ return createCertificate(keyPair, ca, dn, validityPeriod,
alternativeNames, createKeyUsageExtension());
}
private static KeyCertificatePair createSelfSigned(final String dn,
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]