Any idea why this script causes exceptions?
string[] lastCommentDetails = getLastComment(key); if(!isNull(lastCommentDetails)){ if(userHasAccessToComment(currentUser(), lastCommentDetails["id"])){ return userFullName(lastCommentDetails["author"]) + ": " + lastCommentDetails["text"]; } } return "";
2017-05-09 10:35:16,596 http-nio-8080-exec-20 ERROR magdalena.kwater 635x85267x2 j8x0q8 192.168.8.16 /secure/AjaxIssueAction.jspa [c.k.j.p.keplercf.silscriptcf.SilScriptCFType] Exception occurred while executing SIL Script for custom field Default Configuration for Last Comment on issue LOG-361 com.keplerrominfo.sil.lang.SILException: Exception while executing SIL program >>SIL Script CF-11201<<: [SIL Error on line: 4, column: 8] Null comment >>NaN<< at com.keplerrominfo.refapp.sil.impl.AbstractSimpleLanguageService.interpret(AbstractSimpleLanguageService.java:178) at sun.reflect.GeneratedMethodAccessor807.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) . . Caused by: com.keplerrominfo.sil.lang.SILException: Null comment >>NaN<< at com.keplerrominfo.jira.commons.ivm.routines.perms.UserHasAccessToCommentRoutine.executeRoutine(UserHasAccessToCommentRoutine.java:62)
It would appear that this line of code is being assigned a null value:
string[] lastCommentDetails = getLastComment(key);
Then, as you try to access data from the lastCommentDetails variable (which is null), a null pointer exception is being thrown:
if(userHasAccessToComment(currentUser(), lastCommentDetails["id"]))
Is it possible that the key you pass into the function isn't assosiated with any last comment? In other words, is there a last comment with that given key?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
For anyone who run into the same pitfall:
string[] lastCommentDetails = getLastComment(key);
if(!isNull(lastCommentDetails) && size(lastCommentDetails)>0 && lastCommentDetails["id"]!=""){
if(userHasAccessToComment(currentUser(), lastCommentDetails["id"]) && !isNull(lastCommentDetails["author"])){
return userFullName(lastCommentDetails["author"]) + ": " + lastCommentDetails["text"];
}
}
return "";
worked for me.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.