116 lines
4.7 KiB
Java
116 lines
4.7 KiB
Java
import com.db4o.Db4o;
|
|
import com.db4o.Db4oEmbedded;
|
|
import com.db4o.ObjectContainer;
|
|
import com.db4o.ObjectSet;
|
|
import com.db4o.config.Configuration;
|
|
import com.db4o.config.EmbeddedConfiguration;
|
|
|
|
/**
|
|
* Created by IntelliJ IDEA.
|
|
* User: raj
|
|
* Date: May 10, 2010
|
|
* Time: 8:59:05 PM
|
|
* To change this template use File | Settings | File Templates.
|
|
*/
|
|
public class DisplayDatabase {
|
|
public static void main(String[] args) {
|
|
String DB4OFILENAME = args[0];
|
|
Configuration config = Db4o.configure();
|
|
ObjectContainer db = Db4o.openFile(config,DB4OFILENAME);
|
|
|
|
try {
|
|
displayDepartments(db);
|
|
displayProjects(db);
|
|
displayEmployees(db);
|
|
displayDependents(db);
|
|
} catch (Exception e) {
|
|
System.out.println("Exception: " + e.getMessage());
|
|
}
|
|
finally {
|
|
db.close();
|
|
}
|
|
|
|
System.out.println("DONE");
|
|
}
|
|
|
|
public static void displayEmployees(ObjectContainer db) {
|
|
ObjectSet result = db.queryByExample(Employee.class);
|
|
System.out.println("*********************************************");
|
|
System.out.println("Number of employees: " + result.size());
|
|
while (result.hasNext()) {
|
|
Employee e = (Employee) result.next();
|
|
if (e.getManages() != null)
|
|
System.out.println(e + " manages department " + e.getManages().getDname());
|
|
else
|
|
System.out.println(e);
|
|
System.out.println("Works for " + e.getWorksFor().getDname());
|
|
if (e.getSupervisor() != null)
|
|
System.out.println("Supervised by " + e.getSupervisor().getLname());
|
|
for (int i = 0; i < e.getSupervisees().size(); i++) {
|
|
Employee s = e.getSupervisees().get(i);
|
|
System.out.println("Boss of: " + s.getLname());
|
|
}
|
|
for (int i = 0; i < e.getWorksOn().size(); i++) {
|
|
WorksOn w = e.getWorksOn().get(i);
|
|
System.out.println("Works in project: " + w.getProject().getPname() +
|
|
" for " + w.getHours() + " hours");
|
|
}
|
|
for (int i = 0; i < e.getDependents().size(); i++) {
|
|
Dependent dp = e.getDependents().get(i);
|
|
System.out.println("Employee of dependent: " + dp.getName());
|
|
}
|
|
}
|
|
}
|
|
|
|
public static void displayDependents(ObjectContainer db) {
|
|
ObjectSet result = db.queryByExample(Dependent.class);
|
|
System.out.println("*********************************************");
|
|
System.out.println("Number of dependents: " + result.size());
|
|
while (result.hasNext()) {
|
|
Dependent d = (Dependent) result.next();
|
|
System.out.println(
|
|
d + " " + d.getRelationship() + " of " +
|
|
d.getDependentOf().getFname() + " " +
|
|
d.getDependentOf().getLname());
|
|
}
|
|
}
|
|
|
|
public static void displayDepartments(ObjectContainer db) {
|
|
ObjectSet result = db.queryByExample(Department.class);
|
|
System.out.println("*********************************************");
|
|
System.out.println("Number of departments: " + result.size());
|
|
while (result.hasNext()) {
|
|
Department d = (Department) result.next();
|
|
if (d.getManager() == null)
|
|
System.out.println(d);
|
|
else
|
|
System.out.println(d + " managed by " + d.getManager().getFname() +
|
|
" " + d.getManager().getLname() + " started on " +
|
|
d.getMgrStartDate());
|
|
for (int i = 0; i < d.getProjects().size(); i++) {
|
|
Project p = d.getProjects().get(i);
|
|
System.out.println("Controls project: " + p.getPname());
|
|
}
|
|
for (int i = 0; i < d.getEmployees().size(); i++) {
|
|
Employee e = d.getEmployees().get(i);
|
|
System.out.println("Employee: " + e.getLname());
|
|
}
|
|
}
|
|
}
|
|
|
|
public static void displayProjects(ObjectContainer db) {
|
|
ObjectSet result = db.queryByExample(Project.class);
|
|
System.out.println("*********************************************");
|
|
System.out.println("Number of projects: " + result.size());
|
|
while (result.hasNext()) {
|
|
Project p = (Project) result.next();
|
|
System.out.println(p + " controlled by " + p.getControlledBy().getDname());
|
|
for (int i = 0; i < p.getWorksOn().size(); i++) {
|
|
WorksOn w = p.getWorksOn().get(i);
|
|
System.out.println("Employee: " + w.getEmployee().getLname() +
|
|
" for " + w.getHours() + " hours");
|
|
}
|
|
}
|
|
}
|
|
}
|