PDA

View Full Version : Custom Rule issue



Commander_Groo
10-23-2013, 01:39 PM
Hello,

I have written a custom rule that checks that a database connection credentials are valid. I'm finding that when I add my custom rule to an action and use the ! operator in the rule expressions (i.e ! ECR678 )then I get a NoClassDefinition found error when you tried to evaluate the rule, but if I don't use the ! operator and have my expression ECR678 then everything works as expected.

Why would changing the rule expression to ! cause my class to not be found?

gshamrao
10-30-2013, 02:08 AM
Hi,


Please provide the stack trace and exact project configuration.

Thanks,
Gururaj shamrao

Commander_Groo
10-30-2013, 09:49 AM
This is what I get in my error log when I use ! ECR678 instead of ECR678 for the Rule Expression, Why would the rule expression change whether the class can be found or not. I'm not sure what info you want from my project configuration.

null:
com.p2es.checkSqlplusConnection was unable to be loaded: java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection
null
java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection class com.p2es.checkSqlplusConnection unavailable.
null:
com.p2es.checkSqlplusConnection was unable to be loaded: java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection
null
java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection class com.p2es.checkSqlplusConnection unavailable.
null:
com.p2es.checkSqlplusConnection was unable to be loaded: java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection
null
java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection class com.p2es.checkSqlplusConnection unavailable.
null:
com.p2es.checkSqlplusConnection was unable to be loaded: java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection
null
java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection class com.p2es.checkSqlplusConnection unavailable.
null:
com.p2es.checkSqlplusConnection was unable to be loaded: java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection
null
java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection class com.p2es.checkSqlplusConnection unavailable.
null:
com.p2es.checkSqlplusConnection was unable to be loaded: java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection
null
java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection class com.p2es.checkSqlplusConnection unavailable.
null:
com.p2es.checkSqlplusConnection was unable to be loaded: java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection
null
java.lang.ClassNotFoundException: com.p2es.checkSqlplusConnection class com.p2es.checkSqlplusConnection unavailable.

Commander_Groo
10-31-2013, 11:57 AM
Talking with Flexera support it seems that this may be a bug in Installanywhere 2013, if the not operator is used ! then the class isn't loaded into the installer when it is built

Commander_Groo
11-25-2013, 11:29 AM
The workaournd is to use the rule at the begining of the sequence with out the not operator and an impossible condtion like 1 = 0 so that the custom rule class will get included int he project. Then you can use the custome rule class later in the project witht he not operator without issue