java.net member

Rechercher dans ce site

Showing posts with label Eclipse. Show all posts
Showing posts with label Eclipse. Show all posts

Steps 2 Eclipse Plug-in Ebook

>> 21 August 2015



Note:
This post is updated to include the new download URL

In this tiny ebook, i tried to put every idea, or method used in developing my plug-in for Eclipse XML Parsing in Java Kit, in a step by step tutor fashion, all in details and full of screen shots to demonstrate actions.

Used configuration:
Eclipse 3.6 Helios (Eclipse for RCP and RAP Developers Bundle)
Java SE 6 Update 24 (JDK 6u24)
Linux system (Fedora 14)

Sources:
All sources are included with the plug-in :
here

Download the ebook
here

Steps 2 Eclipse Plug-in Table of Contents
Introduction: 5
Create a Plug-in Project 6
Create a new project 6
Add Java editor templates 11
Add an extension 11
Add an include 13
Select your templates file (in the project) 14
Add Cheat Sheets to the project 16
Add an extension point 16
Add a category for the cheat sheet 18
Adding a composite cheat sheet 21
Give your cheat sheet group a name 24
Adding tasks 25
Attach a simple cheat sheet file to the task 27
Add an Item to the simple cheat sheet 29
Other functions of the editor 31
Preview the task (simple cheat sheet) 32
Preview the whole cheat sheet (composite cheat sheet) 33
Register the composite cheat sheet 33
How to use custom images in the plug-in 36
The Activator class 39
Adding images (or any other resources) to Eclipse cheat sheets 41
Adding an extension 41
ItemExtensionHandler 46
plugin.xml 47
Add the attribute to a cheat sheet 48
Create a new cheat sheet to hold an image 48
cheatsheet_with_logo.xml 51
Test the plug-in 53
Implementing XPath expressions evaluation 56
First build a DOM and get XPath object 56
Evaluate XPath expression and detect its result 57
To modify or not to modify the DOM 58
Modifying the DOM 58
Modifyint a node's name 59
Modifying a nod's value 59
Preparing an HTML stream 60
Display XPath expressions results in cheat sheet 62
xpath_interactive_example.xml 65
Add a menu to the project 66
Add a command to the project 66
Give an ID to the command 68
Add a menu extension 72
Add a contribution to Eclipse menu 73
Adding a view to the project 77
Call XPathEval in the view 84
Open or hide the view using the command's defaultHandler 87
Adding a state to myCommand 87
Internationalization I18N 92
What to translate 92
Location of Translated files 92
plugin.xml 92
Internationalization aware 93
Internationalizing the view name 95
How to test the plug-in with different languages 98
Externalize Strings wizard. 105
Calling the wizard 105
Add any messages_xx.properties for any other languages 111
plug-in fragment 114
Plug-in fragment project 114
Translating cheatsheets 123
Internationalization of templates 124
Tell Eclipse to use internationalization for resources 125
Packaging and Deploying the plug-in and fragment 127
First, verify components to export 127
Package and export 129
Deploying the plug-in (and its fragment) 132

Read more...

Maintenant disponible en français le livre Steps 2 Eclipse Plug-in

>> 20 August 2015

  

Dans ce petit livre, j'ai essayé de mettre toutes les idées, ou méthodes utilisées pour développer mon plug-in pour Eclipse :
Parsing XML in Java Kit.

Le livre, sous forme d'un tutoriel, décrive en détail le processus de développement étape par étape du plug-in, avec plein de captures d'écran, pour appuyer les explications.

Avertissement :
Le livre utilise la version anglaise d'Eclipse (langue par défaut).
Il ne s'agit pas de développer des plug-ins en utilisant une interface en français d'Eclipse, l'interface par défaut étant en anglais .

Téléchargez gratuitement le livre
Cliquez sur le lien

Le code source est disponible avec le plug-in
Cliquez sur le lien

