sorry,
new error: (on line 171?)

at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769) at 
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698) at 
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
 at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
 at java.lang.Thread.run(Thread.java:662) Caused by: 
org.xwiki.velocity.XWikiVelocityException: Failed to evaluate content with id 
[xwiki:CdlsatdPrivate.DjennaKoekkoek3_doc101] at 
org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:205)
 at 
org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:161)
 at 
org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:118)
 ... 87 more Caused by: 
org.apache.velocity.exception.MethodInvocationException: Invocation of method 
'get' in class java.util.Collections$EmptyList threw exception 
java.lang.IndexOutOfBoundsException: Index: 0 at 
xwiki:CdlsatdPrivate.DjennaKoekkoek3_doc101[line 171, column 32] at 
org.apache.velocity.runtime.parser.node.ASTMethod.handleInvocationException(ASTMethod.java:337)
 at 
org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:284) 
at 
org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:252)
 at 
org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:493)
 at 
org.apache.velocity.runtime.parser.node.ASTMathNode.value(ASTMathNode.java:84) 
at 
org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.java:71)
 at 
org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.java:71)
 at 
org.apache.velocity.runtime.parser.node.ASTSetDirective.render(ASTSetDirective.java:142)
 at 
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336) 
at 
org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:196)
 ... 89 more Caused by: java.lang.IndexOutOfBoundsException: Index: 0 at 
java.util.Collections$EmptyList.get(Collections.java:2970) at 
sun.reflect.GeneratedMethodAccessor11070.invoke(Unknown Source) at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597) at 
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389)
 at 
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378)
 at 
org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270) 
... 97 more

complete code;
{{include document="CdlsatdCode.DisplayRestrictions"/}}
{{velocity filter="none"}}
{{html clean="false" wiki="true"}}
## This sheet will display and edit a Private Question
## 
## The privat question is a object of class 
CdlsatdCode.CdLS_ATD_UserQuestionsClass
#set($class = 
$doc.getObject("CdlsatdCode.CdLS_ATD_UserQuestionsClass").xWikiClass)
#set($userQuestionObj = 
$doc.getObject("CdlsatdCode.CdLS_ATD_UserQuestionsClass"))
##
## Test if we are in this form based on request params
## We expect request in the following types
## ===================================================
## Create new privat question of user in group (users)
## params:
##   -name = Valid username, without XWiki.
##   -status = Valid from list codes, new question expect 'opt_un_answered'
##   -generalize = Valid from class defenition (Yes|No), new question expect 
'No', means the question can contain privacy sensitive data
##   -cdls = Computed document name, should not exist already, we expect 
[username]_doc[sequenceForUser]
## ====================================================
## Create new Global queury document (meaning it will be distributed to all 
moderators for help on this question) (Language must be english)
## params: 
##
##
#if($request)
    We have request <br/>
        #if($request.language)
                #set($lang=$request.language)
        #else
                #set($lang=$context.language)
        #end
        ## Parameters for request to create privat question for user...
        #if($request.getParameter('name'))
                We have parameters as expected
                #set($nameAuthor = $request.getParameter('name'))
                ## Check for valid author against database
                $userQuestionObj.set('name',$nameAuthor)
                ## $doc.set('name',$nameAuthor)
                #if($request.getParameter('status'))
                        #set($statusQuestion = $request.getParameter('status'))
                        $userQuestionObj.set('status',$statusQuestion)
                        ##$doc.set('status',$statusQuestion)
                #end
                #if($request.getParameter('generalize'))
                        #set($indicationGeneralize = 
$request.getParameter('generalize'))
                        
$userQuestionObj.set('(generalize',$indicationGeneralize)
                        ##$doc.set('status',$statusQuestion)
                #end
                #if($request.getParameter('cdls'))
                        ## Why do we need this param, its already the document 
title?
                        ##set($questionDocumentName = 
$request.getParameter('cdls'))
                #end
        #end
        ## Parameters of other requests
#end
## Build a list of possible status the question can have to populate dropdown
## dependant on the language it will take the list from CdlsatdCode.Translations
## the key values of list should, off course, not be translated
## 
dd_status_question_v1=opt_un_answered,opt_answered,opt_in_progress,opt_more_info_required
##
## First get the translated meanings
#set($engList = $msg.get('dd_status_user_questions_en'))
#set($engStatusList=[])
#foreach( $op in $engList.split("[|,]"))
   #set($temp2 = $engStatusList.add($op))                    
