/**
 * MetadataSpecificationProvider.java
 * Created May 20, 2008
 * Copyright (c) TANDBERG Television 2007-2008
 */
package com.tandbergtv.watchpoint.pmm.web.title.search;

import java.util.Map;
import java.util.SortedMap;
import java.util.TreeMap;

import com.tandbergtv.watchpoint.pmm.title.conf.ISpecificationManager;
import com.tandbergtv.watchpoint.pmm.title.conf.Specification;
import com.tandbergtv.workflow.core.service.ServiceRegistry;
import com.tandbergtv.workflow.web.page.ISearchFieldDataProvider;

/**
 * Provides data for displaying the configured set of metadata specifications supported by the
 * system
 * 
 * @author Sahil Verma
 */
public class MetadataSpecificationProvider implements ISearchFieldDataProvider {

	private SortedMap<String, String> map;

	/**
	 * Creates a MetadataSpecificationProvider
	 */
	public MetadataSpecificationProvider() {
		this.map = new TreeMap<String, String>();
	}

	/* (non-Javadoc)
	 * @see com.tandbergtv.workflow.web.page.ISearchFieldDataProvider#getData()
	 */
	public Map<String, String> getData() {
		ISpecificationManager sm = ServiceRegistry.getDefault().lookup(ISpecificationManager.class);

		for (Specification spec : sm.getAllSpecifications())
			map.put(spec.getName(), spec.getName());

		return map;
	}
}
