Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file.
1 change: 1 addition & 0 deletions avaliacoes/politecnico/db/disciplina.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Teste2;5;11;
19 changes: 18 additions & 1 deletion avaliacoes/politecnico/src/main/java/MyProgram.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,17 @@
import model.Politecnico;
import model.Professor;

import view.Viewers;

import controller.ProfessorController;


public class MyProgram {

public static void main(String[] args) {

Viewers view = new Viewers();

ArrayList<Curso> cursosPPorto = new ArrayList<Curso>();

Curso licenciaturaCienciasEmpresariais = new Curso("Licenciatura em Ciências Empresariais (Pós-Laboral) ",
Expand Down Expand Up @@ -41,6 +48,16 @@ public static void main(String[] args) {
cursosPPorto.add(licenciaturaSistemasDeInformacaoParaGestao);
cursosPPorto.add(licenciaturaSolicitadoria);
cursosPPorto.add(licenciaturaSolicitadoriaPosLaboral);

view.createCurso(licenciaturaCienciasEmpresariais);
view.createCurso(licenciaturaCienciasEmpresariaisPosLaboral);
view.createCurso(licenciaturaEngenhariaInfomatica);
view.createCurso(licenciaturaGesaoIndustrialLogistica);
view.createCurso(licenciaturaSegurancaDoTrabalhoEAmbiente);
view.createCurso(licenciaturaSegurancaInformaticaEmRedesDeComputadores);
view.createCurso(licenciaturaSistemasDeInformacaoParaGestao);
view.createCurso(licenciaturaSolicitadoria);
view.createCurso(licenciaturaSolicitadoriaPosLaboral);

ArrayList<Disciplina> disciplinasGrade = new ArrayList<Disciplina>();

Expand Down Expand Up @@ -166,6 +183,6 @@ public static void main(String[] args) {
for (Disciplina d: aluno.getDisciplinasFaltantes()) {
d.imprimirRequisitos();
}

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package controller;

import dao.ApontamentoDAO;
import model.Apontamento;
import model.Disciplina;

import java.io.IOException;
import java.util.List;

public class ApontamentoController {
private ApontamentoDAO dao;

public ApontamentoController(List<Disciplina> disciplinas) {
this.dao = new ApontamentoDAO(disciplinas);
}

public List<Apontamento> listarApontamentos() {
return dao.readAll();
}

public boolean criarApontamento(Apontamento a) {
try {
return dao.create(a);
} catch (IOException e) {
e.printStackTrace();
return false;
}
}

public boolean atualizarApontamento(int id, Apontamento a) {
try {
return dao.update(id, a);
} catch (IOException e) {
e.printStackTrace();
return false;
}
}

public boolean deletarApontamento(int id) {
try {
return dao.delete(id);
} catch (IOException e) {
e.printStackTrace();
return false;
}
}

public Apontamento buscarPorId(int id) {
return dao.readById(id);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package controller;

import model.Curso;

public class CursoController {
Curso curso;

public CursoController() {}

public void createCurso(Curso c) {
this.curso = c;
curso.create();
}

public Curso getCurso() {
return curso;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package controller;

import dao.DisciplinaDAO;
import model.Disciplina;

import java.io.IOException;
import java.util.List;

public class DisciplinaController {
private DisciplinaDAO dao;

public DisciplinaController() {
this.dao = new DisciplinaDAO();
}

public List<Disciplina> listarDisciplinas() {
return dao.readAll();
}

public Disciplina buscarDisciplina(String nome) {
return dao.readByName(nome);
}

public boolean criarDisciplina(Disciplina d) {
try {
return dao.create(d);
} catch (IOException e) {
e.printStackTrace();
return false;
}
}

public boolean atualizarDisciplina(Disciplina d) {
try {
return dao.update(d);
} catch (IOException e) {
e.printStackTrace();
return false;
}
}

public boolean deletarDisciplina(String nome) {
try {
return dao.delete(nome);
} catch (IOException e) {
e.printStackTrace();
return false;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package controller;

public class ApontamentoController {

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package controller;

import java.util.ArrayList;

import dao.PolitecnicoDAO;
import model.Politecnico;

public class PolitecnicoController {
PolitecnicoDAO dao = new PolitecnicoDAO();

public void adicionarPolitecnico(String nome, String url) {
Politecnico politecnico = new Politecnico(nome);
politecnico.setUrl(url);
dao.create(politecnico);
}

public void listarPolitecnicos() {
ArrayList<Politecnico> lista = dao.read();
for (Politecnico p : lista) {
p.imprimirCursos(); // Mesmo que esteja vazio, mostra nome e URL
}
}

public void removerPolitecnico(String nome) {
dao.delete(nome);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package controller;

import java.util.ArrayList;

import dao.ProfessorDAO;
import model.Politecnico;
import model.Professor;

public class ProfessorController {
ProfessorDAO dao = new ProfessorDAO();

public void adicionarProfessor(String nome, String apelido, String numeroFiscal, int id, int contrato, String nomePolitecnico) {
Politecnico politecnico = new Politecnico(nomePolitecnico);
Professor professor = new Professor(nome, apelido, numeroFiscal, id, contrato, politecnico);
dao.create(professor);
}

public void listarProfessores() {
ArrayList<Professor> lista = dao.read();
for (Professor p : lista) {
p.imprimirPessoa();
}
}

public void removerProfessor(int id) {
dao.delete(id);
}
}
107 changes: 107 additions & 0 deletions avaliacoes/politecnico/src/main/java/dao/ApontamentoDAO.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
package dao;

import model.Apontamento;
import model.Disciplina;

import java.io.*;
import java.util.*;

public class ApontamentoDAO {
private final String caminhoArquivo = "avaliacoes/politecnico/db/apontamento.txt";
private Map<Integer, Apontamento> apontamentosMap;
private List<Disciplina> disciplinas; // para relacionar

public ApontamentoDAO(List<Disciplina> disciplinas) {
this.disciplinas = disciplinas;
apontamentosMap = new HashMap<>();
try {
carregarApontamentos();
} catch (IOException e) {
System.err.println("Erro ao carregar apontamentos: " + e.getMessage());
}
}

private void carregarApontamentos() throws IOException {
apontamentosMap.clear();

File arquivo = new File(caminhoArquivo);
if (!arquivo.exists()) {
arquivo.getParentFile().mkdirs();
arquivo.createNewFile();
return;
}

try (BufferedReader br = new BufferedReader(new FileReader(arquivo))) {
String linha;
int id = 1; // chave simples incremental para controle interno
while ((linha = br.readLine()) != null) {
String[] parts = linha.split(";");
if (parts.length < 4) continue;

Double nota = Double.parseDouble(parts[0]);
String status = parts[1];
String data = parts[2];
String nomeDisc = parts[3];

Disciplina disc = null;
for (Disciplina d : disciplinas) {
if (d.getNome().equalsIgnoreCase(nomeDisc)) {
disc = d;
break;
}
}

Apontamento a = new Apontamento(nota, status, data, disc);
apontamentosMap.put(id++, a);
}
}
}

private void salvarTodos() throws IOException {
try (BufferedWriter bw = new BufferedWriter(new FileWriter(caminhoArquivo))) {
for (Apontamento a : apontamentosMap.values()) {
StringBuilder sb = new StringBuilder();
sb.append(a.getNota() != null ? a.getNota() : "").append(";");
sb.append(a.getStatus() != null ? a.getStatus() : "").append(";");
sb.append(a.getData() != null ? a.getData() : "").append(";");
sb.append(a.getDisciplina() != null ? a.getDisciplina().getNome() : "");
bw.write(sb.toString());
bw.newLine();
}
}
}

// CREATE
public boolean create(Apontamento apontamento) throws IOException {
int id = apontamentosMap.isEmpty() ? 1 : Collections.max(apontamentosMap.keySet()) + 1;
apontamentosMap.put(id, apontamento);
salvarTodos();
return true;
}

public List<Apontamento> readAll() {
return new ArrayList<>(apontamentosMap.values());
}

public Apontamento readById(int id) {
return apontamentosMap.get(id);
}

public boolean update(int id, Apontamento apontamento) throws IOException {
if (!apontamentosMap.containsKey(id)) {
return false;
}
apontamentosMap.put(id, apontamento);
salvarTodos();
return true;
}

public boolean delete(int id) throws IOException {
if (!apontamentosMap.containsKey(id)) {
return false;
}
apontamentosMap.remove(id);
salvarTodos();
return true;
}
}
16 changes: 16 additions & 0 deletions avaliacoes/politecnico/src/main/java/dao/CursoDAO.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package dao;

public class CursoDAO {

public void create(Curso c) {

}

public void read(Curso c) {

}

public void delete(Curso c) {

}
}
Loading