Steps 2 Eclipse Plug-in - Table des matières
Introduction: 5
Création d'un projet de Plug-in 6
Nouveau projet (New Project) 6
Ajouter des templates Java 11
Ajouter une extension 11
Ajouter une action d'inclusion (include) 13
Sélectionnez le fichier des templates 14
Ajouter des Cheat Sheets (feuilles de triche) au projet 16
Ajouter une extension 16
Ajouter une catégorie de cheat sheet 18
Ajouter une cheat sheet composite 20
Ajouter un nom du groupe de la cheat sheet 24
Ajouter des tâches 25
Ajouter un fichier simple cheat sheet à une tâche 27
Ajouter une étape à la tâche 29
Autres fonctions de l'éditeur 32
L'aperçu d'une tâche (simple cheat sheet) 34
Aperçu d'une cheat sheet composite 35
Déclarer la cheat sheet composite dans le plug-in 35
Utiliser ses propres images dans les plug-in d'Eclipse 38
The Activator class 41
Ajouter des images (ou autres ressources) dans des
cheat sheets 43
Ajouter une extension au projet 43
ItemExtensionHandler 48
plugin.xml 49
Ajouter l'attribut déclaré à une cheat sheet 50
Création d'une cheat sheet avec image 50
cheatsheet_with_logo.xml 53
Tester le plug-in 55
Implémenter l'évaluation des expressions XPath 58
Créer un DOM et obtenir un objet XPath 58
Évaluer une expression XPath et trouver le type du résultat 59
Doit-on modifier le DOM 60
Modifier le DOM 60
Modifier le nom d'un nœud 61
Modifier la valeur d'un nœud 61
Préparer un stream HTML 62
Afficher le résultat d'une expression XPath 64
xpath_interactive_example.xml 67
Ajouter un menu au projet 68
Ajouter une commande au projet 68
Ajouter un ID à la commande 70
Ajouter une extension de menu 74
Ajouter une contribution au menu d'Eclipse 75
Ajouter une fenêtre (View) au projet 80
Exécuter la classe XPathEval dans la view 86
Afficher et cacher la view en utilisant defaultHandler 89
Ajouter un état à la commande myCommand 89
Internationalisation (Internationalization) I18N 94
Que traduire dans un plug-in 94
Où mettre les fichiers internationalisés 94
plugin.xml 95
Activer l'internationalisation 96
Internationaliser le nom d'une view 98
Comment tester le plug-in dans de différentes langues 101
L'assistant Externalize Strings. 108
Appeler l'assistant 108
Ajouter des fichiers traduits messages_xx.properties 116
Le fragment du plug-in 118
Créer un projet pour le fragment. (Plug-in fragment project) 118
Traduire des cheat sheets 127
Internationalisation des templates 128
Indiquer à Eclipse d'utiliser des ressources internationalisées 129
Préparer le plug-in et le fragment pour le déploiement. 131
On vérifie d'abord les composants à exporter 131
Conditionnement et export 133
Déployer le plug-in (et son fragment) 136
Lancer Eclipse dans une autre langue : 138

Read more...

Développer pour les mobiles en logiciles libres

>> 24 September 2012


Développeur et passionné depuis toujours de logiciels libres (Free and open-source software ou FOSS), deux logiciels dans cette catégories ont attirés récemment mon attention PhoneGap et JQueryMobile. Pour cette raison, j'ai écrit sur la prise en main de ces  logiciels. Mes articles sont publiés par l'excellent magazine Programmez (le magazine de développement).

Note :
Les captures d'écran sont de Programmez magazine n° 153 et 154
Le site Web http://www.programmez.com/








Read more...

Développez en JSF2 sur JBoss 7 AS avec Eclipse – Partie 6.

>> 17 September 2012

Importer un projet et ajouter des capacités JSF2

 

1.Comment importer un projet JSF2 :

Pour importer un projet JSF (exporté par Export d'Eclipse).
Dans Web Projects (si pas visible Window > Show View > Web Projects) > Un clic sur l'icône Import JSF Project.




Une boîte de dialogue s'ouvre pour entrer un nom Project Name, pour le projet et rechercher le fichier web.xml du projet à importer en cliquant sur Browse. Cochez Create Eclipse project in Workspace.
Un clic sur Next


Attention :
Source Folder est vide par défaut, vous devez le renseigner. Vérifiez bien aussi l'emplacement des classes dans Classes Folder.

Le dossier des fichiers sources est sélectionné. J'ai corrigé ClassesFolder. Un clic sur Finish





















Le projet est importé






 

2.Ajouter des capacités JSF


Pour un projet Web dynamique (mais pas JSF2), il est possible de le transformer en JSF2.

Un clic droit sur le projet en question > Configure > add JSF capabilities

Note :
J'ai un projet, que j'ai appelé projet_non_jsf, contenant des servlets et des fichiers .jsp, etc.


Dans le dialogue qui s'ouvre un clic sur le lien
Further Configuration Available...


Vérifiez Context Root et Content directory (la racine du contenu Web). Je l'ai modifié pour devenir war). Cochez Generate web.xml deployment descriptor > un clic sur Next

Vérifiez que Disable Librray Configuration est sélectionnée. Gardez les autres options > Un clic sur OK


Note :
Si ne vous voulez pas utiliser les bibliothèques JSF2 fournies par JBoss, vous pouvez sélectionnez User Library et indiquez des  bibliothèques JSF2 de votre choix. Voyez un précédent article de cette série sur l’intégration de MyFaces2.

Après avoir validé les bibliothèques, on retourne au dialogue principal > cliquez sur les flèches à côté de custom.

Sélectionnez JavaServer Faces v2.1 Project > Un clic sur OK

Le projet est maintenant prêt pour le support JSF2. Testons

Ajoutez un fichier .xhtml au projet

Clic droit sur le projet > New > XHTML Page

Donnez un nom au fichier avec l'extension .xhtml. Un clic sur Next

Sélectionnez Blank JSF Page > un clic sur Finish pour créer le fichier

Le fichier est ouvert dans l'éditeur actif. Entrez un petit texte et sauvegardez.

Exécutez le projet comme projet JSF2

Clic droit sur le projet Run as > Run On Server


JBoss 7.1 Runtime Server est sélectionné > un clic sur Finish

Et voilà. Le projet est maintenant JSF2.





Read more...

Développez en JSF2 sur JBoss 7 AS avec Eclipse - Partie 5

>> 03 September 2012


Utiliser Apache MyFaces2

Comme nous l'avons déjà vu dans les précédents articles, on peut développer en JSF2 avec JBoss, sans rien installer, car JBoss dispose d'une implantation de JSF2, fournie par défaut. C'est Sun JSF RI ou "Mojarra", l'implantation de référence de Sun (Sun JSF Reference Implementation). Néanmoins, il est tout à fait possible d'utiliser une autre implantation de JSF2, comme Apache MyFaces 2.

Téléchargez MyFaces2

http://myfaces.apache.org/index.html
Commencez par télécharger la version, que vous souhaitez utiliser. Vous pouvez vérifier la signature et md5, comme mentionné sur le site. Dans la suite de l'article
MyFaces Core 2.1.8 est utilisé.





Décompressez l'archive téléchargé. On obtient plusieurs dossiers, nous allons nous intéresser au dossier "lib"

Créez un projet JSF2

File > New > Other




Sélectionnez Dynamic Web Project > Next



Donnez un nom à votre projet, gardez les options Target runtime et Dynamic web module version comme tel (ces options ont été sélectionnées, quand nous avons configuré JBoss AS, dans un précédent article). Un clic sur le bouton Modify


Sélectionnez JavaServer Faces v2.1 Project > Next


Un clic sur Next


Cochez Generate web.xml deployment descriptor > Next


Sous JSF Implentation Library > Sélectionnez User Library
Un clic sur l'icône Manage Libraries



Dans le dialogue User Libraries > Cliquez sur le bouton New...



Donnez un nom à la bibliothèque > un clic sur OK


Un clic sur le bouton Add External JARs...


Note :
Il est possible et selon vos besoins de d'utiliser Add JARs...,  après avoir copié les bibliothèques sous WEB-INF/lib.

Dans le dossier "lib" résultant de la décompression de l'archive MyFaces, on sélectionne soit
myfaces-api-2.1.8.jar et myfaces-impl-2.1.8.jar ou bien myfaces-bundle-2.1.8.jar
, plus le reste des fichiers .jar dans le dossier.


Un clic sur OK


La bibliothèque utilisateur est ajoutée, cochez sa case


Vérifiez les autres options > un clic sur Finish



Ouvrez web.xml dans l'éditeur actif en double cliquant sur web.xml dans le dossier WEB-INF

Ajoutez les lignes suivantes :
 <context-param>
  <param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name>
  <param-value>true</param-value>
 </context-param>

Notez au passage que JBoss Tools a bien configuré le fichier web.xml pour l'utilisation de MyFaces 2.



Testez le projet

La configuration du projet étant terminée, faisons un petit test
J'utilise les mêmes composants JSF2 que nous avons développés, lors de précédents articles.

Sélectionnez le projet qu'on vient de créer > clic droit > Run As > Run on Server


JBoss 7.1 Runtime Server est sélectionné > Next



Vérifiez que le projet avec MyFaces 2 est dans la liste > Finish


JBoss AS Server est lancé avec MyFaces 2 et l'application est exécutée


Read more...

Développez en JSF2 sur JBoss 7 AS avec Eclipse - Partie 4

>> 27 August 2012


Un Projet JSF2 complet, avec l'interface visuelle de JBoss Tools

Dans les précédents articles, nous avons vu, comment installer JBoss AS, et le configurer pour la création d'un projet JSF2, sous Eclipse. Dans cette partie nous allons ajouter des composants pour arriver à un projet complet (très simple),  de JSF2 (Java Server Faces 2), composé de fichiers .xhtml et d'une classe bean.

Note :
Après une installation d'Eclipse JUNO et une mise à jour du JBoss Tools pour cette version d'Eclipse, les exemples semblent marcher sans aucun problème.

Projet JSF2

Un projet JSF2 peut être composé simplement de fichiers .xhtml pour la vue et des classes .java (beans), pour les données et le logique métier (model). L'ensemble de fonctions et navigations est assurés par l'implantation de JSF2. Il est à noter l'existence d’autres parties, comme les Converters, Validators, et autres, formant une framework très complète.

JBoss Tools, l'interface graphique

JBoss Tools dispose de beaucoup de fonctions pour assister le développeur. Nous verrons uniquement les plus basiques dans cet article.

JBoss Tools est doté par exemple d'une palette graphique permettant d'ajouter des composants JSF2 standards (et autres) à une page .xhtml, par un simple clic.
Il est aussi possible d'utiliser JBoss Tools pour une édition assistée des autres parties d'une application JSF2, comme les Managed Beans, Converters, Validators, etc.
La navigation entre pages .xhtml est assurée par une interface graphique aussi.
Etc. Etc.

Continuons le projet

Changeons d'abord de perspective (si ce n'est pas déjà fait) Window > Open Perspective > Web Development.

