Java7 Launch Party @Szczecin

Java7 T-Shirt frontJava7 T-Shirt backSzczecin Java User Group is organizing a Launch Party event for JDK7. There would be a short introduction of new features in Java lanuage and API’s presented by Filip ‘Filus’ Pająk. Filip will be also speaking about Java7 syntax support in popular IDE’s like InteliJ Idea and Eclipse IDE.

As usually on ours meeting there would be drawing of licenses for JRebel and InteliJ Idea. This time we have also cool Java7 T-Shirts for all attendees.

Registration isn’t required but it would be nice if you can join this event on facebook (here you can also find mode details about this event).

Szczecin JUG meetup – Google Guice

I’m honored to invite every one of you to next meetup of Szczecin Java User Group. This time Kazik ‘morisil’ Pogoda will be speaking about Dependency Injection library form Google called Guice. Before getting deep into Guice he’ll explain what exactly DI is. Then we’ll dive into Guice based example application.

This is a first from a series of lectures about Dependency Injection in java by Kazik. The next one will cover Gin, dependency injection library for GWT based on Guice.

If you are interested in those topics feel free to join us 28th of April (more detailed information about time and place you can find on poster above).

A year of my contribution into EGit

Few days ago (exactly 2010-03-16) was a first anniversary of my first contribution into EGit project.  Here is my very simple first patch sent into EGit’s Gerrit. It only replaces some old type loops with for-each loop, this is how it starts … Then I implement a tagging dialog, after that Google Summer of Code 2010 comes during with I was implementing Synchronization View support … and so on.

Now when I’m looking on my ohloh account I’m quite surprised  with my contribution size. Currently it shows 127 commits and almost 18000 code lines changed.  For me those statistics are something that I can be proud of 😉

We’ll see what next year will bring ;>

Android, Eclipse, Maven and (Robo)Guice together?

I’m sure that when you trays automated dependency management and application building/deploying you will never want to abandon this kind of comfort that it gives. The same situation is with dependency injection; when you will get it ideas. In “normal” desktop, web, or server side project’s integrating with such tools like maven and guice isn’t that complicated like in Android projects.
Android tooling is very consistent and the ADT plug-in isn’t integrated with maven. This isn’t a problem when application is relatively small, or when you don’t want to use continuous integration tools like Hudson. But when you enter Android world from “enterprise” web application like I do, you surely would like to use CI, DI and lots more of cool stuff that was available before.

In this post I’ll present simple Android application that will have Maven and Guice support.
Continue reading

EGit Synchornize ChnageSet – implemented!

Finally! I’ve implemented ChangeSet support in EGit! It looks almost the same as I was imagine it before I’ve started coding. The reality and Team API turn out much more complicated then I was thinking of it before Summer Of Code. But hours days of debugging and analyzing code of Team Framework, CVS integration plugin and “Example FileSystem” project finally give me some reasonable results. Apart from code analysis I’ve implemented four or five (I’ve published only two of them 1, 2) different approaches for this problem, all of them had some weakens and issues that latest implementation seams to solve. But now it is unimportant, the most important thing right now is to get this feature merged into EGit as fast as it is possible, another important thing is … the feature list! 😉

Current implementation shows Git Change Set next to “normal change set”. In my humble opinion this should be changed in the feature; Git Change Set view should be set as default view for synchronization for git, because in git we track changes on repository level and cannot import only part of commit. Above Git Change Set we have node that represent repository, if we launch synchronization for more then one repository there would be more nodes on this level. Inside repository node we have list of commits that occurs between two selected points (branches of versions). Every commit is described by text label with contains first 6 characters from commit SHA-1 and first line of commit message. Commits are sorted chronologically, most recent commits are on the top. Inside commit we have list of changes that are associated with this commit. Double click action on file element will launch ChangeEditor window with will display changes that were made between two most recent commits (this one and it parent).

Here is a screenshot how it looks in real world:

It shows list of changes between current HEAD and tag v0.8.4 … from height of scrollbar in Synchronize window we can guess that upcoming 0.9.0 release will contain lots of cool new features and bug fixes 😉 ;>

Currently I didn’t manage display change direction (does it is incoming, outgoing or conflicting) I’ll work on that in nearest feature. Another think that I was unable to achieve is “proper resource handling” eg. displaying java packages as this JDT does, to be honest I don’t know that this is achievable but I’ll try … dome day ;). Next think is context menu and merge/commit/overwrite actions, for now didn’t even think about it, but it also should be done in nearest feature.

What is your opinion about this new feature? Maybe you see something that should be changed, removed or improved? Please, let me know … feedback is strongly appreciated! 😉