Developer blog

Friday, March 09, 2007

Article

My article was published on the IBM developerworks site here. It took me a long time to create it and now it was finally published.

Sunday, July 16, 2006

Cerificate

Recently I have finally got my shiny new Linux Institute Proffesional Level One Certificate by email. No I am Linux user with certificate :).


Certificate itself


Stuff which goes with cerificate

Wednesday, March 22, 2006

Geronimo

Now I develop some application for WebSphere Application Server Community Edition. Actualy WASCE is
Geronimo Application server that was changed by IBM guys. One of my main task was to make jakarta-slide application work on WASCE. And I got a lot of problems with it.

First problem I met, was geronimo web.xml handling. Jetspeed has clear header in the begining of web.xml

<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">


So it shoud be validated with http://java.sun.com/dtd/web-app_2_3.dtd, but Geronimo complitly ignores this header and always uses XSD file from 2.4 servlets specification verison. So it was necessary to make some changes in slide web.xml file to make it work on Geronimo.

After makeing some changes in slide web.xml slide was successfuly started on my WASCE. But when I tried to enable security I got more problems. First of all http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd does not allow to set security contraints for HTTP-Methods except standard HTTP-methods like POST and GET. But jakarta-slide is WebDAV implementation and WebDAV is HTTP-extension so it uses some not standard HTTP-methods. To solve this problem I just commented this part of web.xml out. And then I got this

15:43:58,132 ERROR [CoyoteAdapter] An exception or error occurred in the container during the request processing
java.lang.IllegalArgumentException: Invalid HTTPMethodSpec
at javax.security.jacc.HTTPMethodSpec.(HTTPMethodSpec.java:114)
at javax.security.jacc.WebUserDataPermission.(WebUserDataPermission.java:84)
at org.apache.geronimo.tomcat.realm.TomcatGeronimoRealm.hasUserDataPermission(TomcatGeronimoRealm.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:428)
at org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:262)
at org.apache.geronimo.tomcat.valve.PolicyContextValve.invoke(PolicyContextValve.java:50)
....


So Geronimo Login Module checking my HTTP request for correctness and when hi finds some not standard HTTP-method it just throws this exception. I spend a lot of time tring to configure WASCE to use another classes for Login module, but did not succeed. Solution was to servlet security filter similar to this one Security Filter instad of using J2EE authorethation. It not realy good workaround, still it works.

Thursday, February 23, 2006

Eclipse platform

I'm using Eclipse as main IDE for two years. But recently I got project to develop plugin for this platform. Now I can say, that I know Eclipse not as user, but as developer. The main concept of Eclipse platform is "Everything is plugin". Eclipse itselt is platform and not IDE, but in stadard package you get a lot of Java plugins.

I'm working on some article about Eclipse right now. May be it will be on Developer works soon. And may be not :) We'll see.

Wednesday, November 30, 2005

EMF model generation

Yesterday I tried to use Eclipse EMF plugin and generate some model from XSD file. I got official library.xsd file from EMF developers and fresh new emf release version. When I tried to generate model, I have got this NullPointerException. I spent about four hours installing different versions of eclipse and different versions of EMF pluging before I mention this paragraph about this problem in XSD generation tutorial.

It is well known problem, and main problem is in this sun jdk 1.4.2! Damn, I didn't see this coming.

Sunday, October 30, 2005

Junit

When I first met Junit, I loved it. Well at least I loved how it integrated in my eclipse. But after some time we spent together I found some annoying things about it.
First of all I do not like class TestResult. You see it is not bean compatible, so if you will try to use it with jstl or struts tags you'll get some problems. And TestResult is using class Vector inside so it is not realy good thing about it.
The second thing in JUnit I do not like is TestRunner and stuff. Problem is that I did not found a way to made some test-tree presentation with it. You see there are this TestLisner interface that allows you to ovveride

void endTest(Test test)
A test ended.
void startTest(Test test)
A test started.


I have some nice test-tree, it means that there was some main TestSuite that contained some other TestSuite instances and so on. In the end there was TestCase instances that contained some real tests. Every TestSuite had his own name, so I had intesion to show some nice test-tree presentation of tests running. What I found when I created my own TestListener realisation is that it do not deal with TestSuites it works only with TestCases. So if you want to have test-tree presentation you need to write your own TestRunner.

Wednesday, October 05, 2005

Eclipse & Emacs keys

I have some experience of using Emcacs in the past. So I get used to use Emacs keys like ctrl-A/E,
ctrl+space, ctrl+P/N/F/B etc. Now when I am using Eclipse 3.1 in my daily work, it is not realy sutable fpr my finger to use arrows naviigation in editor instead of Emacs ctrl-N/P etc keys. So I have desided to use Emacs-keys in Eclipse configuration. I should say it not so easy. First of all, almost all eclipse plugins do not support this key-schame. For example in some sitations alt-w works like call "eclipse menu item". Some key works not "exectly" like in emacs and just similar.
Still, I am not "Real Emacs User", I'm just used it somewhere in my past.