Various polishing and optimizations
* Check for `null` package in the `JacksonJsonUtils`. Also don't call `this.delegate.typeFromId()` the second time * Increase wait timeout in the `QueueChannelTests` * Check `ZookeeperMetadataStore.addListener()` for `null` **Cherry-pick to 4.3.x**
This commit is contained in:
@@ -196,9 +196,9 @@ public final class JacksonJsonUtils {
|
||||
DeserializationConfig config = (DeserializationConfig) context.getConfig();
|
||||
JavaType result = this.delegate.typeFromId(context, id);
|
||||
|
||||
String packageName = result.getRawClass().getPackage().getName();
|
||||
if (isTrustedPackage(packageName)) {
|
||||
return this.delegate.typeFromId(context, id);
|
||||
Package aPackage = result.getRawClass().getPackage();
|
||||
if (aPackage == null || isTrustedPackage(aPackage.getName())) {
|
||||
return result;
|
||||
}
|
||||
|
||||
boolean isExplicitMixin = config.findMixInClassFor(result.getRawClass()) != null;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2015 the original author or authors.
|
||||
* Copyright 2002-2017 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -58,7 +58,7 @@ public class QueueChannelTests {
|
||||
}).start();
|
||||
assertFalse(messageReceived.get());
|
||||
channel.send(new GenericMessage<String>("testing"));
|
||||
latch.await(1000, TimeUnit.MILLISECONDS);
|
||||
latch.await(10000, TimeUnit.MILLISECONDS);
|
||||
assertTrue(messageReceived.get());
|
||||
}
|
||||
|
||||
|
||||
@@ -37,12 +37,13 @@ import org.springframework.integration.support.utils.IntegrationUtils;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
/**
|
||||
* Zookeeper-based {@link ListenableMetadataStore} based on a Zookeeper node. Values are stored in the children node,
|
||||
* the names of which are stored as keys.
|
||||
* Zookeeper-based {@link ListenableMetadataStore} based on a Zookeeper node.
|
||||
* Values are stored in the children node, the names of which are stored as keys.
|
||||
*
|
||||
* @author Marius Bogoevici
|
||||
* @author Gary Russell
|
||||
* @author Artem Bilan
|
||||
*
|
||||
* @since 4.2
|
||||
*/
|
||||
public class ZookeeperMetadataStore implements ListenableMetadataStore, SmartLifecycle {
|
||||
@@ -164,8 +165,9 @@ public class ZookeeperMetadataStore implements ListenableMetadataStore, SmartLif
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addListener(MetadataStoreListener callback) {
|
||||
this.listeners.add(callback);
|
||||
public void addListener(MetadataStoreListener listener) {
|
||||
Assert.notNull(listener, "'listener' must not be null");
|
||||
this.listeners.add(listener);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2015-2016 the original author or authors.
|
||||
* Copyright 2015-2017 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -16,6 +16,8 @@
|
||||
|
||||
package org.springframework.integration.zookeeper.metadata;
|
||||
|
||||
import static org.hamcrest.Matchers.containsString;
|
||||
import static org.hamcrest.Matchers.instanceOf;
|
||||
import static org.hamcrest.collection.IsCollectionWithSize.hasSize;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
@@ -50,6 +52,8 @@ import org.springframework.integration.zookeeper.ZookeeperTestSupport;
|
||||
|
||||
/**
|
||||
* @author Marius Bogoevici
|
||||
* @author Artem Bilan
|
||||
*
|
||||
* @since 4.2
|
||||
*/
|
||||
public class ZookeeperMetadataStoreTests extends ZookeeperTestSupport {
|
||||
@@ -233,6 +237,14 @@ public class ZookeeperMetadataStoreTests extends ZookeeperTestSupport {
|
||||
barriers.put("add", new CyclicBarrier(2));
|
||||
barriers.put("remove", new CyclicBarrier(2));
|
||||
barriers.put("update", new CyclicBarrier(2));
|
||||
try {
|
||||
metadataStore.addListener(null);
|
||||
fail("IllegalArgumentException expected");
|
||||
}
|
||||
catch (Exception e) {
|
||||
assertThat(e, instanceOf(IllegalArgumentException.class));
|
||||
assertThat(e.getMessage(), containsString("'listener' must not be null"));
|
||||
}
|
||||
metadataStore.addListener(new MetadataStoreListenerAdapter() {
|
||||
@Override
|
||||
public void onAdd(String key, String value) {
|
||||
|
||||
Reference in New Issue
Block a user