#end
## $engStatusList  {{html}}<br/>{{/html}}
## Second get the list codes
#set($questionStatusComma = $msg.get('dd_status_question_v1'))
#set($statusList=[])
#foreach($keyStatusTxt in $questionStatusComma.split("[|,]"))
  #set($temp3 = $statusList.add($keyStatusTxt))
#end
## $statusList {{html}}<br/>{{/html}}
##
## Get the status of the question, maybe this should only be done if document 
is NOT NEW (in case of UPDATE DOC)
#set($userQnStatus = $userQuestionObj.getProperty('status').getValue())
##
## Evaluate the creation of a new question (or a modification)
#if($request.getParameter('success') == 'true')
  ## We have a slightly disturbing Rights implementation
  ## User is a client
  ## If you are not in User you are considered a Moderator (or question support 
person)
  ## But also these people should be allowed to post questions, currently they 
are not!
  ## better implementation would be; All approped people should be in User, 
some have extra rights like Moderator or Global moderator
  #if($xwiki.getUser().isUserInGroup("XWiki.User"))
          {{info}}$msg.get('msg_success_question_posted'){{/info}}
  #else
     {{info}}$msg.get('msg_success'){{/info}}
  #end    
#end
##
## Setting of Error, Warning, Hint messages used by the 
(% id="mandatory" style="display:none;" %)(((
        {{error}}$msg.get('msg_err_mandatory'){{/error}}
)))
##
## When a PRIVAT question is created the name of the page should be unique
## All this code is not required when doc is created from request params
#set($public = '_FAQ')
#set($xWikiStr = "XWiki.")
#set($newObjStr = $context.user)
#set($username = $newObjStr.substring($xWikiStr.length(), $newObjStr.length()))
#set($ctxtUsr = '')
#if($doc.isNew())
   #set($ctxtUsr = $context.user)
#else
   #set($ctxtUsr = $doc.creator)
#end
$ctxtUsr {{html}}<br/>{{/html}}
#set($hql1=
        "select doc.fullName 
           from XWikiDocument doc
              , BaseObject obj
              , StringProperty prop 
          where doc.fullName=obj.name 
            and obj.className='CdlsatdCode.CdLS_ATD_UserProfileClass' 
            and prop.id=obj.id 
            and prop.name='contextUsr' 
            and prop.value='$ctxtUsr'")
#set($users=$xwiki.search($hql1))
$users {{html}}<br/>{{/html}}
#set($usrName = "")
#set($usrMail = "")
#set($reqParamAuthor="")
#if($request.getParameter('author'))
        #set($reqParamAuthor=$request.getParameter('author'))
#else
        #if($doc.isNew())
                #set($reqParamAuthor=$context.user)
        #else
                #set($reqParamAuthor=$doc.creator)
        #end
#end
$reqParamAuthor {{html}}<br/>{{/html}}
##
#if($doc.isNew())
        <input type="hidden" name="author" id="author" value="$reqParamAuthor"/>
        #set($userObj = $xwiki.XWikiUsers)
        #set($usrName = $userObj.getProperty('first_name').getValue())
        #set($lastName = $userObj.getProperty('last_name'))
        #set($usrCntry = $userObj.getProperty('country'))
        #set($usrMail = $userObj.getProperty('email').getValue())
#else
        #set($hqlForXWikiUsers = 
                " , BaseObject obj 
                where doc.fullName=obj.name 
                  and doc.fullName='$reqParamAuthor' 
                  and obj.className='XWiki.XWikiUsers' 
                  and obj.name<>'XWiki.XWikiUserTemplate'
                ")
        ## $hqlForXWikiUsers <br/>
        #set($resultForUsers = $xwiki.searchDocuments($hqlForXWikiUsers))
        #foreach($objDoc in $resultForUsers) 
                #set($docUser = $xwiki.getDocument($objDoc))
                #set ($userObj = $docUser.getObject("XWiki.XWikiUsers"))
                #set($usrName = $userObj.getProperty('first_name').getValue())
                #set($usrMail = $userObj.getProperty('email').getValue())
        #end
#end

#if($request.getParameter('global'))
 $doc.set('subject',$request.getParameter('subject'))
 $doc.set('topics',$request.getParameter('topics'))
 $doc.set('question',$request.getParameter('question'))
 $doc.set('status',$request.getParameter('status')) 
