362,6 → 362,8 |
|
} |
|
|
|
public List<String> getFoundErrors() { |
return foundErrors; |
} |
395,6 → 397,7 |
|
HashMap<String,Curso.Semestre> semestresMap = new HashMap<String, Curso.Semestre>(); |
HashMap<String,Curso.Semestre.Perfil> perfilMap = new HashMap<String, Curso.Semestre.Perfil>(); |
HashMap<String,UnidadeType> unidadeMap = new HashMap<String, UnidadeType>(); |
|
Curso curso = new CursoImpl(); |
curso.setAnoPlanoSiges(anoPlanoSiges); |
403,14 → 406,35 |
//curso.setNome(); sao preenchidos automaticamente no SAVE do plano no servico |
//curso.setSiges(); |
//curso.setDep(); |
return fillCursoUnidades(semestresMap, perfilMap,unidadeMap, curso); |
} |
|
private static String getSemestreIdForMap(String id) |
{ |
return id; |
} |
private static String getPerfilIdForMap(Curso.Semestre s,String ramo) |
{ |
return s.getId() + "$" + ramo; |
} |
private static String getUnidadeIdForMap(Curso.Semestre s,Curso.Semestre.Perfil p,UnidadeType u) |
{ |
return s.getId() + "$" + p.getNome() + "$" + u.getSiges(); |
} |
private static String getUnidadeIdForMap(Curso.Semestre s,UnidadeType u) |
{ |
return s.getId() + "$" + u.getSiges(); |
} |
|
private Curso fillCursoUnidades(HashMap<String, Curso.Semestre> semestresMap, HashMap<String, Curso.Semestre.Perfil> perfilMap, HashMap<String,UnidadeType> unidadesMap, Curso curso) { |
List<Curso.Semestre> semestres = new ArrayList<Curso.Semestre>(); |
for(StudiesPlanImportLine line: lines) |
{ |
Curso.Semestre semestre = semestresMap.get(line.getCodigoDuracao()); |
Curso.Semestre semestre = semestresMap.get(getSemestreIdForMap(line.getCodigoDuracao())); |
if(semestre == null) |
{ |
semestre = new SemestreImpl(); |
semestresMap.put(line.getCodigoDuracao(),semestre); |
semestresMap.put(getSemestreIdForMap(line.getCodigoDuracao()),semestre); |
semestre.setId(line.getCodigoDuracao()); |
semestres.add(semestre); |
} |
428,19 → 452,27 |
|
if(!line.troncoComum) |
{ |
Curso.Semestre.Perfil perfil = perfilMap.get(semestre.getId() + "$" + line.ramo); |
Curso.Semestre.Perfil perfil = perfilMap.get(getPerfilIdForMap(semestre,line.ramo)); |
if(perfil == null) |
{ |
perfil = new PerfilImpl(); |
perfil.setNome(line.ramo); |
perfilMap.put(semestre.getId() + "$" + line.ramo,perfil); |
perfilMap.put(getPerfilIdForMap(semestre,line.ramo),perfil); |
semestre.getPerfil().add(perfil); |
} |
perfil.getUnidade().add(unidade); |
if(unidadesMap.get(getUnidadeIdForMap(semestre,perfil,unidade)) == null) |
{ |
perfil.getUnidade().add(unidade); |
unidadesMap.put(getUnidadeIdForMap(semestre,perfil,unidade),unidade); |
} |
} |
else |
{ |
semestre.getUnidade().add(unidade); |
if(unidadesMap.get(getUnidadeIdForMap(semestre,unidade)) == null) |
{ |
semestre.getUnidade().add(unidade); |
unidadesMap.put(getUnidadeIdForMap(semestre,unidade),unidade); |
} |
} |
} |
curso.getSemestre().addAll(semestres); |
448,4 → 480,41 |
} |
|
|
public Curso mergePlanoEstudosCurso(Curso cursoOriginal) |
{ |
|
HashMap<String,Curso.Semestre> semestresMap = new HashMap<String, Curso.Semestre>(); |
HashMap<String,Curso.Semestre.Perfil> perfilMap = new HashMap<String, Curso.Semestre.Perfil>(); |
HashMap<String,UnidadeType> unidadesMap = new HashMap<String, UnidadeType>(); |
|
for(Curso.Semestre semestre: cursoOriginal.getSemestre()) |
{ |
semestresMap.put(getSemestreIdForMap(semestre.getId()),semestre); |
for(Curso.Semestre.Perfil perfil: semestre.getPerfil()) |
{ |
perfilMap.put(getPerfilIdForMap(semestre, perfil.getNome()),perfil); |
for(UnidadeType unidade : perfil.getUnidade()) |
{ |
unidadesMap.put(getUnidadeIdForMap(semestre,perfil,unidade),unidade); |
} |
} |
for(UnidadeType unidade : semestre.getUnidade()) |
{ |
unidadesMap.put(getUnidadeIdForMap(semestre,unidade),unidade); |
} |
} |
|
return fillCursoUnidades(semestresMap, perfilMap,unidadesMap, cursoOriginal); |
|
} |
|
|
public void mergeWithLines(Curso planoEstudos) |
{ |
|
} |
|
|
|
|
} |