package gr.uoa.di.webui.search;

import java.util.List;

public class QueryCollectionEnhancer implements QueryEnhancer{

	private List<String> collectionIds = null;

	public void setCollectionIds(List<String> collectionIds) {
		this.collectionIds = collectionIds;
	}


	public List<String> getCollectionIds() {
		return collectionIds;
	}
	
	public List<String> addCollectionId(String collectionId) {
		if (!this.collectionIds.contains(collectionId)) {
			this.collectionIds.add(collectionId);
		}
		
		return collectionIds;
	}
	
	@Override
	public String enhanceQuery(String query) {
		
		if(!collectionIds.isEmpty()){
			if(query!= null && !query.isEmpty()) {
				query += " AND (";
			} else {
				query = "";
			}
		}
		
		int i = 0;
		for(String collectionId : collectionIds){
			query += " (collection = \"" + collectionId +"\")";
			
			i++;
			
			if (i < collectionIds.size()){
				query += " OR";
			} else {
				query += " )";
			}
			
		}
		
		return query;
	}



}
