package org.gcube.portlets.user.workspace.server.util; import java.util.ArrayList; import java.util.List; import org.gcube.portlets.user.workspace.client.model.InfoContactModel; /** * The Class DiffereceBeetweenInfoContactModel. * * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it * Nov 4, 2015 */ public class DiffereceBeetweenInfoContactModel { private List listOne; private List listTwo; /** * Get difference between listA and listB . * * @param listA the list a * @param listB the list b */ public DiffereceBeetweenInfoContactModel(List listA, List listB){ this.listOne = listA; this.listTwo = listB; } /** * Gets the differents contacts. * * @return what is in listA that is not in listB. */ public List getDifferentsContacts(){ if(this.listOne==null) return new ArrayList(); if(this.listTwo==null || this.listTwo.size()==0) return this.listOne; List difference = new ArrayList(); boolean found; for (InfoContactModel o1 : listOne) { found = false; for (InfoContactModel o2 : listTwo) { if(InfoContactModel.COMPARATORLOGINS.compare(o1, o2)==0){ found = true; break; } } if(!found) difference.add(o1); } return difference; } // /** // * test. // * // * @param args the arguments // */ // public static void main(String[] args) { // // List listA = new ArrayList(); // listA.add(new InfoContactModel("federico.defaveri", "federico.defaveri", "Federico de Faveri", false)); // listA.add(new InfoContactModel("antonio.gioia", "antonio.gioia", "Antonio Gioia",false)); // listA.add(new InfoContactModel("fabio.sinibaldi", "fabio.sinibaldi", "Fabio Sinibaldi", false)); // listA.add(new InfoContactModel("pasquale.pagano", "pasquale.pagano", "Pasquale Pagano",false)); // listA.add(new InfoContactModel("francesco.mangiacrapa", "francesco.mangiacrapa", "Francesco Mangiacrapa",false)); // listA.add(new InfoContactModel("massimiliano.assante", "massimiliano.assante", "Massimiliano Assante",false)); // // List listB = new ArrayList(); // // listB.add(new InfoContactModel("federico.defaveri", "federico.defaveri", "Federico de Faveri",false)); // listB.add(new InfoContactModel("fabio.sinibaldi", "fabio.sinibaldi", "Fabio Sinibaldi",false)); // listB.add(new InfoContactModel("antonio.gioia", "antonio.gioia", "Antonio Gioia",false)); // listB.add(new InfoContactModel("pasquale.pagano", "pasquale.pagano", "Pasquale Pagano",false)); // // DiffereceBeetweenInfoContactModel diff = new DiffereceBeetweenInfoContactModel(listA, listB); // // System.out.println("the differce is: "+diff.getDifferentsContacts()); // // } }