Wicket, Hibernate and filters (web.xml)

I guess everybody read about Open Session In View. So, as the jboss guys said there, we need something like SessionRequest filter. No problem with that. I’ve used almost the same code in my application, but I had issues with it.

What happend? Well, sometimes after saving something wicket would block, wait a minute and throw a “After 1 minute the Pagemap null is still locked by:” exception. I’ve read alot about that, but couldn’t find any solution!

Luckly, I found one mailing list, where somebody said that SessionRequest should be defined before WicketFilter (I’ve lost the link, but when I find it, I’ll post it).  Here is how my web.xml looks like now and it worked!

<filter>
 <filter-name>SessionRequestFilter</filter-name>
 <filter-class>com.vuknikolic.SessionRequestFilter</filter-class>
 </filter>
 <filter-mapping>
 <filter-name>SessionRequestFilter</filter-name>
 <url-pattern>/*</url-pattern>
 </filter-mapping>

<filter>
 <filter-name>wicket.patientportal</filter-name>
 <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
 <init-param>
 <param-name>applicationClassName</param-name>
 <param-value>com.vuknikolic.WicketApplication</param-value>
 </init-param>
 </filter>
 

UPDATE: I need to find some plugin for posting source code…

UPDATE 2: Found one source code highlighter, yay!

Advertisement

klopaj! for android

My second application for VIP Android Challenge 1.0. Klopaj! lets you search entire Belgrade for the best restaurants. Just enter type of food, or restaurant’s name or whatever you would like and let klopaj show you where it is. You can comment restaurants, added them to your favorites, love them or not. App is powered by klopaj.com website.

This application also won a HTC Tattoo phone, that I’m currently using :)

988 Helper

988 Helper (originally 988 Pomoćnik) is my first Android application it was created for the VIP Android Challenge 1.0 . I’ve worked on it together with my great friend Milan Delibašić

The point is that somebody calls you, and you don’t have that person/number in your phonebook, 988 Helper will find out who is that person using Telekom Srbija’s 988 service. Simple as that :)

Application won HTC Tattoo phone :D

UPDATE: 988 Pomoćnik has been removed from the android market, because Telekom Srbija’s site has changed. Before taking it off this application had more than 3000 downloads. I’ve very proud of that detail :)

Copie – Network copy/paste

Definitely my favorite school project. I love it so much that I’ve recently shared it with the world. You can find the source code here http://code.google.com/p/copie/

Part of the “Concurrent and distributed programming” course, professor was Zoran Jovanović. The main task is simple: make computers share their clipboards. So if I would copy something, and if you would “paste from” my computer you would get the content of my clipboard (text or file). It was required that was a client application (notepad like) with that special “paste from” option, also a subserver, working on every computer and a main server. Subservers communicate with the main server to find out what other subservers are alive, and the main server keeps the list all of the active subservers.

There is a lot of synchronizing, working with sockets, clipboard… Very interesting, and I’ve learned a lot from it.

It was implemented in pure Java, no additional jar were used. And yes… GUI in netbeans (yup, I love it that much, I mean the GUI builder).

Back in october 2006. But I plan to continue to work on this project (on of the reasons it is @google code)

CPU Simulator

OK, I’m really proud of this one, so beside the school project tag, I’ll label it as a project as well.

It was a part of the “Computer Architecture and Organization” course. I was a part of the team of 5 students (my great friends Marko Mitrović, Marko Ćirić, Jovan Mahaček and David Filipović). We created a Swing based (yup, you’ve guess it, we used netbeans :)) visual simulator of a CPU. Of course, it is an imaginary processor, but it had all the regular parts like registers, memory, buses, flip flops, multiplexers, demultiplexers, coders, decoders etc.

From this point of view, I can’t really imagine how got it to work, with no version control, chatting, project management tools… I could blame our internet providers, and say that we didn’t have no broadband internet. But to be honest, we were aren’t aware of such tools, but we made it work. And surprisingly (almost) after the first try.

Oh yeah, also we had more than 120 pages of required documentation. Good times, great stuff!

That was back in June 2007.