workspace-tree-widget/src/main/java/org/gcube/portlets/user/workspace/client/view/windows/UploadResultMessage.java

110 lines
2.0 KiB
Java

/**
*
*/
package org.gcube.portlets.user.workspace.client.view.windows;
/**
* @author Federico De Faveri defaveri@isti.cnr.it
*
*/
public class UploadResultMessage {
public enum Status {
/**
* If an error occurs.
*/
ERROR,
/**
* If no error occurs.
*/
OK,
/**
* If there was some problems.
*/
WARN,
/**
* If the result is unknown.
*/
UNKNOWN;
}
public static UploadResultMessage errorResult(String message){
return new UploadResultMessage(Status.ERROR, message);
}
public static UploadResultMessage okResult(String message){
return new UploadResultMessage(Status.OK, message);
}
public static UploadResultMessage warnResult(String message){
return new UploadResultMessage(Status.WARN, message);
}
public static UploadResultMessage parseResult(String result){
//expected 200:Upload complete
String statusToken = null;
String messageToken = null;
int index = result.indexOf(':');
if (index>0){
statusToken = result.substring(0,index);
if (index<result.length()){
messageToken = result.substring(index+1);
}
}
Status status = Status.UNKNOWN;
if (statusToken!=null){
status = Status.valueOf(statusToken);
}
String message = (messageToken!=null)?messageToken:"";
return new UploadResultMessage(status, message);
}
protected Status status;
protected String message;
/**
* Create a new result message.
* @param status the status.
* @param message the message.
*/
public UploadResultMessage(Status status, String message) {
this.status = status;
this.message = message;
}
/**
* @return the status
*/
public Status getStatus() {
return status;
}
/**
* @return the message
*/
public String getMessage() {
return message;
}
/**
* {@inheritDoc}
*/
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append(status);
builder.append(":");
builder.append(message);
return builder.toString();
}
}