#end
#set($countQuery =
        "select count(doc) 
           from XWikiDocument as doc 
          where doc.creator='$context.user'
        ")
#set($resultCount = $xwiki.search($countQuery))
#set($docCount = ($resultCount.get(0) +1))
#set($part1 = $username)
#set($part2 = "_doc")
#set($part3 = $docCount)
#set($newDocName= $part1+$part2+$part3)
## Change class name to your class name 
#if(!$doc.isNew() && $xwiki.getUser().isUserInGroup("XWiki.User") && 
$context.user != $doc.creator)
 * $msg.get('msg_permission_denied')
#else
        <input type="hidden" name="success" id="success" value=""/>
        ## Manic changes starts
        #if(!$doc.isNew())
                #set($newCreatorObjStr = $doc.creator)
                #set($creatorName = 
$newCreatorObjStr.substring($xWikiStr.length(), $newCreatorObjStr.length()))
                #set($profilee = "_profile")
                #set($creatorDocNameNew = $creatorName+$profilee)
                #set($creatorCountQuery =
                        "select doc 
                           from XWikiDocument as doc 
                          where doc.name='$creatorDocNameNew'
                        ")
                #set($resultCreatorCount = $xwiki.search($creatorCountQuery ))
                #if(!($xwiki.getUser().isUserInGroup("XWiki.User")) && 
!($doc.getValue('status') == 'opt_global_query_un_answered' || 
$doc.getValue('status') == 'opt_global_query_answered'))
                        #set($spaceName = "CdlsatdPrivate.")
                        #set($docFullName = $spaceName+$creatorDocNameNew)
                        <div id="docNotExistId" align="center" 
style="display:none;"> 
                                #set($msgNoeExist = "User profile not available 
for the user $creatorName.")
                                <span>{{error}}$msgNoeExist{{/error}}</span>
                        </div>
                        <div align="right"> 
                                <a  
onClick="openUserProfile($xwiki.exists($docFullName));" href="*">
                                        $msg.get('lbl_lnk_view_profile')
                                </a>
                        </div>
                #end
        #end
        #if($context.action == 'inline')
                $msg.get('lbl_lnk_post_qn')
        #else
                $msg.get('lbl_head_view_qn') 
        #end
        ##
        ##
        <ul class="altRowForm">
                #set($hasProps = false)
                #set($mandatoryClassVar="")
                #if($context.action=="inline")
                        #set($mandatoryClassVar="<span 
class='redMandatory'>*</span>")
                #end
                #set($counter=0)
                #foreach($prop in $class.properties)
                        #set($oddOrEven=$counter%2)
                        #set($noBackgroundClass="")
                        #if($oddOrEven==1)
                                #set($noBackgroundClass="noBackground")
                        #end
                        #if($velocityCount == 1)
                                #set($hasProps = true)
                        #end
                        #if(${prop.prettyName} == 'Answer') 
                                
#if($xwiki.getUser().isUserInGroup("XWiki.User"))
                                        #if(!($doc.getValue('status') == 
'opt_un_answered'))
                                                <li class="$noBackgroundClass">
                                                        
<label>$msg.get(${prop.prettyName})</label>
                                                        <span 
class="labelValue">$doc.display($prop.getName(),'view')</span>
                                                </li>
                                        #end
                                #else
                                        <li class="$noBackgroundClass">
                                                
<label>$msg.get(${prop.prettyName})</label>
                                                <span 
class="labelValue">$doc.display($prop.getName())</span>
                                        </li>
                                #end
                        #elseif(${prop.prettyName} == 'Status')
                                
#if($xwiki.getUser().isUserInGroup("XWiki.User"))
                                        #if($doc.isNew())
                                                
#set($minusOne=$xwiki.parseInt("-1"))
                                                
#set($counter=$counter+$minusOne)
                                                
$doc.display($prop.getName(),'hidden')
                                        #else 
                                                <li class="$noBackgroundClass">
                                                        
<label>$msg.get(${prop.prettyName})</label>
                                                        <span 
class="labelValue">$msg.get($doc.display($prop.getName(),'view'))</span>
                                                </li>
                                        #end
                                #else
                                        <li class="$noBackgroundClass">
                                                
<label>$msg.get(${prop.prettyName})</label>
                                                <span class="labelValue">
                                                        #if($context.action == 
'inline')
                                                                <select 
