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);
}
}
}
---------------------------
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment