Author: stevel Date: Mon May 19 15:56:46 2014 New Revision: 1595941 URL: http://svn.apache.org/r1595941 Log: move AM model classes to java 7 language features
Modified: incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/AppState.java incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/NodeInstance.java incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/NodeMap.java incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/OutstandingRequest.java incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/OutstandingRequestTracker.java incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/RoleHistory.java incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/RoleInstance.java incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/RoleStatus.java Modified: incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/AppState.java URL: http://svn.apache.org/viewvc/incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/AppState.java?rev=1595941&r1=1595940&r2=1595941&view=diff ============================================================================== --- incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/AppState.java (original) +++ incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/AppState.java Mon May 19 15:56:46 2014 @@ -132,7 +132,7 @@ public class AppState implements StateAc * Client properties created via the provider -static for the life * of the application */ - private Map<String, String> clientProperties = new HashMap<String, String>(); + private Map<String, String> clientProperties = new HashMap<>(); /** The cluster description published to callers @@ -147,10 +147,10 @@ public class AppState implements StateAc private final Map<Integer, RoleStatus> roleStatusMap = - new ConcurrentHashMap<Integer, RoleStatus>(); + new ConcurrentHashMap<>(); private final Map<String, ProviderRole> roles = - new ConcurrentHashMap<String, ProviderRole>(); + new ConcurrentHashMap<>(); /** * The master node. @@ -162,7 +162,7 @@ public class AppState implements StateAc * been allocated but are not live; it is a superset of the live list */ private final ConcurrentMap<ContainerId, RoleInstance> activeContainers = - new ConcurrentHashMap<ContainerId, RoleInstance>(); + new ConcurrentHashMap<>(); /** * Hash map of the containers we have released, but we @@ -170,7 +170,7 @@ public class AppState implements StateAc * containers is treated as a successful outcome */ private final ConcurrentMap<ContainerId, Container> containersBeingReleased = - new ConcurrentHashMap<ContainerId, Container>(); + new ConcurrentHashMap<>(); /** * Counter for completed containers ( complete denotes successful or failed ) @@ -205,34 +205,34 @@ public class AppState implements StateAc * the node is promoted from here to the containerMap */ private final Map<ContainerId, RoleInstance> startingNodes = - new ConcurrentHashMap<ContainerId, RoleInstance>(); + new ConcurrentHashMap<>(); /** * List of completed nodes. This isn't kept in the CD as it gets too * big for the RPC responses. Indeed, we should think about how deep to get this */ private final Map<ContainerId, RoleInstance> completedNodes - = new ConcurrentHashMap<ContainerId, RoleInstance>(); + = new ConcurrentHashMap<>(); /** * Nodes that failed to start. * Again, kept out of the CD */ private final Map<ContainerId, RoleInstance> failedNodes = - new ConcurrentHashMap<ContainerId, RoleInstance>(); + new ConcurrentHashMap<>(); /** * Nodes that came assigned to a role above that * which were asked for -this appears to happen */ - private final Set<ContainerId> surplusNodes = new HashSet<ContainerId>(); + private final Set<ContainerId> surplusNodes = new HashSet<>(); /** * Map of containerID -> cluster nodes, for status reports. * Access to this should be synchronized on the clusterDescription */ private final Map<ContainerId, RoleInstance> liveNodes = - new ConcurrentHashMap<ContainerId, RoleInstance>(); + new ConcurrentHashMap<>(); private final AtomicInteger completionOfNodeNotInLiveListEvent = new AtomicInteger(); private final AtomicInteger completionOfUnknownContainerEvent = @@ -464,7 +464,7 @@ public class AppState implements StateAc this.applicationInfo = applicationInfo != null ? applicationInfo : new HashMap<String, String>(); - clientProperties = new HashMap<String, String>(); + clientProperties = new HashMap<>(); Set<String> confKeys = ConfigHelper.sortedConfigKeys(publishedProviderConf); @@ -778,7 +778,7 @@ public class AppState implements StateAc @Override public synchronized List<RoleInstance> cloneActiveContainerList() { Collection<RoleInstance> values = activeContainers.values(); - return new ArrayList<RoleInstance>(values); + return new ArrayList<>(values); } @Override @@ -795,7 +795,7 @@ public class AppState implements StateAc public synchronized List<RoleInstance> cloneLiveContainerInfoList() { List<RoleInstance> allRoleInstances; Collection<RoleInstance> values = getLiveNodes().values(); - allRoleInstances = new ArrayList<RoleInstance>(values); + allRoleInstances = new ArrayList<>(values); return allRoleInstances; } @@ -818,7 +818,7 @@ public class AppState implements StateAc Collection<String> containerIDs) { //first, a hashmap of those containerIDs is built up Set<String> uuidSet = new HashSet<String>(containerIDs); - List<RoleInstance> nodes = new ArrayList<RoleInstance>(uuidSet.size()); + List<RoleInstance> nodes = new ArrayList<>(uuidSet.size()); Collection<RoleInstance> clusterNodes = getLiveNodes().values(); for (RoleInstance node : clusterNodes) { @@ -836,7 +836,7 @@ public class AppState implements StateAc * @return a list of nodes, may be empty */ public synchronized List<RoleInstance> enumLiveNodesInRole(String role) { - List<RoleInstance> nodes = new ArrayList<RoleInstance>(); + List<RoleInstance> nodes = new ArrayList<>(); Collection<RoleInstance> allRoleInstances = getLiveNodes().values(); for (RoleInstance node : allRoleInstances) { if (role.isEmpty() || role.equals(node.role)) { @@ -852,11 +852,11 @@ public class AppState implements StateAc * @return the map of Role name to list of role instances */ private synchronized Map<String, List<String>> createRoleToInstanceMap() { - Map<String, List<String>> map = new HashMap<String, List<String>>(); + Map<String, List<String>> map = new HashMap<>(); for (RoleInstance node : getLiveNodes().values()) { List<String> containers = map.get(node.role); if (containers == null) { - containers = new ArrayList<String>(); + containers = new ArrayList<>(); map.put(node.role, containers); } containers.add(node.id); @@ -868,13 +868,12 @@ public class AppState implements StateAc * @return the map of Role name to list of Cluster Nodes, ready */ private synchronized Map<String, Map<String, ClusterNode>> createRoleToClusterNodeMap() { - Map<String, Map<String, ClusterNode>> map = - new HashMap<String, Map<String, ClusterNode>>(); + Map<String, Map<String, ClusterNode>> map = new HashMap<>(); for (RoleInstance node : getLiveNodes().values()) { Map<String, ClusterNode> containers = map.get(node.role); if (containers == null) { - containers = new HashMap<String, ClusterNode>(); + containers = new HashMap<>(); map.put(node.role, containers); } Messages.RoleInstanceState pbuf = node.toProtobuf(); @@ -1226,7 +1225,7 @@ public class AppState implements StateAc String user = null; try { user = SliderUtils.getCurrentUser().getShortUserName(); - } catch (IOException ioe) { + } catch (IOException ignored) { } String completedLogsUrl = null; Container c = roleInstance.container; @@ -1335,7 +1334,7 @@ public class AppState implements StateAc MapOperations infoOps = new MapOperations("info",cd.info); infoOps.mergeWithoutOverwrite(applicationInfo); SliderUtils.addBuildInfo(infoOps, "status"); - cd.statistics = new HashMap<String, Map<String, Integer>>(); + cd.statistics = new HashMap<>(); // build the map of node -> container IDs Map<String, List<String>> instanceMap = createRoleToInstanceMap(); @@ -1344,7 +1343,7 @@ public class AppState implements StateAc //build the map of node -> containers Map<String, Map<String, ClusterNode>> clusterNodes = createRoleToClusterNodeMap(); - cd.status = new HashMap<String, Object>(); + cd.status = new HashMap<>(); cd.status.put(ClusterDescriptionKeys.KEY_CLUSTER_LIVE, clusterNodes); @@ -1363,7 +1362,7 @@ public class AppState implements StateAc cd.statistics.put(rolename, stats); } - Map<String, Integer> sliderstats = new HashMap<String, Integer>(); + Map<String, Integer> sliderstats = new HashMap<>(); sliderstats.put(StatusKeys.STATISTICS_CONTAINERS_COMPLETED, completedContainerCount.get()); sliderstats.put(StatusKeys.STATISTICS_CONTAINERS_FAILED, @@ -1387,8 +1386,7 @@ public class AppState implements StateAc public synchronized List<AbstractRMOperation> reviewRequestAndReleaseNodes() throws SliderInternalStateException, TriggerClusterTeardownException { log.debug("in reviewRequestAndReleaseNodes()"); - List<AbstractRMOperation> allOperations = - new ArrayList<AbstractRMOperation>(); + List<AbstractRMOperation> allOperations = new ArrayList<>(); for (RoleStatus roleStatus : getRoleStatusMap().values()) { if (!roleStatus.getExcludeFromFlexing()) { List<AbstractRMOperation> operations = reviewOneRole(roleStatus); @@ -1426,7 +1424,7 @@ public class AppState implements StateAc */ public List<AbstractRMOperation> reviewOneRole(RoleStatus role) throws SliderInternalStateException, TriggerClusterTeardownException { - List<AbstractRMOperation> operations = new ArrayList<AbstractRMOperation>(); + List<AbstractRMOperation> operations = new ArrayList<>(); int delta; String details; int expected; @@ -1520,7 +1518,7 @@ public class AppState implements StateAc Collection<RoleInstance> targets = cloneActiveContainerList(); log.info("Releasing {} containers", targets.size()); List<AbstractRMOperation> operations = - new ArrayList<AbstractRMOperation>(targets.size()); + new ArrayList<>(targets.size()); for (RoleInstance instance : targets) { Container possible = instance.container; ContainerId id = possible.getId(); Modified: incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/NodeInstance.java URL: http://svn.apache.org/viewvc/incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/NodeInstance.java?rev=1595941&r1=1595940&r2=1595941&view=diff ============================================================================== --- incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/NodeInstance.java (original) +++ incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/NodeInstance.java Mon May 19 15:56:46 2014 @@ -41,7 +41,7 @@ public class NodeInstance { */ public NodeInstance(String hostname, int roles) { this.hostname = hostname; - nodeEntries = new ArrayList<NodeEntry>(roles); + nodeEntries = new ArrayList<>(roles); } /** Modified: incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/NodeMap.java URL: http://svn.apache.org/viewvc/incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/NodeMap.java?rev=1595941&r1=1595940&r2=1595941&view=diff ============================================================================== --- incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/NodeMap.java (original) +++ incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/NodeMap.java Mon May 19 15:56:46 2014 @@ -73,7 +73,7 @@ public class NodeMap extends HashMap<Str * in that role */ public List<NodeInstance> listActiveNodes(int role) { - List<NodeInstance> nodes = new ArrayList<NodeInstance>(); + List<NodeInstance> nodes = new ArrayList<>(); for (NodeInstance instance : values()) { if (instance.getActiveRoleInstances(role) > 0) { nodes.add(instance); @@ -113,9 +113,9 @@ public class NodeMap extends HashMap<Str * @return a possibly empty list of nodes. */ public List<NodeInstance> findNodesForRelease(int role, int count) { - List<NodeInstance> targets = new ArrayList<NodeInstance>(count); + List<NodeInstance> targets = new ArrayList<>(count); List<NodeInstance> active = listActiveNodes(role); - List<NodeInstance> multiple = new ArrayList<NodeInstance>(); + List<NodeInstance> multiple = new ArrayList<>(); int nodesRemaining = count; log.debug("searching for {} nodes with candidate set size {}", nodesRemaining, active.size()); Modified: incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/OutstandingRequest.java URL: http://svn.apache.org/viewvc/incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/OutstandingRequest.java?rev=1595941&r1=1595940&r2=1595941&view=diff ============================================================================== --- incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/OutstandingRequest.java (original) +++ incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/OutstandingRequest.java Mon May 19 15:56:46 2014 @@ -57,7 +57,7 @@ public final class OutstandingRequest { public final String hostname; /** - * requested time -only valid after {@link #buildContainerRequest(Resource, long)} + * requested time -only valid after buildContainerRequest(Resource, long)} */ public long requestedTime; Modified: incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/OutstandingRequestTracker.java URL: http://svn.apache.org/viewvc/incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/OutstandingRequestTracker.java?rev=1595941&r1=1595940&r2=1595941&view=diff ============================================================================== --- incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/OutstandingRequestTracker.java (original) +++ incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/OutstandingRequestTracker.java Mon May 19 15:56:46 2014 @@ -43,7 +43,7 @@ public class OutstandingRequestTracker { LoggerFactory.getLogger(OutstandingRequestTracker.class); private Map<OutstandingRequest, OutstandingRequest> requests = - new HashMap<OutstandingRequest, OutstandingRequest>(); + new HashMap<>(); /** * Create a new request for the specific role. If a @@ -161,7 +161,7 @@ public class OutstandingRequestTracker { * @return possibly empty list of hostnames */ public synchronized List<NodeInstance> cancelOutstandingRequests(int role) { - List<NodeInstance> hosts = new ArrayList<NodeInstance>(); + List<NodeInstance> hosts = new ArrayList<>(); Iterator<Map.Entry<OutstandingRequest,OutstandingRequest>> iterator = requests.entrySet().iterator(); while (iterator.hasNext()) { @@ -178,6 +178,6 @@ public class OutstandingRequestTracker { } public synchronized List<OutstandingRequest> listOutstandingRequests() { - return new ArrayList<OutstandingRequest>(requests.values()); + return new ArrayList<>(requests.values()); } } Modified: incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/RoleHistory.java URL: http://svn.apache.org/viewvc/incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/RoleHistory.java?rev=1595941&r1=1595940&r2=1595941&view=diff ============================================================================== --- incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/RoleHistory.java (original) +++ incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/RoleHistory.java Mon May 19 15:56:46 2014 @@ -60,7 +60,7 @@ public class RoleHistory { LoggerFactory.getLogger(RoleHistory.class); private final List<ProviderRole> providerRoles; private final Map<String, ProviderRole> providerRoleMap = - new HashMap<String, ProviderRole>(); + new HashMap<>(); private long startTime; /** * Time when saved @@ -109,7 +109,7 @@ public class RoleHistory { resetAvailableNodeLists(); outstandingRequests = new OutstandingRequestTracker(); - Map<Integer, RoleStatus> roleStats = new HashMap<Integer, RoleStatus>(); + Map<Integer, RoleStatus> roleStats = new HashMap<>(); for (ProviderRole providerRole : providerRoles) { @@ -141,7 +141,7 @@ public class RoleHistory { */ public void addNewProviderRole(ProviderRole providerRole) throws BadConfigException { - Map<Integer, RoleStatus> roleStats = new HashMap<Integer, RoleStatus>(); + Map<Integer, RoleStatus> roleStats = new HashMap<>(); for (ProviderRole role : providerRoles) { @@ -155,7 +155,7 @@ public class RoleHistory { * Clear the lists of available nodes */ private synchronized void resetAvailableNodeLists() { - availableNodes = new HashMap<Integer, LinkedList<NodeInstance>>(roleSize); + availableNodes = new HashMap<>(roleSize); } /** @@ -431,8 +431,8 @@ public class RoleHistory { */ private LinkedList<NodeInstance> getOrCreateNodesForRoleId(int id) { LinkedList<NodeInstance> instances = availableNodes.get(id); - if (instances==null) { - instances = new LinkedList<NodeInstance>(); + if (instances == null) { + instances = new LinkedList<>(); availableNodes.put(id, instances); } return instances; @@ -544,8 +544,8 @@ public class RoleHistory { } /** - * Get the node instance of a an address if defined - * @param addr address + * Get the node instance of a host if defined + * @param hostname hostname to look up * @return a node instance or null */ public synchronized NodeInstance getExistingNodeInstance(String hostname) { @@ -565,7 +565,7 @@ public class RoleHistory { List<Container> requested = new ArrayList<Container>(allocatedContainers.size()); List<Container> unrequested = - new ArrayList<Container>(allocatedContainers.size()); + new ArrayList<>(allocatedContainers.size()); outstandingRequests.partitionRequests(this, allocatedContainers, requested, unrequested); //give the unrequested ones lower priority @@ -742,7 +742,7 @@ public class RoleHistory { */ @VisibleForTesting public List<NodeInstance> cloneAvailableList(int role) { - return new LinkedList<NodeInstance>(getOrCreateNodesForRoleId(role)); + return new LinkedList<>(getOrCreateNodesForRoleId(role)); } /** Modified: incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/RoleInstance.java URL: http://svn.apache.org/viewvc/incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/RoleInstance.java?rev=1595941&r1=1595940&r2=1595941&view=diff ============================================================================== --- incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/RoleInstance.java (original) +++ incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/RoleInstance.java Mon May 19 15:56:46 2014 @@ -18,6 +18,7 @@ package org.apache.slider.server.appmaster.state; +import com.google.common.base.Preconditions; import org.apache.hadoop.yarn.api.records.Container; import org.apache.hadoop.yarn.api.records.ContainerId; import org.apache.hadoop.yarn.api.records.NodeId; @@ -88,13 +89,11 @@ public final class RoleInstance implemen public Object providerInfo; public RoleInstance(Container container) { + Preconditions.checkNotNull(container, "Null container"); + Preconditions.checkState(container.getId() != null, + "Null container ID"); + this.container = container; - if (container == null) { - throw new NullPointerException("Null container"); - } - if (container.getId() == null) { - throw new NullPointerException("Null container ID"); - } id = container.getId().toString(); if (container.getNodeId() != null) { host = container.getNodeId().getHost(); Modified: incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/RoleStatus.java URL: http://svn.apache.org/viewvc/incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/RoleStatus.java?rev=1595941&r1=1595940&r2=1595941&view=diff ============================================================================== --- incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/RoleStatus.java (original) +++ incubator/slider/trunk/slider-core/src/main/java/org/apache/slider/server/appmaster/state/RoleStatus.java Mon May 19 15:56:46 2014 @@ -246,7 +246,7 @@ public final class RoleStatus implements * @return a map for use in statistics reports */ public Map<String, Integer> buildStatistics() { - Map<String, Integer> stats = new HashMap<String, Integer>(); + Map<String, Integer> stats = new HashMap<>(); stats.put(StatusKeys.STATISTICS_CONTAINERS_ACTIVE_REQUESTS, getRequested()); stats.put(StatusKeys.STATISTICS_CONTAINERS_COMPLETED, getCompleted()); stats.put(StatusKeys.STATISTICS_CONTAINERS_DESIRED, getDesired());