name="CdlsatdCode.CdLS_ATD_UserQuestionsClass_0_status">
                                                                        
#if($request.getParameter('global'))
                                                                                
<option value="opt_global_query_un_answered" 
selected="true">$msg.get('opt_global_query_un_answered')</option>
                                                                        
#elseif($userQnStatus.contains('global'))
                                                                                
<option value="opt_global_query_un_answered" #if($userQnStatus == 
'opt_global_query_un_answered') selected="true" #end 
>$msg.get('opt_global_query_un_answered')</option>
                                                                                
<option value="opt_global_query_answered" #if($userQnStatus == 
'opt_global_query_answered') selected="true" #end  
>$msg.get('opt_global_query_answered')</option>
                                                                        #else
                                                                                
#foreach($statusListStr in $statusList)
                                                                                
        <option value="$statusListStr" #if($userQnStatus==$statusListStr) 
selected="true" #end>$msg.get($statusListStr)</option>                          
                            
                                                                                
#end
                                                                        #end  
                                                                </select>
                                                        #else
                                                                
$msg.get($doc.get('status'))
                                                        #end
                                </span>
                                        </li>
                                #end
                        #elseif(${prop.prettyName} == 'Published to Public')
                                #if($doc.isNew())
                                        $doc.display($prop.getName(),'hidden')
                                #else
                                        
#if($xwiki.getUser().isUserInGroup("XWiki.User"))            
                                                
$doc.display($prop.getName(),'hidden')
                                        #else
                                                <li class="$noBackgroundClass">
                                                        
<label>$msg.get(${prop.prettyName})</label>
                                                        <span 
class="labelValue">$doc.display($prop.getName())</span>
                                                </li>           
                                        #end
                                #end
                        #elseif(${prop.prettyName} == 'Name')
                                $doc.set($prop.getName(),$usrName)
                                <input type="hidden" 
name="CdlsatdCode.CdLS_ATD_UserQuestionsClass_0_name" value="$usrName"/>
                                <li class="$noBackgroundClass">
                                        
<label>$msg.get(${prop.prettyName})</label>
                                        <span 
class="labelValue">$doc.display($prop.getName(),'view')</span>
                                </li>
                        #elseif(${prop.prettyName} == 'E-mail')
                                $doc.set($prop.getName(),$usrMail)
                                <input type="hidden" 
name="CdlsatdCode.CdLS_ATD_UserQuestionsClass_0_email" value="$usrMail"/>
                                <li class="$noBackgroundClass">
                                        
<label>$msg.get(${prop.prettyName})</label>
                                        <span 
class="labelValue">$doc.display($prop.getName(), 'view')</span><
                                /li>
                        #elseif(${prop.prettyName} == 'Subject')
                                #if($request.getParameter('global'))
                                        <li class="$noBackgroundClass">
                                                <label>$msg.get('Original 
Subject')</label>
                                                <span 
class="labelValue">$doc.display($prop.getName(), 'view')</span>
                                        </li>
                                #end
                                <li class="$noBackgroundClass">
                                        <label>$msg.get(${prop.prettyName}) 
$mandatoryClassVar</label>
                                        
#if($xwiki.getUser().isUserInGroup("XWiki.User"))
                                                <span 
class="labelValue">$doc.display($prop.getName())</span>
                                        #elseif($request.getParameter('global'))
                                                <span class="labelValue"><input 
id="CdlsatdCode.CdLS_ATD_UserQuestionsClass_0_subject" 
name="CdlsatdCode.CdLS_ATD_UserQuestionsClass_0_subject" value=""/></span>
                                        #else
                                                <span 
class="labelValue">$doc.display($prop.getName(),'view')</span>
                                        #end
                                </li>    
                        #elseif(${prop.prettyName} == 'Question')  
                                #if($request.getParameter('global'))
                                        <li class="$noBackgroundClass">
                                                <label>$msg.get('Original 
Question')</label>
                                                <span 
class="labelValue">$doc.display($prop.getName(), 'view')</span>
                                        </li>
                                #end
                                <li class="$noBackgroundClass">
                                        <label>$msg.get(${prop.prettyName}) 
$mandatoryClassVar</label>
                                        
#if($xwiki.getUser().isUserInGroup("XWiki.User"))                   
                                                <span 
class="labelValue">$doc.display($prop.getName())</span>
                                        #elseif($request.getParameter('global'))
                                                <span class="labelValue">
                                                        <textarea 
id="CdlsatdCode.CdLS_ATD_UserQuestionsClass_0_question" 
name="CdlsatdCode.CdLS_ATD_UserQuestionsClass_0_question" rows="5" 
cols="40"></textarea>
                                                </span>
                                        #else
                                                <span 
class="labelValue">$doc.display($prop.getName(),'view')</span>
                                        #end
                                </li>
                        #end
                        #set($counter=$counter+1)
                #end
        </ul>
#end
#if($context.action=="inline")
* $msg.get('cnt_mandatoy_msg')          
#end
#if($request.getParameter('global'))
* Note:Please translate subject and question to English before posting the 
global query
<p/>
#end
#if($hasProps)
#end
##
## Publish the Personal Question to Public
#if(($doc.get('generalize') == 'No') && (($doc.getValue('status') == 
'opt_answered') || ($doc.getValue('status') == 'opt_global_query_answered')))
  #if(!$xwiki.getUser().isUserInGroup("XWiki.User"))    
