/***************************************************************************
* *
* ShowEntriesNetwork.java *
* ------------------- *
* date : 09.09.2004 *
* 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 *
* karsten.loesing@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 de.uniba.wiai.lspi.chord.service.Report;
import de.uniba.wiai.lspi.util.console.Command;
/**
* <p>
* {@link Command} to show the entries of a node of local chord network.
* </p>
* To get a description of this command type <code>entries -help</code>
* into the {@link de.uniba.wiai.lspi.chord.console.Main console}.
*
* @author sven
* @version 1.0.5
*/
public class ShowEntriesNetwork extends Command {
/**
* The name of this command.
*/
public static final String COMMAND_NAME = "entriesN";
/** Creates a new instance of ShowFingerTable
* @param toCommand1
* @param out1 */
public ShowEntriesNetwork(Object[] toCommand1, java.io.PrintStream out1) {
super(toCommand1, out1);
}
/**
* @param node
*/
private void printEntriesForEndpoint(Report node) {
this.out.println(node.printEntries());
// if (node == null) {
// out.println("No node present in JVM!");
// return;
// }
// this.out.println("Node obtained.");
// Field[] fields = node.getClass().getDeclaredFields();
// Field entriesField = null;
// this.out.println("Searching for entries of node!");
// for (int i = 0; (i < fields.length) && (entriesField == null); i++) {
// if (fields[i].getType().equals(Entries.class)) {
// entriesField = fields[i];
// try {
// entriesField.setAccessible(true);
// out.println(entriesField.get(node));
// } catch (IllegalAccessException e) {
// this.out.println("No access to entries of node!");
// }
// }
// }
}
public void exec() {
/*
* Quick & dirty!!!
*/
this.printEntriesForEndpoint((Report)((RemoteChordNetworkAccess) this.toCommand[1]).getChordInstance());
}
public String getCommandName() {
return COMMAND_NAME;
}
public void printOutHelp() {
this.out
.println("This command displays the entries of the chord node.");
}
}