58 lines
1.2 KiB
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;
|
|
}
|
|
|
|
}
|