<a href="*"  onclick='javascript:postPublic(document.postPublicForm);' 
class="roundCornerLink"><span>$msg.get('lbl_btn_publich_public')</span></a>
<form name="postPublicForm" action="" method="post" id="postPublicForm">
  <input type="hidden" name="parent" value="CdlsatdPublic.WebHome" />
  <input type="hidden" name="template" 
value="CdlsatdCode.CdLS_ATD_PublicFAQClassTemplate" />
  <input type="hidden" name="gen" value="yes"/>
  <input type="hidden" name="docname" value="$doc.fullName"/>
  <input type="hidden" name="question" value="$doc.get('question')"/>
  <input type="hidden" name="subject" value="$doc.get('subject')"/>
  #set($docAnsVal=$doc.get('answer'))
  #set($docAnsVal=$xwiki.getXMLEncoded($docAnsVal))
  <input type="hidden" name="answer" id="answer" value="$docAnsVal"/>
  <input type="hidden" name="language" value="en"/>
  <input type="hidden" name="lang" value="en"/>
  <input type="hidden" name="cdls1" value="$doc.name$public" size="50"/>
  <input type="hidden" name="author" value="$reqParamAuthor"/>
</form>
<script>
function postPublic(form) {
          form.action="../../inline/CdlsatdPublic/" + form.cdls1.value; 
              form.submit();                    
         }      
 </script>
 #end
#end
## Post a Global Query
#if((!$xwiki.getUser().isUserInGroup("XWiki.User")) && 
(!($request.getParameter('global'))) && !($doc.getValue('status') == 
'opt_answered' || $doc.getValue('status') == 'opt_global_query_answered' || 
$doc.getValue('status') == 'opt_global_query_un_answered'))
  
  <form id="postGlobalForm" name="postGlobalForm" action="" method="get">
  <input type="hidden" name="parent" value="CdlsatdPrivate.WebHome" />
  <input type="hidden" name="template" 
value="CdlsatdCode.CdLS_ATD_UserQuestionsClassTemplate" />
  <input type="hidden" name="name" value=""/>
  <input type="hidden" name="question" value="$doc.get('question')"/>
  <input type="hidden" name="subject" value="$doc.get('subject')"/>
  <input type="hidden" name="global" value="yes"/>
  <input type="hidden" name="status" value="opt_global_query_un_answered"/>
  <input type="hidden" name="generalize" value="No"/>
  <input type="hidden" name="language" value="en"/>
  ###set($reqParamAuthor = $context.user)
  <input type="hidden" name="author" value="$context.user"/>
  <input type="hidden" name="cdls" value="$newDocName"/>
</form>
#if($context.action == "view")
<a href="*"  class="roundCornerLink" 
onclick='javascript:postGlobal();'><span>$msg.get('lbl_btn_post_global')</span></a>
#end
<script type="text/javascript">
         function postGlobal() {
                     
document.getElementById("postGlobalForm").action="../../inline/CdlsatdPrivate/" 
+ document.getElementById("postGlobalForm").cdls.value; 
                     document.getElementById("postGlobalForm").submit();        
     
         }             
</script>
#end
## Public Version
#if(!$xwiki.getUser().isUserInGroup("XWiki.User"))
   #if($doc.get('generalize') == 'Yes')
         #set($newDocName=$doc.name+""+$public)
     #set ($faqquery = ", BaseObject as obj,StringProperty as prop where 
