/** * Create an instance of {@link V3Hosts } * */ public V3Hosts createV3Hosts() { return new V3Hosts(); }
@Override public Hosts adapt(V3Hosts from) { Hosts to = new Hosts(); if (from.isSetActions()) { to.setActions(adaptIn(from.getActions())); } if (from.isSetActive()) { to.setActive(from.getActive()); } if (from.isSetSize()) { to.setSize(from.getSize()); } if (from.isSetTotal()) { to.setTotal(from.getTotal()); } to.getHosts().addAll(adaptIn(from.getHosts())); return to; } }
@Override public V3Hosts adapt(Hosts from) { V3Hosts to = new V3Hosts(); if (from.isSetActions()) { to.setActions(adaptOut(from.getActions())); } if (from.isSetActive()) { to.setActive(from.getActive()); } if (from.isSetSize()) { to.setSize(from.getSize()); } if (from.isSetTotal()) { to.setTotal(from.getTotal()); } to.getHosts().addAll(adaptOut(from.getHosts())); return to; } }
@Override public V3DNS adapt(Dns from) { V3DNS to = new V3DNS(); if (from.isSetSearchDomains()) { to.setSearchDomains(new V3Hosts()); to.getSearchDomains().getHosts().addAll(adaptOut(from.getSearchDomains().getHosts())); } if (from.isSetServers()) { to.setServers(new V3Hosts()); to.getServers().getHosts().addAll(adaptOut(from.getServers().getHosts())); } return to; } }
@GET public V3Hosts list(@Context HttpHeaders headers, @Context UriInfo ui) { V3Hosts hosts = adaptList(getDelegate()::list); // In V3 the collection of hosts used to have the statistics inline, but only when the 'statistics' detail // was explicitly provided: Set<String> details = DetailHelper.getDetails(headers, ui); if (details.contains("statistics")) { hosts.getHosts().forEach(V3HostHelper::addStatistics); } return hosts; }
@Override public V3VmPlacementPolicy adapt(VmPlacementPolicy from) { V3VmPlacementPolicy to = new V3VmPlacementPolicy(); if (from.isSetAffinity()) { to.setAffinity(from.getAffinity().value()); } if (from.isSetHosts()) { to.setHosts(new V3Hosts()); to.getHosts().getHosts().addAll(adaptOut(from.getHosts().getHosts())); // V3 allowed specifying only one host, using the "host" element instead of "hosts": List<Host> hosts = from.getHosts().getHosts(); if (hosts.size() == 1) { V3Host host = adaptOut(hosts.get(0)); to.setHost(host); } } return to; } }
@Override public Dns adapt(V3DNS from) { Dns to = new Dns(); if (from.isSetSearchDomains()) { to.setSearchDomains(new Hosts()); to.getSearchDomains().getHosts().addAll(adaptIn(from.getSearchDomains().getHosts())); } if (from.isSetServers()) { to.setServers(new Hosts()); to.getServers().getHosts().addAll(adaptIn(from.getServers().getHosts())); } return to; } }
@Override public VmPlacementPolicy adapt(V3VmPlacementPolicy from) { VmPlacementPolicy to = new VmPlacementPolicy(); if (from.isSetAffinity()) { to.setAffinity(VmAffinity.fromValue(from.getAffinity())); } if (from.isSetHosts()) { to.setHosts(new Hosts()); to.getHosts().getHosts().addAll(adaptIn(from.getHosts().getHosts())); } // V3 allowed specifying only one host, using "host" instead of "hosts": if (from.isSetHost() && !from.isSetHosts()) { Hosts hosts = new Hosts(); Host host = adaptIn(from.getHost()); hosts.getHosts().add(host); to.setHosts(hosts); } return to; } }