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 11367x 11367x 11367x 11367x 33936x 33936x 33936x 33936x 33936x 33936x 11367x 11367x 2x 2x 11367x 11367x 10867x 10867x 11367x 11367x 233x 233x 11367x 11367x 233x 233x 11367x 11367x 306x 306x 306x 230x 230x 76x 306x 22x 20x 20x 306x 52x 52x 4x 306x 2x 2x 2x 2x 2x 2x 306x 11367x | 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 [];
}
}
} |