package com.owera.xaps.tr069.methods;
import com.owera.xaps.tr069.Properties;
import com.owera.xaps.tr069.xml.Body;
public class DOreq extends Body {
private static final String START = "\t\t<cwmp:Download xmlns:cwmp=\"urn:dslforum-org:cwmp-1-0\">\n";
private static final String COMMAND_KEY_START = "\t\t\t<CommandKey>";
// private static final String COMMAND = "Download_To_CPE";
private static final String COMMAND_KEY_END = "</CommandKey>\n";
private static final String FILE_TYPE_START = "\t\t\t<FileType>";
public static final String FILE_TYPE_FIRMWARE = "1 Firmware Upgrade Image";
public static final String FILE_TYPE_CONFIG = "3 Vendor Configuration File";
private static final String FILE_TYPE_END = "</FileType>\n";
private static final String URL_START = "\t\t\t<URL>";
private static final String URL_END = "</URL>\n";
private static final String USERNAME_START = "\t\t\t<Username>";
private static final String USERNAME_END = "</Username>\n";
private static final String PASSWORD_START = "\t\t\t<Password>";
private static final String PASSWORD_END = "</Password>\n";
private static final String DELAY_SECONDS_START = "\t\t\t<DelaySeconds>";
private static final String DELAY_SECONDS = "0";
private static final String DELAY_SECONDS_END = "</DelaySeconds>\n";
private static final String SUCCESS_URL = "\t\t\t<SuccessURL></SuccessURL>\n";
private static final String FAILURE_URL = "\t\t\t<FailureURL></FailureURL>\n";
private static final String END = "\t\t</cwmp:Download>\n";
private String url;
private String type;
private int filesize;
private String targetFilename;
private String commandKey;
private String username;
private String password;
public DOreq(String url, String type, String targetFilename, int filesize, String commandKey, String username, String password) {
this.url = url;
this.type = type;
this.filesize = filesize;
this.targetFilename = targetFilename;
this.commandKey = commandKey;
this.username = username;
this.password = password;
}
@Override
public String toXmlImpl() {
StringBuilder sb = new StringBuilder(3);
sb.append(START);
sb.append(COMMAND_KEY_START);
if (commandKey != null)
sb.append(commandKey);
else
sb.append("Download_To_CPE");
sb.append(COMMAND_KEY_END);
sb.append(FILE_TYPE_START);
sb.append(type);
sb.append(FILE_TYPE_END);
sb.append(URL_START);
sb.append(url);
sb.append(URL_END);
sb.append(USERNAME_START);
if (Properties.isFileAuthUsed())
sb.append(username);
sb.append(USERNAME_END);
sb.append(PASSWORD_START);
if (Properties.isFileAuthUsed())
sb.append(password);
sb.append(PASSWORD_END);
sb.append("\t\t\t<FileSize>" + filesize + "</FileSize>\n");
if (targetFilename != null)
sb.append("\t\t\t<TargetFileName>" + targetFilename + "</TargetFileName>\n");
else
sb.append("\t\t\t<TargetFileName></TargetFileName>\n");
sb.append(DELAY_SECONDS_START);
sb.append(DELAY_SECONDS);
sb.append(DELAY_SECONDS_END);
sb.append(SUCCESS_URL);
sb.append(FAILURE_URL);
sb.append(END);
return sb.toString();
}
}