Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | await import("./zcl_abapgit_repo_status.clas.locals.mjs");
const {cx_root} = await import("./cx_root.clas.mjs");
// zcl_abapgit_repo_status.clas.abap
class zcl_abapgit_repo_status {
static STATIC_SUPER = undefined;
static INTERNAL_TYPE = 'CLAS';
static INTERNAL_NAME = 'ZCL_ABAPGIT_REPO_STATUS';
static IMPLEMENTED_INTERFACES = [];
static ATTRIBUTES = {};
static METHODS = {"CALCULATE": {"visibility": "U", "parameters": {"RT_RESULTS": {"type": () => {return abap.types.TableFactory.construct(new abap.types.Structure({
"obj_type": new abap.types.Character(4, {}),
"obj_name": new abap.types.Character(40, {}),
"inactive": new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"}),
"path": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_DEFINITIONS=>TY_RESULT-PATH"}),
"filename": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_DEFINITIONS=>TY_RESULT-FILENAME"}),
"package": new abap.types.Character(30, {"qualifiedName":"DEVCLASS","ddicName":"DEVCLASS","description":"DEVCLASS"}),
"match": new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"}),
"lstate": new abap.types.Character(1, {"qualifiedName":"zif_abapgit_git_definitions=>ty_item_state"}),
"rstate": new abap.types.Character(1, {"qualifiedName":"zif_abapgit_git_definitions=>ty_item_state"}),
"packmove": new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"}),
"srcsystem": new abap.types.Character(5, {}),
"origlang": new abap.types.Character(1, {})}, "zif_abapgit_definitions=>ty_result", undefined, {}, {}), {"withHeader":false,"keyType":"DEFAULT","primaryKey":{"name":"primary_key","type":"STANDARD","isUnique":false,"keyFields":[]},"secondary":[{"name":"sec_key","type":"SORTED","isUnique":false,"keyFields":["OBJ_TYPE","OBJ_NAME"]}]}, "zif_abapgit_definitions=>ty_results_tt");}, "is_optional": " ", "parm_kind": "R", "type_name": "TableType"}, "II_REPO": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_REPO", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_REPO"});}, "is_optional": " ", "parm_kind": "I", "type_name": "ObjectReferenceType"}, "II_LOG": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_LOG", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_LOG"});}, "is_optional": " ", "parm_kind": "I", "type_name": "ObjectReferenceType"}, "II_OBJ_FILTER": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_OBJECT_FILTER", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_OBJECT_FILTER"});}, "is_optional": " ", "parm_kind": "I", "type_name": "ObjectReferenceType"}}}};
constructor() {
this.me = new abap.types.ABAPObject();
this.me.set(this);
this.INTERNAL_ID = abap.internalIdCounter++;
this.FRIENDS_ACCESS_INSTANCE = {
};
}
async constructor_(INPUT) {
if (super.constructor_) { await super.constructor_(INPUT); }
return this;
}
async calculate(INPUT) {
return zcl_abapgit_repo_status.calculate(INPUT);
}
static async calculate(INPUT) {
let rt_results = abap.types.TableFactory.construct(new abap.types.Structure({
"obj_type": new abap.types.Character(4, {}),
"obj_name": new abap.types.Character(40, {}),
"inactive": new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"}),
"path": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_DEFINITIONS=>TY_RESULT-PATH"}),
"filename": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_DEFINITIONS=>TY_RESULT-FILENAME"}),
"package": new abap.types.Character(30, {"qualifiedName":"DEVCLASS","ddicName":"DEVCLASS","description":"DEVCLASS"}),
"match": new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"}),
"lstate": new abap.types.Character(1, {"qualifiedName":"zif_abapgit_git_definitions=>ty_item_state"}),
"rstate": new abap.types.Character(1, {"qualifiedName":"zif_abapgit_git_definitions=>ty_item_state"}),
"packmove": new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"}),
"srcsystem": new abap.types.Character(5, {}),
"origlang": new abap.types.Character(1, {})}, "zif_abapgit_definitions=>ty_result", undefined, {}, {}), {"withHeader":false,"keyType":"DEFAULT","primaryKey":{"name":"primary_key","type":"STANDARD","isUnique":false,"keyFields":[]},"secondary":[{"name":"sec_key","type":"SORTED","isUnique":false,"keyFields":["OBJ_TYPE","OBJ_NAME"]}]}, "zif_abapgit_definitions=>ty_results_tt");
let ii_repo = INPUT?.ii_repo;
if (ii_repo?.getQualifiedName === undefined || ii_repo.getQualifiedName() !== "ZIF_ABAPGIT_REPO") { ii_repo = undefined; }
if (ii_repo === undefined) { ii_repo = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_REPO", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_REPO"}).set(INPUT.ii_repo); }
let ii_log = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_LOG", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_LOG"});
if (INPUT && INPUT.ii_log) {ii_log.set(INPUT.ii_log);}
let ii_obj_filter = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_OBJECT_FILTER", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_OBJECT_FILTER"});
if (INPUT && INPUT.ii_obj_filter) {ii_obj_filter.set(INPUT.ii_obj_filter);}
let lt_local = abap.types.TableFactory.construct(new abap.types.Structure({
"file": new abap.types.Structure({
"path": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_FILE_SIGNATURE-PATH"}),
"filename": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_FILE_SIGNATURE-FILENAME"}),
"sha1": new abap.types.Character(40, {"qualifiedName":"zif_abapgit_git_definitions=>ty_sha1"}),
"data": new abap.types.XString({qualifiedName: "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_FILE-DATA"})}, "zif_abapgit_git_definitions=>ty_file", undefined, {}, {}),
"item": new abap.types.Structure({
"obj_type": new abap.types.Character(4, {}),
"obj_name": new abap.types.Character(40, {}),
"devclass": new abap.types.Character(30, {"qualifiedName":"DEVCLASS","ddicName":"DEVCLASS","description":"DEVCLASS"}),
"srcsystem": new abap.types.Character(5, {}),
"origlang": new abap.types.Character(1, {}),
"inactive": new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"}),
"abap_language_version": new abap.types.Character(1, {"qualifiedName":"zif_abapgit_aff_types_v1=>ty_abap_language_version"})}, "zif_abapgit_definitions=>ty_item", undefined, {}, {})}, "zif_abapgit_definitions=>ty_file_item", undefined, {}, {}), {"withHeader":false,"keyType":"DEFAULT","primaryKey":{"name":"primary_key","type":"STANDARD","isUnique":false,"keyFields":[]},"secondary":[]}, "zif_abapgit_definitions=>ty_files_item_tt");
let lt_remote = abap.types.TableFactory.construct(new abap.types.Structure({
"path": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_FILE_SIGNATURE-PATH"}),
"filename": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_FILE_SIGNATURE-FILENAME"}),
"sha1": new abap.types.Character(40, {"qualifiedName":"zif_abapgit_git_definitions=>ty_sha1"}),
"data": new abap.types.XString({qualifiedName: "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_FILE-DATA"})}, "zif_abapgit_git_definitions=>ty_file", undefined, {}, {}), {"withHeader":false,"keyType":"DEFAULT","primaryKey":{"name":"primary_key","type":"STANDARD","isUnique":false,"keyFields":[]},"secondary":[{"name":"file_path","type":"SORTED","isUnique":true,"keyFields":["PATH","FILENAME"]},{"name":"file","type":"SORTED","isUnique":false,"keyFields":["FILENAME"]}]}, "zif_abapgit_git_definitions=>ty_files_tt");
let li_exit = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_EXIT", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_EXIT"});
let li_instance = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_STATUS_CALC", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_STATUS_CALC"});
let lo_consistency_checks = new abap.types.ABAPObject({qualifiedName: "LCL_STATUS_CONSISTENCY_CHECKS", RTTIName: "\\CLASS-POOL=ZCL_ABAPGIT_REPO_STATUS\\CLASS=LCL_STATUS_CONSISTENCY_CHECKS"});
if (abap.compare.initial(ii_obj_filter)) {
lt_local.set((await ii_repo.get().zif_abapgit_repo$get_files_local({ii_log: ii_log})));
} else {
lt_local.set((await ii_repo.get().zif_abapgit_repo$get_files_local_filtered({ii_log: ii_log, ii_obj_filter: ii_obj_filter})));
}
if (abap.compare.le(abap.builtin.lines({val: lt_local}), abap.IntegerFactory.get(2)) && abap.compare.initial(ii_obj_filter)) {
await ii_repo.get().zif_abapgit_repo$find_remote_dot_abapgit();
}
lt_remote.set((await ii_repo.get().zif_abapgit_repo$get_files_remote({ii_obj_filter: ii_obj_filter, iv_ignore_files: abap.builtin.abap_true})));
li_exit.set((await abap.Classes['ZCL_ABAPGIT_EXIT'].get_instance()));
await li_exit.get().zif_abapgit_exit$pre_calculate_repo_status({is_repo_meta: ii_repo.get().zif_abapgit_repo$ms_data, ct_local: lt_local, ct_remote: lt_remote});
li_instance.set((await abap.Classes['ZCL_ABAPGIT_STATUS_CALC'].get_instance({iv_root_package: (await ii_repo.get().zif_abapgit_repo$get_package()), io_dot: (await ii_repo.get().zif_abapgit_repo$get_dot_abapgit())})));
rt_results.set((await li_instance.get().zif_abapgit_status_calc$calculate_status({it_local: lt_local, it_remote: lt_remote, it_cur_state: (await (await ii_repo.get().zif_abapgit_repo$checksums()).get().zif_abapgit_repo_checksums$get_checksums_per_file())})));
if (abap.compare.initial(ii_log) === false) {
lo_consistency_checks.set(await (new abap.Classes['CLAS-ZCL_ABAPGIT_REPO_STATUS-LCL_STATUS_CONSISTENCY_CHECKS']()).constructor_({iv_root_package: (await ii_repo.get().zif_abapgit_repo$get_package()), io_dot: (await ii_repo.get().zif_abapgit_repo$get_dot_abapgit())}));
await ii_log.get().zif_abapgit_log$merge_with({ii_log: (await lo_consistency_checks.get().run_checks({it_results: rt_results}))});
}
return rt_results;
}
}
abap.Classes['ZCL_ABAPGIT_REPO_STATUS'] = zcl_abapgit_repo_status;
export {zcl_abapgit_repo_status}; |