grsf-publisher-ws/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/groups/Status.java

58 lines
1.2 KiB
Java

package org.gcube.data_catalogue.grsf_publish_ws.utils.groups;
import org.gcube.data_catalogue.grsf_publish_ws.utils.HelperMethods;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
/**
* Status Group and sub groups (for both Stock and Fishery)
* @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it)
*/
public enum Status {
Pending("Pending"),
Confirmed("Confirmed");
private String subGroupNameOrig;
private String subGroupNameOnCkan;
private Status(String origName) {
this.subGroupNameOrig = origName;
this.subGroupNameOnCkan = HelperMethods.getGroupNameOnCkan(origName);
}
/**
* Return the name the group has on ckan
* @return
*/
public String getNameCkan(){
return subGroupNameOnCkan;
}
/**
* Return the original name
* @return
*/
public String getOrigName(){
return subGroupNameOrig;
}
@JsonValue
public String onSerialize(){
return subGroupNameOrig.toLowerCase();
}
@JsonCreator
public static Status onDeserialize(String statusString) {
if(statusString != null) {
for(Status status : Status.values()) {
if (status.toString().equalsIgnoreCase(statusString.trim()))
return status;
}
}
return null;
}
}