blob: b822e7abf3a49c4ab830fd682f0641119bc93c1a [file] [log] [blame]
/*
* This file is part of the QuickServer library
* Copyright (C) QuickServer.org
*
* Use, modification, copying and distribution of this software is subject to
* the terms and conditions of the GNU Lesser General Public License.
* You should have received a copy of the GNU LGP License along with this
* library; if not, you can download a copy from <http://www.quickserver.org/>.
*
* For questions, suggestions, bug-reports, enhancement-requests etc.
* visit http://www.quickserver.org
*
*/
package org.quickserver.net.qsadmin.gui;
import org.quickserver.util.MyString;
/**
* A Simple class that Stores information about QSAdmin Command
* that are common to any <code>target</code>
* @author Akshathkumar Shetty
*/
public class SimpleCommand {
private String name;
private String target = "server";
private String command;
private String desc;
private String targetNeeded = "yes";
private String multiLineResponse = "no";
private String version = "1.3"; //when AdminUI was added
public String getSimpleCommand() {
if(targetNeeded.equals("yes"))
return command+" "+target;
else
return command;
}
public String getName(){
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTarget() {
return target;
}
public void setTarget(String target) {
this.target = target;
}
public String getCommand() {
return command;
}
public void setCommand(String command) {
this.command = command;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public String getTargetNeeded() {
return targetNeeded;
}
public void setTargetNeeded(String targetNeeded) {
this.targetNeeded = targetNeeded.toLowerCase();
}
public String getMultiLineResponse() {
return multiLineResponse;
}
public void setMultiLineResponse(String multiLineResponse) {
this.multiLineResponse = multiLineResponse.toLowerCase();
}
public String getVersion() {
return version;
}
public float getVersionNo() {
return getVersionNo(version);
}
public void setVersion(String version) {
if(version!=null && version.equals("")==false)
this.version = version.toLowerCase();
}
public String toXML() {
StringBuilder sb = new StringBuilder();
sb.append("<simple-command>\n");
sb.append("\t<name>").append(name).append("</name>\n");
sb.append("\t<command>").append(command).append("</command>\n");
if(multiLineResponse!=null && multiLineResponse.equals("yes"))
sb.append("\t<multi-line-response>yes</multi-line-response>\n");
else
sb.append("\t<multi-line-response>no</multi-line-response>\n");
if(desc!=null)
sb.append("\t<desc>").append(desc).append("</desc>\n");
sb.append("\t<version>").append(version).append("</version>\n");
if(targetNeeded!=null && targetNeeded.equals("yes"))
sb.append("\t<target-needed>yes</target-needed>\n");
else
sb.append("\t<target-needed>no</target-needed>\n");
sb.append("</simple-command>\n");
return sb.toString();
}
private static final float getVersionNo(String ver) {
//String ver = getVersion();
float version = 0;
int i = ver.indexOf(" "); //check if beta
if(i == -1)
i = ver.length();
ver = ver.substring(0, i);
i = ver.indexOf("."); //check for sub version
if(i!=-1) {
int j = ver.indexOf(".", i);
if(j!=-1) {
ver = ver.substring(0, i)+"."+
MyString.replaceAll(ver.substring(i+1), ".", "");
}
}
try {
version = Float.parseFloat(ver);
} catch(NumberFormatException e) {
throw new RuntimeException("Corrupt QuickServer");
}
return version;
}
}