From: fredrik <fre...@us...> - 2005-04-25 07:22:43
|
Update of /cvsroot/test-manager/main/src/testmanager/database/queries In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1832/src/testmanager/database/queries Added Files: TestCaseListQuery.java Query.java QueryIterator.java QuerySet.java Log Message: --- NEW FILE: Query.java --- package testmanager.database.queries; /** * @author Fredrik Fornwall */ public class Query { } --- NEW FILE: QueryIterator.java --- package testmanager.database.queries; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Iterator; /** * An iterator through a ResultSet from an SQL query. * * TestCaseListResult result = TestCase.query(); * while (result.hasNext()) { * * } * * @author Fredrik Fornwall */ public class QueryIterator implements Iterator { protected ResultSet resultSet; QueryIterator(ResultSet resultSet) { this.resultSet = resultSet; } /** * @see java.util.Iterator#hasNext() */ public boolean hasNext() { try { return !resultSet.isLast(); } catch (SQLException e) { //TODO: Handle return false; } } /** * @see java.util.Iterator#next() */ public Object next() { try { resultSet.next(); } catch (SQLException e) { } return this; } /** * @see java.util.Iterator#remove() */ public void remove() { // TODO Auto-generated method stub try { //XXX: Perhaps a fat interface not supporting removes? //throw new resultSet.deleteRow(); } catch (SQLException e) { //TODO: handle } } } --- NEW FILE: TestCaseListQuery.java --- package testmanager.database.queries; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Iterator; /** * @author Fredrik Fornwall */ public class TestCaseListQuery extends QueryIterator { private TestCaseListQuery(ResultSet resultSet) { super(resultSet); } private static class TheSet { public Iterator iterator() { return null; } }; public static TestCaseListQuery query(Connection connection) throws SQLException { Statement statement = connection.createStatement(); ResultSet resultSet = statement .executeQuery("SELECT TestCase.ID, TestCase.title, TestCase.Status, TestCaseArea.Name, Tester.FullName, Tester.ID, TestCase.Type " + "FROM TestCase, TestCaseArea, Tester " + "WHERE TestCase.AreaID = TestCaseArea.ID AND TestCase.ResponsibleID = Tester.ID"); return new TestCaseListQuery(resultSet); } public static void main(String[] args) throws SQLException { TestCaseListQuery query = TestCaseListQuery.query(null); while (query.hasNext()) { query.next(); } } public String getTestCaseTitle() throws SQLException { return resultSet.getString(2); } public int getTestCaseID() throws SQLException { return resultSet.getInt(1); } public int getTestCaseStatus() throws SQLException { return resultSet.getInt(3); } public String getTestCaseAreaName() throws SQLException { return resultSet.getString(4); } public String getResponsibleTestersFullName() throws SQLException { return resultSet.getString(5); } public int getResponsibleTestersID() throws SQLException { return resultSet.getInt(6); } public int getTestCaseType() throws SQLException { return resultSet.getInt(7); } } --- NEW FILE: QuerySet.java --- package testmanager.database.queries; /** * @author Fredrik Fornwall */ public class QuerySet { } |