/**
*
*/
package com.hundsun.ares.studio.jres.script.tool;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.eclipse.emf.ecore.util.EcoreUtil;
import com.hundsun.ares.studio.core.model.JRESResourceInfo;
import com.hundsun.ares.studio.core.model.RevisionHistory;
import com.hundsun.ares.studio.jres.script.internal.util.IJSONUtil;
import com.hundsun.ares.studio.jres.script.util.IScriptStringUtil;
/**
* @author yanwj06282
*
*/
public class HistoryCommentHelper {
public static final String DATABASE_TYPE = "database";
public static final String METADATA_TYPE = "metadata";
public static String getHistoryCommentForDatabase(JRESResourceInfo info , String commentMark) {
return createHistoryComment(info, DATABASE_TYPE ,commentMark);
}
public static String getHistoryCommentForMetadata(JRESResourceInfo info , String commentMark) {
return createHistoryComment(info, METADATA_TYPE , commentMark);
}
/**
*
*
* @param type ���ݲ�ͬģ������ͣ���ȡ��ͬģ�������¼
* @return
*/
private static String createHistoryComment(JRESResourceInfo info ,String type , String commentMark){
List<List<String>> list = new ArrayList<List<String>>();
{
List<String> content = new ArrayList<String>();
content.add(commentMark);
content.add("�İ汾"+" ");
content.add("������"+" ");
content.add("�ĵ�"+" ");
content.add("������"+" ");
content.add("������"+" ");
content.add("������ "+" ");
content.add("��ԭ��"+" ");
content.add("��ע");
list.add(content);
}
List<RevisionHistory> histories = (List<RevisionHistory>) EcoreUtil.copyAll(info.getHistories());
//����,��ǰ����
Collections.sort(histories, new HistoryCommentCompator());
for (RevisionHistory his : histories) {
List<String> content = new ArrayList<String>();
content.add(commentMark);
content.add("V"+his.getVersion()+" ");
String modifyDate = his.getModifiedDate();
String newDate = StringUtils.substring(modifyDate, 0, 10).replaceAll("-", "");
content.add(newDate+" ");
content.add(his.getOrderNumber()+" ");
content.add(his.getModifiedBy()+" ");
content.add(his.getCharger()+" ");
if (StringUtils.equals(type, DATABASE_TYPE)) {
content.add(IJSONUtil.instance.getStringFromJSON(his.toJSON(),
"Stock3_actionDescription")+" ");
}else {
content.add(his.getModified()+" ");
}
content.add(his.getModifiedReason()+" ");
content.add(his.getComment());
list.add(content);
}
return IScriptStringUtil.instance.genStringTable(list)+"\r\n";
}
}