Skip to content
Snippets Groups Projects
Commit 35a79e02 authored by Brady James Garvin's avatar Brady James Garvin
Browse files

Set up starting code.

parent acf00647
No related branches found
No related tags found
No related merge requests found
package edu.unl.cse.soft160.project_plan;
public class Demo {
public static void main(String... arguments) {
Team alpha = new Team("Team Alpha");
alpha.addMember(TeamMemberRole.TEAM_LEAD, "Eve", "eve@example.com");
alpha.addMember(TeamMemberRole.CODING_LEAD, "Carol", "carol@example.com");
alpha.addMember(TeamMemberRole.UX_LEAD, "Bob", "bob@example.com");
alpha.addMember(TeamMemberRole.VERIFICATION_LEAD, "Alice", "alice@example.com");
for (String name : new String[] { "Alice", "Bob", "Carol", "Dan", "Eve" }) {
System.out.print("Email for " + name + ": ");
try {
System.out.println(alpha.getEmail(name));
} catch (IllegalArgumentException exception) {
System.out.println(exception.getMessage());
}
}
System.out.println();
Project bravo = new Project("Bravo", alpha);
Task gatherRequirements = new Task("Gather Requirements");
Task implementLogic = new Task("Implement Logic");
Task implementBackend = new Task("Implement Backend");
Task implementUI = new Task("Implement UI");
Task verify = new Task("Verify");
verify.addPredecessor(implementLogic);
verify.addPredecessor(implementBackend);
verify.addPredecessor(implementUI);
implementLogic.addPredecessor(gatherRequirements);
implementBackend.addPredecessor(gatherRequirements);
implementUI.addPredecessor(gatherRequirements);
bravo.addTask(gatherRequirements);
bravo.addTask(implementLogic);
bravo.addTask(implementBackend);
bravo.addTask(implementUI);
bravo.addTask(verify);
System.out.println(bravo);
System.out.println();
gatherRequirements.complete();
System.out.println(bravo);
System.out.println();
implementLogic.complete();
System.out.println(bravo);
System.out.println();
implementBackend.complete();
System.out.println(bravo);
System.out.println();
implementUI.complete();
System.out.println(bravo);
System.out.println();
verify.complete();
System.out.println(bravo);
System.out.println();
}
}
package edu.unl.cse.soft160.project_plan;
import java.util.HashSet;
import java.util.Set;
public class Project {
private String name;
private Team team;
private Set<Task> tasks;
public Project(String name, Team team) {
this.name = name;
this.team = team;
tasks = new HashSet<Task>();
}
public void addTask(Task task) {
tasks.add(task);
}
public Set<Task> getTasks(TaskStatus status) {
Set<Task> result = new HashSet<Task>();
for (Task task : tasks) {
if (task.getStatus() == status) {
result.add(task);
}
}
return result;
}
public String toString() {
String result = "Project " + name + " (assigned to " + team + "):\n";
for (TaskStatus status : TaskStatus.values()) {
result += " " + status + ":\n";
for (Task task : getTasks(status)) {
result += " " + task + "\n";
}
}
return result + "End Project";
}
}
package edu.unl.cse.soft160.project_plan;
public class Task {
public Task(String name) {
// TODO: replace stub
}
public void addPredecessor(Task other) {
// TODO: replace stub
}
public TaskStatus getStatus() {
// TODO: replace stub
return TaskStatus.BLOCKED;
}
public void complete() {
// TODO: replace stub
}
public String toString() {
// TODO: replace stub
return "〈Placeholder〉";
}
}
package edu.unl.cse.soft160.project_plan;
public enum TaskStatus {
READY, BLOCKED, COMPLETED,
}
...@@ -6,23 +6,34 @@ public class Team { ...@@ -6,23 +6,34 @@ public class Team {
private String teamLeadEmail; private String teamLeadEmail;
private String codingLeadName; private String codingLeadName;
private String codingLeadEmail; private String codingLeadEmail;
private String userExperienceLeadName; private String UXLeadName;
private String userExperienceLeadEmail; private String UXLeadEmail;
private String verificationLeadName; private String verificationLeadName;
private String verificationLeadEmail; private String verificationLeadEmail;
public Team(String teamName, String teamLeadName, String teamLeadEmail, String codingLeadName, public Team(String teamName) {
String codingLeadEmail, String userExperienceLeadName, String userExperienceLeadEmail,
String verificationLeadName, String verificationLeadEmail) {
this.teamName = teamName; this.teamName = teamName;
this.teamLeadName = teamLeadName; }
this.teamLeadEmail = teamLeadEmail;
this.codingLeadName = codingLeadName; public void addMember(TeamMemberRole role, String name, String email) {
this.codingLeadEmail = codingLeadEmail; switch (role) {
this.userExperienceLeadName = userExperienceLeadName; case TEAM_LEAD:
this.userExperienceLeadEmail = userExperienceLeadEmail; teamLeadName = name;
this.verificationLeadName = verificationLeadName; teamLeadEmail = email;
this.verificationLeadEmail = verificationLeadEmail; break;
case CODING_LEAD:
codingLeadName = name;
codingLeadEmail = email;
break;
case UX_LEAD:
UXLeadName = name;
UXLeadEmail = email;
break;
case VERIFICATION_LEAD:
verificationLeadName = name;
verificationLeadEmail = email;
break;
}
} }
public String getEmail(String name) { public String getEmail(String name) {
...@@ -32,8 +43,8 @@ public class Team { ...@@ -32,8 +43,8 @@ public class Team {
if (name.equals(codingLeadName)) { if (name.equals(codingLeadName)) {
return codingLeadEmail; return codingLeadEmail;
} }
if (name.equals(userExperienceLeadName)) { if (name.equals(UXLeadName)) {
return userExperienceLeadEmail; return UXLeadEmail;
} }
if (name.equals(verificationLeadName)) { if (name.equals(verificationLeadName)) {
return verificationLeadEmail; return verificationLeadEmail;
......
package edu.unl.cse.soft160.project_plan;
public enum TeamMemberRole {
TEAM_LEAD, CODING_LEAD, UX_LEAD, VERIFICATION_LEAD,
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment