Ola pessoal tudo bem!!
esto com o seguinte problema tenho um HashMap que nele tem alguns dados de um arquivo propertie, onde eu esto lendo este arquivo e colocando
ele num HashMap , onde a chave do propertie é a chave no meu HashMap, e o valor sao os item desse arquivo que no HashMap eu coloco numa List.
Exemplos:
HashMap<String, List<Problema>>
Methodo responsavel por esta ação:
public HashMap<String, List<Problema>> lerArquivoProblema(String caminhoArquivo){
File f = new File("C:\Documents and Settings\Rafael\Desktop\problemas.properties");
Properties arquivo = new Properties();
FileInputStream fis = null;
try {
fis = new FileInputStream(f);
arquivo.load(fis);
fis.close();
} catch (FileNotFoundException ex) {
TTILogger.getLogger().log(Level.FINE, "Arquivo properties nao achado", ex);
return null;
} catch (IOException ex) {
TTILogger.getLogger().log(Level.FINE, "Erro no modulo de problema", ex);
return null;
}
HashMap<String, List<Problema>> listaProblemas = new HashMap<String, List<Problema>>();
Enumeration chaves = arquivo.keys();
List<Problema> problemasArquivo;
while (chaves.hasMoreElements()) {
String problemaMae = (String) chaves.nextElement();
problemasArquivo = new ArrayList<Problema>();
String problemaFilho = arquivo.getProperty(problemaMae);
String[] token = problemaFilho.split(",");
for (String a : token) {
Problema problema = new Problema();
problema.setDescricao(a);
problema.setSuperTopico(problemaMae);
problemasArquivo.add(problema);
}
listaProblemas.put(problemaMae, problemasArquivo);
}
return listaProblemas;
}
Essa classe Problema e uma Entidade vo posta o codigo:
public class Problema implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int codigoProblema;
private String descricao;
private int quantidade;
private String superTopico;
@ManyToMany
private Collection<Chamado> idChamado;
@ManyToOne
private Resultado resutado;
@OneToOne(mappedBy = "problema")
private AjudaProblema resulocaoProblema;
OBS: Não postei os methodos gets e sets.
pessoal e bem simples que quero fazer mas não esto conseguindo. Eu quero pegar esse Hash e compara com uma List de problema que vem do banco de dados, onde descrição do problema se for igual ele so atualiza se for diferente ele salva no banco!!
alguem pode me ajudar com este problema?
esto usando o seguinte methodo para realizar isto:
public HashMap<String, List<Problema>> checarProblemaBanco(HashMap<String, List<Problema>> problemas) {
List<Problema> problemaBanco = this.daoProblema.consultar();
List<Problema> problemaLista = new ArrayList<Problema>();
List<Problema> checa = new ArrayList<Problema>();
if (problemas != null) {
Collection chaves = problemas.keySet();
Iterator<String> iten = chaves.iterator();
while (iten.hasNext()) {
String chave = (String) iten.next();
List<Problema> po = problemas.get(chave);
for (Problema a : po) {
problemaLista.add(a);
}
}
for(Problema t : problemaLista) {
for(Problema h :problemaBanco){
if(t.getDescricao().equals(h.getDescricao())){
System.out.println("Em "+t.getDescricao() +" "+ t.getSuperTopico());
break;
}else{
System.out.println("nao e igual " +t.getDescricao()+ " Em " +t.getSuperTopico());
}
}
}
}
return null;
}
nao esto colocanado os methodos de salva e atualizar no banco de dados pos não esta funcionando correto.