/*
#=======================================================================================================
#
#                   Copyright (c) 2007 Origin Enterprise Solution LTD.
#
#=======================================================================================================
# File description:  GetAllOptionValue.java
#=======================================================================================================
#	 Date	       time   	   Name	 Action	   Description of Change
#	2011-1-18      下午04:59:24    tyl  	Ini	            初始化文件
#=======================================================================================================
*/
package cn.com.customization.imports.importfiles;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;

import com.teamcenter.rac.aif.AbstractAIFUIApplication;
import com.teamcenter.rac.kernel.TCPreferenceService;
import com.teamcenter.rac.kernel.TCSession;

public class GetAllOptionValue {
	/**
	 * Creates a new instance of GetAllOptionValue.
	 */
	private TCSession	session;

	public GetAllOptionValue(AbstractAIFUIApplication app) {
		this.session = (TCSession) app.getSession();
	}

	/**
	 * getFileTypeFromOption:选项中配置的文件类型得信息
	 * @param @return 设定文件
	 * @return String 对象类型
	 * @throws
	 * @since CodingExample　Ver 1.1
	 */
	public Map<String, String> getFileTypeFromOption() {
		Map<String, String> fileTypeList = new HashMap<String, String>();
		String[] values = null;
		try {
			if (session != null) {
				TCPreferenceService ps = session.getPreferenceService();
				if (ps != null) {
					values = ps.getStringValues("CUST_dataset_extension_map");
					if (values != null) {
						for (int i = 0; i < values.length; i++) {
							String tctype = values[i].substring(0, values[i].indexOf(":"));
							String filetype = values[i].substring(values[i].indexOf(":") + 1);
							fileTypeList.put(filetype.toLowerCase(), tctype);
						}
					}
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return fileTypeList;
	}

	public List<String> getFileType() {
		List<String> filetypelist = new ArrayList<String>();
		Map<String, String> fileTypelList = new HashMap<String, String>();
		fileTypelList = getFileTypeFromOption();
		if ((fileTypelList != null) && (fileTypelList.size() > 0)) {
			Set<String> set = fileTypelList.keySet();
			Iterator<String> it = set.iterator();
			while (it.hasNext()) {
				String key = (String) it.next();
				if ((key != null) && (key.length() > 0)) {
					filetypelist.add(key);
				}
			}
		}
		return filetypelist;
	}
}
