Example #1
0
  /**
   * This method returns a default configuration for a new remote container.
   *
   * @param preventUsageOfAlreadyUsedComputers the prevent usage of already used computers
   * @return the default RemoteContainerConfig
   */
  private RemoteContainerConfig getRemoteContainerConfigAuto() {

    // --- Variable for the new container name ------------------
    String newContainerPrefix = "remote";
    String newContainerName;
    // --- Get the local IP-Address -----------------------------
    String myIP = myContainer.getNodeDescriptor().getContainer().getAddress();
    // --- Get the local port of JADE ---------------------------
    String myPort = myContainer.getNodeDescriptor().getContainer().getPort();

    // --- Get the List of services started here ----------------
    String myServices = "";
    List<?> services = myContainer.getServiceManager().getLocalServices();
    Iterator<?> it = services.iterator();
    while (it.hasNext()) {
      ServiceDescriptor serviceDesc = (ServiceDescriptor) it.next();
      String service = serviceDesc.getService().getClass().getName() + ";";
      myServices += service;
    }

    newContainerName = newContainerPrefix + getSuffixNo(newContainerPrefix);

    logger.info("-- Infos to start the remote container ------------");
    logger.info("=> Services2Start:   " + myServices);
    logger.info("=> NewContainerName: " + newContainerName);
    logger.info("=> ThisAddresses:    " + myIP + " - Port: " + myPort);

    // --- Define the 'RemoteContainerConfig' - Object ----------
    RemoteContainerConfig remConf = new RemoteContainerConfig();
    remConf.setJadeServices(myServices);
    remConf.setJadeIsRemoteContainer(true);
    remConf.setJadeHost(myIP);
    remConf.setJadePort(myPort);
    remConf.setJadeContainerName(newContainerName);
    remConf.setJadeShowGUI(true);

    // --- Apply defaults, if set -------------------------------
    if (this.defaults4RemoteContainerConfig != null) {
      remConf.setJadeShowGUI(this.defaults4RemoteContainerConfig.getJadeShowGUI());
      remConf.setJvmMemAllocInitial(this.defaults4RemoteContainerConfig.getJvmMemAllocInitial());
      remConf.setJvmMemAllocMaximum(this.defaults4RemoteContainerConfig.getJvmMemAllocMaximum());
    }
    return remConf;
  }