Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1067066

Summary: DRL File wizard doesn't work with a custom Git repository
Product: [Retired] JBoss BRMS Platform 6 Reporter: Ricardo Jun Taniguchi <jtaniguc>
Component: Business CentralAssignee: Roger Martínez <romartin>
Status: CLOSED CURRENTRELEASE QA Contact: Jiri Locker <jlocker>
Severity: high Docs Contact:
Priority: high    
Version: 6.0.0CC: jtaniguc, kverlaen, rrajasek, tschloss
Target Milestone: ER2   
Target Release: 6.0.1   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-08-06 19:59:26 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
A repository backup created
none
project with issues
none
Project with the dependencies added using the JBoss repository
none
Repository created by this output
none
Correct file with the dependencies included and the repositories used none

Description Ricardo Jun Taniguchi 2014-02-19 15:36:58 UTC
Created attachment 865119 [details]
A  repository backup created

Description of problem:

I'm developing contents using the Business Central web application to
create DRL files but an error is preventing me to continue the rule
creation. 

The error raised is:

Unable to complete your request. The following exception occurred:
java.lang.ClassNotFoundException:org.apache.log4j.Priority from [Module
"org.jboss.logging:main" from local module loader @5ff06dc3 (finder:
local module finder @21b64e6a
(roots: /home/student/JB463/opt/jboss-eap-6.1/modules,/home/student/JB463/opt/jboss-eap-6.1/modules/system/layers/brms,/home/student/JB463/opt/jboss-eap-6.1/modules/system/layers/base))].


Version-Release number of selected component (if applicable):

BRMS 6.0.0.GA

How reproducible:


Steps to Reproduce:
1.Start BRMS using the following command:

./standalone.sh -Dorg.uberfire.nio.git.dir=/path/to/directory 

To generate a separate repository.

2. Login to BRMS as admin
3. Create a new repository, a new project and add a new DRL file using the Wizard availaible in the project view.

Actual results:
The following error is raised:

Unable to complete your request. The following exception occurred:
java.lang.ClassNotFoundException:org.apache.log4j.Priority from [Module
"org.jboss.logging:main" from local module loader @5ff06dc3 (finder:
local module finder @21b64e6a
(roots: /home/student/JB463/opt/jboss-eap-6.1/modules,/home/student/JB463/opt/jboss-eap-6.1/modules/system/layers/brms,/home/student/JB463/opt/jboss-eap-6.1/modules/system/layers/base))].

Expected results:
A new DRL file is created and can be edited.

Additional info:

A Git push was done with some classes. Additionally some configuration files were updated (kmodule.xml). If the default repository is used, no error is raised.

Comment 2 Alexandre Porcelli 2014-02-20 19:59:15 UTC
Can you provide the content that you pushed to git repository?

Comment 3 Ricardo Jun Taniguchi 2014-02-20 20:07:17 UTC
Created attachment 865670 [details]
project with issues

Comment 4 Roger Martínez 2014-02-24 20:31:39 UTC
Hi Ricardo,

I have been looking at your jbtravel project definition. It contains two dependencies:


<dependency>
			<groupId>org.hibernate.javax.persistence</groupId>
			<artifactId>hibernate-jpa-2.0-api</artifactId>
			<scope>provided</scope>
			<version>1.0.1.Final</version>
		</dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-validator</artifactId>
			<scope>provided</scope>
			<version>4.3.1.Final</version>
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-api</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

Then, if you take a look at the pom.xml file for "hibernate-validator" artifact, it contains these dependencies:

<dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jboss.logging</groupId>
            <artifactId>jboss-logging</artifactId>
        </dependency>

So you should add these dependencies in your project too.

Think that we don't know beforehand which dependencies will use each deployed project... so we can't add all the dependencies in the module definition. Each project must specify each dependency that it requires.. :)

I hope this solution will solve the problem!

Thanks in advance!
Best regards,

Roger

(In reply to Ricardo Jun Taniguchi from comment #3)
> Created attachment 865670 [details]
> project with issues

Comment 5 Ricardo Jun Taniguchi 2014-02-24 21:27:39 UTC
Created attachment 867147 [details]
Project with the dependencies added using the JBoss repository

Comment 6 Ricardo Jun Taniguchi 2014-02-24 21:41:03 UTC
Created attachment 867150 [details]
Repository created  by this output

Comment 7 Ricardo Jun Taniguchi 2014-02-24 21:43:32 UTC
Created attachment 867151 [details]
Correct file with the dependencies included and the repositories used

Comment 8 Ricardo Jun Taniguchi 2014-02-24 22:03:32 UTC
I've created the same project running in two different conditions:

1-) standalone.sh script only (without parameters).
2-) standalone.sh -Dorg.uberfire.nio.git.dir=/path/to/directory 

In both conditions, using the dependencies mapped suggested, the same error from the original thread (ClassNotFoundException)is presented whenever a DRL file is created. 

Additionally, clicking the build & deploy button in Business Central, the following errors raises.

An error was found during external classes check. The external class org.jboss.logging.Log4jLogger did not pass the verification. Please check the external .jar files configured as dependencies for this project. The low level error is: : org/apache/log4j/Priority

An error was found during external classes check. The external class org.jboss.logging.Slf4jLogger did not pass the verification. Please check the external .jar files configured as dependencies for this project. The low level error is: : org/slf4j/Logger

An error was found during external classes check. The external class org.jboss.logging.Slf4jLocationAwareLogger did not pass the verification. Please check the external .jar files configured as dependencies for this project. The low level error is: : org/slf4j/spi/LocationAwareLogger

An error was found during external classes check. The external class org.hibernate.validator.internal.constraintvalidators.SafeHtmlValidator did not pass the verification. Please check the external .jar files configured as dependencies for this project. The low level error is: : Lorg/jsoup/safety/Whitelist;

BUT:

Running mvn clean install in the attached project from the command line, no error is raised.

Does Business Central reuses a set of libraries that the command line doesn't use? Is the maven build run by Business Central different from the project?

Comment 9 Ricardo Jun Taniguchi 2014-02-24 22:06:56 UTC
Not sure if there are differences, but I'm working with the download available here:
https://access.redhat.com/jbossnetwork/restricted/softwareDetail.html?softwareId=27863&product=brms&version=&downloadType=distributions

with JBoss EAP 6.1.1 installer version.

https://access.redhat.com/jbossnetwork/restricted/softwareDownload.html?softwareId=24183

Comment 10 Tomas Schlosser 2014-03-24 15:39:50 UTC
Verified as working in BRMS 6.0.1.CR1