Subversion Repositories SmartDukaan

Rev

Rev 23017 | Rev 23201 | 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;
22858 ashik.ali 20
import com.spice.profitmandi.common.enumuration.DateTimePattern;
21570 ashik.ali 21
 
21543 ashik.ali 22
public class StringUtils {
21570 ashik.ali 23
 
24
	private static ObjectMapper objectMapper = new ObjectMapper();
25
 
26
	private static final Logger LOGGER = LoggerFactory.getLogger(StringUtils.class);
23188 ashik.ali 27
	private static final String DATE_PATTERN = "dd/MM/yyyy";
22895 amit.gupta 28
	private static final String DATE_PATTERN_HYPHENATED = "yyyy-MM-dd";
21543 ashik.ali 29
	private StringUtils(){
30
 
31
	}
22242 ashik.ali 32
	public static final LocalDate toDate(String dateString)throws DateTimeParseException{	
22215 ashik.ali 33
		LOGGER.info("Converting dateString [{}] with pattern[{}]", dateString, DATE_PATTERN);
23188 ashik.ali 34
		DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(DATE_PATTERN);
35
		return LocalDate.parse(dateString, dateTimeFormatter);
21543 ashik.ali 36
	}
37
 
22895 amit.gupta 38
	public static final LocalDate fromHypendatedDate(String dateString)throws DateTimeParseException{	
39
		LOGGER.info("Converting dateString [{}] with pattern[{}]", dateString, DATE_PATTERN_HYPHENATED);
23188 ashik.ali 40
		DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(DATE_PATTERN_HYPHENATED);
41
		return LocalDate.parse(dateString, dateTimeFormatter);
22895 amit.gupta 42
	}
43
 
21543 ashik.ali 44
	public static final LocalTime toTime(String timeString) throws DateTimeParseException{
45
		return LocalTime.parse(timeString);
46
	}
21652 ashik.ali 47
 
21792 ashik.ali 48
	public static final LocalDateTime toDateTime(long epocTime){
49
		return Instant.ofEpochMilli(epocTime).atZone(ZoneId.systemDefault()).toLocalDateTime();
50
	}
51
 
22215 ashik.ali 52
	public static final String toString(LocalDate localDate){
53
		DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DATE_PATTERN);
22858 ashik.ali 54
		String formattedDateTime = localDate.format(formatter);
22215 ashik.ali 55
		return formattedDateTime;
56
	}
57
 
23017 ashik.ali 58
	public static final String toString(LocalDateTime localDateTime){
59
		if(localDateTime == null){
60
			return null;
61
		}
62
		DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-YYYY HH:mm:ss");
63
		return localDateTime.format(formatter);
64
	}
65
 
21652 ashik.ali 66
	public static final LocalDateTime toDateTime(String dateTimeString) throws DateTimeParseException{
22290 ashik.ali 67
		if(dateTimeString == null || dateTimeString.equals("0") || dateTimeString.isEmpty()){
21655 ashik.ali 68
			return null;
69
		}
22858 ashik.ali 70
		return LocalDateTime.parse(dateTimeString);
21652 ashik.ali 71
	}
22858 ashik.ali 72
 
73
	public static final LocalDateTime toDateTime(String dateTimeString, DateTimePattern dateTimePattern) throws DateTimeParseException{
74
		if(dateTimeString == null || dateTimeString.equals("0") || dateTimeString.isEmpty()){
75
			return null;
76
		}
77
		DateTimeFormatter formatter = DateTimeFormatter.ofPattern(dateTimePattern.getValue());
78
		return LocalDateTime.parse(dateTimeString, formatter);
79
	}
21543 ashik.ali 80
 
81
	public static boolean isValidMobile(String mobile){
82
		try{
83
			Long.valueOf(mobile);
84
		}
85
		catch(Exception e){
86
			return false;
87
		}
88
 
89
		if (mobile.startsWith("0")){
90
			return false;
91
		}
92
		if (mobile.length()!=10){
93
			return false;
94
		}
95
		return true;
96
	}
97
 
