AMBARI-22297. Code cleanup (adoroszlai) * ServiceId.equals/hashCode * ServiceId.NULL * some lambdas * ? extends Object * useless ?:
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/6d151565 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/6d151565 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/6d151565 Branch: refs/heads/branch-feature-AMBARI-14714-blueprintv2 Commit: 6d1515651a9c28822992fcf64e2a5efd29d326ee Parents: f53855b Author: Attila Doroszlai <adorosz...@hortonworks.com> Authored: Wed Nov 22 09:48:16 2017 +0100 Committer: Doroszlai, Attila <adorosz...@hortonworks.com> Committed: Fri Dec 8 20:24:25 2017 +0100 ---------------------------------------------------------------------- .../controller/AmbariManagementControllerImpl.java | 2 +- .../server/controller/ConfigurationRequest.java | 4 ++-- .../ambari/server/topology/BlueprintV2Impl.java | 11 +---------- .../apache/ambari/server/topology/ComponentV2.java | 9 ++------- .../apache/ambari/server/topology/Configurable.java | 6 +++--- .../org/apache/ambari/server/topology/Service.java | 2 +- .../apache/ambari/server/topology/ServiceGroup.java | 7 ++----- .../apache/ambari/server/topology/ServiceId.java | 16 +++++++++------- .../ambari/server/topology/TopologyTemplate.java | 11 +++-------- 9 files changed, 24 insertions(+), 44 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/6d151565/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java index ca68a92..72e1754 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java @@ -1026,7 +1026,7 @@ public class AmbariManagementControllerImpl implements AmbariManagementControlle } Config config = createConfig(cluster, stackId, request.getType(), requestProperties, - request.getVersionTag(), propertiesAttributes, request.getServiceId() == null? null : request.getServiceId()); + request.getVersionTag(), propertiesAttributes, request.getServiceId()); LOG.info(MessageFormat.format("Creating configuration with tag ''{0}'' to cluster ''{1}'' for configuration type {2}", request.getVersionTag(), http://git-wip-us.apache.org/repos/asf/ambari/blob/6d151565/ambari-server/src/main/java/org/apache/ambari/server/controller/ConfigurationRequest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/ConfigurationRequest.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/ConfigurationRequest.java index d26cf16..3c83fed 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/ConfigurationRequest.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/ConfigurationRequest.java @@ -57,8 +57,8 @@ public class ConfigurationRequest { this.configs = configs; this.configsAttributes = configsAttributes; this.includeProperties = (type != null && tag != null); - this.serviceId = serviceId == null ? null : serviceId; - this.serviceGroupId = serviceGroupId == null ? null : serviceGroupId; + this.serviceId = serviceId; + this.serviceGroupId = serviceGroupId; } http://git-wip-us.apache.org/repos/asf/ambari/blob/6d151565/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintV2Impl.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintV2Impl.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintV2Impl.java index b27ab79..77fe5d8 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintV2Impl.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintV2Impl.java @@ -263,12 +263,6 @@ public class BlueprintV2Impl implements BlueprintV2 { return configuration; } - private void addChildConfiguration(Configuration parent, Configuration child) { - child.setParentConfiguration(parent); - parent.getProperties().putAll(child.getProperties()); - parent.getAttributes().putAll(child.getAttributes()); - } - @Override @JsonIgnore public Setting getSetting() { @@ -354,10 +348,7 @@ public class BlueprintV2Impl implements BlueprintV2 { final Set<String> serviceNames = getAllServices().stream().map(Service::getName).collect(toSet()); return getStacks().stream().anyMatch( - stack -> { - String service = stack.getServiceForConfigType(configType); - return serviceNames.contains(service); - } + stack -> serviceNames.contains(stack.getServiceForConfigType(configType)) ); } http://git-wip-us.apache.org/repos/asf/ambari/blob/6d151565/ambari-server/src/main/java/org/apache/ambari/server/topology/ComponentV2.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/ComponentV2.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/ComponentV2.java index 8a488b6a..3ba706d 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/ComponentV2.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/ComponentV2.java @@ -27,16 +27,11 @@ import com.fasterxml.jackson.annotation.JsonProperty; public class ComponentV2 implements Configurable { private String type; - private String name; - - private ServiceId serviceId = new ServiceId(null, null); - + private ServiceId serviceId = ServiceId.NULL; private ProvisionAction provisionAction = ProvisionAction.INSTALL_AND_START; - private Configuration configuration; - - private boolean masterComponent = false; + private boolean masterComponent; @JsonIgnore private Service service; http://git-wip-us.apache.org/repos/asf/ambari/blob/6d151565/ambari-server/src/main/java/org/apache/ambari/server/topology/Configurable.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/Configurable.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/Configurable.java index dca16e0..9a6886b 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/Configurable.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/Configurable.java @@ -36,7 +36,7 @@ public interface Configurable { Configuration getConfiguration(); @JsonProperty("configurations") - default void setConfigs(Collection<Map<String, Map<String, Map<String, ? extends Object>>>> configs) { + default void setConfigs(Collection<Map<String, Map<String, Map<String, ?>>>> configs) { if (null != configs) { Map<String, Map<String, String>> allProps = configs.stream(). filter(map -> map != null && !map.isEmpty() && map.values().iterator().next().get(Configuration.PROPERTIES_KEY) != null). @@ -56,12 +56,12 @@ public interface Configurable { } @JsonProperty("configurations") - default Collection<Map<String, Map<String, Map<String, ? extends Object>>>> getConfigs() { + default Collection<Map<String, Map<String, Map<String, ?>>>> getConfigs() { Configuration config = getConfiguration(); if (config != null) { Set<String> keys = Sets.union(config.getProperties().keySet(), config.getAttributes().keySet()); return keys.stream().map(key -> { - Map<String, Map<String, ? extends Object>> map = new HashMap<>(2); + Map<String, Map<String, ?>> map = new HashMap<>(2); if (config.getProperties().containsKey(key)) { map.put(Configuration.PROPERTIES_KEY, config.getProperties().get(key)); } http://git-wip-us.apache.org/repos/asf/ambari/blob/6d151565/ambari-server/src/main/java/org/apache/ambari/server/topology/Service.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/Service.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/Service.java index a45386f..bb38d0b 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/Service.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/Service.java @@ -36,7 +36,7 @@ public class Service implements Configurable { private String type; - private ServiceId id = new ServiceId(null, null); + private ServiceId id = ServiceId.NULL; private String stackId; http://git-wip-us.apache.org/repos/asf/ambari/blob/6d151565/ambari-server/src/main/java/org/apache/ambari/server/topology/ServiceGroup.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/ServiceGroup.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/ServiceGroup.java index c680747..dde7e84 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/ServiceGroup.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/ServiceGroup.java @@ -31,13 +31,10 @@ import com.google.common.collect.Multimaps; public class ServiceGroup { - private String name = null; - + private String name; private Map<String, Service> servicesByName; private ListMultimap<String, Service> servicesByType; - - private Configuration configuration = null; - + private Configuration configuration; private Set<String> dependencies = new HashSet<>(); public ServiceGroup() { } http://git-wip-us.apache.org/repos/asf/ambari/blob/6d151565/ambari-server/src/main/java/org/apache/ambari/server/topology/ServiceId.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/ServiceId.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/ServiceId.java index 9de0b3d..35a4d7d 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/ServiceId.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/ServiceId.java @@ -17,10 +17,15 @@ */ package org.apache.ambari.server.topology; +import java.util.Objects; + import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; public class ServiceId { + + public static final ServiceId NULL = new ServiceId(null, null); + private final String serviceGroup; private final String name; @@ -50,18 +55,15 @@ public class ServiceId { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - ServiceId serviceId = (ServiceId) o; + ServiceId other = (ServiceId) o; - if (serviceGroup != null ? !serviceGroup.equals(serviceId.serviceGroup) : serviceId.serviceGroup != null) - return false; - return name != null ? name.equals(serviceId.name) : serviceId.name == null; + return Objects.equals(serviceGroup, other.serviceGroup) && + Objects.equals(name, other.name); } @Override public int hashCode() { - int result = serviceGroup != null ? serviceGroup.hashCode() : 0; - result = 31 * result + (name != null ? name.hashCode() : 0); - return result; + return Objects.hash(serviceGroup, name); } @Override http://git-wip-us.apache.org/repos/asf/ambari/blob/6d151565/ambari-server/src/main/java/org/apache/ambari/server/topology/TopologyTemplate.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/TopologyTemplate.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/TopologyTemplate.java index fabd846..4b9e19b 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/TopologyTemplate.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/TopologyTemplate.java @@ -23,6 +23,7 @@ import static java.util.stream.Collectors.toMap; import java.util.Collection; import java.util.Collections; import java.util.Map; +import java.util.function.Function; import javax.annotation.Nullable; @@ -81,10 +82,7 @@ public class TopologyTemplate { @JsonProperty("services") public void setServices(Collection<Service> services) { - this.servicesById = services.stream().collect(toMap( - s -> s.getId(), - s -> s - )); + servicesById = services.stream().collect(toMap(Service::getId, Function.identity())); } public Collection<Credential> getCredentials() { @@ -130,10 +128,7 @@ public class TopologyTemplate { @JsonProperty("host_groups") public void setHostGroups(Collection<HostGroup> hostGroups) { - this.hostGroups = hostGroups.stream().collect(toMap( - hg -> hg.getName(), - hg -> hg - )); + this.hostGroups = hostGroups.stream().collect(toMap(HostGroup::getName, Function.identity())); } public void validate() throws IllegalStateException {