2013-03-25 17:35:27 +01:00
|
|
|
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;
|
|
|
|
|
2015-11-05 11:23:01 +01:00
|
|
|
|
2015-11-19 16:05:01 +01:00
|
|
|
|
2013-03-25 17:35:27 +01:00
|
|
|
/**
|
2015-11-19 16:05:01 +01:00
|
|
|
* The Class DiffereceBetweenInfoContactModel.
|
2013-03-25 17:35:27 +01:00
|
|
|
*
|
2015-11-05 11:23:01 +01:00
|
|
|
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
2015-11-19 16:05:01 +01:00
|
|
|
* Nov 19, 2015
|
2013-03-25 17:35:27 +01:00
|
|
|
*/
|
2015-11-19 16:05:01 +01:00
|
|
|
public class DiffereceBetweenInfoContactModel {
|
2013-03-25 17:35:27 +01:00
|
|
|
|
|
|
|
|
|
|
|
private List<InfoContactModel> listOne;
|
|
|
|
private List<InfoContactModel> listTwo;
|
|
|
|
|
|
|
|
/**
|
2015-11-05 11:23:01 +01:00
|
|
|
* Get difference between listA and listB .
|
|
|
|
*
|
|
|
|
* @param listA the list a
|
|
|
|
* @param listB the list b
|
2013-03-25 17:35:27 +01:00
|
|
|
*/
|
2015-11-19 16:05:01 +01:00
|
|
|
public DiffereceBetweenInfoContactModel(List<InfoContactModel> listA, List<InfoContactModel> listB){
|
2013-03-25 17:35:27 +01:00
|
|
|
this.listOne = listA;
|
|
|
|
this.listTwo = listB;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2015-11-05 11:23:01 +01:00
|
|
|
* Gets the differents contacts.
|
|
|
|
*
|
2013-03-25 17:35:27 +01:00
|
|
|
* @return what is in listA that is not in listB.
|
|
|
|
*/
|
|
|
|
public List<InfoContactModel> getDifferentsContacts(){
|
|
|
|
|
|
|
|
if(this.listOne==null)
|
|
|
|
return new ArrayList<InfoContactModel>();
|
|
|
|
|
|
|
|
if(this.listTwo==null || this.listTwo.size()==0)
|
|
|
|
return this.listOne;
|
|
|
|
|
|
|
|
List<InfoContactModel> difference = new ArrayList<InfoContactModel>();
|
|
|
|
|
|
|
|
boolean found;
|
|
|
|
|
|
|
|
for (InfoContactModel o1 : listOne) {
|
|
|
|
found = false;
|
|
|
|
for (InfoContactModel o2 : listTwo) {
|
2015-11-05 11:23:01 +01:00
|
|
|
if(InfoContactModel.COMPARATORLOGINS.compare(o1, o2)==0){
|
2013-03-25 17:35:27 +01:00
|
|
|
found = true;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if(!found)
|
|
|
|
difference.add(o1);
|
|
|
|
}
|
|
|
|
|
|
|
|
return difference;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2015-11-19 16:00:06 +01:00
|
|
|
/**
|
|
|
|
* test.
|
|
|
|
*
|
|
|
|
* @param args the arguments
|
|
|
|
*/
|
|
|
|
/*public static void main(String[] args) {
|
|
|
|
|
|
|
|
List<InfoContactModel> listA = new ArrayList<InfoContactModel>();
|
|
|
|
listA.add(new InfoContactModel("federico.defaveri", "federico.defaveri", "Federico de Faveri", false));
|
|
|
|
listA.add(new InfoContactModel("antonio.gioia", "antonio.gioia", "Antonio Gioia",false));
|
2015-11-05 11:23:01 +01:00
|
|
|
// listA.add(new InfoContactModel("fabio.sinibaldi", "fabio.sinibaldi", "Fabio Sinibaldi", false));
|
|
|
|
// listA.add(new InfoContactModel("pasquale.pagano", "pasquale.pagano", "Pasquale Pagano",false));
|
2015-11-19 16:00:06 +01:00
|
|
|
listA.add(new InfoContactModel("francesco.mangiacrapa", "francesco.mangiacrapa", "Francesco Mangiacrapa",false));
|
|
|
|
listA.add(new InfoContactModel("massimiliano.assante", "massimiliano.assante", "Massimiliano Assante",false));
|
|
|
|
|
|
|
|
List<InfoContactModel> listB = new ArrayList<InfoContactModel>();
|
|
|
|
|
2015-11-05 11:23:01 +01:00
|
|
|
// 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));
|
2015-11-19 16:00:06 +01:00
|
|
|
listB.add(new InfoContactModel("francesco.mangiacrapa", "francesco.mangiacrapa", "Francesco Mangiacrapa",false));
|
|
|
|
listB.add(new InfoContactModel("massimiliano.assante", "massimiliano.assante", "Massimiliano Assante",false));
|
|
|
|
|
|
|
|
DiffereceBeetweenInfoContactModel diff = new DiffereceBeetweenInfoContactModel(listA, listB);
|
|
|
|
|
|
|
|
System.out.println("# differences: "+diff.getDifferentsContacts().size());
|
|
|
|
|
|
|
|
for (InfoContactModel infoContactModel : diff.getDifferentsContacts()) {
|
|
|
|
System.out.println("the differce is: "+infoContactModel.getLogin());
|
|
|
|
}
|
|
|
|
} */
|
2013-03-25 17:35:27 +01:00
|
|
|
|
|
|
|
}
|