⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changeprotocol.java

📁 Chord package into p2psim
💻 JAVA
字号:
/***************************************************************************
 *                                                                         *
 *                             ChangeProtocol.java                                *
 *                            -------------------                          *
 *   date                 : 22.02.2008, 17:47:17                               *
 *   copyright            : (C) 2004-2008 Distributed and                  *
 *                              Mobile Systems Group                       *
 *                              Lehrstuhl fuer Praktische Informatik       *
 *                              Universitaet Bamberg                       *
 *                              http://www.uni-bamberg.de/pi/              *
 *   email                : {sven.kaffille}@uni-bamberg.de                 *
 *                                                                         *
 *                                                                         *
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   A copy of the license can be found in the license.txt file supplied   *
 *   with this software or at: http://www.gnu.org/copyleft/gpl.html        *
 *                                                                         *
 ***************************************************************************/
package de.uniba.wiai.lspi.chord.console.command;

import java.io.PrintStream;

import de.uniba.wiai.lspi.chord.data.URL;
import de.uniba.wiai.lspi.util.console.Command;
import de.uniba.wiai.lspi.util.console.ConsoleException;

public class ChangeProtocol extends Command {

	private static final String RMI_PROTOCOL = URL.KNOWN_PROTOCOLS
			.get(URL.RMI_PROTOCOL);

	private static final String SOCKET_PROTOCOL = URL.KNOWN_PROTOCOLS
			.get(URL.SOCKET_PROTOCOL);

	public static final String COMMAND_NAME = "cprotocol";

	private static final String TYPE_PARAM = "t";

	private static final String STATUS_PARAM = "s";

	public ChangeProtocol(Object[] toCommand, PrintStream out) {
		super(toCommand, out);
	}

	@Override
	public void exec() throws ConsoleException {
		if (this.parameters.containsKey(TYPE_PARAM)) {
			String type = this.parameters.get(TYPE_PARAM);
			if (type != null && type.length() > 0) {
				if (type.equalsIgnoreCase(RMI_PROTOCOL)) {
					RemoteChordNetworkAccess.getUniqueInstance().protocolType = URL.RMI_PROTOCOL;
				} else if (type.equalsIgnoreCase(SOCKET_PROTOCOL)) {
					RemoteChordNetworkAccess.getUniqueInstance().protocolType = URL.SOCKET_PROTOCOL;
				}
			}
		}
		if (this.parameters.containsKey(STATUS_PARAM)) {
			int type = RemoteChordNetworkAccess.getUniqueInstance().protocolType;
			out.println("Current protocol: " + URL.KNOWN_PROTOCOLS.get(type));
		}
	}

	@Override
	public String getCommandName() {
		return COMMAND_NAME;
	}

	@Override
	public void printOutHelp() {
		out
				.println("Changes the protocol for remote chord networks used for this console.");
		out.println("Currently supported protocols: {ocsocket, ocrmi}");
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -