Request Validations

getTest1( String tNo, String tn, String state) //all three required as input

getTest2(String tn, String State) // both data values required
for both of these input needs to be validated to see if it is null and is in the right format ..

I have this fn to test this
public void validateReq(String qualTrackNo, String tn, String state) throws ServicesApplicationException
{
      String fctStr = "ServiceRequestBean::checkReq()";
      
      PatternMatcher re = new Perl5Matcher();

      if (!reInit)
            setupRePatterns();
      
      try
      {
         // EDIT THE TELEPHONE NUMBER
         if ( (tn == null) || (!re.matches(tn, reTn)) )
            throw exception;...                                                                        
         // EDIT THE QUALIFICATION TRACKING NUMBER
         if ( TrackNo == null ||
           (!re.matches(TrackNo, reQualTrackNum)) )
            throw exception...                                                                              
            // EDIT THE STATE
       if ( state == null ||       (!re.matches(state, reState)) )
            throw exception...                                                
      
}
private synchronized void setupRePatterns() throws ServicesApplicationException
{
   try
   {
         TraceLog.write(TraceLog.DEBUG, "Initializing regular patterns...");
      
         if (reInit)
            return;
         reTn = new Perl5Compiler().compile(props.getValue(ServicesConstants.REGEXP_TN_10DIGIT), Perl5Compiler.READ_ONLY_MASK);
         reQualTrackNum = new Perl5Compiler().compile(props.getValue(ServicesConstants.REGEXP_QUAL_TRACK_NO), Perl5Compiler.READ_ONLY_MASK);
         reState = new Perl5Compiler().compile(props.getValue(ServicesConstants.REGEXP_STATE_2CHAR), Perl5Compiler.READ_ONLY_MASK);

         reInit = true;
         return;
   }
        
   catch(Throwable t)
   {
         ServicesError.throwProcessingException(t, "ServiceRequestBean::setupRePatterns()", props);
   }

   return;
}

How do I retain the same fns and test for both getTest1 and getTest2? other than polymorphism?
skn73Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Hammadian2Commented:
getTest1( String tn, String state, String tNo = "xxx")

where "xxx" is a valid value for tNo
these way it can be used with 2 or 3 parameters
0
skn73Author Commented:
getTest1(tno, Tn, state) & getTest2(tn, state) needs to call validateReq() to validate the input
I dont want to change getTest1 or getTest2.

as it is written currently ..
if getTest2() calls validateReq("",tn,state) because there is no tracknum ...
it will error out saying tracknum is null or is in iinvalid format..

How can I use validateReq fn to do validations for both getTest1 and getTest2
0
zcayoCommented:
skn73,

The easiest way is makeup a tracking number that will validate (i.e.- "_VALID") and hardcode it into getTest2() so it will call:

 validateReq("_VALID",tn,state)

you would then have to modify your tn validation rule from

if ( TrackNo == null ||
          (!re.matches(TrackNo, reQualTrackNum)) )

to

if ( TrackNo == null || (!re.matches(TrackNo, reQualTrackNum)) || !TrackNo.equals("_VALID"))

This is more or less what was suggested by Hammadian2, but with a little more detail.

Hope it works for you
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
skn73Author Commented:
Thanks .. this is exactly what I did ...
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Programming

From novice to tech pro — start learning today.