Need help in creating test appliaction in Java and passing parameters into a new designed Java API.

Posted by Christophe on Stack Overflow See other posts from Stack Overflow or by Christophe
Published on 2010-05-28T14:13:45Z Indexed on 2010/05/28 16:42 UTC
Read the original article Hit count: 175

Filed under:
|

Need help, Please!!!

By following the protocol, the Request should be built in 5 byte length, including 1 byte for changing Braud rate (Speed), and send request to a RS-232 port.

Protocol:

---------------
Request for the command processing, with optional extra byte for changing Baud Rate:

LGT :  length message   ( LGT = 5 )
TYPE     :    0x06
TO(time out):    0x0000 
CMD : (1 byte)       0x02 application update 
Baud Rate : (1 byte)   0xNN (optional parameter to change baud rate of the Mnt App)

where NN can be:
0x00 = No Baud Rate Change (similar to 4-byte command above)
0x09 = Change to 9600 Baud for Application Update speed
0x0A = Change to 19200 Baud for Application Update speed
0x0E = Change to 115200 Baud for Application Update speed
All other bytes are not accepted and will result in a status of 0x01.

------------------

I'm trying to test if my code works or not by creating another class (TestApplication.java) and pass the "3 differenr Baut rate" to this CPXAppliaction.

the 3 Baud Rate is supposed to input by reading a file.txt.

Question:

  1. How do you think these code (first half)? please don't warry about the details about the "sending part". I mean, do I need setter/getter for the "speed" parameter pass?
  2. I created the demo test class DemoApp.java (input speed by reading a txt file, and pass into CPXAppliaction). how do you think about that code?

Many thanks to you guys!!

public class CPXApplication extends CPXCommand {

 private int speed; .

  public CPXApplication() {
  speed = 9600;
     }

 public CPXApplication(int speedinit) {
  speed = speedinit; // TODO: where to get the speed?
   }




 protected void buildRequest() throws ElitePortException {

  String trans = "";

  // build the full-qualified message following the protocol

  trans = addToRequest(trans, (char) 0);
  trans = addToRequest(trans, (char) 5);
  trans = addToRequest(trans, (char) 6);
  trans = addToRequest(trans, (char) 0);
  trans = addToRequest(trans, (char) 0);
  trans = addToRequest(trans, (char) 2);

  switch (speed) {
  case 9600:
   trans = addToRequest(trans, (char) 0x09);
   break;

  case 19200:
   trans = addToRequest(trans, (char) 0x0A);
   break;

  case 115200:
   trans = addToRequest(trans, (char) 0x0E);
   break;

  default:
   // TODO: unexpected baud rate. throw();
   break;

  }

  trans = EncryptBinary(trans);

  trans = "F0." + trans;

  wrapRequest(trans); 

 }

 protected String addToRequest(String req, char c) {
    return req + c;
 }

 protected String addToRequest(String req, String s) {
    return req + s;
 }

 protected String addToRequest(String req) {
  return req;
 }

 public void analyzeResponse() {
  //..............

 }

}

Here is the demo test code:

package com.ingenico.testApp;

import com.ingenico.EliteFd.; import java.util.Scanner; import java.io.;

class Run {

   public static void run()
   {
           CPXAppliactionUpdate input = new CpXApplicationUpdate();        

           int lineno = 0;

           try {
   FileReader fr = new FileReader("baudRateSpeed.txt");
   BufferedReader reader = new BufferedReader(fr);
   String line = reader.readLine();
   Scanner scan = null;
   while (line != null) {
   scan = new Scanner(line);
   String speed;

   speed = scan.next();


   if (lineno == 0)
   {
           input.speed = speed;

           lineno++;
   }

   else
   {
           input = cpxapplicationupdate(speed, input);
   }

   line = reader.readLine();

   }


   reader.close();

   }


   catch (FileNotFoundException e) {
           System.out.println("Could not find the file");
   }
   catch (IOException e) {
           System.out.println("Had a problem reading from file");
   }

   }

public class DemoApp{
public void main(String args[]) { run();

} } }

© Stack Overflow or respective owner

Related posts about java

Related posts about api