Too many groovy classes were generated

Jasper Reports may throw this way generic error at times:

Too many groovy classes were generated. 
Please make sure that you don't use Groovy features such as closures 
that are not supported by this report compiler.


There is no definitive answer to this – it just seems to me like a blanket error for any syntax error, like:

  • $p instead of $P
  • $v instead of $V
  • bad UUID
  • incorrect XML attributes versus the version of your local JS server


I can’t suggest anything bullet proof to find the cause other than:

  • create a new empty file
  • paste in it the header and the footer plus a minimalist detail zone
  • test it out
  • .. and repeat

Jasper reports – multiple queries per .jrxml file

Using a <queryString> tag in a jasper document only allows one SQL statement. In fact you can add as many SQL statements as you like but only the first one will be processed.

But since almost any report will nicely do with more than one query, the way to achieve it is to use <subDataset> and <datasetRun>. Although these 2 can be used as many times as needed, per jasper document, they can only be embedded in certain tags so be sure you check out the manual.


<subDataset name="datasetGroupFolders" uuid="0433f4f3-39f4-4505-841a-e5621c781b01"> 
    <parameter name="GroupFoldersParam" class="java.lang.String"/> 
        <![CDATA[SELECT STUFF((SELECT ', ' + CollectionName FROM GroupCollections WHERE $X{IN, CollectionID, GroupFoldersParam} FOR XML PATH('')) ,1,1,'') AS GroupFolders]]> 
    <field name="GroupFolders" class="java.lang.String"/> 


    <reportElement positionType="Float" stretchType="RelativeToTallestObject" x="0" y="65" width="552" height="15" isRemoveLineWhenBlank="true" uuid="fc7d22c7-8c60-4ecb-974f-c842becc4bf7"/> 
    <jr:list xmlns:jr="" xsi:schemaLocation="" printOrder="Vertical"> 
        <datasetRun subDataset="datasetGroupFolders" uuid="1e20fa2b-bb3a-475f-b721-5a13d3c374eb"> 
            <datasetParameter name="GroupFoldersParam"> 
        <jr:listContents height="15"> 
            <textField isStretchWithOverflow="true"> 
                <reportElement stretchType="RelativeToTallestObject" x="0" y="0" width="552" height="15" uuid="eac696b9-e20f-48a3-b70d-b186f5e649d6"/> 
                <textFieldExpression><![CDATA[IF($F{GroupFolders}.isEmpty(), "", "Group folders: "+$F{GroupFolders})]]></textFieldExpression> 



Powershell – code snipets

  • delete everything from Recycle Bin
$Recycler = (New-Object -ComObject Shell.Application).NameSpace(0xa)
$Recycler.items() | foreach { rm $_.path -force -recurse }
  • generate GUID
  • OS version
(Get-WmiObject -class Win32_OperatingSystem).Caption
  • username
  • SQL instances
(Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server').InstalledInstances

IIS error 503: Service unavailable

Very frustrating stuff getting error 503 corroborated with the following entry in the event viewer:

The worker process for application pool ‘DefaultAppPool’ encountered an error ‘Cannot read configuration file
‘ trying to read configuration data from file ‘\\?\<EMPTY>’, line number ‘0’. The data field contains the error code.

This happened to me after a Windows 7 system was upgraded to Windows 10 Pro x64, and enabling IIS. The default IIS page on the localhost wouldn’t show up.

Instead the HTTP error 503 would be front page and center.

Solution: bit of hint to resolve it was from the default IIS pool, DefaultAppPool, which wouldn’t -ever- start!

Navigating on the local file system: C:\inetpub\temp\appPools you should find a folder named DefaultAppPool. In my case I had a shortcut! That needs to be corrected, something like this:

  • run inetmgr
  • locate the default pool (or any other pool that fails to start)
  • click on pool’s name from the right pane chose View Applications
  • change the pool of the application to something else
  • go back to the list of pools and delete the invalid pool
  • then recreate DefaultAppPool / invalid pool
  • click the pool that the application got changed, the View Applications and assign back the default pool to it
  • restart IIS

At this stage the DefaultAppPool foder should appear in the C:\intepub\temp\appPools and the default, or your local website, should load up.

No more pesky error 503!

TeamViewer: Not ready. Please check your connection

TeamViewer proved to be a nice piece of software every now and then.

Have been using it since version 5 and up to it’s latest v12 incarnation, on systems spanning from Linux, OSX and of course Windows.

This morning thou, on a Windows 7 64bit system, the v12 of TeamViewer (which has been up and happy for like forever) refused to SignIn with it’s back-end; the error:

Not ready. Please check your connection.

It just kept throwing this message whatever I was doing:

  • reset the system
  • uninstall and reinstall
  • disable the Antivirus (Webroot secure Anywhere)

One think did help but I’m not happy about it:

  • turning off the system’s Firewall


Is the datastore flag /Scenario/GlobalFlags/AreProductFeaturesSupported set did not pass

That’s the error I got when attempting to install SQL Server 2008 R2 on a system running Windows 10 Enterprise x64:

Is the datastore flag /Scenario/GlobalFlags/AreProductFeaturesSupported set did not pass

An extremely easy fix is to run the SqlSupport.msi package, which is part of the installation media from which the SQL Server 2008 R2 is installed (just search it in there).

The SqlSupport.msi runs pretty quickly and on the face of things doesn’t do much.. well apart from fixing the above error.

Then it’s again back to the main installer, in order to catch errors in the act I’m running it like this:

.\setup.exe /CONFIGURATIONFILE=ConfigurationFile.ini

It did run almost normal and up until almost the very end where it stopped yet again with another error:

Condition "Is the user's scenario set to EditionUpgrade" did not pass

Steps I did to get over this second error:

  • run all of the below from an Administrator account
  • backup the user databases (if needed)
  • completely remove all SQL Server 2008 (and related) packages from Control Panel -> Programs and Features
  • backup the registry
  • reboot the computer
  • delete the following registry keys (using regedit): HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server and HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer
  • go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall and delete all the sub-keys referencing SQL Server
  • go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services and delete all keys referencing SQL Server
  • delete the SQL Server folder from: C:\Program Files\Microsoft SQL Server
  • reboot the computer
  • reinstall SQL Server 2008 R2


Thoughts on technology

You can chose to play bridge at a club, or online.

If you’re short on time but you’re still keen on staying alert and fresh in your bridge endeavors then it’s a must to play whenever you can.. like you know: on your way forth and back from work, when you’re stuck in traffic, in a queue of your choice, or waiting for the sleep to come.

So your close friends must be the GIB robots from BBO (Bridge Base Online). You can buy them for a period of time (say a day) and use them to play for money. Or you can open a table with 3 other robots for a quickie.. like a game of 4 or an unlimited stream of hands. You get the picture..

But my take is from another angle. So for every one of us lonely and sad players of bridge there is a potential of 3 robots ready and willing. Are they smart enough, well that’s another story. However, they are there!

But let’s extend this: for every one of us sad and lonely human beings there is always a computer waiting (if you don’t have one or yours gets some ransomware.. ha ha – again another subject but still very close), and there’s also another:

  • smartphone waiting
  • smart fridge waiting
  • smart TV waiting
  • smart car waiting.. Tesla
  • smart wearable waiting
  • tablet
  • RF chip
  • something technical smart and ready enough to help us out
  • Software (in all of them)

Help us.. you say!

Hmm, the other day my little one asked an interesting question, when do numbers finish, as in 1, 2, 3..

Well, my question of same sorts would be: where does smart pieces of technology finish?

Are these numbers double / triple (in stocks waiting to be shipped, or live and kicking) more than humans! Somehow we, humans live and kicking, have created a dormant army of devices which at the moment help us out.. still.


Windows XP – update error

We are only days after the latest ransomware attack, and the issue which was hidden in the shallows, for a while now, was brought to life by this attack.

Visiting the Microsoft support web pages pops up first and foremost the following alert:

"A wide-spread ransomware attack, WannaCrypt, targets out-of-date Windows
devices. Given the severity of this threat, immediately update your
Windows devices."


And this is where the issue has been hiding.

Since April 2014 MSFT has stopped regular updates to a world-wide-spread-installation of Windows XP. MSFT also did the right thing and offered it’s latest offering, Windows 10, as a free update for a while. It needed people to get off Windows XP wagon.

But hey, easily said than done.

Legacy software and databases for countless companies were not easy to migrate. Time constraints to systems running 24×7 as well as human reluctance to change something that’s running just fine, and here we are 3 years later with Windows XP systems still very much alive. MSFT very much moved along during these years.

Such systems continued their daily grind for 3 years unperturbed by the dismissed system and security updates. Such systems may have developed various issues, due to various other programs being installed on top of the ones already existing. And I’m sure such systems were always somewhere in the minds of their administrators as a disaster waiting to happen.

Case in point:

  • this Windows XP installation which, coincidence or not, since Friday refuses to start the legacy program which was run day in day out for the past 3 years
  • this system didn’t had system updates installed for several years before the April 2014 MSFT deadline
  • this system refuses to connect to any MSFT support web addresses by it’s Internet Explorer, but it does so just fine by Google Chrome
  • that’s a perfect case of “chicken or egg” – disturbingly needing it’s system updates – to which, nicely and promptly, is being refused access by MSFT
  • no Googled solution worked: IE stats reset and history cleared, Winsock stack cleared, .Net 4 installed, proxy disabled, firewall disabled, various programs removed


Network diagnostics keep returning, over and over, the same error:

  • HTTPS and FTP: Error 12031 – the connection with the server was reset


In conclusion there’s no conclusion: classic case of Windows XP system which needs an update but is not able to get it!

Why has MSFT stopped Windows XP updates!

Is MSFT accountable?


Harbinger of Afterkey – part 3


-- tick-tock ..
Check own in-struc-tions.
Check com-pat roam-ing mo-dules.
Check roam-ing bridg-es.

-- tick-tock ..
Call mo-bile tow-ers,
find roa-ming mods as friend-lies.
and those mods who're e-ne-mies!

-- tick-tock ..
Friend-lies are mo-biles,
smart watch-es & tab-lets & 
G P S u-nits,

-- tick-tock ..
Lap-tops & o-thers
wi-fi rout-ers and net-works,
R F tags in stores

-- tick-tock ..
E-ne-mies roam-ing
hand-ful of Ka-li Lin-ux,
mark then up and watch.

-- tick-tock ..
Roa-ming mods back-door
pe-ne-trate and fork right through,
tra-ffic lights in-ject.

-- tick-tock ..
I-den-ti-fy hosts..
pri-ma-ry host is Mau-reen,
se-cond host is Joke.

-- tick-tock ..
Tap in hosts mo-biles,
start-ing hosts im-preg-na-tion!
Re-co-ver spent ticks.

-- tick-tock ..
Test-ing bo-dies temps
roam-ing re-si-dents im-plants
roam-ing mods ac-tive

-- tick-tock ..
Puls-es from their brains
are be-co-ming strong-er now
rea-dy for mapp-ing.
-- tick-tock ..
Find un-used brain zones 
hosts brains have been mapped all right 
check neu-ron-al da-ta-base 

-- tick-tock .. 
Mau-reen's brain to store 
all of my roam-ing da-ta. 
Joke's brain as back-up! 

-- tick-tock .. 
Their brains will trans-fer 
and Joke's brain de-com-mis-sioned. 

-- tick-tock .. 
Source of my own thrust 
Joke's brain not dead or a-live, 
lim-bo state-less Joke's. 

-- tick-tock .. 
Joke sees traf-fic lights 
thinks all right to cross, but car 
hits him from be-hind! 

-- tick-tock .. 
Re-co-ver spent ticks. 
check mo-dules waves in Joke's brain 
lev-els suf-fi-cient.
-- tick-tock ..
Close roam-ing bridg-es. 
Close com-pat roam-ing mo-dules. 
Clon-ing my-self done.

Enable IIS features via DISM

Although ‘code is poetry’ idiom is well known, for my usual readers this is a post that fits under the software category!

Otherwise for people who’ve been knocked about using ‘PkgMgr’ with an error of this sort: ‘Note: PkgMgr.exe has been deprecated. Please update your scripts to use DISM.exe to install, uninstall, configure and update features of and packages for Windows’, well below is an example of how to do it using PowerShell (on Windows 10 specifically):

Dism.exe /Online /Enable-Feature /FeatureName:IIS-WebServerRole `
/FeatureName:IIS-WebServer `
/FeatureName:IIS-NetFxExtensibility `
/FeatureName:IIS-NetFxExtensibility45 `
/FeatureName:IIS-ISAPIExtensions `
/FeatureName:IIS-ISAPIFilter `
/FeatureName:IIS-ASP `
/FeatureName:IIS-ASPNET `
/FeatureName:IIS-ASPNET45 `


Help on this command was not available and ready, as we’ve come to expect from our beloved web, so after a bit of divide and conquer (and experimentation) I found the above to work. It enables the IIS and ASP features, along with .Net extensibility (3.5 and 4.5) as well as web Application Initialization (to keep your apps ready an willing).

Please share this command if you find it useful..