Package se.unlogic.eagledns

Source Code of se.unlogic.eagledns.EagleManagerClient

package se.unlogic.eagledns;

import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;

import se.unlogic.standardutils.settings.XMLSettingNode;


public class EagleManagerClient {

  public static EagleManager getManager(String host, int port, String password) throws RemoteException, NotBoundException {

    Registry registry = LocateRegistry.getRegistry(host,port);

    EagleLogin eagleLogin = (EagleLogin) registry.lookup("eagleLogin");

    return eagleLogin.login(password);
  }



  public static void main(String[] args) {

    if(args.length != 3 || (!args[2].equals("reload") && !args[2].equals("shutdown"))){

      System.out.println("Usage EagleManagerClient config host command");
      System.out.println("Valid commands are: reload, shutdown");
      return;
    }

    XMLSettingNode configFile;

    try {
      configFile = new XMLSettingNode(args[0]);

    } catch (Exception e) {

      System.out.println("Unable to open config file " + args[0] + "!");
      return;
    }

    String password = configFile.getString("/Config/System/RemoteManagementPassword");

    if(password == null){

      System.out.println("No remote management password found in config!");
      return;
    }

    Integer port = configFile.getInteger("/Config/System/RemoteManagementPort");

    if(port == null){

      System.out.println("No remote management port found in config!");
      return;
    }

    try {
      EagleManager eagleManager = getManager(args[1], port, password);

      if(eagleManager == null){

        System.out.println("Invalid password!");

      }else{

        if(args[2].equals("reload")){

          eagleManager.reloadZones();
          System.out.println("Zones reloaded");

        }else{

          eagleManager.shutdown();
          System.out.println("Shutdown command sent");
        }
      }

    } catch (RemoteException e) {

      System.out.println("Unable to connect " + e);

    } catch (NotBoundException e) {

      System.out.println("Unable to connect " + e);
    }
  }
}
TOP

Related Classes of se.unlogic.eagledns.EagleManagerClient

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.