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 11455x 11455x 11455x 11455x 34214x 34214x 34214x 34214x 34214x 34214x 11455x 11455x 2x 2x 11455x 11455x 10927x 10927x 11455x 11455x 247x 247x 11455x 11455x 247x 247x 11455x 11455x 334x 334x 334x 243x 243x 91x 334x 23x 21x 21x 334x 66x 66x 4x 334x 2x 2x 2x 2x 2x 2x 334x 11455x | 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 [];
}
}
} |