From d9ea767c708bcc64c4b4d986809eb13b3cbe1604 Mon Sep 17 00:00:00 2001 From: Jonathan Rogues Date: Wed, 21 Jan 2015 15:09:36 -0800 Subject: [PATCH 1/2] [BUG] refs #40542 @0.75 Now display suggestions in foreign key report --- .../com/inovia/magnifier/reports/Report.java | 3 ++- .../inovia/magnifier/reports/ReportEntry.java | 14 +++++++++++--- .../inovia/magnifier/rule/ForeignKeyName.java | 17 +++++++++-------- .../magnifier/rule/FunctionHasComment.java | 10 +++++----- .../magnifier/rule/FunctionParameterName.java | 13 +++++++------ .../com/inovia/magnifier/rule/IndexName.java | 12 ++++++------ .../com/inovia/magnifier/rule/RuleResult.java | 19 +++++++++++++++++++ .../magnifier/rule/TableHasComment.java | 10 +++++----- .../magnifier/rule/TableHasPrimaryKey.java | 8 ++++---- .../magnifier/rule/TriggerHasComment.java | 10 +++++----- .../inovia/magnifier/rule/TriggerName.java | 10 ++++++---- .../inovia/magnifier/rule/ViewHasComment.java | 10 +++++----- .../com/inovia/magnifier/rule/ViewName.java | 10 +++++----- .../magnifier/reports/ReportEntryTest.java | 15 +++++++++++++-- 14 files changed, 102 insertions(+), 59 deletions(-) create mode 100644 src/main/java/com/inovia/magnifier/rule/RuleResult.java diff --git a/src/main/java/com/inovia/magnifier/reports/Report.java b/src/main/java/com/inovia/magnifier/reports/Report.java index eeb7409..661bbd9 100644 --- a/src/main/java/com/inovia/magnifier/reports/Report.java +++ b/src/main/java/com/inovia/magnifier/reports/Report.java @@ -165,8 +165,8 @@ public int compare(RuleReport r1, RuleReport r2) { for(String column : rr.getColumns()) { html = html + "" + column + ""; } - html = html + + " suggestions" + " " + " "; @@ -183,6 +183,7 @@ public int compare(RuleReport r1, RuleReport r2) { + "" + data + ""; } html = html + + " " + (e.getDetails() != null ? e.getDetails() : "") + "" + ""; } html = html diff --git a/src/main/java/com/inovia/magnifier/reports/ReportEntry.java b/src/main/java/com/inovia/magnifier/reports/ReportEntry.java index 6751ba7..7e872bb 100644 --- a/src/main/java/com/inovia/magnifier/reports/ReportEntry.java +++ b/src/main/java/com/inovia/magnifier/reports/ReportEntry.java @@ -1,5 +1,7 @@ package com.inovia.magnifier.reports; +import com.inovia.magnifier.rule.RuleResult; + /** * it is the result of the execution of a rule on a single database entity. * for example: performing rule "TableHasPrimaryKey" on table "User" is summarized in a report entry @@ -7,14 +9,20 @@ public class ReportEntry { private String[] dataToDisplay; private Boolean isSuccess; + private String details; - public ReportEntry(String[] dataToDisplay, Boolean isSuccess) { + public ReportEntry(String[] dataToDisplay, RuleResult result) { this.dataToDisplay = dataToDisplay.clone(); - this.isSuccess = isSuccess; + this.isSuccess = result.isSuccess(); + this.details = result.getDetails(); } public Boolean isSuccess() { - return isSuccess; + return this.isSuccess; + } + + public String getDetails() { + return this.details; } public String[] getDataToDisplay() { diff --git a/src/main/java/com/inovia/magnifier/rule/ForeignKeyName.java b/src/main/java/com/inovia/magnifier/rule/ForeignKeyName.java index a3f0228..82cf71c 100644 --- a/src/main/java/com/inovia/magnifier/rule/ForeignKeyName.java +++ b/src/main/java/com/inovia/magnifier/rule/ForeignKeyName.java @@ -23,23 +23,24 @@ public RuleReport run(Database database) { for(Table t : database.getTables()) { for(ForeignKey fk : t.getForeignKeys()) { - Boolean isSuccess = assertion(fk); + RuleResult result = assertion(fk); String[] dataToDisplay = {t.getSchemaName(), t.getName(), fk.getColumnName(), fk.getForeignSchemaName(), fk.getForeignTableName(), fk.getForeignColumnName()}; - ruleReport.addEntry(new ReportEntry(dataToDisplay, isSuccess)); + ruleReport.addEntry(new ReportEntry(dataToDisplay, result)); } } return ruleReport; } - private Boolean assertion(ForeignKey fk) { - if(fk.getColumnName().equals(fk.getForeignTableName() + "_" + fk.getForeignColumnName())) { - return true; - } else if(fk.getColumnName().endsWith("_" + fk.getForeignTableName() + "_" + fk.getForeignColumnName())) { - return true; + private RuleResult assertion(ForeignKey fk) { + if(fk.getColumnName().equals(fk.getForeignTableName() + "_" + fk.getForeignColumnName()) + || fk.getColumnName().endsWith("_" + fk.getForeignTableName() + "_" + fk.getForeignColumnName())) { + return new RuleResult(true, null); } + + String message = fk.getForeignTableName() + "_" + fk.getForeignColumnName(); - return false; + return new RuleResult(false, message); } public String[] getRuleReportFormat() { diff --git a/src/main/java/com/inovia/magnifier/rule/FunctionHasComment.java b/src/main/java/com/inovia/magnifier/rule/FunctionHasComment.java index 2195677..9793cf9 100644 --- a/src/main/java/com/inovia/magnifier/rule/FunctionHasComment.java +++ b/src/main/java/com/inovia/magnifier/rule/FunctionHasComment.java @@ -24,24 +24,24 @@ public RuleReport run(Database database) { RuleReport ruleReport = new RuleReport(this, SUGGESTION, DEBT); for(Function f : database.getFunctions()) { - Boolean isSuccess = assertion(f, database.getComments()); + RuleResult result = assertion(f, database.getComments()); String[] dataToDisplay = {f.getSchemaName(), f.getName()}; - ruleReport.addEntry(new ReportEntry(dataToDisplay, isSuccess)); + ruleReport.addEntry(new ReportEntry(dataToDisplay, result)); } return ruleReport; } - private Boolean assertion(Function function, List comments) { + private RuleResult assertion(Function function, List comments) { for(Comment c : comments) { if(c.getEntityType().equals(Comment.FUNCTION_TYPE) && c.getSchemaName().equals(function.getSchemaName()) && c.getEntityName().equals(function.getName())) { - return true; + return new RuleResult(true, null); } } - return false; + return new RuleResult(false, null); } public String[] getRuleReportFormat() { diff --git a/src/main/java/com/inovia/magnifier/rule/FunctionParameterName.java b/src/main/java/com/inovia/magnifier/rule/FunctionParameterName.java index 332eb67..675a1ad 100644 --- a/src/main/java/com/inovia/magnifier/rule/FunctionParameterName.java +++ b/src/main/java/com/inovia/magnifier/rule/FunctionParameterName.java @@ -23,19 +23,20 @@ public RuleReport run(Database database) { for(Function f : database.getFunctions()) { for(FunctionParameter p : f.getParameters()) { - Boolean isSuccess = assertion(p); + RuleResult result = assertion(p); String[] dataToDisplay = {f.getSchemaName(), f.getName(), p.getName() == null ? "" : p.getName(), p.getMode()}; - ruleReport.addEntry(new ReportEntry(dataToDisplay, isSuccess)); + ruleReport.addEntry(new ReportEntry(dataToDisplay, result)); } } return ruleReport; } - private Boolean assertion(FunctionParameter p) { - return p.getName() != null - && !p.getName().isEmpty() - && p.getName().endsWith("_" + p.getMode().toLowerCase()); + private RuleResult assertion(FunctionParameter p) { + Boolean isSuccess = p.getName() != null + && !p.getName().isEmpty() + && p.getName().endsWith("_" + p.getMode().toLowerCase()); + return new RuleResult(isSuccess, null); } public String[] getRuleReportFormat() { diff --git a/src/main/java/com/inovia/magnifier/rule/IndexName.java b/src/main/java/com/inovia/magnifier/rule/IndexName.java index e0e7d75..953fbf6 100644 --- a/src/main/java/com/inovia/magnifier/rule/IndexName.java +++ b/src/main/java/com/inovia/magnifier/rule/IndexName.java @@ -21,23 +21,23 @@ public RuleReport run(Database database) { RuleReport ruleReport = new RuleReport(this, SUGGESTION, DEBT); for(Index i : database.getIndexes()) { - Boolean isSuccess = assertion(i); + RuleResult result = assertion(i); String[] dataToDisplay = {i.getSchemaName(), i.getTableName(), i.getName()}; - ruleReport.addEntry(new ReportEntry(dataToDisplay, isSuccess)); + ruleReport.addEntry(new ReportEntry(dataToDisplay, result)); } return ruleReport; } - private Boolean assertion(Index i) { + private RuleResult assertion(Index i) { if(i.getName().endsWith("_idx")) { // Inovia convention - return true; + return new RuleResult(true, ""); } else if(i.getName().endsWith("_pkey") || i.getName().endsWith("_key")) { // Postgres Convention - return true; + return new RuleResult(true, ""); } - return false; + return new RuleResult(false, ""); } public String[] getRuleReportFormat() { diff --git a/src/main/java/com/inovia/magnifier/rule/RuleResult.java b/src/main/java/com/inovia/magnifier/rule/RuleResult.java new file mode 100644 index 0000000..1f6c2f1 --- /dev/null +++ b/src/main/java/com/inovia/magnifier/rule/RuleResult.java @@ -0,0 +1,19 @@ +package com.inovia.magnifier.rule; + +public class RuleResult { + private Boolean isSuccess; + private String details; + + public RuleResult(Boolean isSuccess, String details) { + this.isSuccess = isSuccess; + this.details = details; + } + + public Boolean isSuccess() { + return this.isSuccess; + } + + public String getDetails() { + return this.details; + } +} diff --git a/src/main/java/com/inovia/magnifier/rule/TableHasComment.java b/src/main/java/com/inovia/magnifier/rule/TableHasComment.java index 0bdefb5..3236a05 100644 --- a/src/main/java/com/inovia/magnifier/rule/TableHasComment.java +++ b/src/main/java/com/inovia/magnifier/rule/TableHasComment.java @@ -23,22 +23,22 @@ public RuleReport run(Database database) { RuleReport ruleReport = new RuleReport(this, SUGGESTION, DEBT); for(Table t : database.getTables()) { - Boolean isSuccess = assertion(t, database.getComments()); + RuleResult result = assertion(t, database.getComments()); String[] dataToDisplay = {t.getSchemaName(), t.getName()}; - ruleReport.addEntry(new ReportEntry(dataToDisplay, isSuccess)); + ruleReport.addEntry(new ReportEntry(dataToDisplay, result)); } return ruleReport; } - private Boolean assertion(Table table, List comments) { + private RuleResult assertion(Table table, List comments) { for(Comment c : comments) { if(c.getEntityType().equals("table") && c.getSchemaName().equals(table.getSchemaName()) && c.getEntityName().equals(table.getName())) { - return true; + return new RuleResult(true, null); } } - return false; + return new RuleResult(false, null); } public String[] getRuleReportFormat() { diff --git a/src/main/java/com/inovia/magnifier/rule/TableHasPrimaryKey.java b/src/main/java/com/inovia/magnifier/rule/TableHasPrimaryKey.java index 107381e..1d17201 100644 --- a/src/main/java/com/inovia/magnifier/rule/TableHasPrimaryKey.java +++ b/src/main/java/com/inovia/magnifier/rule/TableHasPrimaryKey.java @@ -20,16 +20,16 @@ public RuleReport run(Database database) { RuleReport ruleReport = new RuleReport(this, SUGGESTION, DEBT); for(Table t : database.getTables()) { - Boolean isSuccess = assertion(t); + RuleResult result = assertion(t); String[] dataToDisplay = {t.getSchemaName(), t.getName()}; - ruleReport.addEntry(new ReportEntry(dataToDisplay, isSuccess)); + ruleReport.addEntry(new ReportEntry(dataToDisplay, result)); } return ruleReport; } - private Boolean assertion(Table table) { - return table.hasPrimaryKey(); + private RuleResult assertion(Table table) { + return new RuleResult(table.hasPrimaryKey(), null); } public String[] getRuleReportFormat() { diff --git a/src/main/java/com/inovia/magnifier/rule/TriggerHasComment.java b/src/main/java/com/inovia/magnifier/rule/TriggerHasComment.java index f3b2dbf..870e58f 100644 --- a/src/main/java/com/inovia/magnifier/rule/TriggerHasComment.java +++ b/src/main/java/com/inovia/magnifier/rule/TriggerHasComment.java @@ -23,22 +23,22 @@ public RuleReport run(Database database) { RuleReport ruleReport = new RuleReport(this, SUGGESTION, DEBT); for(Trigger t : database.getTriggers()) { - Boolean isSuccess = assertion(t, database.getComments()); + RuleResult result = assertion(t, database.getComments()); String[] dataToDisplay = {t.getSchemaName(), t.getName()}; - ruleReport.addEntry(new ReportEntry(dataToDisplay, isSuccess)); + ruleReport.addEntry(new ReportEntry(dataToDisplay, result)); } return ruleReport; } - private Boolean assertion(Trigger trigger, List comments) { + private RuleResult assertion(Trigger trigger, List comments) { for(Comment c : comments) { if(c.getEntityType().equals("trigger") && c.getSchemaName().equals(trigger.getSchemaName()) && c.getEntityName().equals(trigger.getName())) { - return true; + return new RuleResult(true, null); } } - return false; + return new RuleResult(false, null); } public String[] getRuleReportFormat() { diff --git a/src/main/java/com/inovia/magnifier/rule/TriggerName.java b/src/main/java/com/inovia/magnifier/rule/TriggerName.java index 1cc30ab..0a69708 100644 --- a/src/main/java/com/inovia/magnifier/rule/TriggerName.java +++ b/src/main/java/com/inovia/magnifier/rule/TriggerName.java @@ -20,16 +20,18 @@ public RuleReport run(Database database) { RuleReport ruleReport = new RuleReport(this, SUGGESTION, DEBT); for(Trigger t : database.getTriggers()) { - Boolean isSuccess = assertion(t); + RuleResult result = assertion(t); String[] dataToDisplay = {t.getSchemaName(), t.getTableName(), t.getName(), t.getTiming(), t.getAction()}; - ruleReport.addEntry(new ReportEntry(dataToDisplay, isSuccess)); + ruleReport.addEntry(new ReportEntry(dataToDisplay, result)); } return ruleReport; } - private Boolean assertion(Trigger t) { - return t.getName().equalsIgnoreCase("on_" + t.getTiming() + "_" + t.getAction() + "_" + t.getTableName()); + private RuleResult assertion(Trigger t) { + Boolean isSuccess = t.getName().equalsIgnoreCase("on_" + t.getTiming() + "_" + t.getAction() + "_" + t.getTableName()); + + return new RuleResult(isSuccess, null); } public String[] getRuleReportFormat() { diff --git a/src/main/java/com/inovia/magnifier/rule/ViewHasComment.java b/src/main/java/com/inovia/magnifier/rule/ViewHasComment.java index a572f50..e3b9932 100644 --- a/src/main/java/com/inovia/magnifier/rule/ViewHasComment.java +++ b/src/main/java/com/inovia/magnifier/rule/ViewHasComment.java @@ -23,22 +23,22 @@ public RuleReport run(Database database) { RuleReport ruleReport = new RuleReport(this, SUGGESTION, DEBT); for(View v : database.getViews()) { - Boolean isSuccess = assertion(v, database.getComments()); + RuleResult result = assertion(v, database.getComments()); String[] dataToDisplay = {v.getSchemaName(), v.getName()}; - ruleReport.addEntry(new ReportEntry(dataToDisplay, isSuccess)); + ruleReport.addEntry(new ReportEntry(dataToDisplay, result)); } return ruleReport; } - private Boolean assertion(View view, List comments) { + private RuleResult assertion(View view, List comments) { for(Comment c : comments) { if(c.getSchemaName().equals(view.getSchemaName()) && c.getEntityName().equals(view.getName())) { - return true; + return new RuleResult(true, null); } } - return false; + return new RuleResult(false, null); } public String[] getRuleReportFormat() { diff --git a/src/main/java/com/inovia/magnifier/rule/ViewName.java b/src/main/java/com/inovia/magnifier/rule/ViewName.java index bbd56f5..dbf7f86 100644 --- a/src/main/java/com/inovia/magnifier/rule/ViewName.java +++ b/src/main/java/com/inovia/magnifier/rule/ViewName.java @@ -20,20 +20,20 @@ public RuleReport run(Database database) { RuleReport ruleReport = new RuleReport(this, SUGGESTION, DEBT); for(View v : database.getViews()) { - Boolean isSuccess = assertion(v); + RuleResult result = assertion(v); String[] dataToDisplay = {v.getSchemaName(), v.getName()}; - ruleReport.addEntry(new ReportEntry(dataToDisplay, isSuccess)); + ruleReport.addEntry(new ReportEntry(dataToDisplay, result)); } return ruleReport; } - private Boolean assertion(View view) { + private RuleResult assertion(View view) { if(view.getName().endsWith(SUFFIX)) { - return true; + return new RuleResult(true, null); } - return false; + return new RuleResult(false, null); } public String[] getRuleReportFormat() { diff --git a/src/test/java/com/inovia/magnifier/reports/ReportEntryTest.java b/src/test/java/com/inovia/magnifier/reports/ReportEntryTest.java index 523d068..6320b57 100644 --- a/src/test/java/com/inovia/magnifier/reports/ReportEntryTest.java +++ b/src/test/java/com/inovia/magnifier/reports/ReportEntryTest.java @@ -1,5 +1,11 @@ package com.inovia.magnifier.reports; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import com.inovia.magnifier.database.Function; +import com.inovia.magnifier.rule.RuleResult; + import junit.framework.*; public class ReportEntryTest extends TestCase { @@ -12,11 +18,16 @@ public static Test suite() { } public void testConstructorAndGetters() { + final RuleResult mockRuleResult = mock(RuleResult.class); + when(mockRuleResult.isSuccess()).thenReturn(true); + String[] dataToDisplay = {"fake", "oki"}; - ReportEntry goodEntry = new ReportEntry(dataToDisplay, true); + ReportEntry goodEntry = new ReportEntry(dataToDisplay, mockRuleResult); assertTrue(goodEntry.isSuccess()); - ReportEntry badEntry = new ReportEntry(dataToDisplay, false); + when(mockRuleResult.isSuccess()).thenReturn(false); + + ReportEntry badEntry = new ReportEntry(dataToDisplay, mockRuleResult); assertFalse(badEntry.isSuccess()); } } From ae0ae69e50a801a1696815048e7a15c5a14a9aec Mon Sep 17 00:00:00 2001 From: Jonathan Rogues Date: Wed, 21 Jan 2015 15:25:40 -0800 Subject: [PATCH 2/2] [BUG] fixes #40542 @0.25 Allow a rule to have (or not) suggestions --- .../java/com/inovia/magnifier/reports/Report.java | 12 ++++++++++-- .../com/inovia/magnifier/reports/ReportEntry.java | 2 +- .../com/inovia/magnifier/rule/ForeignKeyName.java | 4 +++- .../inovia/magnifier/rule/FunctionHasComment.java | 2 ++ .../inovia/magnifier/rule/FunctionParameterName.java | 2 ++ .../java/com/inovia/magnifier/rule/IndexName.java | 2 ++ src/main/java/com/inovia/magnifier/rule/Rule.java | 1 + .../com/inovia/magnifier/rule/TableHasComment.java | 2 ++ .../inovia/magnifier/rule/TableHasPrimaryKey.java | 2 ++ .../com/inovia/magnifier/rule/TriggerHasComment.java | 2 ++ .../java/com/inovia/magnifier/rule/TriggerName.java | 2 ++ .../com/inovia/magnifier/rule/ViewHasComment.java | 2 ++ .../java/com/inovia/magnifier/rule/ViewName.java | 2 ++ 13 files changed, 33 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/inovia/magnifier/reports/Report.java b/src/main/java/com/inovia/magnifier/reports/Report.java index 661bbd9..795e713 100644 --- a/src/main/java/com/inovia/magnifier/reports/Report.java +++ b/src/main/java/com/inovia/magnifier/reports/Report.java @@ -165,8 +165,11 @@ public int compare(RuleReport r1, RuleReport r2) { for(String column : rr.getColumns()) { html = html + "" + column + ""; } + if(rr.getRule().hasSuggestions()) { + html = html + + " suggestions"; + } html = html - + " suggestions" + " " + " "; @@ -182,8 +185,13 @@ public int compare(RuleReport r1, RuleReport r2) { html = html + "" + data + ""; } + + if(rr.getRule().hasSuggestions()) { + html = html + + " " + (e.getDetails() != null ? e.getDetails() : "") + ""; + } + html = html - + " " + (e.getDetails() != null ? e.getDetails() : "") + "" + ""; } html = html diff --git a/src/main/java/com/inovia/magnifier/reports/ReportEntry.java b/src/main/java/com/inovia/magnifier/reports/ReportEntry.java index 7e872bb..c838b45 100644 --- a/src/main/java/com/inovia/magnifier/reports/ReportEntry.java +++ b/src/main/java/com/inovia/magnifier/reports/ReportEntry.java @@ -20,7 +20,7 @@ public ReportEntry(String[] dataToDisplay, RuleResult result) { public Boolean isSuccess() { return this.isSuccess; } - + public String getDetails() { return this.details; } diff --git a/src/main/java/com/inovia/magnifier/rule/ForeignKeyName.java b/src/main/java/com/inovia/magnifier/rule/ForeignKeyName.java index 82cf71c..afb2358 100644 --- a/src/main/java/com/inovia/magnifier/rule/ForeignKeyName.java +++ b/src/main/java/com/inovia/magnifier/rule/ForeignKeyName.java @@ -18,6 +18,8 @@ public class ForeignKeyName implements Rule { public ForeignKeyName() { } + public Boolean hasSuggestions() { return true; } + public RuleReport run(Database database) { RuleReport ruleReport = new RuleReport(this, SUGGESTION, DEBT); @@ -35,7 +37,7 @@ public RuleReport run(Database database) { private RuleResult assertion(ForeignKey fk) { if(fk.getColumnName().equals(fk.getForeignTableName() + "_" + fk.getForeignColumnName()) || fk.getColumnName().endsWith("_" + fk.getForeignTableName() + "_" + fk.getForeignColumnName())) { - return new RuleResult(true, null); + return new RuleResult(true, ""); } String message = fk.getForeignTableName() + "_" + fk.getForeignColumnName(); diff --git a/src/main/java/com/inovia/magnifier/rule/FunctionHasComment.java b/src/main/java/com/inovia/magnifier/rule/FunctionHasComment.java index 9793cf9..e16d893 100644 --- a/src/main/java/com/inovia/magnifier/rule/FunctionHasComment.java +++ b/src/main/java/com/inovia/magnifier/rule/FunctionHasComment.java @@ -19,6 +19,8 @@ public class FunctionHasComment implements Rule { public static final String[] FORMAT = {"schema", "function"}; public FunctionHasComment() { } + + public Boolean hasSuggestions() { return false; } public RuleReport run(Database database) { RuleReport ruleReport = new RuleReport(this, SUGGESTION, DEBT); diff --git a/src/main/java/com/inovia/magnifier/rule/FunctionParameterName.java b/src/main/java/com/inovia/magnifier/rule/FunctionParameterName.java index 675a1ad..3dac43b 100644 --- a/src/main/java/com/inovia/magnifier/rule/FunctionParameterName.java +++ b/src/main/java/com/inovia/magnifier/rule/FunctionParameterName.java @@ -18,6 +18,8 @@ public class FunctionParameterName implements Rule { public FunctionParameterName() { } + public Boolean hasSuggestions() { return false; } + public RuleReport run(Database database) { RuleReport ruleReport = new RuleReport(this, SUGGESTION, DEBT); diff --git a/src/main/java/com/inovia/magnifier/rule/IndexName.java b/src/main/java/com/inovia/magnifier/rule/IndexName.java index 953fbf6..0a87190 100644 --- a/src/main/java/com/inovia/magnifier/rule/IndexName.java +++ b/src/main/java/com/inovia/magnifier/rule/IndexName.java @@ -17,6 +17,8 @@ public class IndexName implements Rule { public IndexName() { } + public Boolean hasSuggestions() { return false; } + public RuleReport run(Database database) { RuleReport ruleReport = new RuleReport(this, SUGGESTION, DEBT); diff --git a/src/main/java/com/inovia/magnifier/rule/Rule.java b/src/main/java/com/inovia/magnifier/rule/Rule.java index 5bc3176..adb3273 100644 --- a/src/main/java/com/inovia/magnifier/rule/Rule.java +++ b/src/main/java/com/inovia/magnifier/rule/Rule.java @@ -13,6 +13,7 @@ public interface Rule { * @return a report about the execution of the rule on the database */ public RuleReport run(Database database); + public Boolean hasSuggestions(); public String[] getRuleReportFormat(); public String getName(); } diff --git a/src/main/java/com/inovia/magnifier/rule/TableHasComment.java b/src/main/java/com/inovia/magnifier/rule/TableHasComment.java index 3236a05..bc18648 100644 --- a/src/main/java/com/inovia/magnifier/rule/TableHasComment.java +++ b/src/main/java/com/inovia/magnifier/rule/TableHasComment.java @@ -19,6 +19,8 @@ public class TableHasComment implements Rule { public TableHasComment() { } + public Boolean hasSuggestions() { return false; } + public RuleReport run(Database database) { RuleReport ruleReport = new RuleReport(this, SUGGESTION, DEBT); diff --git a/src/main/java/com/inovia/magnifier/rule/TableHasPrimaryKey.java b/src/main/java/com/inovia/magnifier/rule/TableHasPrimaryKey.java index 1d17201..d67a9d9 100644 --- a/src/main/java/com/inovia/magnifier/rule/TableHasPrimaryKey.java +++ b/src/main/java/com/inovia/magnifier/rule/TableHasPrimaryKey.java @@ -16,6 +16,8 @@ public class TableHasPrimaryKey implements Rule { public TableHasPrimaryKey() { } + public Boolean hasSuggestions() { return false; } + public RuleReport run(Database database) { RuleReport ruleReport = new RuleReport(this, SUGGESTION, DEBT); diff --git a/src/main/java/com/inovia/magnifier/rule/TriggerHasComment.java b/src/main/java/com/inovia/magnifier/rule/TriggerHasComment.java index 870e58f..d9e8c46 100644 --- a/src/main/java/com/inovia/magnifier/rule/TriggerHasComment.java +++ b/src/main/java/com/inovia/magnifier/rule/TriggerHasComment.java @@ -19,6 +19,8 @@ public class TriggerHasComment implements Rule { public TriggerHasComment() { } + public Boolean hasSuggestions() { return false; } + public RuleReport run(Database database) { RuleReport ruleReport = new RuleReport(this, SUGGESTION, DEBT); diff --git a/src/main/java/com/inovia/magnifier/rule/TriggerName.java b/src/main/java/com/inovia/magnifier/rule/TriggerName.java index 0a69708..ebbc652 100644 --- a/src/main/java/com/inovia/magnifier/rule/TriggerName.java +++ b/src/main/java/com/inovia/magnifier/rule/TriggerName.java @@ -16,6 +16,8 @@ public class TriggerName implements Rule { public TriggerName() { } + public Boolean hasSuggestions() { return false; } + public RuleReport run(Database database) { RuleReport ruleReport = new RuleReport(this, SUGGESTION, DEBT); diff --git a/src/main/java/com/inovia/magnifier/rule/ViewHasComment.java b/src/main/java/com/inovia/magnifier/rule/ViewHasComment.java index e3b9932..9e96aec 100644 --- a/src/main/java/com/inovia/magnifier/rule/ViewHasComment.java +++ b/src/main/java/com/inovia/magnifier/rule/ViewHasComment.java @@ -19,6 +19,8 @@ public class ViewHasComment implements Rule { public ViewHasComment() { } + public Boolean hasSuggestions() { return false; } + public RuleReport run(Database database) { RuleReport ruleReport = new RuleReport(this, SUGGESTION, DEBT); diff --git a/src/main/java/com/inovia/magnifier/rule/ViewName.java b/src/main/java/com/inovia/magnifier/rule/ViewName.java index dbf7f86..5a23ba6 100644 --- a/src/main/java/com/inovia/magnifier/rule/ViewName.java +++ b/src/main/java/com/inovia/magnifier/rule/ViewName.java @@ -16,6 +16,8 @@ public class ViewName implements Rule { public ViewName() { } + public Boolean hasSuggestions() { return false; } + public RuleReport run(Database database) { RuleReport ruleReport = new RuleReport(this, SUGGESTION, DEBT);