/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.intel.mtwilson.as.rest.v2.rpc; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; import com.intel.mtwilson.datatypes.HostConfigDataList; import com.intel.mtwilson.datatypes.HostConfigDataList; import com.intel.mtwilson.datatypes.HostConfigResponse; import com.intel.mtwilson.datatypes.HostConfigResponseList; import com.intel.mtwilson.launcher.ws.ext.RPC; import com.intel.mtwilson.ms.business.HostBO; import java.util.List; import org.apache.shiro.authz.annotation.RequiresPermissions; /** * * @author ssbangal */ @RPC("register-hosts-with-options") @JacksonXmlRootElement(localName="register_hosts_with_options") public class RegisterHostsWithOptionsRunnable implements Runnable{ private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(RegisterHostsWithOptionsRunnable.class); private HostConfigDataList hosts; private HostConfigResponseList result; public HostConfigDataList getHosts() { return hosts; } public void setHosts(HostConfigDataList hosts) { this.hosts = hosts; } public HostConfigResponseList getResult() { return result; } public void setResult(HostConfigResponseList result) { this.result = result; } @Override @RequiresPermissions({"hosts:create,store"}) public void run() { log.debug("Got request to register # {} of servers.", hosts.getHostRecords().size()); result = new HostBO().registerHosts(hosts); List<HostConfigResponse> hostRecords = result.getHostRecords(); for (HostConfigResponse hcr : hostRecords) { log.debug("Processed server {} with status {}.", hcr.getHostName(), hcr.getStatus()); } } }