package com.smtaiserver.smtaiserver.javaai.ast; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; public class ASTCubeRecs { public enum ASTCubeRecsType { VALUE, SUMMARY, RECORD } public boolean _isRawRS = false; public ASTCubeRecsType _recsType = ASTCubeRecsType.VALUE; public String _title; public String _posXName; public String _posYName; public String _devKeyName; public String[] _colTitles = null; public int _colKeyCount = 0; public List _dimNames = new ArrayList<>(); public List _dimTitles = new ArrayList<>(); public List _dimValues = new ArrayList<>(); public List _listDimFilter = null; public Map _mapDimId2Recs = new HashMap<>(); public ASTCubeRecs cloneCubeRecs() { ASTCubeRecs newCubeRecs = new ASTCubeRecs(); newCubeRecs._recsType = this._recsType; newCubeRecs._title = this._title; newCubeRecs._posXName = _posXName; newCubeRecs._posYName = _posYName; newCubeRecs._devKeyName = _devKeyName; for(String dimName : _dimNames) { newCubeRecs._dimNames.add(dimName); } for(String dimTitle : _dimTitles) { newCubeRecs._dimTitles.add(dimTitle); } for(Object[] dimValue : _dimValues) { newCubeRecs._dimValues.add(dimValue); } for(Entry entry : _mapDimId2Recs.entrySet()) { newCubeRecs._mapDimId2Recs.put(entry.getKey(), entry.getValue().cloneCubeRecsValue()); } return newCubeRecs; } public boolean isSameStartTime(Date checkTime, Date[] r_curTime) { Date curTime = null; for(ASTCubeRecsValue recsValue : _mapDimId2Recs.values()) { curTime = recsValue._timeRange._startTime; break; } if(r_curTime != null) r_curTime[0] = curTime; if(checkTime == null || curTime == null) { return (checkTime == null && curTime == null); } else { return checkTime.equals(curTime); } } }