String[] keys = Arrays.stream(ShareModeType.values()).map(ShareModeType::getCode).toArray(String[]::new);
Optional<String> match = Arrays.stream(keys).filter(shareMode::equals).findAny();
actionTypeList = Stream.of(ActionType.values()).map(ActionType::getId).collect(Collectors.toSet());
public enum ResultStatusCode {
SUCCESS("I-FCP-REGREPO-0000", "Success", "Success"),
FAIL("F-FCP-REGREPO-0001", "Failed", "Failed"),
CUSIP_INVALID("F-FCP-REGREPO-0002", "Validation Error", "Invalid CUSIP"),
CUSIP_EMPTY("F-FCP-REGREPO-0003", "Validation Error", "Missing CUSIP"),
E_IND("F-FCP-REGREPO-0004", "Validation Error", "Invalid eIndicator"),
SRC_SYS_IND("F-FCP-REGREPO-0005", "Validation Error", "Invalid srcSysIndicator"),
FUND_TY("F-FCP-REGREPO-0006", "Validation Error", "Invalid Fund Type"),
CORE_TY("F-FCP-REGREPO-0007", "Validation Error", "Invalid Core Type"),
EFF_DATE("F-FCP-REGREPO-0008", "Validation Error", "Invalid date range"),
VER_DATE("F-FCP-REGREPO-0009", "Validation Error", "Invalid version date range"),
ORDER_BY("F-FCP-REGREPO-0010", "Validation Error", "Invalid Orderby"),
ORDER_DIR("F-FCP-REGREPO-0011", "Validation Error", "Invalid Order Direction"),
LIMIT_VAL("F-FCP-REGREPO-0012", "Validation Error", "Invalid limit"),
OFFSET_VAL("F-FCP-REGREPO-0013", "Validation Error", "Invalid offset value"),
DOC_EVENT_IND("F-FCP-REGREPO-0014", "Validation Error", "Invalid docEventIndicator"),
DOC_TY("F-FCP-REGREPO-0015", "Validation Error", "Invalid Document Type"),
PROCESSDATE_INVALID("F-FCP-REGREPO-0016", "Validation Error", "Invalid Process Date"),
PROCESSDATE_EMPTY("F-FCP-REGREPO-0017", "Validation Error", "Missing Process Date"),
GENERIC_ERR_MSG("F-FCP-REGREPO-0018", "System unavailable", "System unavailable");
//DB_EXC_ERR("F-FCP-REGREPO-0019", "Database Exception", "Database Exception"),
private final String code;
private final String title;
private final String detail;
private static Map<String, ResultStatusCode> map = new HashMap<String, ResultStatusCode>();
private ResultStatusCode(String code, String title, String detail) {
this.code = code;
this.title = title;
this.detail = detail;
}
public String getTitle() {
return title;
}
public String getCode() {
return code;
}
public String getDetail() {
return detail;
}
static {
for (ResultStatusCode resultStatusCode : ResultStatusCode.values()) {
map.put(resultStatusCode.code, resultStatusCode);
}
}
public static ResultStatusCode valueOfGivenCode(String code) {
return map.get(code);
}
@Override
public String toString() {
return code + ": " + title;
}
}
https://howtodoinjava.com/swagger2/swagger-spring-mvc-rest-example/
List <ResultStatusCode> filteredList = errorList.stream().filter(x -> x.getTitle().equalsIgnoreCase("Validation Error")).collect(Collectors.toList());
static final String[] ORDERBY_ARRAY = { "CUSIP", "FUND_IND", "EFF_D", "VERSION_D", "E_FUND_IND", "DOC_TY_C",
"CORE_FUND_IND", "ACCESSKEY", "SRC_SYS_IND", "DOC_UPD_IND", "EXP_D" };
if (StringUtils.isNotEmpty(cusipParameters.getOrderBy())) {
if (!Arrays.stream(ORDERBY_ARRAY).anyMatch(cusipParameters.getOrderBy()::equals))
return ErrorCode.ORDER_BY;
}
public boolean RegexValidation(String cusip) {
String regex = "^[a-zA-Z0-9]{9}";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(cusip);
return matcher.matches();
}
public boolean DateValidation(String date) {
String rgx = "^((?:(?:1[6-9]|[2-9]\\d)?\\d{4})(-)(?:(?:(?:0[13578]|1[02])(-)31)|((0[1,3-9]|1[0-2])(-)(29|30))))$|^(?:(?:(?:(?:1[6-9]|[2-9]\\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(-)02(-)29)$|^(?:(?:1[6-9]|[2-9]\\d)?\\d{4})(-)(?:(?:0[1-9])|(?:1[0-2]))(-)(?:0[1-9]|1\\d|2[0-8])$";
Pattern pattern = Pattern.compile(rgx);
Matcher matcher = pattern.matcher(date);
return matcher.matches();
}
public boolean DateRangeValidation(String fromDate, String toDate) {
try {
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = new SimpleDateFormat("yyyy-MM-dd").parse(fromDate);
Date date2 = new SimpleDateFormat("yyyy-MM-dd").parse(toDate);
if (date1.equals(date2))
return true;
else
return date1.before(date2);
} catch (Exception e) {
return false;
}
}