--- /dev/null
+package org.argeo.slc.diff;\r
+\r
+/** Intermediate class that can hold the key to be displayed. */\r
+public abstract class DiffIssueKey extends DiffIssue {\r
+ /** The position of this issue. */\r
+ protected DiffKey key;\r
+\r
+ /** Constructor without key*/\r
+ public DiffIssueKey(DiffPosition position) {\r
+ super(position);\r
+ }\r
+ \r
+ /** Constructor with key*/\r
+ public DiffIssueKey(DiffPosition position, DiffKey key) {\r
+ super(position);\r
+ this.key = key;\r
+ }\r
+\r
+ public Object getKey() {\r
+ return key;\r
+ }\r
+ \r
+ @Override\r
+ public String toString() {\r
+ if (key != null) {\r
+ return key.toString();\r
+ } else {\r
+ return "";\r
+ }\r
+ }\r
+}\r
* the reached it means that it is missing from the reached. If the value is\r
* null it means that the entire line is missing.\r
*/\r
-public class DiffMissing extends DiffIssue {\r
- private final DiffKey key;\r
+public class DiffMissing extends DiffIssueKey {\r
\r
public DiffMissing(DiffPosition position, DiffKey key) {\r
super(position);\r
- this.key = key;\r
- }\r
-\r
- public Object getKey() {\r
- return key;\r
+ super.key = key;\r
}\r
\r
@Override\r
public String toString() {\r
if (position.relatedFile == RelatedFile.EXPECTED) {\r
- return position + ": left over " + key;\r
+ return position + ": left over " + super.toString();\r
} else if (position.relatedFile == RelatedFile.REACHED) {\r
- return position + ": missing " + key;\r
+ return position + ": missing " + super.toString();\r
}\r
return super.toString();\r
}\r
package org.argeo.slc.diff;\r
\r
/** Diff issue where reached and expected values are different. */\r
-public class DiffNotMatched extends DiffIssue {\r
+public class DiffNotMatched extends DiffIssueKey {\r
private final Object expected;\r
private final Object reached;\r
\r
this.reached = reached;\r
}\r
\r
+ public DiffNotMatched(DiffPosition position, Object expected, Object reached, DiffKey key) {\r
+ super(position, key);\r
+ this.expected = expected;\r
+ this.reached = reached;\r
+ }\r
+\r
public Object getExpected() {\r
return expected;\r
}\r
\r
@Override\r
public String toString() {\r
- return position + ": not matched " + expected + " <> " + reached;\r
+ String result = position + ": not matched " + expected + " <> " + reached;\r
+ if (super.key != null) {\r
+ result = result + " - Key: " + super.toString();\r
+ }\r
+ \r
+ return result;\r
}\r
\r
}\r