Friday, November 2, 2012

Amdocs response time calculator



import lrapi.lr;
import java.io.File;
import java.util.Date;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;
import java.sql.*;
import java.util.*;
import java.math.*;
import java.text.*;


public class Actions
{

    int NetTimeDiff = 0;
    int TimeDiff = 0;
    long totalTime = 0;

    SqlReader Sqlr_orch;
    SqlReader Sqlr_router;


    private static String CF1 = "com.clarify.jms.bridge.connectionFactory.boss.LBCF";
    private static String RouterInQ = "com.clarify.jms.boss.router.in";
    private static int sleepTime = 100;


    public int init()
    {
String sattrValue = null;


try
{

   Sqlr_orch = new SqlReader(lr.eval_string("jdbc:oracle:thin:@localhost:1522:VTOR"), "sa", "sa");
   Sqlr_router = new SqlReader(lr.eval_string("jdbc:oracle:thin:@localhost:1523:VTRO"), "sa", "sa");

}
catch(Exception e)
{
   e.printStackTrace();
   lr.exit(lr.EXIT_VUSER, lr.FAIL);
   return 1;
}

return 0;
    }


    public int action()
    {
String sqlResRouter [] = null;
String sqlResOrch [] = null;
String OrderId;
String OrderIdSubString;

String subHHRot1 = null;
String subHHRot = null;
String subHHOrc = null;
String subMMRot = null;
String subMMOrc = null;
String subSSRot = null;
        String subSSOrc = null;

int intsubHHRot = 0;
int intsubHHOrc = 0;



OrderId = lr.eval_string("<OrderId>");

try{


               sqlResRouter = Sqlr_router.RunQuery("select MIN(OSS_RECEIVED_DATE) from TABLE_OSS_ROUTER_MSG "+
    "WHERE OSS_RECEIVED_DATE > SYSDATE - 1 "+
    "AND OSS_CONVERSATION_ID like ? ",
                                             "OSS_RECEIVED_DATE",
    OrderId);

   
sqlResOrch = Sqlr_orch.RunQuery("SELECT LAST_UPDATE FROM TABLE_CONTRACT "+
   "WHERE LAST_UPDATE > SYSDATE - 1 " +
       "AND STATUS = 'Complete' " +
   "AND OSS_CMP_ORDER_ID LIKE ? ",
   "LAST_UPDATE",
   OrderId);


String rotTime = sqlResRouter[0];
String orcTime = sqlResOrch[0];
//
 System.out.println("rotTime: " + rotTime);
 System.out.println("orcTime: " + orcTime);

long timeDiffinSec = timeDiff(rotTime, orcTime);
// System.out.println("timeDiffinSec: " + timeDiffinSec);

// System.out.println("orderid:" + OrderId + " timeDiffinSec " + timeDiffinSec);

totalTime = totalTime + timeDiffinSec;
}
catch (Exception e)
{
    //System.out.print("Error: " + e.getMessage());
}
return 0;
}

     public int end()
    {

// System.out.println("\nNet: " + NetTimeDiff);
  int iter = lr.eval_int("<Iterations>");
System.out.println("\nIter: " + iter);
long avg = totalTime/iter;
  System.out.println("\nAverage: " + avg);
  System.out.println("*****: ");
return 0;
    }

public long timeDiff(String initialTime ,String finalTime )
{
        long timeDiff=0;
        DateFormat df = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss");
     
        //String now = new String( df.format(  ) );
        try
        {
            Date time1 = df.parse(initialTime);
            Date time2= df.parse(finalTime);
            //System.out.println("Today = " + df.format(today));
//             System.out.println("time1 in millisecs after parsing : " + time1.getTime());
//             System.out.println("time2 in millisecs after parsing : " + time2.getTime());
            timeDiff=((time2.getTime()-time1.getTime())/1000);
//             System.out.println(" Time Diff in seconds: " + (timeDiff));
       
        } catch (ParseException e)
        {
        System.out.println(" Exception occurs in parsing date");
            e.printStackTrace();
        }
        return timeDiff;

}

}
--------
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
import java.sql.SQLException;


public class SqlReader
{
    private Connection con;
    private PreparedStatement ps;
    protected String DbName;
    protected String DbUser;
    protected String DbPass;

    public SqlReader(String DbName, String DbUser, String DbPass) throws Exception
    {
this.DbName = DbName;
this.DbUser = DbUser;
this.DbPass = DbPass;

connect();
    }

    public Connection connect()throws Exception
    {
try
{
   System.out.println("conecting DB..."+DbUser+","+DbPass+"@"+DbName);
   DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
   con = DriverManager.getConnection(DbName,DbUser,DbPass);
   System.out.println("returning con");
   return con;
}
catch (SQLException e)
{
   throw new Exception("Error init sql reader" + e.getMessage(), e);
}
    }

   
    public String[] RunQuery(String str_query, String FieldSelector, String BindParameters)
   throws Exception
    {

System.out.print("str_query" + str_query);
System.out.print("FieldSelector " + FieldSelector);
System.out.print("BindParameters " + BindParameters);


String[] results = new String[100];
String res = null;
        String [] temp = null;
temp = BindParameters.split(";");
String timerecv = null;

try
{
   ResultSet rs = null;
   ps = con.prepareStatement(str_query,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
   ps.setString(1, BindParameters);
   rs = ps.executeQuery();


while (rs.next()) {
res = rs.getString(1);
results[0] = res;

}


}
catch (SQLException e)
{
   throw new Exception("Error in sql run query" + e.getMessage(), e);
}

  ps.close();
return results;

    }

    public void close() throws Exception
    {
try
{
   con.close();
}
catch (SQLException e)
{
   throw new Exception("Error closing sql connection : " + e.getMessage(),e);
}
    }
}

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

No comments:

Post a Comment