Package org.gudy.azureus2.ui.console.commands

Source Code of org.gudy.azureus2.ui.console.commands.Move

/*
* Written and copyright 2001-2004 Tobias Minich. Distributed under the GNU
* General Public License; see the README file. This code comes with NO
* WARRANTY.
*
* Move.java
*
* Created on 23.03.2004
*
*/
package org.gudy.azureus2.ui.console.commands;

import java.util.List;

import org.gudy.azureus2.core3.download.DownloadManager;
import org.gudy.azureus2.core3.global.GlobalManager;
import org.gudy.azureus2.ui.console.ConsoleInput;

/**
* @author Tobias Minich
*/
public class Move extends IConsoleCommand {

  public Move()
  {
    super("move", "m");
  }
 
  public String getCommandDescriptions()
  {
    return("move <from #> [<to #>]\t\tm\tMove torrent from to to. If to is omitted, the torrent is moved to top or to the bottom if given negative.");
  }
 
  public void execute(String commandName, ConsoleInput ci, List args) {
    if( args.isEmpty() )
    {
      ci.out.println("> Missing subcommand for 'move'\r\n> move syntax: move <#from> [<#to>]");
      return;
    }
   
    if (ci.torrents.isEmpty())
    {
      ci.out.println("> Command 'move': No torrents in list.");
      return;
    }
     
    int ncommand;
    int nmoveto = -1;
    boolean moveto = false;
    try {     
      ncommand = Integer.parseInt((String) args.get(0));
      if (args.size() > 1) {
        nmoveto = Integer.parseInt((String) args.get(1));
        moveto = true;
      }
    } catch (NumberFormatException e) {
      ci.out.println("> Command 'move': Subcommand '" + args.get(0) + "' unknown.");
      return;
    }
    int number = Math.abs(ncommand);
    if (number == 0 || number > ci.torrents.size()) {
      ci.out.println("> Command 'move': Torrent #" + Integer.toString(number) + " unknown.");
      return;
    }
    DownloadManager dm = (DownloadManager) ci.torrents.get(number - 1);
    String name = dm.getDisplayName();
    if (name == null)
      name = "?";
   
    GlobalManager  gm = dm.getGlobalManager();

    if (moveto) {
      gm.moveTo(dm, nmoveto - 1);
      gm.fixUpDownloadManagerPositions();
      ci.out.println("> Torrent #" + Integer.toString(number) + " (" + name + ") moved to #" + Integer.toString(nmoveto) + ".");
    } else if (ncommand > 0) {
      if (gm.isMoveableUp(dm)) {
        while (gm.isMoveableUp(dm))
          gm.moveUp(dm);
        gm.fixUpDownloadManagerPositions();
        ci.out.println("> Torrent #" + Integer.toString(number) + " (" + name + ") moved to top.");
      } else {
        ci.out.println("> Torrent #" + Integer.toString(number) + " (" + name + ") already at top.");
      }
    } else {
      if (gm.isMoveableDown(dm)) {
        while (gm.isMoveableDown(dm))
          gm.moveDown(dm);
        gm.fixUpDownloadManagerPositions();
        ci.out.println("> Torrent #" + Integer.toString(number) + " (" + name + ") moved to bottom.");
      } else {
        ci.out.println("> Torrent #" + Integer.toString(number) + " (" + name + ") already at bottom.");
      }
    }
  }
}
TOP

Related Classes of org.gudy.azureus2.ui.console.commands.Move

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.