/** * Դ�������ƣ�ViewScriptWrapImpl.java * �������Ȩ���������ӹɷ����޹�˾ ��Ȩ���� * ϵͳ���ƣ�JRES Studio * ģ�����ƣ�com.hundsun.ares.studio.jres.database.ui * ����˵����$desc * ����ĵ��� * ���ߣ� */ package com.hundsun.ares.studio.jres.clearinghouse.core.script.impl; import java.util.ArrayList; import java.util.Collections; import java.util.List; import org.apache.commons.lang.StringUtils; import com.hundsun.ares.studio.core.ARESModelException; import com.hundsun.ares.studio.core.IARESResource; import com.hundsun.ares.studio.core.model.RevisionHistory; import com.hundsun.ares.studio.jres.model.chouse.util.RevHistoryCompator; import com.hundsun.ares.studio.jres.model.database.ViewResourceData; import com.hundsun.ares.studio.jres.script.api.database.IViewScriptWrap; import com.hundsun.ares.studio.jres.script.api.wrap.IRevHistoryScriptWrap; import com.hundsun.ares.studio.jres.script.internal.util.IJSONUtil; import com.hundsun.ares.studio.jres.script.tool.HistoryCommentCompator; /** * @author yanwj06282 * */ public class ViewScriptWrapImpl extends DatabaseResScriptWrapImpl implements IViewScriptWrap { ViewResourceData view ; public ViewScriptWrapImpl(IARESResource resource) { super(resource); } @Override public String getViewName() { return getOriginalInfo().getName(); } @Override public String getChineseName() { return getOriginalInfo().getChineseName(); } @Override public String getTableType() { return "��ͼ"; } @Override public String getTableSpace(String prefix) { return IJSONUtil.instance.getStringFromJSON(toJSON(), "Oracle_space"); } @Override public String getSql() { ViewResourceData view = getOriginalInfo(); if (view != null) { return view.getSql(); } return StringUtils.EMPTY; } @Override public ViewResourceData getOriginalInfo() { if (view == null) { try { view = resource.getInfo(ViewResourceData.class); } catch (ARESModelException e) { e.printStackTrace(); } } return view; } @Override public String getObjectId() { return StringUtils.defaultString(getOriginalInfo().getObjectId()); } public IRevHistoryScriptWrap[] getHistories(){ List<IRevHistoryScriptWrap> hisWraps = new ArrayList<IRevHistoryScriptWrap>(); List<RevisionHistory> histories = new ArrayList<RevisionHistory>(); for (RevisionHistory his : getOriginalInfo().getHistories()){ try { if (HistoryCommentCompator.compareVersion(his.getVersion(), resource.getARESProject().getProjectProperty().getVersion())) { histories.add(his); } } catch (ARESModelException e) { e.printStackTrace(); } } //����,��ǰ���� Collections.sort(histories, new RevHistoryCompator()); for (RevisionHistory his : histories){ hisWraps.add(new TableRevHistoryScriptWrapImpl(his, resource)); } return hisWraps.toArray(new IRevHistoryScriptWrap[0]); } @Override public boolean isGenHisTable() { return false; } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.script.api.wrap.IDatabaseResScriptWrap#setObjectId(java.lang.String) */ @Override public void setObjectId(String objectId) { getOriginalInfo().setObjectId(objectId); } }