You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2021/11/13 11:14:00 UTC
[brooklyn-server] 04/28: more guava updates
This is an automated email from the ASF dual-hosted git repository.
heneveld pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brooklyn-server.git
commit 36849ea7e9652e91e891e7629f8fc5afab01c0b9
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Tue Nov 9 13:30:00 2021 +0000
more guava updates
---
.../core/config/internal/AbstractConfigMapImpl.java | 4 ++--
.../apache/brooklyn/core/entity/AbstractEntity.java | 11 ++++++-----
.../core/internal/BrooklynPropertiesImpl.java | 2 +-
.../brooklyn/core/location/AbstractLocation.java | 6 +++---
.../location/access/PortForwardManagerImpl.java | 21 +++++++++------------
.../core/network/AbstractOnNetworkEnricher.java | 2 +-
.../core/resolve/jackson/BeanWithTypeUtils.java | 6 +++---
.../apache/brooklyn/enricher/stock/Enrichers.java | 8 ++++----
.../enricher/stock/MathAggregatorFunctions.java | 4 ++--
.../brooklyn/enricher/stock/PercentageEnricher.java | 3 ++-
.../brooklyn/entity/group/DynamicClusterImpl.java | 2 +-
.../location/byon/ByonLocationResolver.java | 10 +++++-----
.../brooklyn/location/ssh/SshMachineLocation.java | 2 +-
.../policy/AbstractInvokeEffectorPolicy.java | 2 +-
.../brooklyn/util/core/file/ArchiveBuilder.java | 2 +-
.../internal/ssh/sshj/SshjClientConnection.java | 2 +-
.../brooklyn/util/core/task/ValueResolver.java | 2 +-
17 files changed, 44 insertions(+), 45 deletions(-)
diff --git a/core/src/main/java/org/apache/brooklyn/core/config/internal/AbstractConfigMapImpl.java b/core/src/main/java/org/apache/brooklyn/core/config/internal/AbstractConfigMapImpl.java
index f9e8536..39edafe 100644
--- a/core/src/main/java/org/apache/brooklyn/core/config/internal/AbstractConfigMapImpl.java
+++ b/core/src/main/java/org/apache/brooklyn/core/config/internal/AbstractConfigMapImpl.java
@@ -499,11 +499,11 @@ public abstract class AbstractConfigMapImpl<TContainer extends BrooklynObject> i
TypeToken<?> ownType = ownKey.getTypeToken();
TypeToken<?> queryType = queryKey.getTypeToken();
- if (queryType.isAssignableFrom(ownType)) {
+ if (queryType.isSupertypeOf(ownType)) {
// own type is same or more specific, normal path
return ownType;
}
- if (ownType.isAssignableFrom(queryType)) {
+ if (ownType.isSupertypeOf(queryType)) {
// query type is more specific than type defined; unusual but workable
LOG.debug("Query for "+queryKey+" wants more specific type than key "+ownKey+" declared on "+context+" (unusual but clear what to do)");
// previously (to 2017-11) we used the less specific type, only issue noticed was if an anonymous key is persisted
diff --git a/core/src/main/java/org/apache/brooklyn/core/entity/AbstractEntity.java b/core/src/main/java/org/apache/brooklyn/core/entity/AbstractEntity.java
index fe2a8d9..586bac2 100644
--- a/core/src/main/java/org/apache/brooklyn/core/entity/AbstractEntity.java
+++ b/core/src/main/java/org/apache/brooklyn/core/entity/AbstractEntity.java
@@ -18,6 +18,8 @@
*/
package org.apache.brooklyn.core.entity;
+import com.google.common.base.MoreObjects;
+import com.google.common.base.MoreObjects.ToStringHelper;
import static com.google.common.base.Preconditions.checkNotNull;
import java.util.Collection;
@@ -108,7 +110,6 @@ import org.slf4j.LoggerFactory;
import com.google.common.annotations.Beta;
import com.google.common.base.Function;
import com.google.common.base.Objects;
-import com.google.common.base.Objects.ToStringHelper;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
@@ -120,7 +121,7 @@ import com.google.common.collect.Sets;
/**
* Default {@link Entity} implementation, which should be extended whenever implementing an entity.
* <p>
- * Provides several common fields ({@link #displayName}, {@link #id}), and supports the core features of
+ * Provides several common fields ({@link #displayName}, {@link #getId()}), and supports the core features of
* an entity such as configuration keys, attributes, subscriptions and effector invocation.
* <p>
* If a sub-class is creating other entities, this should be done in an overridden {@link #init()}
@@ -136,9 +137,9 @@ import com.google.common.collect.Sets;
* <li>Call {@link #setProxy(Entity)}; the proxy should be used by everything else when referring
* to this entity (except for drivers/policies that are attached to the entity, which can be
* given a reference to this entity itself).
- * <li>Call {@link #configure(Map)} and then {@link #setConfig(ConfigKey, Object)}
+ * <li>Configure properties eg {@link #configure(Map)}
* <li>Call {@link #init()}
- * <li>Call {@link #addPolicy(Policy)} (for any policies defined in the {@link EntitySpec})
+ * <li>Add adjucts (egfor any policies defined in the {@link EntitySpec})
* <li>Call {@link #setParent(Entity)}, if a parent is specified in the {@link EntitySpec}
* </ol>
* <p>
@@ -1313,7 +1314,7 @@ public abstract class AbstractEntity extends AbstractBrooklynObject implements E
* Cannot be used in combination with overriding the deprecated toStringFieldsToInclude.
*/
protected ToStringHelper toStringHelper() {
- ToStringHelper result = Objects.toStringHelper(this).omitNullValues().add("id", getId());
+ ToStringHelper result = MoreObjects.toStringHelper(this).omitNullValues().add("id", getId());
if (!displayNameAutoGenerated && !Objects.equal(getDisplayName(), getAutogeneratedDefaultDisplayName())) {
result.add("name", getDisplayName());
}
diff --git a/core/src/main/java/org/apache/brooklyn/core/internal/BrooklynPropertiesImpl.java b/core/src/main/java/org/apache/brooklyn/core/internal/BrooklynPropertiesImpl.java
index 2c8d282..b7b7483 100644
--- a/core/src/main/java/org/apache/brooklyn/core/internal/BrooklynPropertiesImpl.java
+++ b/core/src/main/java/org/apache/brooklyn/core/internal/BrooklynPropertiesImpl.java
@@ -268,7 +268,7 @@ public class BrooklynPropertiesImpl implements BrooklynProperties {
if (Strings.isBlank(s)) {
s = Strings.EMPTY;
} else {
- s = CharMatcher.BREAKING_WHITESPACE.trimFrom(s);
+ s = CharMatcher.breakingWhitespace().trimFrom(s);
}
return BrooklynPropertiesImpl.this.put(key, s);
}
diff --git a/core/src/main/java/org/apache/brooklyn/core/location/AbstractLocation.java b/core/src/main/java/org/apache/brooklyn/core/location/AbstractLocation.java
index cd42a37..c4dff5e 100644
--- a/core/src/main/java/org/apache/brooklyn/core/location/AbstractLocation.java
+++ b/core/src/main/java/org/apache/brooklyn/core/location/AbstractLocation.java
@@ -18,6 +18,8 @@
*/
package org.apache.brooklyn.core.location;
+import com.google.common.base.MoreObjects;
+import com.google.common.base.MoreObjects.ToStringHelper;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
import static org.apache.brooklyn.util.JavaGroovyEquivalents.groovyTruth;
@@ -72,8 +74,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.common.annotations.Beta;
-import com.google.common.base.Objects;
-import com.google.common.base.Objects.ToStringHelper;
import com.google.common.base.Splitter;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
@@ -605,7 +605,7 @@ public abstract class AbstractLocation extends AbstractBrooklynObject implements
/** override this, adding to the returned value, to supply additional fields to include in the toString */
protected ToStringHelper string() {
- return Objects.toStringHelper(getClass()).add("id", getId()).add("name", name);
+ return MoreObjects.toStringHelper(getClass()).add("id", getId()).add("name", name);
}
@Override
diff --git a/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManagerImpl.java b/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManagerImpl.java
index f2c73ee..157eee4 100644
--- a/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManagerImpl.java
+++ b/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManagerImpl.java
@@ -18,8 +18,14 @@
*/
package org.apache.brooklyn.core.location.access;
+import com.google.common.base.MoreObjects.ToStringHelper;
+import com.google.common.base.Preconditions;
import static com.google.common.base.Preconditions.checkNotNull;
-
+import com.google.common.base.Predicate;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Lists;
+import com.google.common.net.HostAndPort;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
@@ -28,7 +34,6 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
-
import org.apache.brooklyn.api.location.Location;
import org.apache.brooklyn.api.mgmt.rebind.RebindContext;
import org.apache.brooklyn.api.mgmt.rebind.RebindSupport;
@@ -40,14 +45,6 @@ import org.apache.brooklyn.util.exceptions.Exceptions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Objects.ToStringHelper;
-import com.google.common.base.Preconditions;
-import com.google.common.base.Predicate;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Lists;
-import com.google.common.net.HostAndPort;
-
/**
*
* @author aled
@@ -175,7 +172,7 @@ public class PortForwardManagerImpl extends AbstractLocation implements PortForw
protected void associateImpl(String publicIpId, HostAndPort publicEndpoint, Location l, int privatePort) {
synchronized (mutex) {
- String publicIp = publicEndpoint.getHostText();
+ String publicIp = publicEndpoint.getHost();
int publicPort = publicEndpoint.getPort();
recordPublicIpHostname(publicIpId, publicIp);
PortMapping mapping = new PortMapping(publicIpId, publicEndpoint, l, privatePort);
@@ -328,7 +325,7 @@ public class PortForwardManagerImpl extends AbstractLocation implements PortForw
}
private AssociationMetadata associationMetadataFromPortMapping(PortMapping portMapping) {
- String publicIpId = portMapping.getPublicEndpoint().getHostText();
+ String publicIpId = portMapping.getPublicEndpoint().getHost();
HostAndPort publicEndpoint = portMapping.getPublicEndpoint();
Location location = portMapping.getTarget();
int privatePort = portMapping.getPrivatePort();
diff --git a/core/src/main/java/org/apache/brooklyn/core/network/AbstractOnNetworkEnricher.java b/core/src/main/java/org/apache/brooklyn/core/network/AbstractOnNetworkEnricher.java
index 8bd91d9..7c4b2f5 100644
--- a/core/src/main/java/org/apache/brooklyn/core/network/AbstractOnNetworkEnricher.java
+++ b/core/src/main/java/org/apache/brooklyn/core/network/AbstractOnNetworkEnricher.java
@@ -308,7 +308,7 @@ public abstract class AbstractOnNetworkEnricher extends AbstractEnricher {
}
URI result;
try {
- result = new URI(uri.getScheme(), uri.getUserInfo(), mappedEndpoint.get().getHostText(), mappedEndpoint.get().getPort(), uri.getPath(), uri.getQuery(), uri.getFragment());
+ result = new URI(uri.getScheme(), uri.getUserInfo(), mappedEndpoint.get().getHost(), mappedEndpoint.get().getPort(), uri.getPath(), uri.getQuery(), uri.getFragment());
} catch (URISyntaxException e) {
LOG.debug("Error transforming URI "+uri+", using target "+mappedEndpoint+"; rethrowing");
throw Exceptions.propagateAnnotated("Error transforming URI "+uri+", using target "+mappedEndpoint, e);
diff --git a/core/src/main/java/org/apache/brooklyn/core/resolve/jackson/BeanWithTypeUtils.java b/core/src/main/java/org/apache/brooklyn/core/resolve/jackson/BeanWithTypeUtils.java
index 9fe31ed..1b78fbd 100644
--- a/core/src/main/java/org/apache/brooklyn/core/resolve/jackson/BeanWithTypeUtils.java
+++ b/core/src/main/java/org/apache/brooklyn/core/resolve/jackson/BeanWithTypeUtils.java
@@ -169,7 +169,7 @@ public class BeanWithTypeUtils {
Object o = inputMap.get();
if (!(o instanceof Map) && !(o instanceof List) && !Boxing.isPrimitiveOrBoxedObject(o)) {
- if (type.isAssignableFrom(o.getClass())) {
+ if (type.isSupertypeOf(o.getClass())) {
return (Maybe<T>)inputMap;
} else {
return Maybe.absent(() -> new RuntimeException("BeanWithType cannot convert from "+o.getClass()+" to "+type));
@@ -178,13 +178,13 @@ public class BeanWithTypeUtils {
Maybe<T> fallback = null;
if (!BrooklynJacksonType.isRegisteredType(type)) {
- if (type.isAssignableFrom(Object.class)) {
+ if (type.isSupertypeOf(Object.class)) {
// the input is already valid, so use it as the fallback result
fallback = (Maybe<T>) inputMap;
// there isn't a 'type' key so little obvious point in converting .. might make a difference _inside_ a map or list, but we've not got any generics so it won't
if (!(o instanceof Map) || !((Map<?, ?>) o).containsKey("type")) return fallback;
- } else if (type.isAssignableFrom(Map.class)) {
+ } else if (type.isSupertypeOf(Map.class)) {
// skip conversion for a map if it isn't an object
return (Maybe<T>) inputMap;
}
diff --git a/core/src/main/java/org/apache/brooklyn/enricher/stock/Enrichers.java b/core/src/main/java/org/apache/brooklyn/enricher/stock/Enrichers.java
index cd438cb..ab87437 100644
--- a/core/src/main/java/org/apache/brooklyn/enricher/stock/Enrichers.java
+++ b/core/src/main/java/org/apache/brooklyn/enricher/stock/Enrichers.java
@@ -846,9 +846,9 @@ public class Enrichers {
public ComputingNumber(Number defaultValueForUnreportedSensors, Number valueToReportIfNoSensors, TypeToken<T> typeToken) {
this.defaultValueForUnreportedSensors = defaultValueForUnreportedSensors;
this.valueToReportIfNoSensors = valueToReportIfNoSensors;
- if (typeToken!=null && TypeToken.of(Number.class).isAssignableFrom(typeToken.getType())) {
+ if (typeToken!=null && TypeToken.of(Number.class).isSupertypeOf(typeToken.getType())) {
this.typeToken = typeToken;
- } else if (typeToken==null || typeToken.isAssignableFrom(Number.class)) {
+ } else if (typeToken==null || typeToken.isSupertypeOf(Number.class)) {
// use double if e.g. Object is supplied
this.typeToken = (TypeToken)TypeToken.of(Double.class);
} else {
@@ -948,9 +948,9 @@ public class Enrichers {
this.quorumCheck = quorumCheck;
this.totalSize = totalSize;
- if (typeToken!=null && TypeToken.of(Boolean.class).isAssignableFrom(typeToken.getType())) {
+ if (typeToken!=null && TypeToken.of(Boolean.class).isSupertypeOf(typeToken.getType())) {
this.typeToken = typeToken;
- } else if (typeToken==null || typeToken.isAssignableFrom(Boolean.class)) {
+ } else if (typeToken==null || typeToken.isSupertypeOf(Boolean.class)) {
this.typeToken = (TypeToken)TypeToken.of(Boolean.class);
} else {
throw new IllegalArgumentException("Type " + typeToken + " is not valid for " + this + " -- expected " + TypeToken.of(Boolean.class));
diff --git a/core/src/main/java/org/apache/brooklyn/enricher/stock/MathAggregatorFunctions.java b/core/src/main/java/org/apache/brooklyn/enricher/stock/MathAggregatorFunctions.java
index 8efa427..19be40d 100644
--- a/core/src/main/java/org/apache/brooklyn/enricher/stock/MathAggregatorFunctions.java
+++ b/core/src/main/java/org/apache/brooklyn/enricher/stock/MathAggregatorFunctions.java
@@ -98,9 +98,9 @@ public class MathAggregatorFunctions {
public AbstractComputingNumber(Number defaultValueForUnreportedSensors, Number valueToReportIfNoSensors, TypeToken<T> typeToken) {
this.defaultValueForUnreportedSensors = defaultValueForUnreportedSensors;
this.valueToReportIfNoSensors = valueToReportIfNoSensors;
- if (typeToken != null && TypeToken.of(Number.class).isAssignableFrom(typeToken.getType())) {
+ if (typeToken != null && TypeToken.of(Number.class).isSupertypeOf(typeToken.getType())) {
this.typeToken = typeToken;
- } else if (typeToken == null || typeToken.isAssignableFrom(Number.class)) {
+ } else if (typeToken == null || typeToken.isSupertypeOf(Number.class)) {
// use double if e.g. Object is supplied
this.typeToken = (TypeToken)TypeToken.of(Double.class);
} else {
diff --git a/core/src/main/java/org/apache/brooklyn/enricher/stock/PercentageEnricher.java b/core/src/main/java/org/apache/brooklyn/enricher/stock/PercentageEnricher.java
index 496dfaf..74f680c 100644
--- a/core/src/main/java/org/apache/brooklyn/enricher/stock/PercentageEnricher.java
+++ b/core/src/main/java/org/apache/brooklyn/enricher/stock/PercentageEnricher.java
@@ -18,6 +18,7 @@
*/
package org.apache.brooklyn.enricher.stock;
+import com.google.common.base.MoreObjects;
import org.apache.brooklyn.api.catalog.Catalog;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -87,7 +88,7 @@ public class PercentageEnricher extends AbstractEnricher implements SensorEventL
sourceCurrentSensor = Preconditions.checkNotNull(config().get(SOURCE_CURRENT_SENSOR), "Can't add percentage enricher to entity %s as it has no %s", entity, SOURCE_CURRENT_SENSOR.getName());
sourceTotalSensor = Preconditions.checkNotNull(config().get(SOURCE_TOTAL_SENSOR), "Can't add percentage enricher to entity %s as it has no %s", entity, SOURCE_TOTAL_SENSOR.getName());
targetSensor = Preconditions.checkNotNull(config().get(TARGET_SENSOR), "Can't add percentage enricher to entity %s as it has no %s", entity, TARGET_SENSOR.getName());
- producer = Objects.firstNonNull(config().get(PRODUCER), entity);
+ producer = MoreObjects.firstNonNull(config().get(PRODUCER), entity);
if (targetSensor.equals(sourceCurrentSensor) && entity.equals(producer)) {
throw new IllegalArgumentException("Can't add percentage enricher to entity " + entity + " as cycle detected with " + SOURCE_CURRENT_SENSOR.getName());
diff --git a/core/src/main/java/org/apache/brooklyn/entity/group/DynamicClusterImpl.java b/core/src/main/java/org/apache/brooklyn/entity/group/DynamicClusterImpl.java
index ba59b84..47db417 100644
--- a/core/src/main/java/org/apache/brooklyn/entity/group/DynamicClusterImpl.java
+++ b/core/src/main/java/org/apache/brooklyn/entity/group/DynamicClusterImpl.java
@@ -1168,7 +1168,7 @@ public class DynamicClusterImpl extends AbstractGroupImpl implements DynamicClus
"Waiting for permit then running " + effector.getName() + " on " + target,
obtainMutex, effectorTask);
}
- toSubmit.addListener(new ReleasePermit(getChildTaskSemaphore(), permitObtained), MoreExecutors.sameThreadExecutor());
+ toSubmit.addListener(new ReleasePermit(getChildTaskSemaphore(), permitObtained), /* same thread */ r -> r.run());
} else {
toSubmit = effectorTask;
}
diff --git a/core/src/main/java/org/apache/brooklyn/location/byon/ByonLocationResolver.java b/core/src/main/java/org/apache/brooklyn/location/byon/ByonLocationResolver.java
index 156b720..40a998f 100644
--- a/core/src/main/java/org/apache/brooklyn/location/byon/ByonLocationResolver.java
+++ b/core/src/main/java/org/apache/brooklyn/location/byon/ByonLocationResolver.java
@@ -73,7 +73,7 @@ public class ByonLocationResolver extends AbstractLocationResolver {
/**
* @todo Reimplement via a registry:
- * {@link org.apache.brooklyn.location.winrm.WinRmMachineLocation}
+ * org.apache.brooklyn.location.winrm.WinRmMachineLocation
* {@link org.apache.brooklyn.location.ssh.SshMachineLocation}
*/
public static final Map<String, String> OS_TO_MACHINE_LOCATION_TYPE = ImmutableMap.of(
@@ -176,9 +176,9 @@ public class ByonLocationResolver extends AbstractLocationResolver {
throw new IllegalArgumentException("Invalid portMapping ('"+override+"') for port "+port+" in "+specForErrMsg);
}
port = hostAndPortOverride.getPort();
- host = hostAndPortOverride.getHostText().trim();
+ host = hostAndPortOverride.getHost().trim();
} else {
- host = userAndHostAndPort.getHostAndPort().getHostText().trim();
+ host = userAndHostAndPort.getHostAndPort().getHost().trim();
}
machineConfig.put("address", host);
@@ -225,7 +225,7 @@ public class ByonLocationResolver extends AbstractLocationResolver {
UserAndHostAndPort userAndHostAndPort = parseUserAndHostAndPort(val);
- String host = userAndHostAndPort.getHostAndPort().getHostText().trim();
+ String host = userAndHostAndPort.getHostAndPort().getHost().trim();
machineConfig.put("address", host);
try {
InetAddress.getByName(host.trim());
@@ -261,7 +261,7 @@ public class ByonLocationResolver extends AbstractLocationResolver {
private UserAndHostAndPort parseUserAndHostAndPort(String val, int defaultPort) {
UserAndHostAndPort result = parseUserAndHostAndPort(val);
if (!result.getHostAndPort().hasPort()) {
- result = UserAndHostAndPort.fromParts(result.getUser(), result.getHostAndPort().getHostText(), defaultPort);
+ result = UserAndHostAndPort.fromParts(result.getUser(), result.getHostAndPort().getHost(), defaultPort);
}
return result;
}
diff --git a/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java b/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java
index 9acee3d..666f2ba 100644
--- a/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java
+++ b/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java
@@ -288,7 +288,7 @@ public class SshMachineLocation extends AbstractMachineLocation implements Machi
if (!publicEndpoint.hasPort()) {
throw new IllegalArgumentException("Invalid portMapping ('"+entry.getValue()+"') for port "+targetPort+" in machine "+this);
}
- pfm.associate(publicEndpoint.getHostText(), publicEndpoint, this, targetPort);
+ pfm.associate(publicEndpoint.getHost(), publicEndpoint, this, targetPort);
}
}
}
diff --git a/core/src/main/java/org/apache/brooklyn/policy/AbstractInvokeEffectorPolicy.java b/core/src/main/java/org/apache/brooklyn/policy/AbstractInvokeEffectorPolicy.java
index d0b5e67..d4a238d 100644
--- a/core/src/main/java/org/apache/brooklyn/policy/AbstractInvokeEffectorPolicy.java
+++ b/core/src/main/java/org/apache/brooklyn/policy/AbstractInvokeEffectorPolicy.java
@@ -83,7 +83,7 @@ public abstract class AbstractInvokeEffectorPolicy extends AbstractPolicy {
}
Task<T> task = entity.invoke(effector, parameters);
if (isBusySensorEnabled()) {
- task.addListener(new EffectorListener(), MoreExecutors.sameThreadExecutor());
+ task.addListener(new EffectorListener(), /* same thread */ Runnable::run);
}
return task;
}
diff --git a/core/src/main/java/org/apache/brooklyn/util/core/file/ArchiveBuilder.java b/core/src/main/java/org/apache/brooklyn/util/core/file/ArchiveBuilder.java
index 19cecac..3b11555 100644
--- a/core/src/main/java/org/apache/brooklyn/util/core/file/ArchiveBuilder.java
+++ b/core/src/main/java/org/apache/brooklyn/util/core/file/ArchiveBuilder.java
@@ -332,7 +332,7 @@ public class ArchiveBuilder {
if (!source.isDirectory()) {
throw new IllegalStateException("Cannot add multiple items at a path in archive unless they are directories: "+sources+" at "+path+" is not valid.");
}
- Iterable<File> children = Files.fileTreeTraverser().children(source);
+ Iterable<File> children = Files.fileTraverser().breadthFirst(source);
for (File child : children) {
addToArchive(Os.mergePaths(name, child.getName()), Collections.singleton(child), target);
}
diff --git a/core/src/main/java/org/apache/brooklyn/util/core/internal/ssh/sshj/SshjClientConnection.java b/core/src/main/java/org/apache/brooklyn/util/core/internal/ssh/sshj/SshjClientConnection.java
index 22a5d70..ddad016 100644
--- a/core/src/main/java/org/apache/brooklyn/util/core/internal/ssh/sshj/SshjClientConnection.java
+++ b/core/src/main/java/org/apache/brooklyn/util/core/internal/ssh/sshj/SshjClientConnection.java
@@ -187,7 +187,7 @@ public class SshjClientConnection implements SshAction<SSHClient> {
if (sessionTimeout != 0) {
ssh.setTimeout(sessionTimeout);
}
- ssh.connect(hostAndPort.getHostText(), hostAndPort.getPortOrDefault(22));
+ ssh.connect(hostAndPort.getHost(), hostAndPort.getPortOrDefault(22));
if (password != null) {
ssh.authPassword(username, password);
diff --git a/core/src/main/java/org/apache/brooklyn/util/core/task/ValueResolver.java b/core/src/main/java/org/apache/brooklyn/util/core/task/ValueResolver.java
index fcbd928..c2a4af2 100644
--- a/core/src/main/java/org/apache/brooklyn/util/core/task/ValueResolver.java
+++ b/core/src/main/java/org/apache/brooklyn/util/core/task/ValueResolver.java
@@ -215,7 +215,7 @@ public class ValueResolver<T> implements DeferredSupplier<T>, Iterable<Maybe<Obj
<S> ValueResolver<S> cloneReplacingValueAndType(Object newValue, TypeToken<S> superType) {
// superType expected to be either type or Object.class
- if (!superType.isAssignableFrom(typeT)) {
+ if (!superType.isSupertypeOf(typeT)) {
throw new IllegalStateException("superType must be assignable from " + typeT);
}
ValueResolver<S> result = new ValueResolver<S>(newValue, superType);