Program: 21337
Project: 21337
Buggy source:
@SuppressWarnings("String_Node_Str") public void handle(){
  String request=headers.get(null);
  String[] requ=request.split("String_Node_Str");
  String cPath=requ[1];
  String path, querry;
  path=cPath.substring(1);
  String[] params;
  HashMap<String,String> requestParameter=new HashMap<String,String>();
  requestParameter.put("String_Node_Str","String_Node_Str");
  requestParameter.put("String_Node_Str","String_Node_Str");
  requestParameter.put("String_Node_Str","String_Node_Str");
  requestParameter.put("String_Node_Str","String_Node_Str");
  if (cPath.indexOf("String_Node_Str") >= 0) {
    querry=cPath.substring(cPath.indexOf("String_Node_Str") + 1);
    path=cPath.substring(1,cPath.indexOf("String_Node_Str"));
    params=querry.split("String_Node_Str");
    for (    String entry : params) {
      entry=entry.trim();
      int index=entry.indexOf("String_Node_Str");
      String key=entry;
      String value=null;
      if (index >= 0) {
        key=entry.substring(0,index);
        value=entry.substring(index + 1);
      }
      if (requestParameter.containsKey(key) || requestParameter.containsKey(key + "String_Node_Str")) {
        if (requestParameter.containsKey(key + "String_Node_Str")) {
          Integer keycounter=0;
          keycounter=JDUtilities.filterInt(requestParameter.get(key + "String_Node_Str"));
          keycounter++;
          requestParameter.put(key + "String_Node_Str",keycounter.toString());
          requestParameter.put(key + "String_Node_Str" + keycounter.toString(),value);
        }
      }
 else       requestParameter.put(key,value);
    }
  }
  String url=path.replaceAll("String_Node_Str","String_Node_Str");
  if (requestParameter.containsKey("String_Node_Str")) {
    if (requestParameter.get("String_Node_Str").compareToIgnoreCase("String_Node_Str") == 0) {
      if (requestParameter.containsKey("String_Node_Str")) {
        int setspeed=JDUtilities.filterInt(requestParameter.get("String_Node_Str"));
        if (setspeed < 0)         setspeed=0;
        JDUtilities.getSubConfig("String_Node_Str").setProperty(Configuration.PARAM_DOWNLOAD_MAX_SPEED,setspeed);
      }
      if (requestParameter.containsKey("String_Node_Str")) {
        int maxdls=JDUtilities.filterInt(requestParameter.get("String_Node_Str"));
        if (maxdls < 1)         maxdls=1;
        JDUtilities.getSubConfig("String_Node_Str").setProperty(Configuration.PARAM_DOWNLOAD_MAX_SIMULTAN,maxdls);
      }
      if (requestParameter.containsKey("String_Node_Str")) {
        JDUtilities.getConfiguration().setProperty(Configuration.PARAM_DISABLE_RECONNECT,false);
      }
 else       JDUtilities.getConfiguration().setProperty(Configuration.PARAM_DISABLE_RECONNECT,true);
      if (requestParameter.containsKey("String_Node_Str")) {
synchronized (JDWebinterface.Link_Adder_Packages) {
          Integer download_id=0;
          Integer package_id=0;
          String[] ids;
          int counter_max=JDUtilities.filterInt(requestParameter.get("String_Node_Str"));
          int counter_index=0;
          DownloadLink link;
          int index;
          Vector<DownloadLink> links=new Vector<DownloadLink>();
          for (counter_index=1; counter_index <= counter_max; counter_index++) {
            if (requestParameter.containsKey("String_Node_Str" + counter_index)) {
              ids=requestParameter.get("String_Node_Str" + counter_index).toString().split("String_Node_Str",2);
              package_id=JDUtilities.filterInt(ids[0].toString());
              download_id=JDUtilities.filterInt(ids[1].toString());
              links.add(JDWebinterface.Link_Adder_Packages.get(package_id).get(download_id));
            }
          }
          if (requestParameter.containsKey("String_Node_Str")) {
            String dowhat=requestParameter.get("String_Node_Str");
synchronized (JDWebinterface.Link_Adder_Packages) {
              for (int i=0; i < JDWebinterface.Link_Adder_Packages.size(); i++) {
                if (requestParameter.containsKey("String_Node_Str" + i)) {
                  JDWebinterface.Link_Adder_Packages.get(i).setName(JDUtilities.htmlDecode(requestParameter.get("String_Node_Str" + i).toString()));
                }
              }
            }
            if (dowhat.compareToIgnoreCase("String_Node_Str") == 0) {
              for (Iterator<DownloadLink> it=links.iterator(); it.hasNext(); ) {
                link=it.next();
                link.getFilePackage().remove(link);
              }
            }
 else             if (dowhat.compareToIgnoreCase("String_Node_Str") == 0) {
              for (int i=0; i < JDWebinterface.Link_Adder_Packages.size(); i++) {
                for (int ii=0; ii < JDWebinterface.Link_Adder_Packages.get(i).size(); ii++) {
                  links.add(JDWebinterface.Link_Adder_Packages.get(i).get(ii));
                }
              }
              for (Iterator<DownloadLink> it=links.iterator(); it.hasNext(); ) {
                link=it.next();
                if (link.isAvailabilityChecked() == true && link.isAvailable() == false)                 link.getFilePackage().remove(link);
              }
            }
 else             if (dowhat.compareToIgnoreCase("String_Node_Str") == 0) {
              for (Iterator<DownloadLink> it=links.iterator(); it.hasNext(); ) {
                link=it.next();
                FilePackage fp=null;
                for (int i=0; i < JDUtilities.getController().getPackages().size(); i++) {
                  if (link.getFilePackage().getName().compareToIgnoreCase(JDUtilities.getController().getPackages().get(i).getName()) == 0) {
                    fp=JDUtilities.getController().getPackages().get(i);
                  }
                }
                if (fp == null) {
                  fp=new FilePackage();
                  fp.setName(link.getFilePackage().getName());
                  if (JDUtilities.getConfiguration().getBooleanProperty(Configuration.PARAM_USE_PACKETNAME_AS_SUBFOLDER,false)) {
                    File file=new File(new File(fp.getDownloadDirectory()),fp.getName());
                    if (!file.exists()) {
                      file.mkdirs();
                    }
                    if (file.exists()) {
                      fp.setDownloadDirectory(file.getAbsolutePath());
                    }
 else {
                      fp.setDownloadDirectory(fp.getDownloadDirectory());
                    }
                  }
                }
                fp.add(link);
                link.setFilePackage(fp);
                JDUtilities.getController().addLink(link);
              }
              JDUtilities.getController().fireControlEvent(new ControlEvent(this,ControlEvent.CONTROL_LINKLIST_STRUCTURE_CHANGED,null));
            }
            for (index=JDWebinterface.Link_Adder_Packages.size() - 1; index >= 0; index--) {
              if (JDWebinterface.Link_Adder_Packages.get(index).size() == 0)               JDWebinterface.Link_Adder_Packages.remove(index);
            }
          }
        }
      }
      if (requestParameter.containsKey("String_Node_Str")) {
        Integer download_id=0;
        Integer package_id=0;
        String[] ids;
        int counter_max=JDUtilities.filterInt(requestParameter.get("String_Node_Str"));
        int counter_index=0;
        DownloadLink link;
        Vector<DownloadLink> links=new Vector<DownloadLink>();
        for (counter_index=1; counter_index <= counter_max; counter_index++) {
          if (requestParameter.containsKey("String_Node_Str" + counter_index)) {
            ids=requestParameter.get("String_Node_Str" + counter_index).toString().split("String_Node_Str",2);
            package_id=JDUtilities.filterInt(ids[0].toString());
            download_id=JDUtilities.filterInt(ids[1].toString());
            links.add(JDUtilities.getController().getPackages().get(package_id).getDownloadLinks().get(download_id));
          }
        }
        if (requestParameter.containsKey("String_Node_Str")) {
          String dowhat=requestParameter.get("String_Node_Str");
          if (dowhat.compareToIgnoreCase("String_Node_Str") == 0) {
            for (Iterator<DownloadLink> it=links.iterator(); it.hasNext(); ) {
              link=it.next();
              link.setEnabled(true);
            }
            JDUtilities.getController().fireControlEvent(new ControlEvent(this,ControlEvent.CONTROL_ALL_DOWNLOADLINKS_DATA_CHANGED,this));
          }
          if (dowhat.compareToIgnoreCase("String_Node_Str") == 0) {
            for (Iterator<DownloadLink> it=links.iterator(); it.hasNext(); ) {
              link=it.next();
              link.setEnabled(false);
            }
            JDUtilities.getController().fireControlEvent(new ControlEvent(this,ControlEvent.CONTROL_ALL_DOWNLOADLINKS_DATA_CHANGED,this));
          }
          if (dowhat.compareToIgnoreCase("String_Node_Str") == 0) {
            for (Iterator<DownloadLink> it=links.iterator(); it.hasNext(); ) {
              link=it.next();
              link.setStatus(DownloadLink.STATUS_TODO);
              link.setStatusText("String_Node_Str");
              link.reset();
            }
            JDUtilities.getController().fireControlEvent(new ControlEvent(this,ControlEvent.CONTROL_ALL_DOWNLOADLINKS_DATA_CHANGED,this));
          }
          if (dowhat.compareToIgnoreCase("String_Node_Str") == 0) {
            JDUtilities.getController().removeDownloadLinks(links);
            JDUtilities.getController().fireControlEvent(new ControlEvent(this,ControlEvent.CONTROL_LINKLIST_STRUCTURE_CHANGED,this));
          }
          if (dowhat.compareToIgnoreCase("String_Node_Str") == 0) {
            for (Iterator<DownloadLink> it=links.iterator(); it.hasNext(); ) {
              link=it.next();
              link.setAborted(true);
            }
            JDUtilities.getController().fireControlEvent(new ControlEvent(this,ControlEvent.CONTROL_ALL_DOWNLOADLINKS_DATA_CHANGED,this));
          }
        }
      }
    }
 else     if (requestParameter.get("String_Node_Str").compareToIgnoreCase("String_Node_Str") == 0) {
class JDReconnect implements Runnable {
        JDReconnect(){
          new Thread(this).start();
        }
        public void run(){
          try {
            Thread.sleep(2000);
          }
 catch (          InterruptedException e) {
            e.printStackTrace();
          }
          boolean tmp=JDUtilities.getConfiguration().getBooleanProperty(Configuration.PARAM_DISABLE_RECONNECT,true);
          JDUtilities.getConfiguration().setProperty(Configuration.PARAM_DISABLE_RECONNECT,false);
          if (JDUtilities.getController().getRunningDownloadNum() > 0) {
            JDUtilities.getController().stopDownloads();
          }
          if (Reconnecter.waitForNewIP(1)) {
            logger.info("String_Node_Str");
          }
 else {
            logger.info("String_Node_Str");
          }
          JDUtilities.getConfiguration().setProperty(Configuration.PARAM_DISABLE_RECONNECT,tmp);
        }
      }
      @SuppressWarnings("String_Node_Str") JDReconnect jdrc=new JDReconnect();
    }
 else     if (requestParameter.get("String_Node_Str").compareToIgnoreCase("String_Node_Str") == 0) {
class JDClose implements Runnable {
        JDClose(){
          new Thread(this).start();
        }
        public void run(){
          try {
            Thread.sleep(2000);
          }
 catch (          InterruptedException e) {
            e.printStackTrace();
          }
          JDUtilities.getController().exit();
        }
      }
      @SuppressWarnings("String_Node_Str") JDClose jdc=new JDClose();
    }
 else     if (requestParameter.get("String_Node_Str").compareToIgnoreCase("String_Node_Str") == 0) {
      JDUtilities.getController().startDownloads();
    }
 else     if (requestParameter.get("String_Node_Str").compareToIgnoreCase("String_Node_Str") == 0) {
      JDUtilities.getController().stopDownloads();
    }
 else     if (requestParameter.get("String_Node_Str").compareToIgnoreCase("String_Node_Str") == 0) {
class JDRestart implements Runnable {
        JDRestart(){
          new Thread(this).start();
        }
        public void run(){
          try {
            Thread.sleep(2000);
          }
 catch (          InterruptedException e) {
            e.printStackTrace();
          }
          JDUtilities.restartJD();
        }
      }
      @SuppressWarnings("String_Node_Str") JDRestart jdrs=new JDRestart();
    }
 else     if (requestParameter.get("String_Node_Str").compareToIgnoreCase("String_Node_Str") == 0) {
      if (requestParameter.containsKey("String_Node_Str")) {
        String AddLinks=JDUtilities.htmlDecode(requestParameter.get("String_Node_Str"));
        Vector<DownloadLink> waitingLinkList=new DistributeData(AddLinks).findLinks();
        DownloadLink link;
        DownloadLink next;
        while (waitingLinkList.size() > 0) {
          link=waitingLinkList.remove(0);
          if (!guiConfig.getBooleanProperty(PROPERTY_ONLINE_CHECK,false)) {
            attachLinkTopackage(link);
            try {
              Thread.sleep(5);
            }
 catch (            InterruptedException e) {
            }
          }
 else {
            if (!link.isAvailabilityChecked()) {
              Iterator<DownloadLink> it=waitingLinkList.iterator();
              Vector<String> links=new Vector<String>();
              Vector<DownloadLink> dlLinks=new Vector<DownloadLink>();
              links.add(link.getDownloadURL());
              dlLinks.add(link);
              while (it.hasNext()) {
                next=it.next();
                if (next.getPlugin().getClass() == link.getPlugin().getClass()) {
                  dlLinks.add(next);
                  links.add(next.getDownloadURL());
                }
              }
              if (links.size() > 1) {
                boolean[] ret=((PluginForHost)link.getPlugin()).checkLinks(links.toArray(new String[]{}));
                if (ret != null) {
                  for (int ii=0; ii < links.size(); ii++) {
                    dlLinks.get(ii).setAvailable(ret[ii]);
                  }
                }
              }
            }
            if (link.isAvailable() || ((PluginForHost)link.getPlugin()).isListOffline()) {
              attachLinkTopackage(link);
            }
          }
        }
      }
    }
  }
  if (requestParameter.containsKey("String_Node_Str")) {
    if (requestParameter.get("String_Node_Str").compareToIgnoreCase("String_Node_Str") == 0) {
      if (requestParameter.containsKey("String_Node_Str")) {
        String password_list=JDUtilities.htmlDecode(requestParameter.get("String_Node_Str"));
        JUnrar unrar=new JUnrar(false);
        unrar.editPasswordlist(SimpleMatches.getLines(password_list));
      }
    }
  }
  File fileToRead=JDUtilities.getResourceFile("String_Node_Str" + url);
  if (!fileToRead.isFile()) {
    String tempurl=url + "String_Node_Str";
    File fileToRead2=JDUtilities.getResourceFile("String_Node_Str" + tempurl);
    if (fileToRead2.isFile()) {
      url=tempurl;
      fileToRead=JDUtilities.getResourceFile("String_Node_Str" + url);
    }
  }
  if (!fileToRead.exists()) {
    response.setNotFound(url);
  }
 else {
    if (url.endsWith("String_Node_Str")) {
      JDSimpleWebserverTemplateFileRequestHandler filerequest;
      filerequest=new JDSimpleWebserverTemplateFileRequestHandler(this.response);
      filerequest.handleRequest(url,requestParameter);
    }
 else {
      JDSimpleWebserverStaticFileRequestHandler filerequest;
      filerequest=new JDSimpleWebserverStaticFileRequestHandler(this.response);
      filerequest.handleRequest(url,requestParameter);
    }
  }
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") public void handle(){
  String request=headers.get(null);
  String[] requ=request.split("String_Node_Str");
  String cPath=requ[1];
  String path, querry;
  path=cPath.substring(1);
  String[] params;
  HashMap<String,String> requestParameter=new HashMap<String,String>();
  requestParameter.put("String_Node_Str","String_Node_Str");
  requestParameter.put("String_Node_Str","String_Node_Str");
  requestParameter.put("String_Node_Str","String_Node_Str");
  requestParameter.put("String_Node_Str","String_Node_Str");
  if (cPath.indexOf("String_Node_Str") >= 0) {
    querry=cPath.substring(cPath.indexOf("String_Node_Str") + 1);
    path=cPath.substring(1,cPath.indexOf("String_Node_Str"));
    params=querry.split("String_Node_Str");
    for (    String entry : params) {
      entry=entry.trim();
      int index=entry.indexOf("String_Node_Str");
      String key=entry;
      String value=null;
      if (index >= 0) {
        key=entry.substring(0,index);
        value=entry.substring(index + 1);
      }
      if (requestParameter.containsKey(key) || requestParameter.containsKey(key + "String_Node_Str")) {
        if (requestParameter.containsKey(key + "String_Node_Str")) {
          Integer keycounter=0;
          keycounter=JDUtilities.filterInt(requestParameter.get(key + "String_Node_Str"));
          keycounter++;
          requestParameter.put(key + "String_Node_Str",keycounter.toString());
          requestParameter.put(key + "String_Node_Str" + keycounter.toString(),value);
        }
      }
 else       requestParameter.put(key,value);
    }
  }
  logger.info(requestParameter.toString());
  String url=path.replaceAll("String_Node_Str","String_Node_Str");
  if (requestParameter.containsKey("String_Node_Str")) {
    if (requestParameter.get("String_Node_Str").compareToIgnoreCase("String_Node_Str") == 0) {
      if (requestParameter.containsKey("String_Node_Str")) {
        int setspeed=JDUtilities.filterInt(requestParameter.get("String_Node_Str"));
        if (setspeed < 0)         setspeed=0;
        JDUtilities.getSubConfig("String_Node_Str").setProperty(Configuration.PARAM_DOWNLOAD_MAX_SPEED,setspeed);
      }
      if (requestParameter.containsKey("String_Node_Str")) {
        int maxdls=JDUtilities.filterInt(requestParameter.get("String_Node_Str"));
        if (maxdls < 1)         maxdls=1;
        JDUtilities.getSubConfig("String_Node_Str").setProperty(Configuration.PARAM_DOWNLOAD_MAX_SIMULTAN,maxdls);
      }
      if (!requestParameter.containsKey("String_Node_Str")) {
        if (requestParameter.containsKey("String_Node_Str")) {
          JDUtilities.getConfiguration().setProperty(Configuration.PARAM_DISABLE_RECONNECT,false);
        }
 else         JDUtilities.getConfiguration().setProperty(Configuration.PARAM_DISABLE_RECONNECT,true);
      }
      if (requestParameter.containsKey("String_Node_Str")) {
synchronized (JDWebinterface.Link_Adder_Packages) {
          Integer download_id=0;
          Integer package_id=0;
          String[] ids;
          int counter_max=JDUtilities.filterInt(requestParameter.get("String_Node_Str"));
          int counter_index=0;
          DownloadLink link;
          int index;
          Vector<DownloadLink> links=new Vector<DownloadLink>();
          for (counter_index=1; counter_index <= counter_max; counter_index++) {
            if (requestParameter.containsKey("String_Node_Str" + counter_index)) {
              ids=requestParameter.get("String_Node_Str" + counter_index).toString().split("String_Node_Str",2);
              package_id=JDUtilities.filterInt(ids[0].toString());
              download_id=JDUtilities.filterInt(ids[1].toString());
              links.add(JDWebinterface.Link_Adder_Packages.get(package_id).get(download_id));
            }
          }
          if (requestParameter.containsKey("String_Node_Str")) {
            String dowhat=requestParameter.get("String_Node_Str");
synchronized (JDWebinterface.Link_Adder_Packages) {
              for (int i=0; i < JDWebinterface.Link_Adder_Packages.size(); i++) {
                if (requestParameter.containsKey("String_Node_Str" + i)) {
                  JDWebinterface.Link_Adder_Packages.get(i).setName(JDUtilities.htmlDecode(requestParameter.get("String_Node_Str" + i).toString()));
                }
              }
            }
            if (dowhat.compareToIgnoreCase("String_Node_Str") == 0) {
              for (Iterator<DownloadLink> it=links.iterator(); it.hasNext(); ) {
                link=it.next();
                link.getFilePackage().remove(link);
              }
            }
 else             if (dowhat.compareToIgnoreCase("String_Node_Str") == 0) {
              for (int i=0; i < JDWebinterface.Link_Adder_Packages.size(); i++) {
                for (int ii=0; ii < JDWebinterface.Link_Adder_Packages.get(i).size(); ii++) {
                  links.add(JDWebinterface.Link_Adder_Packages.get(i).get(ii));
                }
              }
              for (Iterator<DownloadLink> it=links.iterator(); it.hasNext(); ) {
                link=it.next();
                if (link.isAvailabilityChecked() == true && link.isAvailable() == false)                 link.getFilePackage().remove(link);
              }
            }
 else             if (dowhat.compareToIgnoreCase("String_Node_Str") == 0) {
              for (Iterator<DownloadLink> it=links.iterator(); it.hasNext(); ) {
                link=it.next();
                FilePackage fp=null;
                for (int i=0; i < JDUtilities.getController().getPackages().size(); i++) {
                  if (link.getFilePackage().getName().compareToIgnoreCase(JDUtilities.getController().getPackages().get(i).getName()) == 0) {
                    fp=JDUtilities.getController().getPackages().get(i);
                  }
                }
                if (fp == null) {
                  fp=new FilePackage();
                  fp.setName(link.getFilePackage().getName());
                  if (JDUtilities.getConfiguration().getBooleanProperty(Configuration.PARAM_USE_PACKETNAME_AS_SUBFOLDER,false)) {
                    File file=new File(new File(fp.getDownloadDirectory()),fp.getName());
                    if (!file.exists()) {
                      file.mkdirs();
                    }
                    if (file.exists()) {
                      fp.setDownloadDirectory(file.getAbsolutePath());
                    }
 else {
                      fp.setDownloadDirectory(fp.getDownloadDirectory());
                    }
                  }
                }
                fp.add(link);
                link.setFilePackage(fp);
                JDUtilities.getController().addLink(link);
              }
              JDUtilities.getController().fireControlEvent(new ControlEvent(this,ControlEvent.CONTROL_LINKLIST_STRUCTURE_CHANGED,null));
            }
            for (index=JDWebinterface.Link_Adder_Packages.size() - 1; index >= 0; index--) {
              if (JDWebinterface.Link_Adder_Packages.get(index).size() == 0)               JDWebinterface.Link_Adder_Packages.remove(index);
            }
          }
        }
      }
      if (requestParameter.containsKey("String_Node_Str")) {
        Integer download_id=0;
        Integer package_id=0;
        String[] ids;
        int counter_max=JDUtilities.filterInt(requestParameter.get("String_Node_Str"));
        int counter_index=0;
        DownloadLink link;
        Vector<DownloadLink> links=new Vector<DownloadLink>();
        for (counter_index=1; counter_index <= counter_max; counter_index++) {
          if (requestParameter.containsKey("String_Node_Str" + counter_index)) {
            ids=requestParameter.get("String_Node_Str" + counter_index).toString().split("String_Node_Str",2);
            package_id=JDUtilities.filterInt(ids[0].toString());
            download_id=JDUtilities.filterInt(ids[1].toString());
            links.add(JDUtilities.getController().getPackages().get(package_id).getDownloadLinks().get(download_id));
          }
        }
        if (requestParameter.containsKey("String_Node_Str")) {
          String dowhat=requestParameter.get("String_Node_Str");
          if (dowhat.compareToIgnoreCase("String_Node_Str") == 0) {
            for (Iterator<DownloadLink> it=links.iterator(); it.hasNext(); ) {
              link=it.next();
              link.setEnabled(true);
            }
            JDUtilities.getController().fireControlEvent(new ControlEvent(this,ControlEvent.CONTROL_ALL_DOWNLOADLINKS_DATA_CHANGED,this));
          }
          if (dowhat.compareToIgnoreCase("String_Node_Str") == 0) {
            for (Iterator<DownloadLink> it=links.iterator(); it.hasNext(); ) {
              link=it.next();
              link.setEnabled(false);
            }
            JDUtilities.getController().fireControlEvent(new ControlEvent(this,ControlEvent.CONTROL_ALL_DOWNLOADLINKS_DATA_CHANGED,this));
          }
          if (dowhat.compareToIgnoreCase("String_Node_Str") == 0) {
            for (Iterator<DownloadLink> it=links.iterator(); it.hasNext(); ) {
              link=it.next();
              link.setStatus(DownloadLink.STATUS_TODO);
              link.setStatusText("String_Node_Str");
              link.reset();
            }
            JDUtilities.getController().fireControlEvent(new ControlEvent(this,ControlEvent.CONTROL_ALL_DOWNLOADLINKS_DATA_CHANGED,this));
          }
          if (dowhat.compareToIgnoreCase("String_Node_Str") == 0) {
            JDUtilities.getController().removeDownloadLinks(links);
            JDUtilities.getController().fireControlEvent(new ControlEvent(this,ControlEvent.CONTROL_LINKLIST_STRUCTURE_CHANGED,this));
          }
          if (dowhat.compareToIgnoreCase("String_Node_Str") == 0) {
            for (Iterator<DownloadLink> it=links.iterator(); it.hasNext(); ) {
              link=it.next();
              link.setAborted(true);
            }
            JDUtilities.getController().fireControlEvent(new ControlEvent(this,ControlEvent.CONTROL_ALL_DOWNLOADLINKS_DATA_CHANGED,this));
          }
        }
      }
    }
 else     if (requestParameter.get("String_Node_Str").compareToIgnoreCase("String_Node_Str") == 0) {
class JDReconnect implements Runnable {
        JDReconnect(){
          new Thread(this).start();
        }
        public void run(){
          try {
            Thread.sleep(2000);
          }
 catch (          InterruptedException e) {
            e.printStackTrace();
          }
          boolean tmp=JDUtilities.getConfiguration().getBooleanProperty(Configuration.PARAM_DISABLE_RECONNECT,true);
          JDUtilities.getConfiguration().setProperty(Configuration.PARAM_DISABLE_RECONNECT,false);
          if (JDUtilities.getController().getRunningDownloadNum() > 0) {
            JDUtilities.getController().stopDownloads();
          }
          if (Reconnecter.waitForNewIP(1)) {
            logger.info("String_Node_Str");
          }
 else {
            logger.info("String_Node_Str");
          }
          JDUtilities.getConfiguration().setProperty(Configuration.PARAM_DISABLE_RECONNECT,tmp);
        }
      }
      @SuppressWarnings("String_Node_Str") JDReconnect jdrc=new JDReconnect();
    }
 else     if (requestParameter.get("String_Node_Str").compareToIgnoreCase("String_Node_Str") == 0) {
class JDClose implements Runnable {
        JDClose(){
          new Thread(this).start();
        }
        public void run(){
          try {
            Thread.sleep(2000);
          }
 catch (          InterruptedException e) {
            e.printStackTrace();
          }
          JDUtilities.getController().exit();
        }
      }
      @SuppressWarnings("String_Node_Str") JDClose jdc=new JDClose();
    }
 else     if (requestParameter.get("String_Node_Str").compareToIgnoreCase("String_Node_Str") == 0) {
      JDUtilities.getController().startDownloads();
    }
 else     if (requestParameter.get("String_Node_Str").compareToIgnoreCase("String_Node_Str") == 0) {
      JDUtilities.getController().stopDownloads();
    }
 else     if (requestParameter.get("String_Node_Str").compareToIgnoreCase("String_Node_Str") == 0) {
class JDRestart implements Runnable {
        JDRestart(){
          new Thread(this).start();
        }
        public void run(){
          try {
            Thread.sleep(2000);
          }
 catch (          InterruptedException e) {
            e.printStackTrace();
          }
          JDUtilities.restartJD();
        }
      }
      @SuppressWarnings("String_Node_Str") JDRestart jdrs=new JDRestart();
    }
 else     if (requestParameter.get("String_Node_Str").compareToIgnoreCase("String_Node_Str") == 0) {
      if (requestParameter.containsKey("String_Node_Str")) {
        String AddLinks=JDUtilities.htmlDecode(requestParameter.get("String_Node_Str"));
        Vector<DownloadLink> waitingLinkList=new DistributeData(AddLinks).findLinks();
        DownloadLink link;
        DownloadLink next;
        while (waitingLinkList.size() > 0) {
          link=waitingLinkList.remove(0);
          if (!guiConfig.getBooleanProperty(PROPERTY_ONLINE_CHECK,false)) {
            attachLinkTopackage(link);
            try {
              Thread.sleep(5);
            }
 catch (            InterruptedException e) {
            }
          }
 else {
            if (!link.isAvailabilityChecked()) {
              Iterator<DownloadLink> it=waitingLinkList.iterator();
              Vector<String> links=new Vector<String>();
              Vector<DownloadLink> dlLinks=new Vector<DownloadLink>();
              links.add(link.getDownloadURL());
              dlLinks.add(link);
              while (it.hasNext()) {
                next=it.next();
                if (next.getPlugin().getClass() == link.getPlugin().getClass()) {
                  dlLinks.add(next);
                  links.add(next.getDownloadURL());
                }
              }
              if (links.size() > 1) {
                boolean[] ret=((PluginForHost)link.getPlugin()).checkLinks(links.toArray(new String[]{}));
                if (ret != null) {
                  for (int ii=0; ii < links.size(); ii++) {
                    dlLinks.get(ii).setAvailable(ret[ii]);
                  }
                }
              }
            }
            if (link.isAvailable() || ((PluginForHost)link.getPlugin()).isListOffline()) {
              attachLinkTopackage(link);
            }
          }
        }
      }
    }
  }
  if (requestParameter.containsKey("String_Node_Str")) {
    if (requestParameter.get("String_Node_Str").compareToIgnoreCase("String_Node_Str") == 0) {
      if (requestParameter.containsKey("String_Node_Str")) {
        String password_list=JDUtilities.htmlDecode(requestParameter.get("String_Node_Str"));
        JUnrar unrar=new JUnrar(false);
        unrar.editPasswordlist(SimpleMatches.getLines(password_list));
      }
    }
  }
  File fileToRead=JDUtilities.getResourceFile("String_Node_Str" + url);
  if (!fileToRead.isFile()) {
    String tempurl=url + "String_Node_Str";
    File fileToRead2=JDUtilities.getResourceFile("String_Node_Str" + tempurl);
    if (fileToRead2.isFile()) {
      url=tempurl;
      fileToRead=JDUtilities.getResourceFile("String_Node_Str" + url);
    }
  }
  if (!fileToRead.exists()) {
    response.setNotFound(url);
  }
 else {
    if (url.endsWith("String_Node_Str")) {
      JDSimpleWebserverTemplateFileRequestHandler filerequest;
      filerequest=new JDSimpleWebserverTemplateFileRequestHandler(this.response);
      filerequest.handleRequest(url,requestParameter);
    }
 else {
      JDSimpleWebserverStaticFileRequestHandler filerequest;
      filerequest=new JDSimpleWebserverStaticFileRequestHandler(this.response);
      filerequest.handleRequest(url,requestParameter);
    }
  }
}