protected void doSubmitAction(Object cmd) throws Exception {
    NetworkSettingsCommand command = (NetworkSettingsCommand) cmd;

    settingsService.setPortForwardingEnabled(command.isPortForwardingEnabled());
    settingsService.setUrlRedirectionEnabled(command.isUrlRedirectionEnabled());
    settingsService.setUrlRedirectFrom(StringUtils.lowerCase(command.getUrlRedirectFrom()));

    if (!settingsService.isLicenseValid() && settingsService.getUrlRedirectTrialExpires() == null) {
      Date expiryDate = new Date(System.currentTimeMillis() + TRIAL_DAYS * 24L * 3600L * 1000L);
      settingsService.setUrlRedirectTrialExpires(expiryDate);
    }

    if (settingsService.getServerId() == null) {
      Random rand = new Random(System.currentTimeMillis());
      settingsService.setServerId(String.valueOf(Math.abs(rand.nextLong())));
    }

    settingsService.save();
    networkService.initPortForwarding();
    networkService.initUrlRedirection(true);
  }