/** * <p>Copyright: Copyright (c) 2013</p> * <p>Company: �������ӹɷ����޹�˾</p> */ package com.hundsun.ares.studio.jres.model.database.oracle.util; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashSet; import java.util.List; import java.util.Set; import org.apache.commons.lang.StringUtils; import com.hundsun.ares.studio.core.IARESProject; import com.hundsun.ares.studio.jres.database.oracle.constant.IOracleRefType; import com.hundsun.ares.studio.jres.model.database.oracle.TableSpace; import com.hundsun.ares.studio.model.reference.ReferenceInfo; import com.hundsun.ares.studio.reference.ReferenceManager; /** * @author qinyuan * */ public class OracleDataBaseUtil { /** * ��ȡ���ݿ������ * @param project ���� * @param unique �Ƿ�ȥ���ظ��� * @return */ public static String[] getDataBaseName(IARESProject project,boolean unique) { if(null == project) { return new String[0]; } List<String> list = new ArrayList<String>(); List<ReferenceInfo> referenceInfos = ReferenceManager.getInstance().getReferenceInfos(project, IOracleRefType.Space, false); for(ReferenceInfo info : referenceInfos){ Object obj = info.getObject(); if (obj instanceof TableSpace && StringUtils.isNotBlank(((TableSpace) obj).getLogicName())) { String name = ((TableSpace) obj).getLogicName(); if(unique){ if(!list.contains(name)){ list.add(name); } }else { list.add(name); } } } //���� // Collections.sort(list); Collections.sort(list, new Comparator<String>() { @Override public int compare(String o1, String o2) { return o1.toUpperCase().compareTo(o2.toUpperCase());//�����ִ�Сд } }); return list.toArray(new String[list.size()]); } /** * �����߼�����ȡ��ռ� * @param project ���� * @param name ��ռ��߼��� * @return */ public static TableSpace getTableSpaceByLogicName(IARESProject project,String name) { List<ReferenceInfo> referenceInfos = ReferenceManager.getInstance().getReferenceInfos(project, IOracleRefType.Space, false); for(ReferenceInfo info : referenceInfos){ Object obj = info.getObject(); if (obj instanceof TableSpace && StringUtils.equalsIgnoreCase(name,((TableSpace) obj).getLogicName())) { return (TableSpace) obj; } } return null; } /** * �����߼�����ȡ��ռ� * @param project ���� * @param name ��ռ��� * @return */ public static TableSpace getTableSpaceByName(IARESProject project,String name) { List<ReferenceInfo> referenceInfos = ReferenceManager.getInstance().getReferenceInfos(project, IOracleRefType.Space, false); for(ReferenceInfo info : referenceInfos){ Object obj = info.getObject(); if (obj instanceof TableSpace && StringUtils.equalsIgnoreCase(name,((TableSpace) obj).getName())) { return (TableSpace) obj; } } return null; } }