Subversion Repositories SmartDukaan

Rev

Rev 22242 | Rev 22470 | 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
	}
22242 ashik.ali 30
	public static final LocalDate toDate(String dateString)throws DateTimeParseException{	
22215 ashik.ali 31
		LOGGER.info("Converting dateString [{}] with pattern[{}]", dateString, DATE_PATTERN);
22242 ashik.ali 32
		return LocalDate.parse(dateString);
21543 ashik.ali 33
	}
34
 
35
	public static final LocalTime toTime(String timeString) throws DateTimeParseException{
36
		return LocalTime.parse(timeString);
37
	}
21652 ashik.ali 38
 
21792 ashik.ali 39
	public static final LocalDateTime toDateTime(long epocTime){
40
		return Instant.ofEpochMilli(epocTime).atZone(ZoneId.systemDefault()).toLocalDateTime();
41
	}
42
 
22215 ashik.ali 43
	public static final String toString(LocalDate localDate){
44
		DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DATE_PATTERN);
45
		String formattedDateTime = localDate.format(formatter); // "1986-04-08 12:30"
46
		return formattedDateTime;
47
	}
48
 
21652 ashik.ali 49
	public static final LocalDateTime toDateTime(String dateTimeString) throws DateTimeParseException{
22290 ashik.ali 50
		if(dateTimeString == null || dateTimeString.equals("0") || dateTimeString.isEmpty()){
21655 ashik.ali 51
			return null;
52
		}
21986 kshitij.so 53
		LocalDateTime date =
54
				  Instant.ofEpochMilli(Long.valueOf(dateTimeString))
55
				  .atZone(ZoneId.systemDefault())
56
				  .toLocalDateTime();
57
		return date;
21652 ashik.ali 58
	}
21543 ashik.ali 59
 
60
	public static boolean isValidMobile(String mobile){
61
		try{
62
			Long.valueOf(mobile);
63
		}
64
		catch(Exception e){
65
			return false;
66
		}
67
 
68
		if (mobile.startsWith("0")){
69
			return false;
70
		}
71
		if (mobile.length()!=10){
72
			return false;
73
		}
74
		return true;
75
	}
76
 
77
	public static boolean isValidEmailAddress(String email) {
78
		boolean result = true;
79
		try {
80
			InternetAddress emailAddr = new InternetAddress(email);
81
			emailAddr.validate();
82
		} catch (Exception ex) {
83
			result = false;
84
		}
85
		return result;
86
	}
21570 ashik.ali 87
 
88
	public static List<String> getDuplicateElements(List<String> elements){
89
		List<String> duplicates = new ArrayList<>();
90
		for(int i = 0; i < elements.size(); i++){
91
			for(int j = i + 1; j < elements.size(); j++){
92
				if(elements.get(i).equals(elements.get(j))){
93
					duplicates.add(elements.get(i));
94
				}
95
			}
96
		}
97
		return duplicates;
98
	}
99
 
100
	public static String toString(Object object) throws Exception{
101
		try {
102
			return objectMapper.writeValueAsString(object);
103
		} catch (JsonProcessingException e) {
104
			LOGGER.error("Error occured while converting object to json", e);
105
			throw e;
106
		}
107
	}
21756 ashik.ali 108
	public static boolean isValidPinCode(String pinCode){
109
		if(pinCode == null || pinCode.isEmpty()){
110
			return false;
111
		}
112
		if(pinCode.length() != 6){
113
			return false;
114
		}
115
		if(pinCode.startsWith("00") || pinCode.startsWith("01") || pinCode.startsWith("10")){
116
			return false;
117
		}
118
		return true;
119
 
120
	}
21792 ashik.ali 121
 
22215 ashik.ali 122
	public static String generatePolicyNumber(String prefix, int sequence){
123
		String policyNumber = String.format(prefix + "%06d", sequence);
124
		LOGGER.info("Generated Policy Number {}", policyNumber);
125
		return policyNumber;
126
	}
21675 ashik.ali 127
 
21543 ashik.ali 128
}