Rodiq » Archive of 'Jan, 2008'

Subreports in jasper (without sql)

I had to create a report having two detail sections, having both the same datasource. The solution was to create a subreport included in the initial report.

For it to work:

The subreport

- I created a subreport having as initial dimensions exactly the size of the rectangle where the subreport is added in the report, and with 0 margins.

- in the subreport I used the same field names as in the report

Including the subreport in the main report

In the initial report, the subreport is received from the application as a parameter. Also the datasource for the subreport is received from the application as a parameter. Like this, I avoided writing sql in the subreport.

<parameter name=”ProductsSubreport” isForPrompting=”false” class=”net.sf.jasperreports.engine.JasperReport”/>

<parameter name=”datasource” isForPrompting=”false” class=”net.sf.jasperreports.engine.data.JRBeanCollectionDataSource”/>

And it is added like this in the main report:

<band height=”50″ isSplitAllowed=”true” >
<subreport isUsingCache=”true”>
<reportElement
x=”0″
y=”0″
width=”495″
height=”50″
key=”subreport-1″
positionType=”Float”/>
<dataSourceExpression><![CDATA[$P{datasource}]]></dataSourceExpression>
<subreportExpression class=”net.sf.jasperreports.engine.JasperReport”><![CDATA[$P{ProductsSubreport}]]></subreportExpression>
</subreport>
</band>
Using iReports:

subreport common

subreport tab

subreport other tab

Running report and subreport in the application:

//filling the bean collection and the parameters for the main report

Collection beanCollection = oferteManager.getOfertaPrintabilaBeanCollection(oferta);
Map parameters = oferteManager.getOfertaPrintabilaParameters(oferta, null, user);

//the subreport datasource parameter in this case is the same bean collection as for the main report

parameters.put(“datasource”, new JRBeanCollectionDataSource(beanCollection));

//the subreport is loaded from classpath and sent as a parameter to the main report
InputStream productsStream = getClass().getResourceAsStream(“/ro/nit/vanzari/oferte/Products.jasper”);
JasperReport subreport = (JasperReport)JRLoader.loadObject(productsStream);
parameters.put(“ProductsSubreport”, subreport);
//exporting the main report (this code is the same, even without a subreport):

JasperPrint jasperPrint = JasperFillManager.fillReport(ofertaStream, parameters, new JRBeanCollectionDataSource(beanCollection));
JRPdfExporter exporter = new JRPdfExporter();

//the fontmap is usefull for styled text in textfields

Map fontMap = new HashMap();
fontMap.put(new FontKey(“Arial”, true, false), new PdfFont(“Helvetica-Bold”, “Cp1252″, false));
fontMap.put(new FontKey(“Arial”, false, true), new PdfFont(“Helvetica-Oblique”, “Cp1252″, false));
fontMap.put(new FontKey(“Arial”, true, true), new PdfFont(“Helvetica-BoldOblique”, “Cp1252″, false));

exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, output);
exporter.setParameter(JRExporterParameter.FONT_MAP, fontMap);

exporter.exportReport();

Statistici reparatii

Promiteam mai de mult o sinteza a cheltuielilor legate de reparatii (renovare completa ap. 2 cam):

Cum o poza face cat o mie de cuvinte:

centrii de cost

Si daca va intrebati care mai este raportul manopera/materiale:

manopera vs materiale

Alte statistici:

- durata totala: 30 oct – 10 dec

- electrica: 6 zile (echipa formata din 2 oameni)

-zugravit: 14 zile (echipa formata din 2 oameni)

-montat usi: 2 zile (echipa formata din 2 oameni)

-parchet: 4 zile (1 om)

-sanitare: 7 zile (1 om)

Costurile cu manopera au o constanta: ziua lucru / om aprox 150-200 RON (1.5 – 2 milioane). Cost total de renovare: 200 EUR/mp!

Tips & tricks:

- ordinea: sanitare, electrica, zugravit cu montatul usii de la intrare, montat usi interior, refacut parchet, geamuri (ideal spre sf zugravelii)

-bottlenecks: progamarea echipelor in avans astfel incat imediat ce o echipa termina, alta incepe. la materiale: geamurile pot dura luni pana sunt gata, usile cel putin o luna, cada e bine sa fie luata din timp, gresia+faianta ff greu de gasit pe stoc, usa de la intrare: 2 saptamani, plinta de parchet masiv am cautat vreo 3 zile.

-de ce decizii am fost f multumita:

inainte de inceperea lucrarilor: demontat plinte, montat in strat dublu folie de plastic peste parchet,

electrica: peste tot prize duble :) + schimbat si cabluri inainte de contoar (am facut cerere sa schimb contoarul mai tarziu, cand echipa de electricieni se apucase de treaba). ingropat in perete cablu tv si telefon, definirea zonei de gadgeturi (telefon wireless, router wireless) cu priza si siguranta separata – am scapat total de firele de prin casa.

zugraveala: alegerea echipei de zugravi

usi: usa glisanta, usi cu geamuri mari pt a avea lumina naturala din camere spre holuri.

geamuri: glafuri late la interior, toate si oscilobatante, plase de tantari

parchet: palux, nu ecologic. mai nou mirosul dispare in max 2-3 zile, si este mult mai rezistent, si imi si place mai mult nuanta.

sanitare: cada zidita, schimbat tevile comune cu vecinii, pastrat caloriferele de fonta, tevi orizontale schimbate la calorifere, vopsit caloriferele in spate (demontate)
ce as face altfel:

- chit de rosturi murexim

- gurile de ventilatie inlocuite cu vizitari (astfel incat maj timpului sa fie inchise etans) – sa nu stiu tot ce gatesc vecinii…

- finisaj pereti pana la podea (da mai multa libertate alegerii modelului de plinta)

La ski in Austria

Acum 2 ani am skiat pentru prima data, in Azuga, si a fost foarte frumos. Ca de obicei, in ultima zi, mi-am dat drumul la vale, si mi-a placut la nebunie. Iarna trecuta insa, am tanjit foarte tare dupa zapada care nu a venit, si desi prietenii s-au gandit sa mergem in Austria unde sigur e zapada, a fost un gand intarziat – deja era totul plin. Asa ca in octombrie am fost intrebata daca sa ma numere la rezervari si nu am avut nici o ezitare! Am mers pe incredere – prietenii skiaza f bine, mai fusesera acolo acum 2 ani si cunosteau bine zona, vazusem pozele de atunci si erau de vis.

Acum, cu mult regret, vacanta este gata, a fost tare tare frumos, si sper sa ma intorc cat mai curand.

Au fost 9 zile de ski in Zillertal, si cu drumul 2 zile dus, 2 zile intors, doua saptamani minunate.

Sa incep cu inceputul. Urma sa plecam la 7, dar apoi am zis pe la un 9-10, pe la 10:30 eram in masina si la 12:00 ieseam de la mac din militari. Drumul bine stiut de altii, eu il parcurgeam pt prima data: Bucuresti, Pitesti, Rm. Valcea, Sibiu, Deva, Arad, Nadlac, Szeghed, Budapesta (pe centura), spre Viena. Opriri rare si scurte la benzinarii mari, doar in caz de necesitate. La granita cu Ungaria ne-au cerut doar buletinele – singurul control de pe tot drumul, am avut un pic noroc (masina era burdusita cu sarmale, carnaciori, telemea si alte bunatati de pe la noi). Dupa 30 de minute pe sosea respectand restrictiile de viteza, se ajunge pe autostrada si de aici totul e mai simplu. E tare bun Gps-ul – vocea suava, mai ales la intrarile pe autostrada, care sunt destul de imbarligate. Desi nu e tot timpul de incredere, o mai da si ea (vocea) in bara din cand in cand.

ramsau hipach

Seara la 1-2 eram aproape de granita cu Austria, la hotelul Paprika nu mai aveau locuri, iar parcarile erau pline numai de masini de bucuresti. Una mai fitoasa decat alta. Ne-au zis sa mergem prin satele din jur, si din hotel in hotel, am gasit undeva ultimele 2 camere. O noapte la un hotel pe drum e aproape inevitabila, din pacate nu se stie niciodata cum e traficul, cat se sta la vama, asa ca nu am putut rezerva din timp. Secretul unui somn bun: rucsacel special pregatit pt noaptea de pe drum, cu tot ce trebuie.
Dimineata la 10 eram din nou pe drum, imediat inainte de Viena ne-am oprit la cumparaturi la un Factory Outlet la Pandorf, un mare complex comercial in mijocul campului, o insirurie fara sfarsit de magazine de firma – moment foarte bun sa imi iau o geaca de ski cu adaos comercial minim (un pret ok este 100-150 eur, in nici un caz 250-400 cat costa in statiunile de ski). Apoi am ocolit Viena pe centura si am luat-o in directia Salzburg. Pt zona Zillertal, directia Linz, Graz. Autostrada la un moment dat ocoleste muntii prin Germania si apoi am reintrat in Austria (un mic panou pe marginea drumului ne aduce aminte ca am intrat dintr-o tara in alta).

