Re: Checkstyle Custom rule fails to instantiate

Lars Ködderitzsch <[email protected]> Mon, 30 Jan 2012 20:03:39 +0100
Newsgroups gmane.comp.java.audit.checkstyle.user
Message-ID <[email protected]>
Have you tried packaging your package.xml within your extension jar as 
described here:
http://checkstyle.sourceforge.net/config.html#Packages
?

HTH, Lars


Am 29.01.2012 17:42, schrieb tymieniecki:
> package softquatrachecks;
>
> import com.puppycrawl.tools.checkstyle.api.Check;
> import com.puppycrawl.tools.checkstyle.api.DetailAST;
> import com.puppycrawl.tools.checkstyle.api.FullIdent;
> import com.puppycrawl.tools.checkstyle.api.TokenTypes;
> import com.puppycrawl.tools.checkstyle.checks.CheckUtils;
>
> /**
>   *
>   *
>   * This package provides the custom checks that were required outside
>   * of the standard checks provided
>   *
>   */
> public class LoggerAttrCheck extends Check
> {
> 	 /**
>       *
>       * Indicator 7: Logging Mechanisms
>       *
>       * The Logger must be declared as a static final class attribute
>       *
>       */
>      @Override
>      public int[] getDefaultTokens()
>      {
>          return new int[] {
>              TokenTypes.VARIABLE_DEF
>          };
>      }
>
>      @Override
>      public void visitToken(DetailAST aAST)
>      {
> 		
>      	if(aAST.getType()==TokenTypes.VARIABLE_DEF)
>      	     visitVariableDef(aAST);
>
>      }
>      /**
>       * Checks type of given variable.
>       * @param aAST variable to check.
>       */
>      private void visitVariableDef(DetailAST aAST)
>      {
>          checkVariableDefn(aAST);
>      }
>
>      /**
>       *
>       * Checks variable to see if its a Logger and static final
>       *      * @param aAST node to check.
>       */
>      private void checkVariableDefn(DetailAST aAST)
>      {
>          final DetailAST type = aAST.findFirstToken(TokenTypes.TYPE);
>          final FullIdent ident = CheckUtils.createFullType(type);
>          if ((ident.getText().equals("Logger"))) {
>
> if((!aAST.branchContains(TokenTypes.FINAL))||(!aAST.branchContains(TokenTypes.LITERAL_STATIC)))
> 			{
>     			 log(type.getLineNo(), type.getColumnNo(),
>       		        "Logger not defined as static final class attribute",
> type.getText());
> 			}
>          }
>      }
>
> }
> When the rule is processed I get the message:
> "Unable to create Checker: cannot initialize module TreeWalker - Unable to
> instantiate LoggerAttr"
>
> Now my checkstyle_packages.xml file in che checkstyle-5.5 folder is  :
> <?xml version="1.0" encoding="UTF-8"?>
>
>      <!DOCTYPE checkstyle-packages PUBLIC
>      &quot;-//Puppy Crawl//DTD Package Names 1.0//EN&quot;
>      &quot;http://www.puppycrawl.com/dtds/packages_1_0.dtd&quot;>
>
> <checkstyle-packages>
>    <package name="softquatrachecks"/>
> </checkstyle-packages>
>
> Any Ideas folks
>
>
> --
> View this message in context: http://checkstyle.2069334.n4.nabble.com/Checkstyle-Custom-rule-fails-to-instantiate-tp4338632p4338632.html
> Sent from the CheckStyle - User mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> Try before you buy = See our experts in action!
> The most comprehensive online learning library for Microsoft developers
> is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
> Metro Style Apps, more. Free future releases when you subscribe now!
> http://p.sf.net/sfu/learndevnow-dev2
> _______________________________________________
> Checkstyle-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/checkstyle-user
>


------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2