import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;

public class Projekt {
	private String name;
	private Vector mitarbeiter = new Vector();

	public void setName(String name) {
		Statement stmt = DBConnector.getConnectedStatement();
		try {
			ResultSet rs =
				stmt.executeQuery(
					"SELECT count(*) FROM Project WHERE name='"
						+ this.name
						+ "';");
			rs.next();
			if (rs.getDouble(1) < 1) {
				System.out.println(
					"Database entry for project does not exist and  will be created");
				stmt.executeUpdate(
					"INSERT INTO Project (name) VALUES('" + name + "')");
			} else {
				System.out.println(
					"Database entry for project exists and will be updated");
				stmt.executeUpdate(
					"UPDATE Project SET name='"
						+ name
						+ "' where name='"
						+ this.name
						+ "';");
			}
		} catch (SQLException e) {
			System.out.println("Cannot access database");
			e.printStackTrace();
		}
		this.name = name;
	}
	public String getName() {
		return name;
	}
	public void addMitarbeiter(Person p) {
		Statement stmt = DBConnector.getConnectedStatement();
		try {
			stmt.executeUpdate(
				"INSERT INTO WorksOn VALUES('"
					+ p.getName()
					+ "','"
					+ this.name
					+ "');");
		} catch (SQLException e) {
			System.out.println("Cannot access database");
			e.printStackTrace();
		}
	}
	public Vector getAllMitarbeiter() {
		Vector mitarbeiter = new Vector();
		Statement stmt = DBConnector.getConnectedStatement();
		Person p;
		try {
			ResultSet rs = stmt.executeQuery("SELECT name FROM Person as p, WorksOn as w WHERE w.project='"+this.name+"' and w.person=p.name;");
			while (!rs.isLast()) {
				rs.next();
				p = Person.getPersonForName(rs.getString(1));
				mitarbeiter.add(p);
			}
		} catch (SQLException e) {
			System.out.println("Cannot access database");
			e.printStackTrace();
		}
		return mitarbeiter;
	}

}
