public JPanel createReport(ModelDiagram md) { umlclist.clear(); umlulist.clear(); umlcrudlist.clear(); JPanel jp = new JPanel(new GridLayout(0, 2)); ArrayList<DiagramObject> dol = md.getDiagramObjects(); for (DiagramObject dio : dol) { if (dio.getClass() == UMLClass.class) { umlclist.add((UMLClass) dio); } if (dio.getClass() == UMLUsecase.class) { umlulist.add((UMLUsecase) dio); ArrayList<DiagramObject> rol = dio.getRelatedObjects(); for (DiagramObject ro : rol) { if (ro.getClass() == UMLCRUD.class) { umlcrudlist.add((UMLCRUD) ro); } } } } JLabel jl1 = new JLabel("Total Usecases"); JLabel jl2 = new JLabel("" + umlulist.size()); jp.add(jl1); jp.add(jl2); jl1 = new JLabel("Total Classes"); jl2 = new JLabel("" + umlclist.size()); jp.add(jl1); jp.add(jl2); jl1 = new JLabel("Total CRUD Connections"); jl2 = new JLabel("" + umlcrudlist.size()); jp.add(jl1); jp.add(jl2); jl1 = new JLabel("Usecase with most connections"); jl2 = new JLabel("" + mostConnUsecase()); jp.add(jl1); jp.add(jl2); jl1 = new JLabel("Class with most Connections"); jl2 = new JLabel("" + mostConnClass()); jp.add(jl1); jp.add(jl2); int creates = 0, reads = 0, updates = 0, deletes = 0; for (UMLCRUD umlcrud : umlcrudlist) { if (umlcrud.getCreate()) creates++; if (umlcrud.getRead()) reads++; if (umlcrud.getUpdate()) updates++; if (umlcrud.getDelete()) deletes++; } jl1 = new JLabel("Total Creates"); jl2 = new JLabel("" + creates); jp.add(jl1); jp.add(jl2); jl1 = new JLabel("Total Reads"); jl2 = new JLabel("" + reads); jp.add(jl1); jp.add(jl2); jl1 = new JLabel("Total Updates"); jl2 = new JLabel("" + updates); jp.add(jl1); jp.add(jl2); jl1 = new JLabel("Total Deletes"); jl2 = new JLabel("" + deletes); jp.add(jl1); jp.add(jl2); return jp; }