obj.name=doc.fullName and doc.name='$newDocName' and 
obj.className='CdlsatdCode.CdLS_ATD_PublicFAQClass' and 
obj.name<>'CdlsatdCode.CdLS_ATD_PublicFAQClassTemplate' and prop.id=obj.id and 
prop.name='language' and prop.value='$lang' order by doc.date desc")
     #set($countList = $xwiki.searchDocuments($faqquery))
     #if($countList.size()>0)
             <a href="../../view/CdlsatdPublic/$doc.name$public" 
class="roundCornerLink"><span>$msg.get('lbl_lnk_public_version')</span></a>
         #end
   #end
#end
## Edit Link for the personal Question
#if(($context.action != "inline") && !$doc.isNew())
 #if(!$xwiki.getUser().isUserInGroup("XWiki.User") || ($doc.creator == 
$context.user))
   <a href ="$doc.getURL("inline","edit=yes&author=$reqParamAuthor")"  
class="roundCornerLink"><span>$msg.get('lbl_btn_edit')</span></a>
 #end
#end
<script>
        function openUserProfile(isDocExist) {
                if(isDocExist) {
                        window.open 
("../../view/CdlsatdPrivate/$creatorDocNameNew?mode=view&popup=true", 
"childFlagWindow","location=0,status=0,scrollbars=1,width=750,height=900,resizable=0");
 
                } else {
                        
document.getElementById("docNotExistId").style.display='block';
                }
        }
</script>
{{/html}}
{{/velocity}}
Op 12 okt. 2011, om 11:05 heeft Sergiu Dumitriu het volgende geschreven:

