Saturday, 15 May 2010

java - Use result from one class in another? -



java - Use result from one class in another? -

i have 2 classes in java, , trying utilize result 1 class value sec class, have.

dbcall.java -

package com.example.tests; import java.sql.connection; import java.sql.drivermanager; import java.sql.resultset; import java.sql.sqlexception; import java.sql.statement; import java.util.concurrent.timeunit; public class dbcall { public void generateid(){ int count; seek { class.forname("com.microsoft.sqlserver.jdbc.sqlserverdriver"); connection conn = drivermanager.getconnection("jdbc:sqlserver://ip:port;databasename=subscribermanager;integratedsecurity=true;"); system.out.println("connection successfull"); system.out.println(conn); //-------------------------------------------------------------------- statement stmt = conn.createstatement(); string query1= "select count(*) dbo.vsubscriberreporting [subscriberemailaddressstatusid] in (5,1,6,7) , [subscriberstatusid] = 1 , [subscriberaddresseestatusid] = 1 , companysizecodeid in (4)"; resultset rs= stmt.executequery(query1); if(rs.next()) //expecting 1 row. { count = rs.getint(1); system.out.println("value: " + count); } } grab (classnotfoundexception e) { // todo auto-generated grab block e.printstacktrace(); } grab (sqlexception e) { // todo auto-generated grab block e.printstacktrace(); } } public static void main(string[] args) { dbcall gen = new dbcall(); gen.generateid(); }}

quickjavatest.java

package com.example.tests; import java.util.concurrent.timeunit; import org.junit.*; import static org.junit.assert.*; import org.openqa.selenium.*; import org.openqa.selenium.firefox.firefoxdriver; import org.openqa.selenium.support.ui.select; public class qucikjavatest { private webdriver driver; private string baseurl; private boolean acceptnextalert = true; private stringbuffer verificationerrors = new stringbuffer(); @before public void setup() throws exception { driver = new firefoxdriver(); baseurl = "https://testurl"; driver.manage().timeouts().implicitlywait(30, timeunit.seconds); } @test public void confirmvalue7() throws exception { driver.get(baseurl + "/web/subscribermanagement/admin"); new select(driver.findelement(by.id("selectedfilter"))).selectbyvisibletext("job title"); driver.findelement(by.id("filters_0__values_gb")).click(); driver.findelement(by.id("filters_0__values_af")).click(); driver.findelement(by.cssselector("button")).click(); (int sec = 0;; second++) { if (second >= 60) fail("timeout"); seek { if (iselementpresent(by.id("filters_1__value"))) break; } grab (exception e) {} thread.sleep(1000); } driver.findelement(by.xpath("(//a[contains(text(),'delete')])[2]")).click(); new select(driver.findelement(by.id("selectedfilter"))).selectbyvisibletext("job function"); driver.findelement(by.cssselector("button")).click(); (int sec = 0;; second++) { if (second >= 60) fail("timeout"); seek { if (iselementpresent(by.id("filters_1__values"))) break; } grab (exception e) {} thread.sleep(1000); } driver.findelement(by.id("filters_1__values_28")).click(); driver.findelement(by.cssselector("button.floatright")).click(); driver.findelement(by.id("sqldetailsheading")).click(); seek { assertequals("7", driver.findelement(by.cssselector("span.count")).gettext()); } grab (error e) { verificationerrors.append(e.tostring()); } } @after public void teardown() throws exception { driver.quit(); string verificationerrorstring = verificationerrors.tostring(); if (!"".equals(verificationerrorstring)) { fail(verificationerrorstring); } } private boolean iselementpresent(by by) { seek { driver.findelement(by); homecoming true; } grab (nosuchelementexception e) { homecoming false; } } public boolean isacceptnextalert() { homecoming acceptnextalert; } public void setacceptnextalert(boolean acceptnextalert) { this.acceptnextalert = acceptnextalert; } }

what want take value of "count" dbcall.java , utilize value verify @ assertequals("7") in quickjavatest.java, im sure simple, cant work out best way it.

you need return value obtained in generateid method database, can utilize in other methods want/need.

change method returning void homecoming int:

public int generateid() { int count = 0; seek { class.forname("com.microsoft.sqlserver.jdbc.sqlserverdriver"); connection conn = drivermanager.getconnection("jdbc:sqlserver://ip:port;databasename=subscribermanager;integratedsecurity=true;"); system.out.println("connection successfull"); system.out.println(conn); statement stmt = conn.createstatement(); string query1= "select count(*) dbo.vsubscriberreporting [subscriberemailaddressstatusid] in (5,1,6,7) , [subscriberstatusid] = 1 , [subscriberaddresseestatusid] = 1 , companysizecodeid in (4)"; resultset rs= stmt.executequery(query1); if(rs.next()) //expecting 1 row. { count = rs.getint(1); system.out.println("value: " + count); } } grab (classnotfoundexception e) { e.printstacktrace(); } grab (sqlexception e) { e.printstacktrace(); } homecoming count; }

then, retrieve info in desired method:

@test public void confirmvalue7() throws exception { dbcall dbcall = new dbcall(); int count = dbcall.generateid(); //use count want/need //rest of code... }

java

No comments:

Post a Comment