package org.softlang;
import java.util.Vector;
import org.softlang.model.Company;
import org.softlang.model.Department;
import org.softlang.model.Employee;
public class Main {
public static Company sample() {// Create company
Company company = new Company(new Vector<Department>(), "");
EmployeeObserver observer = new EmployeeObserver();
// Create all employees
Employee craig = new Employee(123456, "Craig", "Redmond");
craig.addObserver(observer);
Employee erik = new Employee(12345, "Erik", "Utrecht");
erik.addObserver(observer);
Employee ralf = new Employee(1234, "Ralf", "Koblenz");
ralf.addObserver(observer);
Employee ray = new Employee(234567, "Ray", "Redmond");
ray.addObserver(observer);
Employee klaus = new Employee(23456, "Klaus", "Boston");
klaus.addObserver(observer);
Employee karl = new Employee(2345, "Karl", "Riga");
karl.addObserver(observer);
Employee joe = new Employee(2344, "Joe", "Wifi City");
joe.addObserver(observer);
// Create research department
Department research = new Department(new Vector<Employee>(), new Vector<Department>(), craig, "Research");
research.getEs().add(erik);
research.getEs().add(ralf);
company.getDs().add(research);
// Create development department
Department development = new Department(new Vector<Employee>(), new Vector<Department>(), ray, "Development");
company.getDs().add(development);
// Create sub-department dev1
Department dev1 = new Department(new Vector<Employee>(), new Vector<Department>(), klaus, "Dev1");
development.getDs().add(dev1);
// Create sub-department dev11
Department dev11 = new Department(new Vector<Employee>(), new Vector<Department>(), karl, "Dev1.1");
dev1.getDs().add(dev11);
dev11.setName("Dev1.1");
dev11.setManager(karl);
dev11.getEs().add(joe);
return company;
}
public static void main(String[] args) throws Exception {
Company mega = sample();
mega.cut();
}
}