package _VisualDVM.Passes.All; import Common.Utils.Index; import Common.Utils.Utils_; import Common.Visual.UI; import _VisualDVM.Global; import _VisualDVM.Passes.Sapfor.SapforAnalysis; import _VisualDVM.ProjectData.Files.DBProjectFile; import _VisualDVM.ProjectData.SapforData.Arrays.ArrayDecl; import _VisualDVM.ProjectData.SapforData.Arrays.ArraysJson; import _VisualDVM.ProjectData.SapforData.Arrays.ProjectArray; import javax.rmi.CORBA.Util; import java.math.BigInteger; public class SPF_GetAllDeclaratedArrays extends SapforAnalysis { @Override public String phase() { return "GET_ALL_ARRAY_DECL"; } @Override protected void performPreparation() throws Exception { super.performPreparation(); //удаление интеррупта. target.declaratedArrays.clear(); for (DBProjectFile f : target.db.files.Data.values()) f.array_decls.clear(); } @Override protected void showPreparation() { Global.mainModule.getUI().getMainWindow().getProjectWindow().getArraysWindow().ShowNoArrays(); if (Global.mainModule.HasFile()) Global.mainModule.getFile().form.ShowNoArrays(); } @Override public void unpack(String packed) throws Exception { System.out.println("packed="+ Utils_.Brackets(packed)); ArraysJson arraysJson = Utils_.gson.fromJson(packed, ArraysJson.class); System.out.println("size="+arraysJson.allArrays.size()); for (ProjectArray array: arraysJson.allArrays){ array.Init(); target.declaratedArrays.put(array.id, array); // array.print(); } for (DBProjectFile file : target.db.files.Data.values()) file.ArrayGraphTitle = "Объявлений: " + file.array_decls.size(); target.UpdateArraysCount(); } @Override protected boolean alwaysCheck() { return true; } @Override protected boolean isAtomic() { return false; } @Override protected void FocusResult() { Global.mainModule.getUI().getMainWindow().getProjectWindow().FocusArrays(); if (Global.mainModule.HasFile()) Global.mainModule.getFile().form.FocusArrays(); } @Override protected void showDone() throws Exception { Global.mainModule.getUI().getMainWindow().getProjectWindow().getArraysWindow().ShowArrays(); Global.mainModule.getUI().getMainWindow().getProjectWindow().getAnalysisWindow().ShowArraysCount(); Global.mainModule.getUI().getMainWindow().getProjectWindow().getAnalysisWindow().ShowRegions(); if (Global.mainModule.HasFile()) Global.mainModule.getFile().form.ShowArrays(); super.showDone(); } }