[jboss-jira] [JBoss JIRA] (DROOLS-5434) Incorrect warning about file declaring wrong package

Magnus Larsson (Jira) issues at jboss.org
Tue Jun 16 03:21:00 EDT 2020


     [ https://issues.redhat.com/browse/DROOLS-5434?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Magnus Larsson updated DROOLS-5434:
-----------------------------------
    Description: 
I am running Drools in a Spring-Boot jar and get the following warning statement _File 'BOOT-INF/classes/com/example/test/TEST.drl' is in folder 'BOOT-INF/classes/com/example/test' but declares package 'com.example.test'. It is advised to have a correspondance between package and folder names_. The package name in the drl file is correct, the problem is just that _BOOT-INF.classes._ isn't considered when evaluating if printing the warning or not.

I have tracked it down to *KieBuilderImpl.java*, method *isFileInKieBase*. The last 2 lines in that method calls:
{code:java}
// Does not care about SUPPORTED_RESOURCES_ROOTS, thus prints the warning
String pkgNameForFile = packageNameForFile( fileName, folderNameForFile, !useFolders, file );

// Does care about SUPPORTED_RESOURCES_ROOTS, so the drl file is loaded
return isPackageInKieBase( kieBase, pkgNameForFile );
{code}
As it is implemented right now, the warning might either be a false-positive (and still get loaded), or the package is wrong (and the file is not loaded).

Voting to include the SUPPORTED_RESOURCES_ROOTS as valid prefixes when checking if the warning should be printed.

  was:
I am running Drools in a Spring-Boot jar and get the following warning statement _File 'BOOT-INF/classes/com/example/test/TEST.drl' is in folder 'BOOT-INF/classes/com/example/test' but declares package 'com.example.test'. It is advised to have a correspondance between package and folder names_. The package name in the drl file is correct, the problem is just that _BOOT-INF.classes._ isn't considered when evaluating if printing the warning or not.

I have tracked it down to KieBuilderImpl.java, method isFileInKieBase. The last 2 lines in that method calls:
{code:java}
// Does not care about SUPPORTED_RESOURCES_ROOTS, thus prints the warning
String pkgNameForFile = packageNameForFile( fileName, folderNameForFile, !useFolders, file );

// Does care about SUPPORTED_RESOURCES_ROOTS, so the drl file is loaded
return isPackageInKieBase( kieBase, pkgNameForFile );
{code}
As it is implemented right now, the warning might either be a false-positive (and still get loaded), or the package is wrong (and the file is not loaded).

Voting to include the SUPPORTED_RESOURCES_ROOTS as valid prefixes when checking if the warning should be printed.



> Incorrect warning about file declaring wrong package
> ----------------------------------------------------
>
>                 Key: DROOLS-5434
>                 URL: https://issues.redhat.com/browse/DROOLS-5434
>             Project: Drools
>          Issue Type: Bug
>          Components: core engine
>            Reporter: Magnus Larsson
>            Assignee: Mario Fusco
>            Priority: Major
>
> I am running Drools in a Spring-Boot jar and get the following warning statement _File 'BOOT-INF/classes/com/example/test/TEST.drl' is in folder 'BOOT-INF/classes/com/example/test' but declares package 'com.example.test'. It is advised to have a correspondance between package and folder names_. The package name in the drl file is correct, the problem is just that _BOOT-INF.classes._ isn't considered when evaluating if printing the warning or not.
> I have tracked it down to *KieBuilderImpl.java*, method *isFileInKieBase*. The last 2 lines in that method calls:
> {code:java}
> // Does not care about SUPPORTED_RESOURCES_ROOTS, thus prints the warning
> String pkgNameForFile = packageNameForFile( fileName, folderNameForFile, !useFolders, file );
> // Does care about SUPPORTED_RESOURCES_ROOTS, so the drl file is loaded
> return isPackageInKieBase( kieBase, pkgNameForFile );
> {code}
> As it is implemented right now, the warning might either be a false-positive (and still get loaded), or the package is wrong (and the file is not loaded).
> Voting to include the SUPPORTED_RESOURCES_ROOTS as valid prefixes when checking if the warning should be printed.



--
This message was sent by Atlassian Jira
(v7.13.8#713008)


More information about the jboss-jira mailing list