Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.50 KB | None | 0 0
  1.     private void initRuleUnitClassName() {
  2.         String ruleUnitClassName = rule.getRuleUnitClassName();
  3.         boolean nameInferredFromResource = false;
  4.  
  5.         if ( ruleUnitClassName == null && rule.getResource() != null && rule.getResource().getSourcePath() != null ) {
  6.             String drlPath = rule.getResource().getSourcePath();
  7.             int lastSep = drlPath.lastIndexOf( '/' );
  8.             if (lastSep >= 0) {
  9.                 drlPath = drlPath.substring( lastSep+1 );
  10.             }
  11.             ruleUnitClassName = rule.getPackage() + "." + drlPath.substring( 0, drlPath.lastIndexOf( '.' ) ).replace( '/', '.' );
  12.             nameInferredFromResource = true;
  13.         }
  14.  
  15.         if (ruleUnitClassName != null) {
  16.             TypeResolver typeResolver = getPkg().getTypeResolver();
  17.             boolean unitFound = false;
  18.             Class<?> ruleUnitClass = ClassUtils.safeLoadClass(typeResolver.getClassLoader(), ruleUnitClassName);
  19.             if (ruleUnitClass != null) {
  20.                 unitFound = RuleUnit.class.isAssignableFrom( ruleUnitClass );
  21.                 if ( unitFound && nameInferredFromResource ) {
  22.                     rule.setRuleUnitClassName( ruleUnitClassName );
  23.                 }
  24.             }
  25.  
  26.             if (!unitFound && !nameInferredFromResource) {
  27.                 addError( new RuleBuildError( rule, getParentDescr(), null,
  28.                                               ruleUnitClassName + " is not a valid RuleUnit class name" ) );
  29.             }
  30.         }
  31.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement