Skip to content

Commit

Permalink
[8.40.x] [incubator-kie-issues#814] Fix NPE on BaseKnowledgeBuilderRe…
Browse files Browse the repository at this point in the history
…sultImpl.hashCode() (#5668)

* [incubator-kie-issues#814] Fix NPE on BaseKnowledgeBuilderResultImpl.hashCode() (#5647)

(cherry picked from commit 2ef59d1)

* [incubator-kie-issues#814] Fix NPE on BaseKnowledgeBuilderResultImpl.hashCode() (#5647)

(cherry picked from commit 2ef59d1)

* Manual casting fixed

* Manual casting fixed

* Manual casting fixed

* Manual casting fixed

---------

Co-authored-by: Gabriele Cardosi <gabriele.cardosi@gmail.com>
  • Loading branch information
yesamer and gitgabrio committed Jan 31, 2024
1 parent 7531f8c commit c6e0c9d
Show file tree
Hide file tree
Showing 46 changed files with 163 additions and 326 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,18 +19,11 @@
import org.kie.api.io.Resource;

public class BayesNetworkAssemblerError extends DroolsError {
private String message;


public BayesNetworkAssemblerError(Resource resource,
final String message) {
super( resource );
this.message = message;
}


@Override
public String getMessage() {
return message;
super( resource, message );
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,12 @@
public class SrcError extends DroolsError {

private Object object;
private String message;
private int[] errorLines = new int[0];

public SrcError(Object object,
String message) {
super(null);
super(null, message);
this.object = object;
this.message = message;
}

public Object getObject() {
Expand All @@ -39,13 +37,10 @@ public int[] getLines() {
return this.errorLines;
}

public String getMessage() {
return this.message;
}

public String toString() {
final StringBuilder buf = new StringBuilder();
buf.append(this.message);
buf.append(getMessage());
buf.append(" : ");
buf.append("\n");
if (this.object instanceof CompilationProblem[]) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,17 @@
public class ActionError extends DroolsError {
private BaseDescr descr;
private Object object;
private String message;
private int[] errorLines = new int[0];

private String originalMessage;

public ActionError(final BaseDescr descr,
final Object object,
final String message) {
super(BuilderResultUtils.getProblemMessage( object, message, "\n" ));
this.descr = descr;
this.object = object;
this.message = message;
this.originalMessage = message;
}

@Override
Expand Down Expand Up @@ -58,13 +60,9 @@ public int getLine() {
return this.descr != null ? this.descr.getLine() : -1;
}

public String getMessage() {
return BuilderResultUtils.getProblemMessage( this.object, this.message, "\n" );
}

public String toString() {
final StringBuilder builder = new StringBuilder()
.append( this.message )
.append( originalMessage )
.append( " : " )
.append( "\n" );
return BuilderResultUtils.appendProblems( this.object, builder ).toString();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,11 @@

public class AnnotationDeclarationError extends DroolsError {

private String errorMessage;
private int[] line;
private String namespace;

public AnnotationDeclarationError(AnnotationDescr annotationDescr, String errorMessage) {
super(annotationDescr.getResource());
this.errorMessage = errorMessage;
super(annotationDescr.getResource(), errorMessage);
this.line = new int[0];
this.namespace = annotationDescr.getNamespace();
}
Expand All @@ -41,14 +39,9 @@ public int[] getLines() {
return this.line;
}

@Override
public String getMessage() {
return this.errorMessage;
}

@Override
public String toString() {
return this.getMessage();
return getMessage();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
*/
public abstract class ConfigurableSeverityResult extends BaseKnowledgeBuilderResultImpl {

public ConfigurableSeverityResult(Resource resource, KnowledgeBuilderConfiguration config) {
super(resource);
public ConfigurableSeverityResult(Resource resource, KnowledgeBuilderConfiguration config, String message) {
super(resource, message);
severity = config.getOption(KBuilderSeverityOption.KEY, getOptionKey()).getSeverity();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,10 @@ public DeprecatedResourceTypeWarning(Resource resource) {
}

public DeprecatedResourceTypeWarning(Resource resource, String deprecatedFormat) {
super(resource);
super(resource, deprecatedFormat + " format usage detected. This format is deprecated and will be removed in future");
this.deprecatedFormat = deprecatedFormat;
}

@Override
public String getMessage() {
return deprecatedFormat + " format usage detected. This format is deprecated and will be removed in future";
}

@Override
public int[] getLines() {
return new int[0];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,20 @@ public class DescrBuildError extends DroolsError {
private BaseDescr parentDescr;
private BaseDescr descr;
private Object object;
private String message;
private int[] errorLines = new int[1];

private String originalMessage;

public DescrBuildError(final BaseDescr parentDescr,
final BaseDescr descr,
final Object object,
final String message) {
super( descr.getResource() != null ? descr.getResource() : ( parentDescr != null ? parentDescr.getResource() : null ) );
super( descr.getResource() != null ? descr.getResource() : ( parentDescr != null ? parentDescr.getResource() : null ), BuilderResultUtils.getProblemMessage( object, message, "\n" ) );
this.parentDescr = parentDescr;
this.descr = descr;
this.object = object;
this.message = message;
this.errorLines[0] = getLine();
this.originalMessage = message;
}

@Override
Expand Down Expand Up @@ -71,13 +72,10 @@ public int getColumn() {
return this.descr != null ? this.descr.getColumn() : -1;
}

public String getMessage() {
return BuilderResultUtils.getProblemMessage( this.object, this.message, "\n" );
}

public String toString() {
final StringBuilder builder = new StringBuilder()
.append( this.message )
.append( this.originalMessage )
.append( " : " )
.append( this.parentDescr )
.append( "\n" );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,19 @@ public class DescrBuildWarning extends DroolsWarning {
private BaseDescr parentDescr;
private BaseDescr descr;
private Object object;
private String message;
private String originalMessage;
private int[] errorLines = new int[1];

public DescrBuildWarning( final BaseDescr parentDescr,
final BaseDescr descr,
final Object object,
final String message ) {
super( descr.getResource() != null ? descr.getResource() : ( parentDescr != null ? parentDescr.getResource() : null ) );
super( descr.getResource() != null ? descr.getResource() : ( parentDescr != null ? parentDescr.getResource() : null ),
BuilderResultUtils.getProblemMessage( object, message, "\n" ));
this.parentDescr = parentDescr;
this.descr = descr;
this.object = object;
this.message = message;
this.originalMessage = message;
this.errorLines[0] = getLine();
}

Expand Down Expand Up @@ -65,13 +66,9 @@ public int getColumn() {
return this.descr != null ? this.descr.getColumn() : -1;
}

public String getMessage() {
return BuilderResultUtils.getProblemMessage( this.object, this.message, "\n" );
}

public String toString() {
final StringBuilder builder = new StringBuilder()
.append( this.message )
.append( this.originalMessage )
.append( " : " )
.append( this.parentDescr )
.append( "\n" );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,17 +28,12 @@ public class DroolsErrorWrapper extends DroolsError {
private String namespace = "";

public DroolsErrorWrapper (KnowledgeBuilderResult problem) {
super(problem.getResource());
super(problem.getResource(), problem.getMessage());
this.backingProblem = problem;
if (problem instanceof DroolsError) {
namespace = ((DroolsError)problem).getNamespace();
}
}

@Override
public String getMessage() {
return backingProblem.getMessage();
}

@Override
public int[] getLines() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@

public abstract class DroolsWarning extends BaseKnowledgeBuilderResultImpl {

public DroolsWarning(Resource resource) {
super(resource);
public DroolsWarning(Resource resource, String message) {
super(resource, message);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,10 @@ public class DroolsWarningWrapper extends DroolsWarning {
KnowledgeBuilderResult backingProblem;

public DroolsWarningWrapper (KnowledgeBuilderResult problem) {
super(problem.getResource());
super(problem.getResource(), problem.getMessage());
this.backingProblem = problem;
}

@Override
public String getMessage() {
return backingProblem.getMessage();
}

@Override
public int[] getLines() {
return backingProblem.getLines();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,31 +20,16 @@
import org.kie.internal.builder.KnowledgeBuilderConfiguration;




public class DuplicateFunction extends ConfigurableSeverityResult {
public static final String KEY = "duplicateFunction";

private String functionName;
private String functionNamespace;


public DuplicateFunction(FunctionDescr func, KnowledgeBuilderConfiguration config) {
super(func.getResource(), config);
functionName = func.getName();
functionNamespace = func.getNamespace();
super(func.getResource(), config, getSpecificMessage(func));
}

public DuplicateFunction(Function func, KnowledgeBuilderConfiguration config) {
super(func.getResource(), config);
functionName = func.getName();
functionName = func.getNamespace();
}

@Override
public String getMessage() {
return functionName
+ " in namespace " + functionNamespace
+ " is about to be redefined";
super(func.getResource(), config, getSpecificMessage(func));
}

@Override
Expand All @@ -57,4 +42,15 @@ protected String getOptionKey() {
return KEY;
}

private static String getSpecificMessage(FunctionDescr func) {
return func.getName()
+ " in namespace " + func.getNamespace()
+ " is about to be redefined";
}

private static String getSpecificMessage(Function func) {
return func.getName()
+ " in namespace " + func.getNamespace()
+ " is about to be redefined";
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,27 +31,25 @@ public class DuplicateRule extends ConfigurableSeverityResult {
private int[] line;

public DuplicateRule(RuleDescr ruleDescr, PackageDescr pkg, KnowledgeBuilderConfiguration config) {
super(ruleDescr.getResource(), config);
super(ruleDescr.getResource(), config, getSpecificMessage(ruleDescr, pkg));
rule = ruleDescr.getName();
pkgDescr = pkg;
line = new int[1];
line[0] = ruleDescr.getLine();
}

@Override
public String getMessage() {
return "Rule name " + rule
+ " already exists in package " + pkgDescr.getName();
}

@Override
public int[] getLines() {
return line;
}
@Override
public int[] getLines() {
return line;
}

@Override
protected String getOptionKey() {
return KEY;
}
private static String getSpecificMessage(RuleDescr ruleDescr, PackageDescr pkg) {
return "Rule name " + ruleDescr.getName()
+ " already exists in package " + pkg.getName();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -23,20 +23,18 @@ public class FactTemplateError extends DroolsError {
private Package pkg;
private BaseDescr descr;
private Object object;
private String message;
private int[] line;
private String namespace;

public FactTemplateError(final Package pkg,
final BaseDescr descr,
final Object object,
final String message) {
super(descr.getResource());
super(descr.getResource(), BuilderResultUtils.getProblemMessage( object, message ));
this.namespace = pkg.getName();
this.pkg = pkg;
this.descr = descr;
this.object = object;
this.message = message;
this.line = new int[] {this.descr.getLine()};
}

Expand Down Expand Up @@ -69,8 +67,5 @@ public int getLine() {
return this.line[0];
}

public String getMessage() {
return BuilderResultUtils.getProblemMessage( this.object, this.message );
}

}
Loading

0 comments on commit c6e0c9d

Please sign in to comment.