From 8acecf99c555e2f17ee29b2e71289b3093aa4b6e Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 12 Dec 2011 12:38:49 +0700 Subject: [PATCH 1/2] Adding feature to send message using PIN address, instead of email address --- .../messaging/message/MessageUtility.java | 32 +++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/api/messaging/src/main/java/blackberry/messaging/message/MessageUtility.java b/api/messaging/src/main/java/blackberry/messaging/message/MessageUtility.java index 5faf0bb..585129d 100644 --- a/api/messaging/src/main/java/blackberry/messaging/message/MessageUtility.java +++ b/api/messaging/src/main/java/blackberry/messaging/message/MessageUtility.java @@ -19,8 +19,9 @@ import net.rim.blackberry.api.mail.Address; import net.rim.blackberry.api.mail.AddressException; -import net.rim.blackberry.api.mail.Message; import net.rim.blackberry.api.mail.Folder; +import net.rim.blackberry.api.mail.Message; +import net.rim.blackberry.api.mail.PINAddress; import net.rim.blackberry.api.mail.Store; /** @@ -312,7 +313,11 @@ public static Address[] stringToAddresses( String addressString ) { for( int i = 0; i < emails.length; i++ ) { try { - addresses[ i ] = new Address( emails[ i ], emails[ i ] ); + if(MessageUtility.isPIN (emails[i])){ + addresses[ i ] = new PINAddress( emails[ i ], emails[ i ]); + } else { + addresses[ i ] = new Address( emails[ i ], emails[ i ] ); + } } catch( AddressException e ) { addresses[ i ] = null; } @@ -320,4 +325,27 @@ public static Address[] stringToAddresses( String addressString ) { return addresses; } + + /** + * Check whether the address given is PIN address. + * PIN Address is in hexadecimal format [ 0-9, A-F ] + * + * @param address address to be check + * @return true when the address is a PIN address + */ + public static boolean isPIN ( String address ) { + char[] check = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; + if(address.length()!=8) return false; + for(int i=0;i Date: Mon, 12 Dec 2011 12:57:44 +0700 Subject: [PATCH 2/2] Adding more comments --- .../main/java/blackberry/messaging/message/MessageUtility.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/api/messaging/src/main/java/blackberry/messaging/message/MessageUtility.java b/api/messaging/src/main/java/blackberry/messaging/message/MessageUtility.java index 585129d..d6e433f 100644 --- a/api/messaging/src/main/java/blackberry/messaging/message/MessageUtility.java +++ b/api/messaging/src/main/java/blackberry/messaging/message/MessageUtility.java @@ -313,6 +313,7 @@ public static Address[] stringToAddresses( String addressString ) { for( int i = 0; i < emails.length; i++ ) { try { + // Check if PIN address, use PINAddress instead of Address if(MessageUtility.isPIN (emails[i])){ addresses[ i ] = new PINAddress( emails[ i ], emails[ i ]); } else { @@ -335,6 +336,8 @@ public static Address[] stringToAddresses( String addressString ) { */ public static boolean isPIN ( String address ) { char[] check = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; + + // PIN should in 8 length string if(address.length()!=8) return false; for(int i=0;i