dev@jsftemplating.java.net

Re: annotation NPE

From: Ken Paulsen <Ken.Paulsen_at_Sun.COM>
Date: Wed, 02 Aug 2006 14:57:23 -0700

Hi Anissa,

Thanks for pointing this out... I checked in a fix that checks for cases
where there is no JavaDoc for the handler. I wasn't dealing with this
case before. :-[

Ken

Anissa Lam wrote:
> [java] [exec] compile:
> [java] [exec] [echo] JSFTEMP = lib/jsftemplating-dt.jar
> [java] [exec] [apt] Compiling 6 source files to
> /Users/anilam/as90/glassfish/admin-gui/admin-jsf/build/WEB-INF/classes
> [java] [exec] [apt] Problem encountered during
> annotation processing;
> [java] [exec] [apt] see stacktrace below for more
> information.
> [java] [exec] [apt] java.lang.NullPointerException
> [java] [exec] [apt] at
> com.sun.jsftemplating.annotation.HandlerAP.formatComment(HandlerAP.java:205)
> [java] [exec] [apt] at
> com.sun.jsftemplating.annotation.HandlerAP.process(HandlerAP.java:126)
> [java] [exec] [apt] at
> com.sun.mirror.apt.AnnotationProcessors$CompositeAnnotationProcessor.process(AnnotationProcessors.java:60)
> [java] [exec] [apt] at
> com.sun.tools.apt.comp.Apt.main(Apt.java:450)
> [java] [exec] [apt] at
> com.sun.tools.apt.main.JavaCompiler.compile(JavaCompiler.java:458)
> [java] [exec] [apt] at
> com.sun.tools.apt.main.Main.compile(Main.java:1075)
> [java] [exec] [apt] at
> com.sun.tools.apt.main.Main.compile(Main.java:938)
> [java] [exec] [apt] at
> com.sun.tools.apt.Main.processing(Main.java:95)
> [java] [exec] [apt] at
> com.sun.tools.apt.Main.process(Main.java:43)
> [java] [exec] [apt] at
> com.sun.tools.apt.Main.main(Main.java:34)
> [java] [exec] [apt] Note:
> /Users/anilam/as90/glassfish/admin-gui/admin-jsf/src/java/com/sun/enterprise/tools/admingui/tree/MBeanTreeAdaptor.java
> uses unchecked or unsafe operations.
> [java] [exec] [apt] Note: Recompile with
> -Xlint:unchecked for details.
> [java]
>
> ------------------------------------------------------------------------
>
> /*
> * CommonTreeHandler.java
> *
> * Created on February 3, 2006, 4:06 PM
> *
> * To change this template, choose Tools | Options and locate the template under
> * the Source Creation and Management node. Right-click the template and choose
> * Open. You can then make changes to the template in the Source Editor.
> */
>
> package com.sun.enterprise.tools.admingui.handlers;
>
> import com.sun.jsftemplating.annotation.Handler;
> import com.sun.jsftemplating.annotation.HandlerInput;
> import com.sun.jsftemplating.annotation.HandlerOutput;
> import com.sun.jsftemplating.layout.descriptors.handler.HandlerContext;
>
> import com.sun.enterprise.tools.admingui.util.JMXUtil;
> import com.sun.enterprise.tools.admingui.tree.FilterTreeEvent;
>
> import javax.management.ObjectName;
> /**
> *
> * @author anilam
> */
> public class CommonTreeHandlers {
>
> /**
> * <p> Default Constructor.</p>
> */
> public CommonTreeHandlers() {
> }
>
>
> /*
> * filters out system apps
> */
> @Handler( id="filterSystemApps")
> public static Object filterSystemApps(HandlerContext context) {
> FilterTreeEvent event = (FilterTreeEvent) context.getEventObject();
> Object[] obj = event.getChildObjects();
>
> if(obj != null && obj.length > 0){
> for (int i=0; i<obj.length; i++){
> ObjectName objName = (ObjectName)obj[i];
> String objectType = (String)JMXUtil.getAttribute(objName, "object-type");
> if( objectType != null && !objectType.equalsIgnoreCase("user")) {
> continue;
> }
> }
> }
> if (obj[0]!= null){
> Object[] obj2 = new Object[]{obj[0]};
> return obj2;
> }
> return obj;
> }
> }
>