Subversion Repositories SmartDukaan

Rev

Rev 21986 | Rev 22242 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
21543 ashik.ali 1
package com.spice.profitmandi.common.util;
2
 
21792 ashik.ali 3
import java.time.Instant;
21543 ashik.ali 4
import java.time.LocalDate;
21652 ashik.ali 5
import java.time.LocalDateTime;
21543 ashik.ali 6
import java.time.LocalTime;
21792 ashik.ali 7
import java.time.ZoneId;
22215 ashik.ali 8
import java.time.format.DateTimeFormatter;
21543 ashik.ali 9
import java.time.format.DateTimeParseException;
21570 ashik.ali 10
import java.util.ArrayList;
11
import java.util.List;
21543 ashik.ali 12
 
13
import javax.mail.internet.InternetAddress;
14
 
21570 ashik.ali 15
import org.slf4j.Logger;
16
import org.slf4j.LoggerFactory;
17
 
18
import com.fasterxml.jackson.core.JsonProcessingException;
19
import com.fasterxml.jackson.databind.ObjectMapper;
20
 
21543 ashik.ali 21
public class StringUtils {
21570 ashik.ali 22
 
23
	private static ObjectMapper objectMapper = new ObjectMapper();
24
 
25
	private static final Logger LOGGER = LoggerFactory.getLogger(StringUtils.class);
22215 ashik.ali 26
	private static final String DATE_PATTERN = "MM/dd/yyyy";
21543 ashik.ali 27
	private StringUtils(){
28
 
29
	}
30
	public static final LocalDate toDate(String dateString)throws DateTimeParseException{
22215 ashik.ali 31
		LOGGER.info("Converting dateString [{}] with pattern[{}]", dateString, DATE_PATTERN);
32
		DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DATE_PATTERN);
33
		return LocalDate.parse(dateString, formatter);
21543 ashik.ali 34
	}
35
 
36
	public static final LocalTime toTime(String timeString) throws DateTimeParseException{
37
		return LocalTime.parse(timeString);
38
	}
21652 ashik.ali 39
 
21792 ashik.ali 40
	public static final LocalDateTime toDateTime(long epocTime){
41
		return Instant.ofEpochMilli(epocTime).atZone(ZoneId.systemDefault()).toLocalDateTime();
42
	}
43
 
22215 ashik.ali 44
	public static final String toString(LocalDate localDate){
45
		DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DATE_PATTERN);
46
		String formattedDateTime = localDate.format(formatter); // "1986-04-08 12:30"
47
		return formattedDateTime;
48
	}
49
 
21652 ashik.ali 50
	public static final LocalDateTime toDateTime(String dateTimeString) throws DateTimeParseException{
21986 kshitij.so 51
		if(dateTimeString == null || dateTimeString.equals("0")){
21655 ashik.ali 52
			return null;
53
		}
21986 kshitij.so 54
		LocalDateTime date =
55
				  Instant.ofEpochMilli(Long.valueOf(dateTimeString))
56
				  .atZone(ZoneId.systemDefault())
57
				  .toLocalDateTime();
58
		return date;
21652 ashik.ali 59
	}
21543 ashik.ali 60
 
61
	public static boolean isValidMobile(String mobile){
62
		try{
63
			Long.valueOf(mobile);
64
		}
65
		catch(Exception e){
66
			return false;
67
		}
68
 
69
		if (mobile.startsWith("0")){
70
			return false;
71
		}
72
		if (mobile.length()!=10){
73
			return false;
74
		}
75
		return true;
76
	}
77
 
78
	public static boolean isValidEmailAddress(String email) {
79
		boolean result = true;
80
		try {
81
			InternetAddress emailAddr = new InternetAddress(email);
82
			emailAddr.validate();
83
		} catch (Exception ex) {
84
			result = false;
85
		}
86
		return result;
87
	}
21570 ashik.ali 88
 
89
	public static List<String> getDuplicateElements(List<String> elements){
90
		List<String> duplicates = new ArrayList<>();
91
		for(int i = 0; i < elements.size(); i++){
92
			for(int j = i + 1; j < elements.size(); j++){
93
				if(elements.get(i).equals(elements.get(j))){
94
					duplicates.add(elements.get(i));
95
				}
96
			}
97
		}
98
		return duplicates;
99
	}
100
 
101
	public static String toString(Object object) throws Exception{
102
		try {
103
			return objectMapper.writeValueAsString(object);
104
		} catch (JsonProcessingException e) {
105
			LOGGER.error("Error occured while converting object to json", e);
106
			throw e;
107
		}
108
	}
21756 ashik.ali 109
	public static boolean isValidPinCode(String pinCode){
110
		if(pinCode == null || pinCode.isEmpty()){
111
			return false;
112
		}
113
		if(pinCode.length() != 6){
114
			return false;
115
		}
116
		if(pinCode.startsWith("00") || pinCode.startsWith("01") || pinCode.startsWith("10")){
117
			return false;
118
		}
119
		return true;
120
 
121
	}
21792 ashik.ali 122
 
22215 ashik.ali 123
	public static String generatePolicyNumber(String prefix, int sequence){
124
		String policyNumber = String.format(prefix + "%06d", sequence);
125
		LOGGER.info("Generated Policy Number {}", policyNumber);
126
		return policyNumber;
127
	}
21675 ashik.ali 128
 
21543 ashik.ali 129
}