Pe la 7 – am ajuns la Ramsau Hippach, destinatia noastra – la o mica pensiune intr-un satuc din Zillertal, linistit, dar aflat la distante egale de toate capetele vaii. Cu totul cam 1600 km din care o treime din km si marea majoritate a timpului prin Romania. Am pariat cand va fi autostrada Bucuresti – Nadlac, scorurile sunt intre 5 si 10 ani :(

Dintre variante economicoase de cazare (vila intreaga – dar eram cam putini, sau apartament mare cu multe dormitoare), fiind tare plin de Craciun si Anul Nou, s-a mers pe varianta camerelor duble, iar una din camere, cu living si bucatarie complet echipata. Conditii foarte ok, avand in vedere sezonul, si tarifele. Cu mare aproximatie, un pret ok este intre 20 si 30 eur per noapte per persoana. Cu rezervare din octombrie, si deja era cam totul full atunci.

gazda noastra

Un pic despre skiul in austria. Pe valea raului Ziller – o vale destul de larga si plata, pe la 600 m altitudine, sunt o multime de statiuni de ski (Zilertal Arena, Gerlos, Mayrhofen, Hintertux etc.), din fiecare statiune se ia telecabina pana pe la 2000 si odata ajuns sus, se pot lua alte teleskiuri, telescaune si telecabine catre partii situate intre 1600-2600 m altitudine. De multe ori retelele de piste ale unei statiuni se unesc sus cu retelele statiunii invecinate. O statiune poate avea si 150 km de partii. Mergeam cate o zi sau doua in fiecare statiune, si apoi mai variam. In capul vaii este ghetarul Tux, la peste 3000 m altitudine – acolo se schiaza si vara, sau daca nu e zapada in alte parti – insa atunci e foarte aglomerat, iar in general e un pic mai frig. Cateva detalii de finete: in austria exista asigurare pt ski, cum exista rca-ul pt masini. Daca lovesti pe cineva pe partie, din vina ta, esti pasibil sa platesti factura – de aici si nevoia de asigurare. Ca o regula generala, cei care vin de sus sunt de vina ca nu i-au ocolit pe cei care erau mai jos de ei.

In prima dimineata ne-am luat din cea mai apropiata statiune skipass-ul. Skipass-ul e o cartela magnetica, valabila un numar de zile (cam 20-25 eur per zi, in functie si de nr de zile). O data cumparat skipass-ul pt toata valea, l-am pus intr-un buzunar exterior, la intrarea la teleskiuri nici un trebuie scos, doar te apropii un pic cu buzunarul de senzor si auzi bip-ul ca poti sa treci. Skipass-ul tine si loc de abonament la autobuzele de ski, si cred ca si de bilet pt trenuletul cu aburi, care traverseaza valea. Iar la sfarsit se pune in aparate de colectare, care iti dau inapoi 2 euro – garantia pt cartela magnetica. Dupa skipass, mai trebuie inchiriat (sau cumparat) echipament (daca nu exista deja). Cum inchiriatul e mai ieftin pe perioade mai lungi, e bine de stiut de la inceput ce echipament se inchiriaza, si ce se cumpara. De cumparat se poate de la outlet-uri de ski. O pereche de clapari ok incepea de pe la 100 eur, iar una de ski-uri de pe la 300. Inchiriatul echipamentului complet pt 7 zile era pana in 90 eur – varianta de calitate medie (exista echipamente pt beginner, mediu si vip)

pe partie

Mai scumpe un pic orele de training – dar socotind cat costa tot restul, parca e mai bine sa inveti mai repede. Existau fie lectii particulare (1, 2 sau 3 persoane), fie pe grupe (o grupa are aprox 10 oameni). O zi de ski cu monitor – ei prin o zi inteleg 2 ore jumate – pt 3 oameni a fost 150 eur, deci 50 eur / persoana. O lectie in grup incepea de la 40 eur / persoana pt o zi si pretul o devenea mai rezonabil daca se cumparau mai multe zile. Per ansamblu, a meritat, monitorul ne-a invatat ok, si am simtit ca am progresat destul de mult.

A doua zi, deja eram pe cont propriu. A fost un pic mai complicat, pana m-am lamurit cum merg lucrurile. La telecabina se gaseste harta partiilor, care e buna de studiat. E gratuita si e bine sa fie tot timpul in buzunar. Partiile sunt albastre (pt incepatori), rosii (pt skiori medii) si negre (pt avansati). Ar fi fost bine sa retin exact si ora la care pleaca ultima telecabina jos de pe munte – foarte devreme, imediat ce incepe sa se intunece. Aici ei nu stau la discutii, ai ramas pe munte, te cari jos cu skiurile pe umeri, de multe ori nu e zapada sa cobori pe skiuri si nici panta nu e foarte domoala. In prima zi am fost f aprope de a atinge performanta – mai ales ca dura ff mult pana sa cobor o partie, nu mai skiasem de mult. De regula, prima coborare dimineata e mai usoara, de incalzire, apoi se poate merge la partii mai grele si/sau mai lungi. Cele mai solicitante e bine sa fie coborate pana in pranz sau imediat dupa pranz, iar la sfarsit, tot pe partii mai usoare si mai scurtute. Ca o completare: bocancii se pot lasa fie la masina, fie daca se merge cu skibuss-ul, exista sus la telecabine un “Depot” unde se pot lasa bocancii aruncati pe un raft pana seara, free of charge.

pe ghetar

Echipamentul de ski inchiriat este destul de bun calitativ, insa e bine sa fie deja, si de buna calitate: manusi de ski, ochielari de ski (sunt esentiali cand ninge sau si mai rau viscoleste), pantaloni si geaca de ski, o bentita din polar care sa acopere urechile sau o caciula, depinde cat de friguros e fiecare, sosete inalte si eventual un pic mai groase (si multe, pt o vacanta mai lunga). Pt geruri mai serioase, si o cagula sau o masca pt fata nu strica. Manusile trebuiesc purtate tot timpul, chiar daca e cald, la cadere fara manusi, se poate zdreli mana. Eu am mers pe varianta cu 3 straturi: helanca din bumbac 100% cu guler, apoi un polar si deasupra geaca de ski. Cel mai comod este fara rucsacel, cu un portofel care sa incapa in buzunarul de la geaca si mobilul si cam atat. Pt grupuri mai mari, e tare bun un set de statii, mai ales daca bat un pic mai departe.

Totul foarte frumos, dimineata mic dejun de voie la pensiune, la pranz autoservire la cabana – mancarea delicioasa, si deloc scumpa – un pranz constitent pe la 7-10 eur, seara ori din mancarea adusa de acasa, ori iesit la restaurant – se mananca extraordinar pt 15-20 eur, mancare buna si portiile sunt ff mari.

furtuna de zapada

Dupa cateva zile m-a prins din urma oboseala, si am luat o zi de pauza. Aici am regretat ca nu am avut nici un fel de pregatire fizica inainte de vacanta, macar un weekend sa fi mers in ro la ski, sa ma mai dezmortesc. Sau un pic la sala cu niste stepper. Sau macar niste genoflexiuni (asa vreo 100 dimineata, 100 seara, cu o saptamana inainte, ar fi fost tocmai bine). Am cumparat de la farmacie de acolo niste gel gen fastumgel / reparilgel / bengay – cu parere de rau ca nu am avut inspiratia sa iau de acasa. Si niste aspirina a prins ff bine seara, pt febra musculara. Minunatele gume de mestecat wrigley au tinut raceala deoparte. Seara am fost la Insbruck, doar la o ora distanta, o experienta minunata.

Dupa o zi de somn, cu forte proaspete, am revenit pe partie. Vreme superba, soare, creste de munti, muzica tirolleza, o multime de viener snitzel si prajituri in crema de vanilie. Un vis. Am ajuns si sus pe ghetarul Tux. Btw, pingunul Tux (tuxulica pt cei apropiati), din tux racer, de acolo din zillertal vine :) – am aflat si eu de curand.

