Рефакторинг кода панели быстрого доступа.
This commit is contained in:
@@ -6,14 +6,22 @@ import Common.Passes.Pass;
|
||||
import Common.Passes.PassCode_;
|
||||
import Common.Utils.TextLog;
|
||||
import Common.Utils.Utils_;
|
||||
import Common.Utils.Vector_;
|
||||
import Visual_DVM_2021.PassStats.PassStats;
|
||||
import Visual_DVM_2021.Passes.PassCode;
|
||||
import _VisualDVM.Global;
|
||||
|
||||
import java.util.Comparator;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Vector;
|
||||
//Основной объект визуализатора.
|
||||
public abstract class MainModule_<D extends VisualiserDatabase> {
|
||||
D db;
|
||||
Class<D> db_class;
|
||||
//--
|
||||
LinkedHashMap<PassCode_, Pass> passes;
|
||||
LinkedHashMap<Current_, Object> objects;
|
||||
LinkedHashMap<Current_, Object> objects; //Current
|
||||
//--
|
||||
public D getDb() {
|
||||
return db;
|
||||
}
|
||||
@@ -25,15 +33,14 @@ public abstract class MainModule_<D extends VisualiserDatabase> {
|
||||
Class<?> clazz = Class.forName("Visual_DVM_2021.Passes.All." + code.toString());
|
||||
Pass pass = ((Pass) clazz.newInstance());
|
||||
passes.put((PassCode_) code, pass);
|
||||
//--
|
||||
if (pass.hasStats())
|
||||
Pass.FAPasses.add(pass);
|
||||
//--
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
System.out.println("Passes created!");
|
||||
}
|
||||
public void setPassesControlsVisible(boolean flag, PassCode_... codes_in) {
|
||||
for (PassCode_ code_in : codes_in)
|
||||
getPass(code_in).setControlsVisible(flag);
|
||||
}
|
||||
public MainModule_(Class<D> db_class_in) {
|
||||
objects = new LinkedHashMap<>();
|
||||
@@ -45,7 +52,7 @@ public abstract class MainModule_<D extends VisualiserDatabase> {
|
||||
}
|
||||
//---
|
||||
}
|
||||
public abstract Class<? extends PassCode_> getPassCodesEnum();
|
||||
public abstract Class getPassCodesEnum();
|
||||
public void ActivateDB() throws Exception {
|
||||
db = db_class.newInstance();
|
||||
db.Connect();
|
||||
@@ -81,4 +88,20 @@ public abstract class MainModule_<D extends VisualiserDatabase> {
|
||||
public Pass getPass(PassCode_ code){
|
||||
return passes.get(code);
|
||||
}
|
||||
public Vector<Pass> getFirstAccessPasses(){
|
||||
Vector<PassStats> sortedStats = new Vector<>(getDb().passStats.Data.values());
|
||||
System.out.println("sorted passes size= "+sortedStats.size());
|
||||
sortedStats.sort(new Comparator<PassStats>() {
|
||||
@Override
|
||||
public int compare(PassStats o1, PassStats o2) {
|
||||
return Integer.compare(o2.Usages, o1.Usages);
|
||||
}
|
||||
});
|
||||
Vector<Pass> res= new Vector<>();
|
||||
for (PassStats passStats: sortedStats){
|
||||
PassCode_ passCode = (PassCode_) Enum.valueOf(getPassCodesEnum(), passStats.code);
|
||||
res.add(getPass(passCode));
|
||||
}
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user