package org.ripple.power.database.secrecy;
import java.util.Date;
import org.json.JSONObject;
import org.ripple.power.utils.DateUtils;
public class PasswordSecureData extends SecureData {
private static final long serialVersionUID = 1L;
private static final int DAYS_TO_EXPIRATION = 180;
private String userName;
private String password;
private String url;
private Date expirationTime;
public PasswordSecureData(String title, String password) {
super(title, "");
this.userName = "";
this.password = password;
this.url = "";
this.updateExpiration();
}
private void updateExpiration() {
this.expirationTime = DateUtils.addDays(new Date(), DAYS_TO_EXPIRATION);
}
public String getUserName() {
return this.userName;
}
public void setUserName(String userName) {
this.updateTime();
this.userName = userName;
}
public String getPassword() {
return this.password;
}
public void setPassword(String password) {
updateExpiration();
this.updateTime();
this.password = password;
}
public String getUrl() {
return this.url;
}
public void setUrl(String url) {
this.updateTime();
this.url = url;
}
public Date getExpirationTime() {
return this.expirationTime;
}
@Override
public JSONObject toJSON() {
JSONObject obj = new JSONObject();
JSONObject data = new JSONObject();
data.put("Title", this.getTitle());
data.put("UserName", this.userName);
data.put("Password", this.password);
data.put("URL", this.url);
data.put("Tags", this.getTagString());
obj.put("PasswordData", data);
return obj;
}
@Override
public String toXML() {
StringBuilder xmlSnip = new StringBuilder();
xmlSnip.append("\t<PasswordData>\n");
xmlSnip.append("\t\t<Title>").append(this.getTitle())
.append("</Title>\n");
xmlSnip.append("\t\t<UserName>").append(this.userName)
.append("</UserName>\n");
xmlSnip.append("\t\t<Password>").append(this.password)
.append("</Password>\n");
xmlSnip.append("\t\t<URL>").append(this.url).append("</URL>\n");
xmlSnip.append("\t\t<Tags>").append(this.getTagString())
.append("</Tags>\n");
xmlSnip.append("\t</PasswordData>\n");
return xmlSnip.toString();
}
}