Email Validation using Callouts in Openbravo

Hi Folks,

I have a written a simple Java code that validates an email ID. This is not a completely validated one, but a basic validated one. This can also be also used as a template for creating Callouts in Openbravo. special mention to my colleague Pandi and one more thanks to Ivan from Openbravo in helping me accomplish this task…:)

package org.openbravo.erpCommon.ad_callouts;

import javax.servlet.ServletException;
import org.apache.log4j.Logger;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.openbravo.erpCommon.ad_callouts.SimpleCallout;
import org.openbravo.erpCommon.utility.SequenceIdData;
import org.openbravo.erpCommon.utility.OBError;
import org.openbravo.scheduling.ProcessBundle;

public class Email_CL extends SimpleCallout {

   private static final long serialVersionUID = 1L;
   private static Logger log = Logger.getLogger(Email_CL.class);

 @Override
 protected void execute(CalloutInfo info) throws ServletException {

   String mailid = info.getStringParameter("inpemail",null);
   // Set the email pattern string
    Pattern p = Pattern.compile(".+@.+\\.[a-z]+");
   
   // Match the given string with the pattern
   Matcher m = p.matcher(mailid.toString());

   // check whether match is found
   boolean matchFound = m.matches();

   StringTokenizer st = new StringTokenizer(mailid, ".");
   String lastToken = null;

    while (st.hasMoreTokens())
    {
       lastToken = st.nextToken();
    }

   //if (matchFound && lastToken.length() >= 2
   //     mailid.length() - 1 != lastToken.length())

   if(!matchFound)
       info.addResult("MESSAGE","InValid Email");
   
 }
}

Importing it into the Application :
Generally callouts are present in the folder ad_callouts in org/openbravo/erpCommon in the source folder of openbravo. You can put your callout file here and then we should define a callout in our application in Application Dictionary under setup folder callout is there. Now Give a name for the callout preferably the name of your java file because the mapping class file and a auto-generated html file will be generated. You check the existing callouts for path and adjust yours accordingly. Then this defined callout should be assigned to the field where the action has to be performed. for the above example it would be the string field where email will be entered. To assign callout to a column go to tables and columns and choose the corresponding column. There will be a field called callout. Choose your name there. Compile and deploy and check your callout.

Note:
To check whether your callout is called properly, u can use the empty frame at the end of each page. For that go to src/org/openbravo/erpCommon/security. There will be a file called Login_FS.Html. In line No.52 the frame ratio would be “100%,*”. Change that too “90%,20%”. This will create a empty text area at the end of every page and if that page has callout, the text “Callout response page” will be displayed. Or else if some error is displayed your path settings in callout definition has to be changed.

Happy Working..:)

Advertisements

About Shankar Balachandran
Technical Manager, Openbravo operations, Kailao Consulting Private Limited

9 Responses to Email Validation using Callouts in Openbravo

  1. Pingback: Retrieving Parameters for DAL Process and Callouts in OpenbravoERP « Fugo Consulting

  2. Pingback: Retrieving last changed value in Openbravo Callout « Fugo Consulting

  3. Pingback: Setting Date field in Openbravo Callout « Fugo Consulting

  4. Pingback: Setting Date field in Openbravo Callout « Shaan – Openbravo Developer, India, Fugo

  5. Pingback: Retrieving last changed value in Openbravo Callout « Shaan – Openbravo Developer, India, Fugo

  6. Pingback: Retrieving last changed value in Openbravo Callout « Openbravo Technical Development – Do's and Dont's

  7. Pingback: Setting Date field in Openbravo Callout « Openbravo Technical Development – Do's and Dont's

  8. Pingback: Setting Date field in Openbravo Callout – Shankar Balachandran

  9. Pingback: Retrieving last changed value in Openbravo Callout – Shankar Balachandran

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: