Categories
Eclipse

Retrouver le bundle auquel appartient une classeGiven a class, how to retrieve its bundle?

OSGI R4.2 (donc Equinox 3.5) introduit une nouveauté toute bête, mais particulièrement pratique. Il s’agit de la méthode org.osgi.framework.FrameworkUtil.getBundle(Class), qui permet de récupérer le bundle auquel appartient une classe donnée.

Plus précisément, cette méthode vous renverra le bundle qui a servi à résoudre ladite classe, ou null dans le cas où la classe n’a pas été chargée par le Framework (si c’est une classe du boot classpath par exemple…).

Ainsi, dès qu’il s’agira de récupérer des infos comme le numéro de version d’un bundle, ses headers, etc… sans avoir à passer par l’Activator (qui parfois n’existe d’ailleurs même pas…), vous savez ce qu’il vous restera à faire! En outre, qui dit Bundle, dit BundleContext, et cette méthode est donc également un moyen très simple de publier/consommer des services !.. 🙄OSGI R4.2 (thus Equinox 3.5) comes (well, will come, since the spec. is not final yet) with a new simple and handy utility: the org.osgi.framework.FrameworkUtil.getBundle(Class) static method, which allows to retrieve the bundle a given class belongs to.

More specifically, this method will give you the bundle who loaded the given class, or null if the class has not been loaded by the OSGi framework (e.g. if it is a class belonging to the boot classpath…).

Thus, whenever you want to access information such as the version of a bundle, its headers,  etc. without having to query its Activator (perhaps you don’t even have an Activator for this bundle…), you know what you’ve got to use! Of course, whoever says Bundle, means BundleContext, and this handy helper is also very convenient to easily publish/consume OSGi services on behalf of the bundle… 🙄

Categories
Eclipse

Hello, Planet Eclipse!Hello, Planet Eclipse!

C’est décidé, je commence à blogger de façon bilingue, et rejoins Planet Eclipse! 😀

Après trois ans d’activité dans la communauté Eclipse et presque deux ans de “blogging” (pas toujours de façon régulière…) en français, je me lance (et j’en profite pour changer de thème WordPress !) 😉

J’essaierai autant que possible d’écrire mes posts en double, donc pour ceux qui tiennent à continuer à suivre le fil “français”, il n’y a rien à changer au niveau de votre agrégateur RSS… Pour les autres, abonnez-vous à http://feeds.feedburner.com/benjamin-cabe_en !

Et pour ceux que ça intéresse, vous pouvez également me suivre surtwitter!After about 3 years of activity in the Eclipse community, and about 2 years of –not always…– regular blogging in French, I’m finally ready to join Planet Eclipse and start sharing with the community! 😉

I’m interested in many topics, thus expect posts about PDE, OSGi, Modeling (EMF, xText, …), Continuous Integration, e4 , etc. etc. 😎

See you soon and, by the way, you can also follow me on twitter!

PS: kudos to the author of the excellent  qTranslate WordPress “multilingual” plug-in, which will hopefully allow me to keep my beloved french readers!

Categories
Eclipse

Icônes EclipseEclipse Icons

eclipse-iconsI just found this useful link which gathers ALL the Eclipse Ganymede icons, in one and easy to browse place. It also provides  OpenOffice icons (needless to say they are way less cool! 😉 ).

Also, for everyone looking for a way to automatically retrieve all these icons, the following script does a huge par of the job since it automatically fetches the icons from the most icon prolific Eclipse projects directly from the eclipse.org CVS:

 #!/bin/sh
CVSROOT=:pserver:[email protected]:/cvsroot/eclipse
export CVSROOT
mkdir -p eclipse
cd eclipse
cvs -q co org.eclipse.debug.ui/icons
cvs -q co org.eclipse.pde.ui/icons
cvs -q co org.eclipse.jdt.ui/icons
cvs -q co org.eclipse.vcm.ui/icons
cvs -q co org.eclipse.team.ui/icons
cvs -q co org.eclipse.ant.ui/icons
cvs -q co org.eclipse.help.ui/icons
cvs -q co org.eclipse.ui/icons
cvs -q co org.eclipse.ui.views/icons
cvs -q co org.eclipse.ui.console/icons
cd ..
rm -f ~/public_html/eclipse-icons.zip
find eclipse -name "*.gif" -print | zip ~/public_html/eclipse-icons.zip -@ 

At last, one of my favorite generalist icons directory is probably http://www.iconlet.com. It will let you search for an icon by keyword, of course, but will also tell you whether the icon is free or not, and under which license it is available if need be… 🙂eclipse-icons Je viens de tomber sur ce site bien pratique qui regroupe TOUTES  les icônes d’Eclipse Ganymede en un seul endroit, facile à parcourir. A noter qu’ils proposent également les icônes d’OpenOffice (qui sont d’ailleurs particulièrement moches).

Pour ceux qui sont à la recherche d’un moyen de récupérer facilement les icônes en question en une seule fois, le script suivant peut vous dégrossir le travail, en aspirant les icônes des projets Eclipse qui en contiennent beaucoup, directement depuis le CVS:

#!/bin/sh
CVSROOT=:pserver:[email protected]:/cvsroot/eclipse
export CVSROOT
mkdir -p eclipse
cd eclipse
cvs -q co org.eclipse.debug.ui/icons
cvs -q co org.eclipse.pde.ui/icons
cvs -q co org.eclipse.jdt.ui/icons
cvs -q co org.eclipse.vcm.ui/icons
cvs -q co org.eclipse.team.ui/icons
cvs -q co org.eclipse.ant.ui/icons
cvs -q co org.eclipse.help.ui/icons
cvs -q co org.eclipse.ui/icons
cvs -q co org.eclipse.ui.views/icons
cvs -q co org.eclipse.ui.console/icons
cd ..
rm -f ~/public_html/eclipse-icons.zip
find eclipse -name "*.gif" -print | zip ~/public_html/eclipse-icons.zip -@

Enfin, de manière générale, le site http://www.iconlet.com peut vous être d’un grand secours. Il permet de rechercher par mot-clé  des icônes et images libres, et d’en connaître instantanément la licence… 🙂