package org.wso2.carbon.device.mgt.iot.agent.kura.display; import org.wso2.carbon.device.mgt.iot.agent.kura.display.config.ConfigConstants; import org.wso2.carbon.device.mgt.iot.agent.kura.display.config.ConfigManager; import org.wso2.carbon.device.mgt.iot.agent.kura.display.resource.ResourceUtil; import java.io.File; import java.util.logging.Logger; public class Bootstrap { private final static Logger log = Logger.getLogger(Bootstrap.class.getName()); /** * Displays the application details. */ private void displayBanner() { ConfigManager configManager = ConfigManager.getInstance(); String appName = configManager.getRunnerConfig().getString( ConfigConstants.RUNNER_CONFIG_NAME); String appKey = configManager.getRunnerConfig().getString( ConfigConstants.RUNNER_CONFIG_SERVER_KEY); String appVersion = configManager.getRunnerConfig().getString( ConfigConstants.RUNNER_CONFIG_VERSION); log.info(appName + "(" + appKey + ") " + appVersion + "\n"); } /** * Starts HTTP Server. */ private void startHttpServer() { //get doc root ConfigManager configManager = ConfigManager.getInstance(); String displayAgentHome = ResourceUtil.getDisplayAgentHome(); File serverDocRoot = new File( displayAgentHome + File.separator + LauncherConstants.WEB_APPS_PATH); //get server port int serverPort = configManager.getRunnerConfig().getInt( ConfigConstants.RUNNER_CONFIG_KEY_WEB_BROWSER_PORT, LauncherConstants.DEFAULT_SERVER_PORT); //start server HttpServer httpServer = new HttpServer(serverDocRoot, serverPort); Thread httpServerThread = new Thread(httpServer); httpServerThread.start(); } /** * Starts Sequence Runnner. */ private void startSequenceRunner() { SequenceRunner sequenceRunner = new SequenceRunner(); Thread sequenceRunnerThread = new Thread(sequenceRunner); sequenceRunnerThread.start(); } /** * Starts Update Manager. */ private void startUpdateManager() { UpdateManager updateManager = UpdateManager.getInstance(); updateManager.startScript(); } /** * Initiates Config Manager. */ private void initConfigManager() { ConfigManager configManager = ConfigManager.getInstance(); configManager.initConfig(); } public static void main(String[] args) { Bootstrap displayAgent = new Bootstrap(); displayAgent.initConfigManager(); displayAgent.displayBanner(); displayAgent.startHttpServer(); displayAgent.startSequenceRunner(); displayAgent.startUpdateManager(); } }