98
	public static boolean isValidEmailAddress(String email) {
99
		boolean result = true;
100
		try {
101
			InternetAddress emailAddr = new InternetAddress(email);
102
			emailAddr.validate();
103
		} catch (Exception ex) {
104
			result = false;
105
		}
106
		return result;
107
	}
21570 ashik.ali 108
 
109
	public static List<String> getDuplicateElements(List<String> elements){
110
		List<String> duplicates = new ArrayList<>();
111
		for(int i = 0; i < elements.size(); i++){
112
			for(int j = i + 1; j < elements.size(); j++){
113
				if(elements.get(i).equals(elements.get(j))){
114
					duplicates.add(elements.get(i));
115
				}
116
			}
117
		}
118
		return duplicates;
119
	}
120
 
121
	public static String toString(Object object) throws Exception{
122
		try {
123
			return objectMapper.writeValueAsString(object);
124
		} catch (JsonProcessingException e) {
125
			LOGGER.error("Error occured while converting object to json", e);
126
			throw e;
127
		}
128
	}
21756 ashik.ali 129
	public static boolean isValidPinCode(String pinCode){
130
		if(pinCode == null || pinCode.isEmpty()){
131
			return false;
132
		}
133
		if(pinCode.length() != 6){
134
			return false;
135
		}
136
		if(pinCode.startsWith("00") || pinCode.startsWith("01") || pinCode.startsWith("10")){
137
			return false;
138
		}
139
		return true;
140
 
141
	}
21792 ashik.ali 142
 
22215 ashik.ali 143
	public static String generatePolicyNumber(String prefix, int sequence){
144
		String policyNumber = String.format(prefix + "%06d", sequence);
23017 ashik.ali 145
		LOGGER.info("Generated Policy Number [{}]", policyNumber);
22215 ashik.ali 146
		return policyNumber;
147
	}
22470 ashik.ali 148
 
149
	public static String generateFofoStoreSequence(String prefix, int sequence){
150
		String fofoStoreSequenceNumber = String.format(prefix + "%03d", sequence);
23017 ashik.ali 151
		LOGGER.info("Generated Fofo Store Sequence Number [{}]", fofoStoreSequenceNumber);
22470 ashik.ali 152
		return fofoStoreSequenceNumber;
153
	}
23017 ashik.ali 154
 
155
	public static String generateOxigenRechageRequestId(String prefix, int sequence){
156
		String oxigenRechargeRequestId = String.format(prefix + "%07d", sequence);
157
		LOGGER.info("Generated Oxigen Recharge Request Id [{}]", oxigenRechargeRequestId);
158
		return oxigenRechargeRequestId;
159
	}
160
 
161
	public static String toOxigenRechargeRequestDate(LocalDateTime now){
162
		StringBuilder oxigenRechargeRequestDate = new StringBuilder();
163
		oxigenRechargeRequestDate.append(now.getYear());
164
		oxigenRechargeRequestDate.append(now.getMonthValue());
165
		oxigenRechargeRequestDate.append(now.getDayOfMonth());
166
		oxigenRechargeRequestDate.append(now.getHour());
167
		oxigenRechargeRequestDate.append(now.getMinute());
168
		oxigenRechargeRequestDate.append(now.getSecond());
169
		return oxigenRechargeRequestDate.toString();
170
	}
171
 
172
	public static LocalDateTime fromOxigenRechargeRequestDate(String oxigenRechargeRequestDate){
173
		int year = Integer.parseInt(oxigenRechargeRequestDate.substring(0, 3));
174
		int month = Integer.parseInt(oxigenRechargeRequestDate.substring(4, 5));
175
		int dayOfMonth = Integer.parseInt(oxigenRechargeRequestDate.substring(6, 7));
176
		int hour = Integer.parseInt(oxigenRechargeRequestDate.substring(8, 9));
177
		int minute = Integer.parseInt(oxigenRechargeRequestDate.substring(10, 11));
178
		int second = Integer.parseInt(oxigenRechargeRequestDate.substring(12, 13));
179
		return LocalDateTime.of(year, month, dayOfMonth, hour, minute, second);
180
	}
21675 ashik.ali 181
 
21543 ashik.ali 182
}