Tuesday 3 April 2007

validation helper

import it.sella.calendar.DefaultCalendarFactory;
import java.math.BigDecimal;import java.text.NumberFormat;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.Locale;import java.util.regex.Pattern;
public class ValidationHelper {
public static void dateValidator(String date,String errorMessage) throws MyException{ String arg[] = date.split("\\-"); if(arg.length!=3){ throw new MyException(errorMessage); }else{ for(int i=0;i<=2;i++){ validateNumber(arg[i],errorMessage); } } SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); try{ sdf.setLenient(false); System.out.println("date==="+ sdf.parse(date)); }catch(java.text.ParseException e){ e.printStackTrace(); throw new MyException(errorMessage); } } public static void validateNumber(String number,String errorMessage) throws MyException { nullAndEmptyCheck(number,errorMessage); if(!Pattern.matches("[\\d]+",number)){ throw new MyException(errorMessage); } parseNumber(number,errorMessage); }
public static void validatePriceWithDecimal(String number,String valueLimit,String errorMessage) throws MyException { nullAndEmptyCheck(number,errorMessage); if(!Pattern.matches("[0-9\\.\\-]+",number)){ throw new MyException(errorMessage); } parseNumber(number,errorMessage); int i = new BigDecimal(number).compareTo(new BigDecimal(valueLimit)); if(i==1){ throw new MyException(errorMessage); } int posofDot = number.indexOf("."); int posofDotforValueLimit = valueLimit.indexOf("."); int numberLength = posofDot!=-1 ? (number.substring(0,posofDot+1)).length() : number.length(); numberLength = number.indexOf(".")!=-1 ? numberLength-1 : numberLength; int valueLength = posofDotforValueLimit!=-1 ? (valueLimit.substring(0,posofDotforValueLimit+1)).length() : valueLimit.length(); if(numberLength>valueLength){ throw new MyException(errorMessage); } } public static void validateAlphaNumeric(String number,String errorMessage) throws MyException { nullAndEmptyCheck(number,errorMessage); if( !Pattern.matches("[a-zA-Z0-9 ]+",number.trim())){ throw new MyException(errorMessage); } } public static void parseNumber(String number,String errorMessage)throws MyException{ try{ Double.parseDouble(number.trim()); }catch(NumberFormatException e){ e.printStackTrace(); throw new MyException(errorMessage); } } public static void currencyCheck(String t) throws MyException{ Number n = null; NumberFormat numberFormat = NumberFormat.getNumberInstance( Locale.getDefault() ); try { n = numberFormat.parse( t ); System.out.println( "N :" + n + numberFormat.getCurrency() ); } catch ( Exception ex ) { ex.printStackTrace(); throw new MyException ("curreny is wrong "); } } public static void nullAndEmptyCheck(String number,String errorMessage) throws MyException { if( number == null ){ throw new MyException(errorMessage); } if( number!=null && "".equals(number.trim())){ throw new MyException(errorMessage); } } public static void main(String[] args) { // TODO Auto-generated method stub try{ currencyCheck("1.56.6,89"); validatePriceWithDecimal("999.99","999.99","enter price not valid"); }catch(MyException e){ e.printStackTrace(); System.out.println("==ouput==="+e.getMessage()); } /* String fromdate ="2000-03-02"; String toDate ="2000-01-02"; System.out.println( java.sql.Date.valueOf(fromdate)); int i =java.sql.Date.valueOf(toDate).compareTo(java.sql.Date.valueOf(fromdate)); System.out.println(i);*/ String fromDate ="2006-10-25"; Date d =new Date(System.currentTimeMillis()); System.out.println(d) ; System.out.println(java.sql.Date.valueOf(fromDate)) ; /* int dateCheck =java.sql.Date.valueOf(fromDate).compareTo(d); System.out.println(dateCheck) ; */ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); java.util.Date d1 = new java.util.Date(); String toDate = sdf.format(d1); int dateCheck =java.sql.Date.valueOf(fromDate).compareTo(java.sql.Date.valueOf(toDate)); System.out.println(dateCheck) ; Date df = new Date("2006/10/27"); String ds="2006-10-31"; Calendar cl= Calendar.getInstance(); cl.setTime(df);//DefaultCalendarFactory.getInstance().getCalendarFromSQLDate(java.sql.Date.valueOf(ds)); Calendar c= DefaultCalendarFactory.getInstance().incrementoGiorniLavorativi(cl,3); // c.add(c.DATE,+4); System.out.println(c.getTime()); System.out.println( DefaultCalendarFactory.getInstance().getWorkingDaysBetweenDates(Calendar.getInstance(),c)); }
private Calendar getDeliveryDate(Date requestedDate){ Calendar requestedCalendar = Calendar.getInstance(); requestedCalendar.setTime(requestedDate); Calendar deliveryCalendar = DefaultCalendarFactory.getInstance().incrementoGiorniLavorativi(requestedCalendar,3); return deliveryCalendar; } private void daysLeft(Calendar deliveryCalendar){ DefaultCalendarFactory.getInstance().getWorkingDaysBetweenDates(Calendar.getInstance(),deliveryCalendar); }}

No comments: