public void serverChanged(ServerEvent event) {
    final IServer server = event.getServer();
    JBossServer jbs =
        (JBossServer) server.loadAdapter(JBossServer.class, new NullProgressMonitor());
    if (jbs != null && serverSwitchesToState(event, IServer.STATE_STARTING)) {
      // do not launch console for remotes, for now
      String type = ServerProfileModel.getProfile(server);
      if (!ServerProfileModel.DEFAULT_SERVER_PROFILE.equals(type)) return;

      new Thread() {
        public void run() {
          try {
            // delay to insure the server gets a chance to actually launch
            Thread.sleep(3000);
          } catch (InterruptedException ie) {
          }
          Display.getDefault()
              .asyncExec(
                  new Runnable() {
                    public void run() {
                      ILaunch launch = server.getLaunch();
                      if (launch != null && launch.getProcesses().length > 0)
                        new ShowInConsoleAction(getNullSelectionProvider()).perform(server);
                    }
                  });
        }
      }.start();
    }
  }
 public void serverChanged(ServerEvent event) {
   IServer s = event.getServer();
   JBossExtendedProperties props =
       (JBossExtendedProperties) s.loadAdapter(JBossExtendedProperties.class, null);
   if (props != null
       && props.getMultipleDeployFolderSupport()
           == ServerExtendedProperties.DEPLOYMENT_SCANNER_AS7_MANAGEMENT_SUPPORT) {
     if (serverSwitchesToState(event, IServer.STATE_STARTED)) {
       // Don't do any potentially long-running tasks here.
       launchJob(s);
     }
   }
 }