package generell; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; public class SHA1Base{ private String name; private String SHA1; private String size; private ArrayList sourceAL; private int sourceLimit = 15; public SHA1Base(String name, String size ,String SHA1, int score, String source, int sourceLimit){ this.name = name; this.SHA1 = SHA1; this.size = size; this.sourceLimit= sourceLimit; this.sourceAL = new ArrayList(); sourceAL.add(new SourceBase(score, source)); } public boolean exists(String SHA1){ if(this.SHA1.equals(SHA1)){ return true; } return false; } public void addSource(int score, String source){ if(!sourceExsists(source)){ sourceAL.add(new SourceBase(score, source)); } } private boolean sourceExsists(String source){ for(int i = 0; i < sourceAL.size(); i++){ if((sourceAL.get(i).getSource()).equals(source)){ System.out.println("source allredy exsists!!!!!!"); return true; } } return false; } public String getName(){ return name; } public String getSHA1(){ return SHA1; } public String getSize(){ return size; } public int getScore(){ return (sourceAL.size()); } public String getSources(){ String tmp =""; Collections.sort(sourceAL, new Comparator(){ @Override public int compare(SourceBase s1,SourceBase s2){ if(s1.getScore() < s2.getScore()){ return 1; }else if(s1.getScore() > s2.getScore()){ return -1; } return 0; } }); if(sourceAL.size() < 3){ System.out.println("Not enough sources!"); return null; } for(int i = 0; i < sourceAL.size(); i++){ //if(sourceAL.size() < 3){ // System.out.println("not enough source count:" + i); // break; //} if(i > sourceLimit){ System.out.println("enough source count:" + i); break; } tmp = tmp + (sourceAL.get(i)).getSource()+";"+getName()+"#"; } //} return tmp+"#"; } } class SourceBase{ private int score; private String source; public SourceBase(int score, String source){ this.score = score; this.source = source; } public int getScore(){ return score; } public String getSource(){ return source; } }