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 11715x 11715x 11715x 11715x 34998x 34998x 34998x 34998x 34998x 34998x 11715x 11715x 2x 2x 11715x 11715x 11175x 11175x 11715x 11715x 253x 253x 11715x 11715x 253x 253x 11715x 11715x 345x 345x 345x 254x 254x 91x 345x 23x 21x 21x 345x 66x 66x 4x 345x 2x 2x 2x 2x 2x 2x 345x 11715x | 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 [];
}
}
} |