soare printre nori

In ultimile zile a nins ca in povesti. Drumurile perfect dezapezite, indiferent de cantitatea de zapada cazuta peste noapte, dar cauciucurile de iarna sunt totusi un must, sunt si serpentine. Am fost in mai toate statiunile din vale, iar in ultima zi ne-a prins super ninsoare, nu se mai vedea mai nimica, destul de frig, viscol, dar extraordinar. Sus pe munte la cabana am baut un nesscafe cu frisca de care imi aduc si acum aminte. Pt prima data, am coborat si eu muntele pe skiuri. Toata lumea inghetata si cu zambetul pana la urechi, plina de viata: “It’s a fuckying snowstorm! LOL”

Revelion mai potolit, si pe 1 pe la pranz am tulit-o. La 12 fix a plecat masina, pe la 6 seara am iesit din austria, pe la 10 din ungaria (la fel, doar s-au uitat la buletine), iar la 12 ne-am cazat la o pensiune intre arad si deva. Drumul bun, ninsese doar un pic, fara nameti, asfaltul curat. Dimineata la 10, din nou la drum, cazuse un strat subtire de zapada peste noapte. Drumul gol, nici urma de tiruri, doar un pic de ambuteiaj la intrarea in Pitesti si la intrarea in Bucuresti. La 7 seara eram acasa. Dimineata cand am vazut muntii de zapada de pe geam, mi-am dat seama ca am avut un pic de noroc la drum.