Note :
Commencez par ajouter une balise form de la palette. On l'oublie vite !

Ajoutez un composant

JBoss Tools est doté d'une palette graphique riche contenant des composants JSF2 standards (et d'autres), groupés par catégories. Il suffit pour ajouter un composant de cliquer sur la palette, entrer les options d'un composant (nom, id,..). Quand vous cliquez sur le bouton Finish, pour terminer, le composant est ajouté dans la page .xhtml ouverte dans l'éditeur quand l'onglet Visual/Source est sélectionné. Les autres onglets permettent de voir le source ou d'avoir un aperçu de la page Web.

Un clic sur la palette catégorie JSF HTML > sélectionnez outputText > dans le champ value > entrez un message, par exemple "Entrez votre nom". Avant de quitter la boîte de dialogue > un clic sur le champ style, ouvre un dialogue pour le style CSS > Quand vous terminez le style > OK

Note :
Un composant outputText, sert simplement à afficher un petit texte.




Un clic sur Finish pour ajouter le composant dans la page.



A tout moment on peut utiliser la barre graphique.



Ajoutez une classe bean.

JBoss Tools est doté d'un assistant permettant d'ajouter, éditer, et modifier les classes Java utilisées comme beans. Il permet aussi, d'ajouter, éditer et modifier leurs propriétés.

Pour ajouter une classe bean, sélectionnez l'onglet Tree > Managed Beans dans l'interface d'édition de JBoss Tool (si l'interface n'est pas visible, double cliquez sur faces-config.xml dans Project Explorer)

Scope (1) est la portée de la class, comme request, session, etc.
Le lien Class(2) permet de lancer un dialogue pour ajouter une nouvelle classe Java Name(3) est le nom donnée au bean (pas le nom de la classe)

Note :
Un clic sur Finish ou Next après avoir entrer le nom de bean et de la classe , la case Generate Source Code étant cochée, permet de générer sans ouvrir la boîte pour personnaliser la classe.




Un dialogue est ouvert pour personnaliser la classe
Un clic sur Finish ajoute la classe dans la partie Managed Beans



La classe est créée et ajoutée à l'interface, sous la rubrique ManagedBean



Un clic sur Add, sous Properties, ouvre une boîte pour entrer une propriété de bean



Note :
Le lien Property Class(2) ouvre un wizard pour créer une classe. Dans le cas présent la propriété, est une simple String, donc on l'entre simplement dans le champ (java.lang.String)
Property Name(1) est le nom de la propriété
 ValueKind(3), est la nature de valeur à utiliser.
 Value(4) est utilisée, si vous voulez donner une valeur par défaut.




Note :
Au lieu de String, entrez the fully qualified class name (le nom de classe avec le chemin) : java.lang.String. Sinon au moment de l'exécution vous aurez une erreur



Ajoutez un composant pour la saisie

Un clic sur inputText dans la palette sous JSF HTML dans la boîte qui s'ouvre. Un clic sur les trois point du champ value ouvre une autre boîte > sélectionnez nom (le nom d'une propriété dans la class bean) > un clic sur OK. Cette opération va à la fois ajouter le composant et l'attacher à la propriété de ManagedBean. Vous éviterez ainsi de sélectionner une propriété qui n'existe pas dans la classe.

 Sélectionnez le nom d'une propriété de la classe bean

Le nom de la propriété est associé au champ. Un clic sur Finish
  A tout moment les propriétés d'un composant sont affichées dans Properties. Plus besoin de mémoriser les propriétés d'un composant.

