Blame | Last modification | View Log | RSS feed
import java.io.ByteArrayOutputStream;import java.io.PrintStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.util.List;import releaseManager.TeamCity;import releaseManager.ReleaseManager;import releaseManager.VixPackage;public class Aggregator{private static final String DB_HOST = "auperaprm01";private static final String DB_PORT = "1521";private static final String DB_USER = "RM_READONLY";private static final String DB_PASSWORD = "RM_READONLY";private static final String DB_SERVICE = "RELEASEM";/*** @param args - the first and only arguments should be the rtag_id as* found in the Release Manager URL.* E.g. java Aggregator 30083*/public static void main(String[] args){TeamCity teamCity = new TeamCity(System.out);if (args.length < 1) {teamCity.error("Please supply an rtag_id.", "No argument supplied");System.exit(-1);}String releaseVersion = args[0];try{int rtagId = Integer.parseInt(releaseVersion);// Load ORACLE DB driver class// Available at: http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html// Filename: ojdbc6.jar// See https://sites.google.com/a/vixtechnology.com/vixwiki/home/staff-wiki-s/richard-puchmayer/passwords-to-update// for username and password to use.Class.forName("oracle.jdbc.driver.OracleDriver");Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@"+DB_HOST+":"+DB_PORT+":"+DB_SERVICE, DB_USER, DB_PASSWORD);ReleaseManager releaseManager = new ReleaseManager(connection);List<VixPackage> packages = releaseManager.getTestedPackages(rtagId);if (packages.size() == 0) // Cannot be null{teamCity.error("This project/release does not have any tests", "Release = " + releaseVersion);System.exit(-1);}teamCity.startSuite(releaseVersion);for (VixPackage pkg : packages){teamCity.startSuite(pkg.packageName);teamCity.startSuite(pkg.packageVersion);teamCity.startTest("<none>");teamCity.finishTest("<none>");teamCity.finishSuite(pkg.packageVersion);teamCity.finishSuite(pkg.packageName);}teamCity.finishSuite(releaseVersion);}catch (SQLException e){ByteArrayOutputStream buffer = new ByteArrayOutputStream();PrintStream output = new PrintStream(buffer);e.printStackTrace(output);teamCity.error("Could not retrieve any packages for this release: " + releaseVersion, buffer.toString());System.exit(-1);}catch (ClassNotFoundException e){ByteArrayOutputStream buffer = new ByteArrayOutputStream();PrintStream output = new PrintStream(buffer);e.printStackTrace(output);teamCity.error("Could not load the Oracle jdbc jar", buffer.toString());System.exit(-1);}catch (NumberFormatException e){teamCity.error("Please supply a valid rtag_id.", "Argument: " + releaseVersion);System.exit(-1);}}}