> On 10/11/2011 05:15 AM, Gerritjan Koekkoek wrote:
>> Hi
>> 
>> We have a script developped in XWiki which does not function anymore?
>> Probably due to migration or rights...
>> 
>> My problem is that the script is developed by a IT partner 3 years ago, in 
>> XWiki 1.6
>> 
>> THere is a button in a screen showing a overview of pages with a button to 
>> create a new page.
>> This button has the following link;
>> http://www.cdlsworld.org/xwiki/bin/inline/CdlsatdPrivate/DjennaKoekkoek3_doc105
>> ?Parent=CdlsatdPrivate.WebHome
>> &template=CdlsatdCode.CdLS_ATD_UserQuestionsClassTemplate
>> &name=Djenna
>> &status=opt_un_answered
>> &generalize=No
>> &cdls=DjennaKoekkoek3_doc105
>> 
>> The errorcode is not helping me much...
>> Caused by: org.xwiki.velocity.XWikiVelocityException: Failed to evaluate 
>> content with id [xwiki:CdlsatdPrivate.DjennaKoekkoek3_doc105]
>>      at 
>> org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:205)
>>      at 
>> org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:161)
>>      at 
>> org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:118)
>>      ... 87 more
>> Caused by: org.apache.velocity.exception.MethodInvocationException: 
>> Invocation of method 'get' in  class java.util.Collections$EmptyList threw 
>> exception java.lang.IndexOutOfBoundsException: Index: 0 at 
>> xwiki:CdlsatdPrivate.DjennaKoekkoek3_doc105[line 124, column 32]
>>      at 
>> org.apache.velocity.runtime.parser.node.ASTMethod.handleInvocationException(ASTMethod.java:337)
>>      at 
>> org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:284)
>>      at 
>> org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:252)
>>      at 
>> org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:493)
>>      at 
>> org.apache.velocity.runtime.parser.node.ASTMathNode.value(ASTMathNode.java:84)
>>      at 
>> org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.java:71)
>>      at 
>> org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.java:71)
>>      at 
>> org.apache.velocity.runtime.parser.node.ASTSetDirective.render(ASTSetDirective.java:142)
>>      at 
>> org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
>>      at 
>> org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:196)
>>      ... 89 more
>> Caused by: java.lang.IndexOutOfBoundsException: Index: 0
>>      at java.util.Collections$EmptyList.get(Collections.java:2970)
>>      at sun.reflect.GeneratedMethodAccessor11070.invoke(Unknown Source)
>>      at 
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>      at java.lang.reflect.Method.invoke(Method.java:597)
>> The code around Line 12 (How should I find the linenumber; should I include 
>> with counting the comments lines or only the lines with code?)
>> 
>> ## This sheet will display and edit a Private Question
>> ##
>> ## Test the language to display the information
>> #if($request.language)
>>   #set($lang=$request.language)
>> #else
>>   #set($lang=$context.language)
>> #end
>> $lang  {{html}}<br/>{{/html}}
>> ## Build a list of possible status the question can have to populate dropdown
>> ## dependant on the language it will take the list from 
>> CdlsatdCode.Translations
>> ## the key values of list should, off course, not be translated
>> ## 
>> dd_status_question_v1=opt_un_answered,opt_answered,opt_in_progress,opt_more_info_required
>> ##
>> ## First get the translated meanings
>> #set($engList = $msg.get('dd_status_user_questions_en'))
>> #set($engStatusList=[])
>> #foreach( $op in $engList.split("[|,]"))
>>    #set($temp2 = $engStatusList.add($op))    
>> #end
>> $engStatusList {{html}}<br/>{{/html}}
>> ## Second get the list codes
>> #set($questionStatusComma = $msg.get('dd_status_question_v1'))
>> #set($statusList=[])
>> #foreach($keyStatusTxt in $questionStatusComma.split("[|,]"))
>>   #set($temp3 = $statusList.add($keyStatusTxt))
>> #end
>> $statusList {{html}}<br/>{{/html}}
>> ##
>> ## The privat question is a object of class 
>> CdlsatdCode.CdLS_ATD_UserQuestionsClass
>> #set($userQuestionObj = 
>> $doc.getObject("CdlsatdCode.CdLS_ATD_UserQuestionsClass"))
>> ## Get the staus of the question
>> #set($userQnStatus = $userQuestionObj.getProperty('status').getValue())
>> ##
>> ## Evaluate the creation of a new question (or a modification)
>> #if($request.getParameter('success') == 'true')
>>   ## We have a slightly disturbing Rights implementation
>>   ## User is a client
>>   ## If you are not in User you are considered a Moderator (or question 
>> support person)
>>   ## But also these people should be allowed to post questions, currently 
>> they are not!
>>   ## better implementation would be; All approped people should be in User, 
>> some have extra rights like Moderator or Global moderator
>>   #if($xwiki.getUser().isUserInGroup("XWiki.User"))
>>        {{info}}{{html 
>> clean="false"}}$msg.get('msg_success_question_posted'){{/html}}{{/info}}
>>   #else
>>      {{info}}{{html clean="false"}}$msg.get('msg_success'){{/html}}{{/info}}
>>   #end       
>> #end
> 
> The error says line 124, but there are only 48 lines of code here. So, 
> the error is not here (and neither did I see a line that could trigger 
> that error).
> 
>> It looks like it find an empty object...
>> 
>> This is exactly what I find, it looks like the code is creating a page with 
>> a empty object,
>> but it fails to set values in the object, and after that I understand the 
>> error,
>> 
>> What I do not inderstand where the code is that would set the values in the 
>> object, I would expect it in the Template?
>> But maybe it is hidden in the code on the page where the button is in the 
>> Form-area
>> 
>> So maybe I should ask the question how I would do this in the new XWiki 2.7 
>> (which we are running) If I should start all new
>> I would like to create a page with an object of which a few attributes are 
>> hidden from the user (containing some ID and status information)
>> After the click the user should experience that he is on the newly created 
>> page and filling in the remaining attributes of the object (a Question and 
>> Answer)
>> 
>> Second, since the intention of the page/object is to start a workflow; 1) 
>> Create a Question by a user (this step) ->  2) Accepting the Question by a 
>> moderator by status change->  4) Moderator answering the question by typing 
>> a answer->  User accepting the answer and closing the case by changing the 
>> status
>> What is the best practise to put the code for each step in the workflow? At 
>> this moment all the code is in the templatesheet of the page, making it 
>> difficult to maintain and look for the code
>> Would you advise to put the code in the template or put code in velocity 
>> macro's and have buttons in the sheet
>> 
>> Help would be very much appreciated, both on finding the cause of the error 
>> and on advise what is the best practise to do such USE-Case
> 
> 
> -- 
> Sergiu Dumitriu
> http://purl.org/net/sergiu/
> _______________________________________________
> users mailing list
> users@xwiki.org
> http://lists.xwiki.org/mailman/listinfo/users

_______________________________________________
users mailing list
users@xwiki.org
http://lists.xwiki.org/mailman/listinfo/users

Reply via email to