package edu.unca.cs.csci343;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.PreparedStatement;

/**
 *
 * @author J Dean Brock <brock@unca.edu>
 */
public class ListFriendsOf {

    private static String jdbcDriver = "com.mysql.jdbc.Driver" ;

    private static String connectionName = 
	"jdbc:mysql://joe.cs.unca.edu/socialDB" ;
    private static String connectionUser = "csci343" ;
    private static String connectionPassword = "" ;

    private static final String sqlDBquery =
            "SELECT B.name " +
            "FROM Highschooler A, Highschooler B, Friend F " +
            "WHERE A.ID = F.ID1 AND B.ID = F.ID2 AND A.name = ? ;" ;

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws ClassNotFoundException {
        Class.forName(jdbcDriver) ;
        if (args.length <1) {
            System.err.println("Need a friend!") ;
            return ;
        }
        String friend = args[0] ;
        System.out.format("Friend of %s\n", friend) ;
        try {
            Connection sqlDBconn = 
		DriverManager.getConnection(connectionName,
                        connectionUser, connectionPassword) ;
            PreparedStatement sqlDBstmt = 
                        sqlDBconn.prepareStatement(sqlDBquery) ;
            sqlDBstmt.setString(1, friend);
            ResultSet sqlDBresults = sqlDBstmt.executeQuery() ;
            while(sqlDBresults.next()) {
                System.out.format("   %-10s\n",
                        sqlDBresults.getString(1)) ;
            }
        } catch (SQLException sqlx) {
            System.err.println(sqlx);
        }
    }
}
