Een raster voor de praat‐iPad
Evimare gebruikt haar Proloquo2Go systeem goed, maar nauwkeurige navigatie kan lastig zijn. Na zelf een kartonnen raster te hebben gemaakt, hebben Marco en Jo een 3D-geprint raster ontworpen om de communicatie van Evimare te verbeteren, en ze zijn bereid het raster breder beschikbaar te maken!
In de afgelopen jaren zijn veel ouders begonnen met een Ondersteund Communicatie hulpmiddel (OC). Ik vind het een fijn idee dat kinderen met het Angelman syndroom daardoor een middel in handen hebben om zich nog meer begrepen te voelen dan mogelijk is met de taal die zij al vloeiend spraken: die van lichaamstaal en mimiek.
Vaak kost het motorisch voor veel kinderen en volwassenen nog wel heel veel inspanning om precies het juiste pictogram aan te wijzen. Mijn dochter, Evimare, kreeg haar eerste OC‐hulpmiddel toen ze twee was. Het is prachtig om te zien dat ze, na vele jaren volhouden met modelleren via haar ouders, haar begeleiders, school en kinderen om haar heen, haar huidige Proloquo2Go systeem goed kent en ze ook met de roostermaat van 96 picto’s van alles kan vinden. Ze praat er echt alleen mee als het voor haar belangrijk is. Dat kan 1 keer per maand zijn of soms een paar keer per week. Dat is heel wisselend. Ik ben er erg blij mee.
Maar de afgelopen tijd merkte ik dat ze soms afhaakte omdat ze met haar pink of een andere vinger een andere picto net iets eerder aanraakte dan de picto die ze bedoelde. En dan zegt de praat‐iPad dus niet wat zij wil zeggen. Om dat te voorkomen ben ik naar een oplossing voor dit probleem gaan zoeken. Een stuk plexiglas over de iPad met ronde gaten erin waar haar vinger doorheen zouden passen, zou ideaal zijn. Maar om dat op maat gemaakt te krijgen is best lastig.
In Australië en Amerika is het mogelijk, maar Australië verscheept niet naar Europa en verzending uit Amerika duurt zes weken, en is best kostbaar. Ik wist ook niet of het zou werken of niet. Leveranciers van OC‐hulpmiddelen vinden de variatie te groot in roosterformaten en beschermhoezen die om een OC‐hulpmiddel heen zitten, waardoor zij niet zijn begonnen aan een productielijn van dergelijke rasters.
Om te kijken of het zou werken voor Evimare, besloot ik als proef om er zelf een te maken van karton. Drie weken heeft het me gekost om met een scherp mes 96 kleine vakjes uit te snijden en het karton te bewerken met speciaal materiaal om het stevig en waterdicht te maken.
Het nadeel was dat het karton minder zicht gaf op de pictogrammen, maar Evimare reageerde er positief op. Ze kon met haar vinger beter navigeren.
Op een kinderfeestje waar Evimare heen ging, ontmoette ik Marco Knippenberg. Hij hoorde over mijn zoektocht en vertelde dat hij werkt bij Ultimaker, een bedrijf dat highend 3D‐printers maakt. Thuis had hij zo'n printer staan en wilde wel een testraster maken. Het materiaal bleek echter niet transparant genoeg om er goed doorheen te kunnen kijken. Marco stelde voor om zijn vader Jo erin te betrekken vanwege zijn expertise op IT‐gebied en de zorg.
Jo vertelt enthousiast: "ruim 20 jaar geleden ben ik overgestapt naar de zorg vanuit de internationale bankwereld. Daarvoor werkte ik als werktuigbouwkundig ingenieur. De interim opdrachten die ik nu doe liggen voornamelijk in de zorg om deze met IT te ondersteunen. Ontwerpen met 3D‐programma's heb ik altijd erg interessant gevonden. Door de snelle ontwikkeling van 3D‐printtechnieken ben ik me daar nu verder in gaan verdiepen. Komende jaren wil ik mij vooral inzetten om mooie ontwerpen te maken die in de zorg gebruikt kunnen worden. Echter wel hobbymatig nu ik mijn werk stapsgewijs afbouw".
Marco en Jo zijn aan de slag gegaan met het raster. Jo vond het een mooi doel en heeft een ontwerp gemaakt nadat hij zich een modern 3D‐ontwerpprogramma voor zijn hobby had eigen gemaakt. Het was al lang geleden dat hij met 3D‐programma’s had gewerkt voor bouwkundige en werktuigkundige ontwerpen. Marco is op zoek gegaan naar materiaal dat veel transparanter is. Hij heeft iets gevonden dat echter veel duurder is maar waarmee wel zo helder als glas geprint zou kunnen worden. Getest is het echter nog niet. Het ontwerpen van het raster gaat in tienden van millimeters nauwkeurig en dat vergt even goed oefenen met het 3D‐tekenpakket.
Na enkele tests was er een mooi raster geprint, dat Evimare ging uitproberen. Op basis van de ervaringen in de praktijk zijn aanpassingen in het huidige raster verwerkt. Er is nu een rasterontwerp voor de iPad 2017/2018 en iPad 2019 met 12x8 vakjes. Enkele kinderen doen er nu ervaring mee op. We zijn natuurlijk benieuwd wat ze ervan vinden. Tijdens het gebruik ontstaan er vast nog goede ideeën die verwerkt kunnen worden.
Er is nog een uitdaging waarvoor een oplossing gevonden moet worden. Iedereen koopt een eigen beschermhoes voor de iPad die er allemaal anders uit kan zien. Om het raster daarin vast te zetten is er dan iedere keer een andere rastervorm nodig. Het is een arbeidsintensief en precies werk om dat te ontwerpen. Eenzelfde hoes betekent dat een reeds bestaand ontwerp alleen afgedrukt hoeft te worden en geen extra tekenwerk nodig is. Het printen kost relatief veel tijd (circa 10 uur). Dat komt mede doordat het zeer precies wordt afgedrukt op een manier dat het materiaal zo transparant mogelijk wordt.
Marco en Jo vinden het fijn dat zij een bijdrage kunnen leveren met een dergelijk raster. Zij doen dit vanuit hun hobby als vriendendienst tegen kostprijs. Uiteraard willen ze bekijken hoe we een raster breder beschikbaar kunnen maken. Goed om binnen de vereniging daarover ideeën te delen.
Als u geïnteresseerd bent in zo'n raster of wilt reageren op dit artikel dan kan dat naar het emailadres: rob.heethaar@angelmansyndroom.nl
Failed to execute the [velocity] macro. Cause: [null]. Click on this message for details.
org.xwiki.rendering.macro.MacroExecutionException: Failed to evaluate Velocity Macro for content [{{html clean=false wiki=false}}
#set($parentWithClassDocRef = '')
#set($metaObjectClassName = 'WaihonaCode.pageMetaDataClass')
#set($blogPostObjectClassName = 'Blog.BlogPostClass')
#if($doc.getObjects($metaObjectClassName).size() == 0 && $doc.getObjects('WaihonaCode.ATEPrivatClass').size() == 0 && $doc.getObjects('WaihonaCode.themeRoomCloserLookClass').size() == 0)
#getFistAncestorWithObject($doc.getDocumentReference() $metaObjectClassName $parentWithClassDocRef)
#end
<!-- FOUND parent with class doc ref: $parentWithClassDocRef -->
#if($showAuthor && $showPageMeta )
#set($pwsClassName = 'WaihonaCode.personWithSyndromeClass')
#set($roleTypeClassName = 'WaihonaCode.roleTypeClass')
#set($pwsRelationClassName = 'WaihonaCode.personToSyndromePersonRelationClass')
#set($pwsQueryDef = "from doc.object($pwsClassName) as pws where pws.key=:pwsKey and doc.fullName <> 'WaihonaCode.personWithSyndromeTemplate.WebHome' ")
#set($roleQueryDef = "from doc.object($roleTypeClassName) as role where role.key=:roleKey" )
#set($discard = $services.localization.use('document', 'waihonaBase.metaInfoTranslations') )
#set ($discard = $xwiki.ssx.use('WaihonaBase.uixCollections.pageMetaUIX'))
## Special for stories about Experiences
#set($closerLookObjects = $doc.getObjects('WaihonaCode.themeRoomCloserLookClass') )
#if($closerLookObjects.size() > 0)
#set($isCloserLookPage = true)
#foreach($closerLookObject in $closerLookObjects)
#set($storyBackgroundXDOM = $services.rendering.parse($closerLookObject.getProperty('storyBackground').getValue() , "xwiki/2.1") )
#set($storyBackground = $services.rendering.render($storyBackgroundXDOM,"xhtml/1.0"))
#if($closerLookObject.getProperty('storyToldBy').getValue() && $closerLookObject.getProperty('storyToldBy').getValue() != '')
#set($storyToldBy = $closerLookObject.getProperty('storyToldBy').getValue() )
#set($storyToldByPWS = '')
#set($pwsDocRefList = $services.query.xwql($pwsQueryDef).bindValue('pwsKey', $closerLookObject.getProperty('storyPWSkey').getValue()).execute() )
## debug: 1 - $pwsDocRefList.size() == 0 $closerLookObject.getProperty('storyPWSkey').getValue()
#if($pwsDocRefList.size() == 0)
#set($pwsDocRefList = $services.query.xwql($pwsQueryDef).bindValue('pwsKey', $closerLookObject.getProperty('storyPWSkey2').getValue()).execute() )
## debug: 2 - $pwsDocRefList.size() == 0 $closerLookObject.getProperty('storyPWSkey2').getValue()
#else
#foreach($pwsDocRef in $pwsDocRefList)
## debug 11. [[$pwsDocRef]]
#end
#end
#foreach($pwsDocRef in $pwsDocRefList)
#set($pwsObject = $xwiki.getDocument($pwsDocRef).getObject($pwsClassName) )
#set($storyToldByPWS = $pwsObject.getProperty('firstname').getValue() )
#set($pwsRelationObjects = $xwiki.getDocument($pwsDocRef).getObjects($pwsRelationClassName) )
#set($storyToldByRole = '')
#foreach($pwsRelationObject in $pwsRelationObjects)
#if($pwsRelationObject.getProperty('keyUser').getValue() == $storyToldBy )
#set($roleKey = $pwsRelationObject.getProperty('role').getValue() )
#set($roleTypeDocRefsList = $services.query.xwql($roleQueryDef).bindValue('roleKey', $roleKey).addFilter('unique').execute() )
#foreach($roleTypeDocRef in $roleTypeDocRefsList)
#set($storyToldByRole = $xwiki.getDocument($roleTypeDocRef).getTranslatedDocument().getTitle())
#end
#end
#end ## foreach Relation
#end ## foreach PWS
#set($storyToldByString = '')
#set($storyToldByPhoto = '')
#end
#end
#elseif($doc.getObject('WaihonaCode.ATEPrivatClass'))
## Special for personal questions
#set($isATEPrivatPage = true)
#set($thisATEObject = {})
#if($doc.getObject('WaihonaCode.ATEPrivatClass').getProperty('questionerKnown').getValue() != '')
#set($thisUser = $doc.getObject('WaihonaCode.ATEPrivatClass').getProperty('questionerKnown').getValue() )
#else
#set($thisUser = $doc.getObject('WaihonaCode.ATEPrivatClass').getProperty('squestioner').getValue() )
#end
#set($discard = $thisATEObject.put('questionByUser', $thisUser ))
#if($thisUser.contains('XWiki.'))
#set($nameOfUser = $xwiki.getUserName($thisUser, false))
#else
#set($namesInNameArray = $stringtool.split($thisUser,' '))
#set($nameOfUser = $namesInNameArray[0])
#end
#set($discard = $thisATEObject.put('nameOfUser', $nameOfUser ))
#if($doc.getObject('WaihonaCode.ATEPrivatClass').getProperty('personWithSyndromeKnown') && $doc.getObject('WaihonaCode.ATEPrivatClass').getProperty('personWithSyndromeKnown').getValue() != '')
#set($pwsKey = $doc.getObject('WaihonaCode.ATEPrivatClass').getProperty('personWithSyndromeKnown').getValue())
#set($pwsDocRefList = $services.query.xwql($pwsQueryDef).bindValue('pwsKey', $pwsKey).execute() )
#foreach($pwsDocRef in $pwsDocRefList)
#set($pwsObject = $xwiki.getDocument($pwsDocRef).getObject($pwsClassName) )
#set($namePWS = $pwsObject.getProperty('firstname').getValue() )
#set($discard = $thisATEObject.put('nameOfPWS', $namePWS))
#set($pwsRelationObjects = $xwiki.getDocument($pwsDocRef).getObjects($pwsRelationClassName) )
#set($storyToldByRole = '')
#foreach($pwsRelationObject in $pwsRelationObjects)
#if($pwsRelationObject.getProperty('keyUser').getValue() == $thisUser )
#set($roleKey = $pwsRelationObject.getProperty('role').getValue() )
#set($roleTypeDocRefsList = $services.query.xwql($roleQueryDef).bindValue('roleKey', $roleKey).addFilter('unique').execute() )
#foreach($roleTypeDocRef in $roleTypeDocRefsList)
#set($storyToldByRole = $xwiki.getDocument($roleTypeDocRef).getTranslatedDocument().getTitle())
#set($discard = $thisATEObject.put('roleOfUser', $storyToldByRole))
#end
#end
#end ## foreach Relation
#end ## foreach PWS
#elseif($doc.getObject('WaihonaCode.ATEPrivatClass').getProperty('personWithSyndrome') && $doc.getObject('WaihonaCode.ATEPrivatClass').getProperty('personWithSyndrome').getValue() != '')
#set($pwsName = $doc.getObject('WaihonaCode.ATEPrivatClass').getProperty('personWithSyndrome').getValue())
#set($discard = $thisATEObject.put('nameOfPWS', $pwsName))
#if($doc.getObject('WaihonaCode.ATEPrivatClass').getProperty('relationshipRoleExternal').getValue() != '')
#set($roleKey = $doc.getObject('WaihonaCode.ATEPrivatClass').getProperty('relationshipRoleExternal').getValue() )
#set($roleTypeDocRefsList = $services.query.xwql($roleQueryDef).bindValue('roleKey', $roleKey).addFilter('unique').execute() )
#foreach($roleTypeDocRef in $roleTypeDocRefsList)
#set($storyToldByRole = $xwiki.getDocument($roleTypeDocRef).getTranslatedDocument().getTitle())
#set($discard = $thisATEObject.put('roleOfUser', $storyToldByRole))
#end
#else
#set($discard = $thisATEObject.put('roleOfUser', $services.localization.render('wai.relation.not.described')))
#end
#else
#set($discard = $thisATEObject.put('nameOfPWS', ''))
#set($discard = $thisATEObject.put('roleOfUser', ''))
#end
#else
#set($isCloserLookPage = false)
#end
## Below is the actual output of the User Section
## It will present
## - a Avatar image
## - the name of the user
## - User Text
#set($metaObjectClassName = 'WaihonaCode.pageMetaDataClass')
#if($parentWithClassDocRef && $parentWithClassDocRef != '')
#set($metaDoc = $xwiki.getDocument($parentWithClassDocRef))
#else
#set($metaDoc = $doc)
#end
#set($metaObjects = $metaDoc.getObjects($metaObjectClassName))
#set($blogPostObjects = $metaDoc.getObjects($blogPostObjectClassName))
<!-- GOT META OBJECTS $metaObjects -->
#set($thisMetaObject = '')
#if($isCloserLookPage == true)
#set($closerLookObject = $metaDoc.getObject('WaihonaCode.themeRoomCloserLookClass'))
<div class="author-meta">
<div class="author-meta-image">
#if($storyToldBy)
#set($storyToldByList = $storyToldBy.split(','))
#if($storyToldByList.size() > 1)
#if($closerLookObject.getProperty('storyToldByPhoto').getValue() != '')
#set( $clPhotoAuthorURL = $xwiki.getAttachmentURL("$metaDoc","${closerLookObject.getProperty('storyToldByPhoto').getValue()}"))
#else
#set( $clPhotoAuthorURL = $xwiki.getAttachmentURL("WaihonaCode.XWikiUserSyndromePersonInfoSheet","noavatar.png"))
#end
<img src="$clPhotoAuthorURL" alt="$closerLookObject.getProperty('storyToldByString').getValue()">
<a href="#"><span class="fa fa-plus"></span></a>
#else
#largeUserAvatar($storyToldBy)
#end
#else
#if($closerLookObject.getProperty('storyToldByPhoto').getValue() != '')
#set( $clPhotoAuthorURL = $xwiki.getAttachmentURL("$metaDoc","${closerLookObject.getProperty('storyToldByPhoto').getValue()}"))
#else
#set( $clPhotoAuthorURL = $xwiki.getAttachmentURL("WaihonaCode.XWikiUserSyndromePersonInfoSheet","noavatar.png"))
#end
<img src="$clPhotoAuthorURL" alt="$closerLookObject.getProperty('storyToldByString').getValue()">
<a href="#"><span class="fa fa-plus"></span></a>
#end
</div>
<div class="author-meta-info">
#if($storyToldBy )
#if($storyToldByList.size() > 1)
<div class='multiple-authors'>
#foreach($storyToldByItem in $storyToldByList)
<a href="${xwiki.getURL($storyToldByItem)}" class="author">$xwiki.getUserName($storyToldByItem, false)</a>#if($foreach.hasNext())<span>, </span>#end
#end
</div>
#else
<a href="${xwiki.getURL($storyToldBy)}" class="author">$xwiki.getUserName($storyToldBy, false)</a>
#end
#elseif($closerLookObject.getProperty('storyToldByString').getValue() && $closerLookObject.getProperty('storyToldByString').getValue() != '')
<a href="#" class="author">$closerLookObject.getProperty('storyToldByString').getValue()</a>
#set($nameAuthor = $closerLookObject.getProperty('storyToldByString').getValue() )
#elseif($metaObjects.size() > 0)
#foreach($thisMetaObject in $metaObjects)
#if($thisMetaObject.getProperty('author') && $thisMetaObject.getProperty('author').getValue() != '')
<a href="#" class="author">$thisMetaObject.getProperty('author').getValue()</a>
#set($nameAuthor = $thisMetaObject.getProperty('author').getValue())
#end
#end
#else
?? $closerLookObject.getProperty('storyToldByString').getValue()
#end
#if($storyBackground && $storyBackground != '')
$storyBackground
#else
## string PWS
#if($storyToldByPWS && $storyToldByPWS != '')
#if($storyToldByList.size() > 1)
#set($storyToldByString = '')
#set($listSize = $storyToldByList.size())
#foreach($storyToldByItem in $storyToldByList)
#set($storyToldByString = $storyToldByString + $xwiki.getUserName($storyToldByItem,"$first_name" ,false) )
#if($foreach.hasNext() )
#if($velocityCount + 1 == $listSize)
#set($storyToldByString = $storyToldByString + " ${services.localization.render('wai.user.list.summary.last')} " )
#else
#set($storyToldByString = $storyToldByString + ', ' )
#end
#end
#end
<p>$services.localization.render('waihonapedia.themeroom.closer.look.thankyou.other',[$storyToldByString])</p>
#else
<p>$services.localization.render('waihonapedia.themeroom.closer.look.thankyou',[$storyToldByPWS, $xwiki.getUserName($storyToldBy,"$first_name" ,false), $storyToldByRole])</p>
#end
#elseif($nameAuthor)
#if($closerLookObject.getProperty('storyToldByPWS') && $closerLookObject.getProperty('storyToldByPWS').getValue())
#set($namePWS = $closerLookObject.getProperty('storyToldByPWS').getValue())
#if($closerLookObject.getProperty('storyToldByRole') && $closerLookObject.getProperty('storyToldByRole').getValue())
#set($roleString = $closerLookObject.getProperty('storyToldByRole').getValue())
#else
#set($rolestring = '')
#end
#end
#if($namePWS)
<p>$services.localization.render('waihonapedia.themeroom.closer.look.thankyou',[$namePWS, $nameAuthor, $roleString])</p>
#else
<p>$services.localization.render('waihonapedia.themeroom.closer.look.thankyou.other',[$nameAuthor])</p>
#end
#else
<p>$services.localization.render('waihonapedia.themeroom.closer.look.thankyou.other',[$xwiki.getUserName($storyToldBy, "$first_name", false)])</p>
#end
#end
</div>
</div>
#elseif($isATEPrivatPage == true)
<div class="author-meta">
<div class="author-meta-image">
#largeUserAvatar($thisATEObject.questionByUser)
</div>
<div class="author-meta-info">
<a href="#" class="author">$thisATEObject.nameOfUser</a>
##set($thisPWSName = )
#if($thisATEObject.nameOfPWS != '')
<p>$services.localization.render('waihonapedia.themeroom.closer.look.thankyou.ate',[$thisATEObject.nameOfPWS, $thisATEObject.nameOfUser, $thisATEObject.roleOfUser])</p>
#else
<p>$services.localization.render('waihonapedia.themeroom.closer.look.thankyou.other.ate',[$thisATEObject.nameOfUser])</p>
#end
</div>
</div>
#elseif($metaObjects.size() > 0)
## We expect only 1 object
<!-- META OBJECTS are here $parentWithClassDocRef $metaDoc -->
#displayMetaObject($metaObjects $parentWithClassDocRef)
#elseif($blogPostObjects.size() > 0)
## in this case the following code should be replicated from XWiki Blog.BlogCode; macro #displayEntryFooter
#*
Display a label (translation key) for created by or published by and the author name
created by when blogpost is not yet published
published by when blog post is published
*#
#foreach($blogPostObject in $blogPostObjects)
## expected oonly ONE loop
#displayBlogPostAuthor($blogPostObject)
#end
#else
<!-- META OBJECTS are not here -->
## maybe the current page does not have a pageMetaObject but what about ancestor
#if($parentWithClassDocRef != '')
#set($metaObjects = $xwiki.getDocument($parentWithClassDocRef).getObjects($metaObjectClassName))
#set($metaDocRef = $xwiki.getDocument($parentWithClassDocRef).getDocumentReference())
<!-- BUT META OBJECTS: $metaDocRef -->
#displayMetaObject($metaObjects $metaDocRef)
#else
<div class="author-meta">
<div class="author-meta-image">
#largeUserAvatar($tdoc.getCreator())
</div>
<div class="author-meta-info">
<a href="${xwiki.getURL($tdoc.getCreator())}" class="author">$xwiki.getUserName($tdoc.getCreator(), false)</a>
</div>
</div>
#end
#end
#end
#macro(getFistAncestorWithObject $document $object $parentWithClassDocRef)
<!-- CALLED getFistAncestorWithObject -->
#set($parents = $services.parentchild.getParents($document))
#set($docRef = $document.getDocumentReference())
#set($ok = $parents.remove($docRef))
#set($ok = $collectiontool.reverseModifiable($parents))
#foreach($parent in $parents)
#set($parentDoc = $xwiki.getDocument($parent))
#if(!$parentDoc.isNew() && $parentDoc.getObject($object))
#set($parentWithClassDocRef = $parentDoc.getDocumentReference() )
#break
#end
#end
#end
#macro(displayBlogPostAuthor $thisBlogPostObject)
#set($thisAuthorReference = $doc.creator)
<div class="author-meta">
<div class="author-meta-image">
#largeUserAvatar($thisAuthorReference)
</div>
<div class="author-meta-info">
<p>
#if($thisBlogPostObject.getProperty('published').getValue() == '1')
$services.localization.render('blog.code.postedby')
#else
$services.localization.render('blog.code.createdby')
#end
</p>
<div class="author-meta-hrefs">
<a href="${xwiki.getURL($thisAuthorReference)}" class="author">$xwiki.getUserName($thisAuthorReference, false)</a>
</div>
</div>
</div>
#end
#macro(displayMetaObject $thisMetaObjects $thisDocRef)
#if(!$thisDocRef || $thisDocRef == '')
#set($thisDocRef = $doc.getDocumentReference())
#end
## We should expect a different thisDocRef compared to $doc.getReference
## In such a case $tdoc used in this macro must be modified
#foreach($metaObject in $thisMetaObjects)
<!-- ITERATION: $metaObject -->
#if($metaObject.getProperty('userAsAuthor').getValue() != '')
<!-- GOT userAsAuthor -->
#set($authorsList = $stringtool.split($metaObject.getProperty('userAsAuthor').getValue(), ',')) ## It is a comma seperated list
<div class="author-meta">
<div class="author-meta-image">
## there can be multiple authors, in such a case it is recommended to add a photo/symbol in the attribute photoAuthor
## If multiple authors and no photo we could use the group icon
#if($authorsList.size() == 1)
## we present the photo of the author
#largeUserAvatar($metaObject.getProperty('userAsAuthor').getValue())
#elseif($authorsList.size() > 1)
## we look for a photo in photoAuthor
#if($metaObject.getProperty('photoAuthor') != '')
#set( $themeIntroductionPhotoAuthorURL = $xwiki.getAttachmentURL("$thisDocRef","${metaObject.getProperty('photoAuthor').getValue()}"))
#else
#set( $themeIntroductionPhotoAuthorURL = $xwiki.getAttachmentURL("WaihonaCode.XWikiUserSyndromePersonInfoSheet","noavatar.png"))
#end
<img src="$themeIntroductionPhotoAuthorURL" alt="$metaObject.getProperty('author').getValue()">
#else
## Something strange as we did find some data in userAsAuthor attribute
#end
</div>
<div class="author-meta-info">
<div class="author-meta-hrefs">
#foreach($authorReference in $authorsList)
<a href="${xwiki.getURL($authorReference)}" class="author">$xwiki.getUserName($authorReference, false)</a>
#if($foreach.hasNext), #end
#end
</div>
#if($metaObject.getProperty('subAuthorText') != '')
#set($xdomText = $services.rendering.parse($metaObject.getProperty('subAuthorText').getValue(),"xwiki/2.1") )
$services.rendering.render($xdomText,"xhtml/1.0")
#end
</div>
</div>
#elseif($metaObject.getProperty('author').getValue() != '')
<!-- GOT AUTHOR -->
#if($metaObject.getProperty('photoAuthor') != '')
#set( $themeIntroductionPhotoAuthorURL = $xwiki.getAttachmentURL("$thisDocRef","${metaObject.getProperty('photoAuthor').getValue()}"))
#else
#set( $themeIntroductionPhotoAuthorURL = $xwiki.getAttachmentURL("WaihonaCode.XWikiUserSyndromePersonInfoSheet","noavatar.png"))
#end
<div class="author-meta">
<div class="author-meta-image">
<img src="$themeIntroductionPhotoAuthorURL" alt="$metaObject.getProperty('author').getValue()">
## <a href="#"><span class="fa fa-plus"></span></a>
</div>
<div class="author-meta-info">
<a href="#" class="author">$metaObject.getProperty('author').getValue()</a>
#if($metaObject.getProperty('subAuthorText') != '')
#set($xdomText = $services.rendering.parse($metaObject.getProperty('subAuthorText').getValue(),"xwiki/2.1") )
$services.rendering.render($xdomText,"xhtml/1.0")
#end
</div>
</div>
#else
<!-- NO userAsAuthor NOR author -->
#end
#end
#end
{{/html}}]
at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:135)
at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:51)
at org.xwiki.rendering.macro.script.AbstractScriptMacro.evaluateBlock(AbstractScriptMacro.java:279)
at org.xwiki.rendering.macro.script.AbstractScriptMacro.execute(AbstractScriptMacro.java:182)
at org.xwiki.rendering.macro.script.AbstractScriptMacro.execute(AbstractScriptMacro.java:58)
at org.xwiki.rendering.internal.transformation.macro.MacroTransformation.transform(MacroTransformation.java:309)
at org.xwiki.rendering.internal.transformation.DefaultRenderingContext.transformInContext(DefaultRenderingContext.java:183)
at org.xwiki.rendering.async.internal.block.AbstractBlockAsyncRenderer.transform(AbstractBlockAsyncRenderer.java:76)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRenderer.tranform(DefaultBlockAsyncRenderer.java:154)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRenderer.execute(DefaultBlockAsyncRenderer.java:137)
at org.xwiki.rendering.async.internal.block.AbstractBlockAsyncRenderer.render(AbstractBlockAsyncRenderer.java:157)
at org.xwiki.uiextension.internal.WikiUIExtension.render(WikiUIExtension.java:200)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor$DecoratorWrapper.render(DefaultBlockAsyncRendererExecutor.java:67)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor$DecoratorWrapper.render(DefaultBlockAsyncRendererExecutor.java:49)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.lambda$syncRender$0(DefaultAsyncRendererExecutor.java:284)
at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:284)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:267)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.execute(DefaultBlockAsyncRendererExecutor.java:125)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.execute(DefaultBlockAsyncRendererExecutor.java:113)
at org.xwiki.uiextension.internal.AbstractWikiUIExtension.execute(AbstractWikiUIExtension.java:120)
at org.xwiki.uiextension.internal.AbstractWikiUIExtension.execute(AbstractWikiUIExtension.java:108)
at jdk.internal.reflect.GeneratedMethodAccessor382.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:571)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:554)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:221)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:368)
at org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:704)
at org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.java:75)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:167)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:368)
at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:492)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.directive.Foreach.renderBlock(Foreach.java:309)
at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:279)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:304)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:171)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:171)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:439)
at org.apache.velocity.Template.merge(Template.java:358)
at org.apache.velocity.Template.merge(Template.java:262)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:280)
at com.xpn.xwiki.render.DefaultVelocityManager.evaluate(DefaultVelocityManager.java:328)
at com.xpn.xwiki.internal.template.VelocityTemplateEvaluator.evaluateContent(VelocityTemplateEvaluator.java:95)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.evaluateContent(TemplateAsyncRenderer.java:222)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.renderVelocity(TemplateAsyncRenderer.java:177)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:138)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:54)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.lambda$syncRender$0(DefaultAsyncRendererExecutor.java:284)
at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:284)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:267)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.render(DefaultBlockAsyncRendererExecutor.java:154)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:843)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:805)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:792)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderNoException(InternalTemplateManager.java:747)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderNoException(InternalTemplateManager.java:739)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.renderNoException(DefaultTemplateManager.java:79)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.renderNoException(DefaultTemplateManager.java:73)
at org.xwiki.template.script.TemplateScriptService.render(TemplateScriptService.java:54)
at jdk.internal.reflect.GeneratedMethodAccessor257.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:571)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:554)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:221)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:368)
at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:492)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:218)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:331)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:261)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:304)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:439)
at org.apache.velocity.Template.merge(Template.java:358)
at org.apache.velocity.Template.merge(Template.java:262)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:280)
at com.xpn.xwiki.render.DefaultVelocityManager.evaluate(DefaultVelocityManager.java:328)
at com.xpn.xwiki.internal.template.VelocityTemplateEvaluator.evaluateContent(VelocityTemplateEvaluator.java:95)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.evaluateContent(TemplateAsyncRenderer.java:222)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.renderVelocity(TemplateAsyncRenderer.java:177)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:138)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:54)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.lambda$syncRender$0(DefaultAsyncRendererExecutor.java:284)
at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:284)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:267)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.render(DefaultBlockAsyncRendererExecutor.java:154)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:843)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:805)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:792)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderNoException(InternalTemplateManager.java:747)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderNoException(InternalTemplateManager.java:739)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.renderNoException(DefaultTemplateManager.java:79)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.renderNoException(DefaultTemplateManager.java:73)
at org.xwiki.template.script.TemplateScriptService.render(TemplateScriptService.java:54)
at jdk.internal.reflect.GeneratedMethodAccessor257.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:571)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:554)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:221)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:368)
at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:492)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:218)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:331)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:261)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:304)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:171)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:439)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:190)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:439)
at org.apache.velocity.Template.merge(Template.java:358)
at org.apache.velocity.Template.merge(Template.java:262)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:280)
at com.xpn.xwiki.render.DefaultVelocityManager.evaluate(DefaultVelocityManager.java:328)
at com.xpn.xwiki.internal.template.VelocityTemplateEvaluator.evaluateContent(VelocityTemplateEvaluator.java:95)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.evaluateContent(TemplateAsyncRenderer.java:222)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.renderVelocity(TemplateAsyncRenderer.java:177)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:138)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:54)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.lambda$syncRender$0(DefaultAsyncRendererExecutor.java:284)
at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:284)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:267)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.render(DefaultBlockAsyncRendererExecutor.java:154)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:843)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:805)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:785)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:771)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.render(DefaultTemplateManager.java:91)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.render(DefaultTemplateManager.java:85)
at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:2563)
at com.xpn.xwiki.web.Utils.parseTemplate(Utils.java:180)
at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:651)
at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:339)
at com.xpn.xwiki.web.LegacyActionServlet.service(LegacyActionServlet.java:114)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:232)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:167)
at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:122)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:194)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:167)
at org.xwiki.wysiwyg.filter.ConversionFilter.doFilter(ConversionFilter.java:61)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:194)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:167)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:194)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:167)
at org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:194)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:167)
at org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:132)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:194)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:167)
at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:194)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:167)
at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:194)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:167)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:364)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:624)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1651)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: org.xwiki.velocity.XWikiVelocityException: Failed to evaluate content with namespace [xwiki:WaihonaBase.uixCollections.pageMetaUIX^XWiki.UIExtensionClass[0]]
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:289)
at com.xpn.xwiki.render.DefaultVelocityManager.evaluate(DefaultVelocityManager.java:328)
at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:127)
... 185 more
Caused by: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'execute' in class org.xwiki.query.internal.ScriptQuery threw exception org.xwiki.query.QueryException: Exception while executing query. Query statement = [ select doc.fullName from XWikiDocument as doc , BaseObject as pws , com.xpn.xwiki.objects.StringProperty as pws_key1 where ( pws_key1.value = :pwsKey and doc.fullName <> 'WaihonaCode.personWithSyndromeTemplate.WebHome' ) and doc.fullName=pws.name and pws.className='WaihonaCode.personWithSyndromeClass' and pws_key1.id.id=pws.id and pws_key1.id.name='key' ] at xwiki:WaihonaBase.uixCollections.pageMetaUIX^XWiki.UIExtensionClass[0][line 30, column 136]
at org.apache.velocity.runtime.parser.node.ASTMethod.handleInvocationException(ASTMethod.java:308)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:235)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:368)
at org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:704)
at org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.java:75)
at org.apache.velocity.runtime.parser.node.ASTSetDirective.render(ASTSetDirective.java:242)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:171)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:171)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.directive.Foreach.renderBlock(Foreach.java:309)
at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:279)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:304)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:171)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:171)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:439)
at org.apache.velocity.Template.merge(Template.java:358)
at org.apache.velocity.Template.merge(Template.java:262)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:280)
... 187 more
Caused by: org.xwiki.query.QueryException: Exception while executing query. Query statement = [ select doc.fullName from XWikiDocument as doc , BaseObject as pws , com.xpn.xwiki.objects.StringProperty as pws_key1 where ( pws_key1.value = :pwsKey and doc.fullName <> 'WaihonaCode.personWithSyndromeTemplate.WebHome' ) and doc.fullName=pws.name and pws.className='WaihonaCode.personWithSyndromeClass' and pws_key1.id.id=pws.id and pws_key1.id.name='key' ]
at com.xpn.xwiki.store.hibernate.query.HqlQueryExecutor.execute(HqlQueryExecutor.java:184)
at org.xwiki.query.internal.DefaultQueryExecutorManager.execute(DefaultQueryExecutorManager.java:72)
at org.xwiki.query.internal.DefaultQuery.execute(DefaultQuery.java:306)
at org.xwiki.query.xwql.internal.XWQLQueryExecutor.execute(XWQLQueryExecutor.java:117)
at org.xwiki.query.internal.DefaultQueryExecutorManager.execute(DefaultQueryExecutorManager.java:72)
at org.xwiki.query.internal.SecureQueryExecutorManager.execute(SecureQueryExecutorManager.java:67)
at org.xwiki.query.internal.DefaultQuery.execute(DefaultQuery.java:306)
at org.xwiki.query.internal.ScriptQuery.execute(ScriptQuery.java:276)
at jdk.internal.reflect.GeneratedMethodAccessor276.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:571)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:554)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:221)
... 207 more
Caused by: com.xpn.xwiki.XWikiException: Error number 0 in 3: Exception while hibernate execute
at com.xpn.xwiki.store.XWikiHibernateBaseStore.execute(XWikiHibernateBaseStore.java:835)
at com.xpn.xwiki.store.XWikiHibernateBaseStore.executeRead(XWikiHibernateBaseStore.java:902)
at com.xpn.xwiki.store.hibernate.query.HqlQueryExecutor.execute(HqlQueryExecutor.java:169)
... 220 more
Caused by: java.lang.NullPointerException
Nieuwsbrief nummer 22 Vereniging Angelman Syndroom 2020, published on 1 Oct 2020
topic holding this topic
About the website contents
All of the information on this WebSite is for education purposes only. The place to get specific medical advice, diagnoses, and treatment is your doctor. Use of this site is strictly at your own risk. If you find something that you think needs correction or clarification, please let us know at:
Send a email: wiki@waihonapedia.org