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 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 15473x 15473x 15473x 15473x 61181x 61181x 61181x 61181x 61181x 61181x 15473x 15473x 2x 2x 15473x 15473x 14908x 14908x 15473x 15473x 264x 264x 15473x 15473x 264x 264x 15473x 15473x 365x 365x 365x 262x 262x 103x 365x 23x 21x 21x 365x 78x 78x 4x 365x 2x 2x 2x 2x 2x 2x 365x 15473x | import {Issue} from "../issue";
import {BasicRuleConfig} from "./_basic_rule_config";
import {IObject} from "../objects/_iobject";
import {IRule} from "./_irule";
import * as Objects from "../objects";
import {Position} from "../position";
import {IRegistry} from "../_iregistry";
export class ReleaseIdocConf extends BasicRuleConfig {
}
export class ReleaseIdoc implements IRule {
private conf = new ReleaseIdocConf();
public getMetadata() {
return {
key: "release_idoc",
title: "Release iDoc",
shortDescription: `Checks idoc types and segments are set to status released`,
};
}
private getMessage(): string {
return "Idoc type/segement status must be set to released";
}
public getConfig() {
return this.conf;
}
public setConfig(conf: ReleaseIdocConf) {
this.conf = conf;
}
public initialize(_reg: IRegistry) {
return this;
}
public run(obj: IObject): Issue[] {
const file = obj.getXMLFile();
if (file === undefined) {
return [];
}
if (obj instanceof Objects.Table) {
if (file.getRaw().includes("<SEGMENTDEFINITION>") === false) {
return [];
}
} else if (!(obj instanceof Objects.Idoc)) {
return [];
}
if (file.getRaw().includes("<CLOSED>X</CLOSED>") === false) {
const position = new Position(1, 1);
const issue = Issue.atPosition(obj.getFiles()[0], position, this.getMessage(), this.getMetadata().key, this.conf.severity);
return [issue];
} else {
return [];
}
}
} |