Ajoutons une méthode à la classe Personne

Cette méthode (expression method) va être appelée par une action dans une page .xhtml (un bouton par exemple). La valeur retournée par cette méthode va orienter la navigation, vers une vue, ou page .xhtml précise.

Personne.java
package com.java_javafx.ka;

public class Personne {

    private String nom;
   

    public Personne() {
       
    }

    public String getNom() {
        return nom;
    }

    public void setNom(String nom) {
        this.nom = nom;
    }

    public String result() {
        if(nom==null ||nom.equals(""))
        return "false";
        return "true";
    }

}

Un bouton (h:commandButton) pour lancer l'action 

A partir de la palette de composants, un clic sur commandButton. Dans le champ action, un clic sur le trois points, sélectionnez la méthode qu'on vient d'ajouter > OK. Changer le champ value (titre du bouton) > entrez par exemple Validez > Finish


Encore deux fichiers pour les navigations

De la même manière qu’index.xhtml, on ajoute deux autres fichiers succes.xhtml et echec.xhtml. Si le nom entré dans le champ texte d'index.xhtml est valide on dirige l'utilisateur via un système de navigation vers succes.html, sinon vers echec.xhtml. Les vérifications sont faites dans la méthode result(), ajoutée précédemment.

Note :
La validation au niveau de la méthode d'action est vraiment rudimentaire. JBoss Tools dispose d'outils très puissants pour développer des validateurs.

succes.xhtml
 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets">

<h:head></h:head>
<body>
<h:form>
<h:outputText value="#{personne.nom}">
   
</h:outputText>
</h:form>
</body>
</html>

echec.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets">

<h:head></h:head>
<body>
<h:form>
<h:outputText value="Le nom entré n'est pas valide">
   
</h:outputText>
</h:form>

</body>
</html>

 Création de règles de navigation

Au lieu d'entrer des règles de navigation à la main, JBoss Tools a une interface graphique permettant d'effectuer cette tâche d'une manière visuelle et intuitive.

Double cliquez sur faces-config.xml (si l'interface n'est pas visible) > sélectionnez l'onglet Diagram. Normalement le fichier index.xhtml est affiché (une icône sur la surface de navigation), sinon un clic sur l’icône View Template  (ou un clic droit sur l'espace graphique > New View)
Entrez le nom d'un fichier avec l'extension .xhtml dans From View Id, laissez les autres options par défaut. Nous faisons de même pour les deux autres fichiers (succes.xhtml et echec.xhtml). Si un fichier existe déjà sur le surface graphique, comme index.xhtml, dans l'exemple, un message d'erreur est affiché.


Les 3 fichiers sont là, ajoutons des règles de navigation
Un clic d'abord sur l'icône Create New Connection. Un clic par la suite sur l'icône index.xhtml > on tire la ligne de connexion, quand on arrive sur succes.xhml, on clique, pour terminer le lien.

Note :
Comme tout dans l'informatique, il est toujours possible de faire une seule et unique chose par différentes méthodes. Ici par exemple, il est aussi possible de créer les fichiers d'abord sur le Diagram. Il y a une case Crate File on Disk. De cette manière vous pouvez créer des fichiers .xhtml sans passer par File > New etc.



Fixez les conditions de navigation :

La condition utilisée, et affichée pour chaque lien sur le Diagram, indique le sens de navigation entre deux fichiers (ou vues). Pour modifier cette condition > double cliquez sur la chaîne de caractères sur une ligne (ou lien de navigation).
Une simple condition est testée dans la méthode "result", permettant de retourner "true" ou "false" et orienter la direction vers echec.xhtml ou succes.xhtml selon la valeur retournée.


Lancez le projet

Clic droit sur le projet > Run As > Run on Server > JBoss 7.1 Runtime Server > Finish

Dans un navigateur (Firefox) Tapez l'url suivant :
http://localhost:8080/test_jsf/index.jsf

La page index.xhtml est affichée

Si on laisse vide le champs de texte et on clique ensuite sur le bouton "Validez", un message d'erreur est affiché (echec.xhmtl), car le nom est invalid. Par contre enter n'importe quel texte, nous envoie vers succes.xhtml, pour l'afficher.

Note :
test_jsf est le nom que j'ai donné à mon projet, veuillez modifier selon votre propre projet JSF2


Quand on entre rien dans le champ texte et on clique sur Validez, on reçoit un message d'erreur.


 Par contre un nom valide l'affiche dans succes.xhtml




Read more...

  © Blogger template Simple n' Sweet by Ourblogtemplates.com 2009

Back to TOP