inghetate

p.s. Am gasit intr-un ziar austriac portretul robot al romanului (anul acesta suntem cea mai numeroasa nationalitate pe partii in austria): vine nu neaparat sa skieze, cheltuieste mult, pierde mult timp in magazinele din Insbruck, bea mult, si la restaurant si acasa.

Facts and figures si poze superbe: la neatza.com

Installing Ubuntu 7.10 Gutsy Gibbon on Dell Latitude D820

Before installing, I made a backup copy of my home and opt directory (later I discovered that etc directory backup would have been nice) on a different partition and on dvd.

The installation went smoothly, almost everything worked from the start (including wireless). After install I found on the desktop (top right) the icon for installing propertary drivers (nvidia) and software updates, the upgrades went smoothly also.

I am just going through the configurations that were a little bit tricky:

- setting 4 workspaces with keyboard shortcuts: went to System->Preferences->Appearence and disabled visual effects, then right clicked on the workspaces in the right bottom corner of the desktop and set the number of workspaces, then to System->Preferences->Keyboard Shortcuts and I found in the menu all workspaces, after setting shortcuts, I reenabled visual effects (there is a bug/problem with setting workspaces shortcuts when visual effects are on)

- installation of Flash plugin did not work automatically (from browser), I had to download it from the Firefox Extensions page and run it manually in a terminal, the old fashion way.

- microphone: in Skype did not work from the start, so I played with Applications->Sound & Video->Sound Recorder and with Volume Control for tests. In the Volume Control Edit->Preferences I checked to view all controls and from Options I selected Input Source Front Mic, I set also the volumes a little higher and everything worked.

- for now Hibernation seems to work

- Suspend did not work from the start, but I used the workaround below. I do not regret passing some time fixing Suspend, as it is almost twice as fast as hibernation:

http://www.len.ro/work/tools/ubuntu-gutsy-on-a-dell-latitude-d820/install-gutsy/

Shortly, I added in file /etc/X11/xorg.conf the following line, in the nvidia section:

Option “NvAGP” “1″

And I modified this lines in /etc/default/acpi-support:

# Should we attempt to warm-boot the video hardware on resume?
POST_VIDEO=false

# Save and restore video state?
SAVE_VIDEO_PCI_STATE=false

# Comment this out to disable screen locking on resume
LOCK_SCREEN=false

- I disabled ipv6 module and trackerd, although I did not notice performance issues, as explained here:

http://www.len.ro/work/tools/ubuntu-gutsy-on-a-dell-latitude-d820/what-kills-my-gutsy

and here:

http://www.len.ro/work/tools/ubuntu-gutsy-on-a-dell-latitude-d820/what-was-killing-my-gutsy
Importing previous browser bookmarks: i copied from backedup home directory to new home directory the file: .mozilla/firefox/alphanumeric.default/bookmarks.html

Importing emails from evolution:

I followed this tutorial for importing emails:

http://www.len.ro/work/tools/ubuntu-feisty-fawn-on-a-dell-latitude-d820/install-ubuntu-feisty-fawn-migrate-data

Afterwards, I was getting all the time the message “evolution summary and folder mismatch“, and the workaround(s) (i applied two just to make sure):

 

For those suffering from this problem: A working workaround.

1. Set Evolution to Offline mode, exit evolution

2. Open terminal and run evolution –force-shutdown

3. find ~/.evolution/mail/local/ -name \*ev-summary -delete

4. Re-start Evolution.

Warning: this involves automated file removal which can result in data loss if done incorrectly. I take no responsibilities. Read “man find” to understand what you’re doing.

Step 2 is *essential*.

To avoid further corruption of your Evo folders: Always put it in offline mode before exiting. This avoids the mailcheck ruining the ev-summary files while the folders are being loaded and works around the bug on my system.

And:

cd ~/.evolution/mail
cp -r local local.ORIG
cd local
rm -f $(find . -name “*.ibex.index*”)

I recenlty heard about automatix, a tool for installing packages like mplayer, acrobat reader, windows fonts etc, and I strognly recommand it:

http://www.getautomatix.com/wiki/index.php?title=Installation#Ubuntu_7.10_.28Gutsy_i386.29