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 8925x 8925x 8925x 8925x 26609x 26609x 26609x 26609x 26609x 26609x 8925x 8925x 2x 2x 8925x 8925x 8485x 8485x 8925x 8925x 202x 202x 8925x 8925x 202x 202x 8925x 8925x 261x 261x 261x 202x 202x 59x 261x 18x 16x 16x 261x 39x 39x 4x 261x 2x 2x 2x 2x 2x 2x 261x 8925x | 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 []; } } } |