Advertisement
Guest User

Untitled

a guest
Sep 17th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 2.60 KB | None | 0 0
  1. public class DomainResultHandler implements NewStepHandler {
  2.  
  3.     private final DomainOperationContext domainOperationContext;
  4.  
  5.     public DomainResultHandler(DomainOperationContext domainOperationContext) {
  6.         this.domainOperationContext = domainOperationContext;
  7.     }
  8.  
  9.     @Override
  10.     public void execute(NewOperationContext context, ModelNode operation) throws OperationFailedException {
  11.         final ModelNode result = context.getResult();
  12.  
  13.  
  14.  
  15.         populateServerResults(result);
  16.  
  17.         //TODO implement execute
  18.         throw new UnsupportedOperationException();
  19.     }
  20.  
  21.     private void populateServerResults(ModelNode result) {
  22.         final Set<String> groupNames = new TreeSet<String>();
  23.         final Map<String, Set<HostServer>> groupToServerMap = new HashMap<String, Set<HostServer>>();
  24.         for (Map.Entry<ServerIdentity, ModelNode> entry : domainOperationContext.getServerResults().entrySet()) {
  25.             final String serverGroup = entry.getKey().getServerGroupName();
  26.             groupNames.add(serverGroup);
  27.             final String hostName = entry.getKey().getHostName();
  28.             final String serverName = entry.getKey().getHostName();
  29.             if(!groupToServerMap.containsKey(serverGroup)) {
  30.                 groupToServerMap.put(serverGroup, new TreeSet<HostServer>());
  31.             }
  32.             groupToServerMap.get(serverGroup).add(new HostServer(hostName, serverName, entry.getValue()));
  33.         }
  34.  
  35.         for(String groupName : groupNames) {
  36.             final ModelNode groupNode = new ModelNode();
  37.             for(HostServer hostServer : groupToServerMap.get(groupName)) {
  38.                 final ModelNode serverNode = new ModelNode();
  39.                 serverNode.get(HOST).set(hostServer.hostName);
  40.                 serverNode.get(RESPONSE).set(hostServer.result);
  41.                 groupNode.add(hostServer.serverName, serverNode);
  42.             }
  43.             result.get(SERVER_GROUPS).add(groupName, groupNode);
  44.         }
  45.     }
  46.  
  47.     private class HostServer implements Comparable<HostServer> {
  48.         private final String hostName;
  49.         private final String serverName;
  50.         private final ModelNode result;
  51.  
  52.         private HostServer(String hostName, String serverName, ModelNode result) {
  53.             this.hostName = hostName;
  54.             this.serverName = serverName;
  55.             this.result = result;
  56.         }
  57.  
  58.         public int compareTo(HostServer hostServer) {
  59.             int hostCompare = hostName.compareTo(hostServer.hostName);
  60.             if(hostCompare != 0) {
  61.                 return hostCompare;
  62.             }
  63.             return serverName.compareTo(hostServer.serverName);
  64.         }
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement