Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DROOLS-7608] fix KieProject lookup on classpath for EAP 7.4.15 VFS #26

Closed
wants to merge 1 commit into from

Conversation

mariofusco
Copy link
Member

@tkobayas This is only a rewritten and cleaned up version of the solution that you found here.

I dug into VFS sources a lot and couldn't find any better solution. I understand that using reflection is not ideal, but in the end we were already doing so, even if just because we didn't want a direct dependency on VFS. Now it's true that this is a bit worse than before because we're also accessing package private methods (that are probably subject to change in future), but other than asking the Jboss team to make those methods public, thus avoiding to use setAccessible(true), I don't see any possible improvement.


Class vfsClass = null;
Method vfsGetChildMethod = null;
boolean useTccl = false;
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tkobayas this is the only relevant difference with your solution: we need to know from which classloader we loaded the VFS classes and always use the same consistently. I believe this is necessary for OSGi.

@gmunozfe
Copy link
Member

Failures in the PR pipeline (drools-retediagram):

[2024-02-15T18:00:25.164Z]    [report] Classes in bundle 'drools-retediagram' do no match with execution data. For report generation the same class files must be used as at runtime.
[2024-02-15T18:00:25.164Z]    [report] Execution data for class org/drools/ecj/EclipseCompilationProblem does not match.
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.6.0.1398:sonar (default) on project drools-retediagram: 
Could not find the pullrequest with key '26': 
Error 404 on https://sonarcloud.io/api/alm_integration/show_pullrequest?project=org.drools%3Adrools&pullrequestKey=26 : 
{"errors":[{"msg":"The pullrequest could not be found"}]} -> [Help 1]

jenkins tests this

@gmunozfe
Copy link
Member

@mariofusco base is not updated, you have to rebase with 7.x

@gmunozfe
Copy link
Member

jenkins do cdb

@tkobayas
Copy link

Filed a PR with the rebased one: #27

You can close this PR.

Copy link

@tkobayas tkobayas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @mariofusco , LGTM. Approved, but it's better to move to #27 for local test convenience.

@mariofusco
Copy link
Member Author

Replaced by #27

@mariofusco mariofusco closed this Feb 16, 2024
rgdoliveira pushed a commit that referenced this pull request Oct 25, 2024
apache#5682)

* add antlr4 based drl parser

* bump to drools 8.16.0.Beta

* improve node position discovery

* first c3 integration

* Module reorganization (#2)

* WIP

* Ignore directories

* Add debug. Minor modifications

* WIP

* Fix tests - add comments

* manage null ast nodes and fix failing test

* improve drl parser

* Fix basic completion (#4)

* Add Java grammar, fix DRL grammar, simplify token index calculation, remove template code

* Add ignored tokens to completion

Co-authored-by: livio <[email protected]>

* add constraints parsing

* - Added DRLParserWrapper to store errors using DRLErrorListener (#5)

- Added MiscDRLParserTest which is being ported from RuleParserTest to enhance coverage.

* Enhance test/grammar coverage. function import, global, exists, not (#6)

* Enhance test/grammar coverage. and, or, listExpression (#7)

* Enhance test/grammar coverage. matches, single quoted string, escape (#9)

- Introduced drlExpression, drlPrimary, drlLiteral, DRL_STRING_LITERAL

* Enhance test/grammar coverage. dialect, invalid lhs (#10)

* Enhance test/grammar coverage. keyword collision (#11)

- Add "DRL_" prefix for DRL keywords for clarification

* Enhance test/grammar coverage. function, attributes, consequence (#12)

* Enhance test/grammar coverage. function, attributes, consequence
- better getText preserving whitespaces
- resolving WARNs because of overlapping keywords

* - No need to declare duplicate keywords

* Enhance test/grammar coverage. OR, inline map (#13)

* OpenRewrite applied for junit5 and assertj (#14)

* Enhance test/grammar coverage. label, consequenceLocation, test refac… (#15)

* Enhance test/grammar coverage. label, consequenceLocation, test refactoring, assertj best practice

* - better test method names

* [DROOLS-7253] Review and improve drools-lsp parser Visitor design (#16)

* [DROOLS-7253] Review and improve drools-lsp parser Visitor design
- Remove currentConstructStack. Utilize return object instead.

* - Remove instance fields. Utilize return objects instead.

* [DROOLS-7270] Enhance test/grammar coverage : andRestriction, orRestriction (#4)

- Removed some unused cast

* [DROOLS-7271] Fully port RuleParserTest as MiscDRLParserTest with @disabled and priority comment (#10)

* [DROOLS-7285] Failed to parse and/or with parentheses in LHS (#15)

* [DROOLS-7286] Failed to parse binding with || (#21)

* [DROOLS-7287] Failed to parse comments in RHS (#23)

* [DROOLS-7287] Failed to parse comments in RHS

* - add rhs string check

* [DROOLS-7515] Parser : Accept plain text in RHS (#26)

* [DROOLS-7515] Parser : Accept plain text in RHS

* - Handle keyword token in RHS

* - Removed sysout

* - Revert statementKeywords. Instead, define DRL_END with newline or EOF

* - fix method name

* [DROOLS-7288] Failed to parse complex parentheses (#27)

* [DROOLS-7288] Failed to parse complex parentheses
- bump to 8.43.0.Final

* additional tests

* [DROOLS-7289] Implement accumulate (#28)

* [DROOLS-7296] Implement from entry-point (#30)

* [DROOLS-7297] Implement import accumulate (#29)

* [DROOLS-7290] Implement BigInteger literal, BigDecimal literal (#31)

* [DROOLS-7292] Implement eval (#32)

* [DROOLS-7293] Implement extends (#33)

* [DROOLS-7294] Implement forall (#34)

* [DROOLS-7298] Implement memberOf (#35)

* [DROOLS-7300] Implement positional constraint (#36)

* [DROOLS-7304] Implement temporal operators (#38)

- Also covers [DROOLS-7303] Implement sliding window

* [DROOLS-7301] Implement query (#37)

- Also partially fixes [DROOLS-7302] Implement semicolon delimiter

* [DROOLS-7295] Implement from collect (#39)

* [DROOLS-7305] Implement type declaration (#40)

- also covers [DROOLS-7291] Implement entry-point declaration
- also covers window declaration

* [DROOLS-7306] Implement unification (#41)

* [DROOLS-7306] Implement unification
- Also [DROOLS-7307] Parse attribute agenda-group

* [DROOLS-7308] Parse attribute without value
- Also [DROOLS-7309] Parse attribute with parentheses

* [DROOLS-7310] parse nested parentheses (#42)

* [DROOLS-7310] parse nested parentheses

* - Adding code commentes and explanations
- Adding more nested level tests

* [DROOLS-7577] drools-lsp : Add comments and explanations for drools-p… (#43)

* [DROOLS-7577] drools-lsp : Add comments and explanations for drools-parser

* removed syntax examples

* [DROOLS-7591] Experiment branch : migrate a new drools-lsp parser into drools (#44)

- Add some methods to call from drools code base

* Move necessary files without any additional modifications

* Update DRL6Expressions.g4 to ANTLR 4 (#47)

* Add DescrDumperTest and fix the expression parser grammar (#48)

* Add DescrDumperTest

* Fix it

* [DROOLS-7591] Experiment branch : migrate a new drools-lsp parser into drools
- New parser is migrated in drools-drl/drools-drl-parser with org.drools.drl10.parser package
- To enable the new parser, run `mvn test -PDRL10`
- At the moment, we get lots of test failures especially in drools-model/drools-model-codegen and drools-test-coverage/test-compiler-integration

* - License header
- Revert an inappropriate test edit
- Removed unnecessary profile
- Clarify unsupported methods
- Removed unnecessary bom dependency

---------

Co-authored-by: mariofusco <[email protected]>
Co-authored-by: Gabriele Cardosi <[email protected]>
Co-authored-by: Livio Benčik <[email protected]>
Co-authored-by: livio <[email protected]>
Co-authored-by: Jiří Locker <[email protected]>
rgdoliveira pushed a commit that referenced this pull request Oct 25, 2024
* [DROOLS-7515] Parser : Accept plain text in RHS

* - Handle keyword token in RHS

* - Removed sysout

* - Revert statementKeywords. Instead, define DRL_END with newline or EOF

* - fix method name
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants