Tuesday 3 April 2007

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);
}
}

by Alfathim

No comments: