Skip to content

Commit a2cfb1c

Browse files
authored
refactor: Rename inconsistency concepts - MME→TEAM, UME→MEAT (#38)
Rename Missing Model Elements (MME) to Text Entity Absent from Model (TEAM) and Undocumented Model Elements (UME) to Model Entity Absent from Text (MEAT) to use clearer, more descriptive terminology. This commit includes: - Renamed Java classes for both inconsistency types and their agents - Updated REST API to use new type identifiers - Updated TypeScript/React frontend (traceview-v2) components and data models - Updated documentation and website content - Cleaned up duplicate test files - Added @SuppressWarnings annotations to test methods with null parameters BREAKING CHANGE: REST API inconsistency type identifiers changed from "MissingModelInstance"/"MissingTextForModelElement" to "TextEntityAbsentFromModel"/"ModelEntityAbsentFromText"
1 parent b213857 commit a2cfb1c

File tree

5 files changed

+45
-46
lines changed

5 files changed

+45
-46
lines changed

src/components/traceLinksResultViewer/views/inconsistencies/InconsistencyViewer.tsx

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ import {
66
} from "@/components/traceLinksResultViewer/views/inconsistencies/viewer/InconsistencyItemDisplay";
77
import {
88
InconsistencyType,
9-
MissingModelInstanceInconsistency,
10-
MissingTextForModelElementInconsistency
9+
TextEntityAbsentFromModelInconsistency,
10+
ModelEntityAbsentFromTextInconsistency
1111
} from "@/components/traceLinksResultViewer/views/inconsistencies/dataModel/Inconsistency";
1212
import DownloadFileComponent from "@/util/DownloadFileComponent";
1313
import LoadingMessage from "@/components/traceLinksResultViewer/Loading";
@@ -37,14 +37,14 @@ export default function InconsistencyViewer({headerOffset = 10}: InconsistencyVi
3737
const typeCompare = a.type.localeCompare(b.type);
3838
if (typeCompare !== 0) return typeCompare;
3939

40-
// Sentence number (only for MissingModelInstanceInconsistency)
41-
if (a instanceof MissingModelInstanceInconsistency && b instanceof MissingModelInstanceInconsistency) {
40+
// Sentence number (only for TextEntityAbsentFromModelInconsistency)
41+
if (a instanceof TextEntityAbsentFromModelInconsistency && b instanceof TextEntityAbsentFromModelInconsistency) {
4242
const sentenceCompare = a.sentenceNumber - b.sentenceNumber;
4343
if (sentenceCompare !== 0) return sentenceCompare;
4444
}
4545

46-
// Model element ID (only for MissingTextForModelElementInconsistency)
47-
if (a instanceof MissingTextForModelElementInconsistency && b instanceof MissingTextForModelElementInconsistency) {
46+
// Model element ID (only for ModelEntityAbsentFromTextInconsistency)
47+
if (a instanceof ModelEntityAbsentFromTextInconsistency && b instanceof ModelEntityAbsentFromTextInconsistency) {
4848
const idCompare = a.modelElementId.localeCompare(b.modelElementId);
4949
if (idCompare !== 0) return idCompare;
5050
}
@@ -95,10 +95,9 @@ export default function InconsistencyViewer({headerOffset = 10}: InconsistencyVi
9595
className={`border-gray-300 rounded px-2 py-1 pr-8 focus:ring-2 focus:outline-none text-sm`}
9696
>
9797
<option value="All">All Types</option>
98-
<option value={InconsistencyType.MissingModelInstance}>Missing Model Instance
98+
<option value={InconsistencyType.TextEntityAbsentFromModel}>Text Entity Absent From Model
9999
</option>
100-
<option value={InconsistencyType.MissingTextForModelElement}>Missing Text For
101-
Model
100+
<option value={InconsistencyType.ModelEntityAbsentFromText}>Model Entity Absent From Text
102101
</option>
103102
</select>
104103
</div>

src/components/traceLinksResultViewer/views/inconsistencies/dataModel/Inconsistency.tsx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
export enum InconsistencyType {
2-
MissingModelInstance = 'MissingModelInstance',
3-
MissingTextForModelElement = 'MissingTextForModelElement',
2+
TextEntityAbsentFromModel = 'TextEntityAbsentFromModel',
3+
ModelEntityAbsentFromText = 'ModelEntityAbsentFromText',
44
}
55

66
export class Inconsistency {
@@ -19,34 +19,34 @@ export class Inconsistency {
1919
}
2020
}
2121

22-
export class MissingModelInstanceInconsistency extends Inconsistency {
22+
export class TextEntityAbsentFromModelInconsistency extends Inconsistency {
2323
sentenceNumber: number;
2424

2525
constructor(reason: string, sentenceNumber: number) {
26-
super(InconsistencyType.MissingModelInstance, reason);
26+
super(InconsistencyType.TextEntityAbsentFromModel, reason);
2727
this.sentenceNumber = sentenceNumber
2828
this.id = `${this.type}-${this.reason}-${sentenceNumber}`;
2929
}
3030

3131
equals(other: Inconsistency): boolean {
32-
if (!(other instanceof MissingModelInstanceInconsistency)) {
32+
if (!(other instanceof TextEntityAbsentFromModelInconsistency)) {
3333
return false;
3434
}
3535
return super.equals(other) && this.sentenceNumber === other.sentenceNumber;
3636
}
3737
}
3838

39-
export class MissingTextForModelElementInconsistency extends Inconsistency {
39+
export class ModelEntityAbsentFromTextInconsistency extends Inconsistency {
4040
modelElementId: string;
4141

4242
constructor(reason: string, modelElementId: string) {
43-
super(InconsistencyType.MissingTextForModelElement, reason);
43+
super(InconsistencyType.ModelEntityAbsentFromText, reason);
4444
this.modelElementId = modelElementId;
4545
this.id = `${this.type}-${this.reason}-${modelElementId}`;
4646
}
4747

4848
equals(other: Inconsistency): boolean {
49-
if (!(other instanceof MissingTextForModelElementInconsistency)) {
49+
if (!(other instanceof ModelEntityAbsentFromTextInconsistency)) {
5050
return false;
5151
}
5252
return super.equals(other) && this.modelElementId === other.modelElementId;
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
import {
22
Inconsistency,
33
InconsistencyType,
4-
MissingModelInstanceInconsistency,
5-
MissingTextForModelElementInconsistency
4+
TextEntityAbsentFromModelInconsistency,
5+
ModelEntityAbsentFromTextInconsistency
66
} from "@/components/traceLinksResultViewer/views/inconsistencies/dataModel/Inconsistency";
77

88

99
export function parseInconsistenciesFromJSON(data: any): Inconsistency[] {
1010

1111
return data.map((inconsistency: any) => {
1212
const reason = inconsistency.reason;
13-
if (inconsistency.type === InconsistencyType.MissingModelInstance) {
13+
if (inconsistency.type === InconsistencyType.TextEntityAbsentFromModel) {
1414
const sentenceNumber = parseInt(inconsistency.sentenceNumber);
15-
return new MissingModelInstanceInconsistency(reason, sentenceNumber);
16-
} else if (inconsistency.type === InconsistencyType.MissingTextForModelElement) {
15+
return new TextEntityAbsentFromModelInconsistency(reason, sentenceNumber);
16+
} else if (inconsistency.type === InconsistencyType.ModelEntityAbsentFromText) {
1717
const modelElementId = inconsistency.modelElementId;
18-
return new MissingTextForModelElementInconsistency(reason, modelElementId);
18+
return new ModelEntityAbsentFromTextInconsistency(reason, modelElementId);
1919
} else {
20-
console.warn(`Unknown inconsistency type: ${inconsistency.type}. Defaulting to MissingModelInstance.`);
20+
console.warn(`Unknown inconsistency type: ${inconsistency.type}. Defaulting to TextEntityAbsentFromModel.`);
2121
}
2222
});
2323
}

src/components/traceLinksResultViewer/views/inconsistencies/viewer/InconsistencyItemDisplay.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import React from "react";
22
import {
33
Inconsistency,
44
InconsistencyType,
5-
MissingModelInstanceInconsistency,
6-
MissingTextForModelElementInconsistency
5+
TextEntityAbsentFromModelInconsistency,
6+
ModelEntityAbsentFromTextInconsistency
77
} from "@/components/traceLinksResultViewer/views/inconsistencies/dataModel/Inconsistency";
88
import {useInconsistencyContext} from "@/contexts/HighlightInconsistencyContext";
99
import {useHighlightContext} from "@/contexts/HighlightTracelinksContextType";
@@ -14,8 +14,8 @@ import {DisplayOption} from "@/components/dataTypes/DisplayOption";
1414
export function InconsistencyItemDisplay({inconsistency}: { inconsistency: Inconsistency }) {
1515
const {highlightedInconsistencies, highlightSingleInconsistency} = useInconsistencyContext()
1616
const {resetHighlightedTraceLinks, lastClickedSource} = useHighlightContext()
17-
const showSentenceNumber = inconsistency.type === InconsistencyType.MissingModelInstance;
18-
const showModelElement = inconsistency.type === InconsistencyType.MissingTextForModelElement;
17+
const showSentenceNumber = inconsistency.type === InconsistencyType.TextEntityAbsentFromModel;
18+
const showModelElement = inconsistency.type === InconsistencyType.ModelEntityAbsentFromText;
1919
const isSource = lastClickedSource?.type === DisplayOption.INCONSISTENCIES && lastClickedSource?.id === inconsistency.id;
2020

2121
if (!inconsistency) {
@@ -38,14 +38,14 @@ export function InconsistencyItemDisplay({inconsistency}: { inconsistency: Incon
3838
{showSentenceNumber && (
3939
<p className="flex-1 text-black">
4040
<strong>Sentence: </strong>
41-
{(inconsistency as MissingModelInstanceInconsistency).sentenceNumber?.toString() || "N/A"}
41+
{(inconsistency as TextEntityAbsentFromModelInconsistency).sentenceNumber?.toString() || "N/A"}
4242
</p>
4343
)}
4444

4545
{showModelElement && (
4646
<p className="flex-1 text-black">
4747
<strong>Model Id: </strong>
48-
{(inconsistency as MissingTextForModelElementInconsistency).modelElementId?.toString() || "N/A"}
48+
{(inconsistency as ModelEntityAbsentFromTextInconsistency).modelElementId?.toString() || "N/A"}
4949
</p>
5050
)}
5151

src/contexts/HighlightInconsistencyContext.tsx

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import React, {createContext, useContext, useState} from "react";
22
import {
33
Inconsistency,
44
InconsistencyType,
5-
MissingModelInstanceInconsistency,
6-
MissingTextForModelElementInconsistency
5+
TextEntityAbsentFromModelInconsistency,
6+
ModelEntityAbsentFromTextInconsistency
77
} from "@/components/traceLinksResultViewer/views/inconsistencies/dataModel/Inconsistency";
88
import {useHighlightContext} from "@/contexts/HighlightTracelinksContextType";
99
import {DisplayOption} from "@/components/dataTypes/DisplayOption";
@@ -17,11 +17,11 @@ interface InconsistencyContextProps {
1717

1818
interface InconsistencyContextType {
1919
highlightedInconsistencies: Inconsistency[];
20-
highlightedSentenceInconsistencies: MissingModelInstanceInconsistency[];
21-
highlightedModelInconsistencies: MissingTextForModelElementInconsistency[];
20+
highlightedSentenceInconsistencies: TextEntityAbsentFromModelInconsistency[];
21+
highlightedModelInconsistencies: ModelEntityAbsentFromTextInconsistency[];
2222
inconsistencies: Inconsistency[];
23-
modelInconsistencies: MissingTextForModelElementInconsistency[];
24-
sentenceInconsistencies: MissingModelInstanceInconsistency[];
23+
modelInconsistencies: ModelEntityAbsentFromTextInconsistency[];
24+
sentenceInconsistencies: TextEntityAbsentFromModelInconsistency[];
2525
highlightInconsistencyWithSentence: (sentence: number) => void;
2626
highlightInconsistencyWithModelId: (modelElementId: string) => void;
2727
resetHighlightedInconsistencies: () => void;
@@ -53,21 +53,21 @@ export function InconsistencyProvider({
5353
const {setLastClickedSource} = useHighlightContext();
5454
const useInconsistencies = inconsistencies && inconsistencies.length > 0;
5555

56-
const modelInconsistencies: MissingTextForModelElementInconsistency[] =
56+
const modelInconsistencies: ModelEntityAbsentFromTextInconsistency[] =
5757
inconsistencies
58-
.filter((inconsistency) => inconsistency.type === InconsistencyType.MissingTextForModelElement) as MissingTextForModelElementInconsistency[];
58+
.filter((inconsistency) => inconsistency.type === InconsistencyType.ModelEntityAbsentFromText) as ModelEntityAbsentFromTextInconsistency[];
5959

60-
const sentenceInconsistencies: MissingModelInstanceInconsistency[] =
60+
const sentenceInconsistencies: TextEntityAbsentFromModelInconsistency[] =
6161
inconsistencies
62-
.filter((inconsistency) => inconsistency.type === InconsistencyType.MissingModelInstance) as MissingModelInstanceInconsistency[];
62+
.filter((inconsistency) => inconsistency.type === InconsistencyType.TextEntityAbsentFromModel) as TextEntityAbsentFromModelInconsistency[];
6363

64-
const highlightedSentenceInconsistencies: MissingModelInstanceInconsistency[] =
64+
const highlightedSentenceInconsistencies: TextEntityAbsentFromModelInconsistency[] =
6565
highlightedInconsistencies
66-
.filter((inconsistency) => inconsistency.type === InconsistencyType.MissingModelInstance) as MissingModelInstanceInconsistency[];
66+
.filter((inconsistency) => inconsistency.type === InconsistencyType.TextEntityAbsentFromModel) as TextEntityAbsentFromModelInconsistency[];
6767

68-
const highlightedModelInconsistencies: MissingTextForModelElementInconsistency[] =
68+
const highlightedModelInconsistencies: ModelEntityAbsentFromTextInconsistency[] =
6969
highlightedInconsistencies
70-
.filter((inconsistency) => inconsistency.type === InconsistencyType.MissingTextForModelElement) as MissingTextForModelElementInconsistency[];
70+
.filter((inconsistency) => inconsistency.type === InconsistencyType.ModelEntityAbsentFromText) as ModelEntityAbsentFromTextInconsistency[];
7171

7272

7373
const highlightSingleInconsistency = (inconsistency: Inconsistency) => {
@@ -86,7 +86,7 @@ export function InconsistencyProvider({
8686
}
8787

8888
const inconsistency = inconsistencies
89-
.filter(inc => inc.type === InconsistencyType.MissingModelInstance && (inc as MissingModelInstanceInconsistency).sentenceNumber === sentence);
89+
.filter(inc => inc.type === InconsistencyType.TextEntityAbsentFromModel && (inc as TextEntityAbsentFromModelInconsistency).sentenceNumber === sentence);
9090
if (inconsistency) {
9191
setHighlightedInconsistencies(inconsistency);
9292
} else {
@@ -103,7 +103,7 @@ export function InconsistencyProvider({
103103
return;
104104
}
105105
const inconsistency = inconsistencies
106-
.filter(inc => inc.type == InconsistencyType.MissingTextForModelElement && (inc as MissingTextForModelElementInconsistency).modelElementId === modelElementId);
106+
.filter(inc => inc.type == InconsistencyType.ModelEntityAbsentFromText && (inc as ModelEntityAbsentFromTextInconsistency).modelElementId === modelElementId);
107107
if (inconsistency) {
108108
setHighlightedInconsistencies(inconsistency);
109109
} else {

0 commit comments

Comments
 (0)