Bonjour à tous !

Problématique : je veux exporter un projet (de nature particulière) sous forme d'une archive .zip.
Je ne sais pas si j'adopte la bonne méthode mais pour le moment j'en suis là :

J'ai un plugin qui contribue au menu "Clic Droit" de la vue Navigateur, comme cela (j'ai simplifié les noms...) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
    <extension point="org.eclipse.ui.popupMenus"> 
        <objectContribution 
            id="MyObjectContributionID"
            objectClass="org.eclipse.core.resources.IProject">
            <filter
                name="projectNature"
                value="MyNature">
            </filter>
            <action
                id="MyActionID" 
                label="Export as zip"
                class="MyActionClass"> 
            </action> 
        </objectContribution> 
    </extension>
L'action déclenchée dans la méthode MyActionClass.run(IAction arg0) est l'appel d'un Wizard (qui lui hérite de org.eclipse.ui.dialogs.WizardExportResourcesPage)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
new WizardDialog(new Shell(), new MyExportWizard()).open();
Ca fonctionne. Ensuite il me faut récupérer mon projet, celui sur lequel l'utilisateur a cliqué et donc a appelé le wizard... et c'est la que le bât blesse...
Par exemple dans la classe org.eclipse.ui.dialogs.WizardNewFileCreationPage on a une méthode getContainerFullPath() qui nous permet via ce petit code de récupérer le projet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
    public IProject getProject(){
        IPath fullPath = this.getContainerFullPath();
        String projectName = fullPath.uptoSegment(1).lastSegment();
        return ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
    }
Et ca y'a pas dans WizardExportResourcesPage et je trouve pas d'équivalent... J'ai trois endroit où je peux récupérer mon projet :
- dans l'action déclenchée par l'appel du bouton (je n'ai pas trouvé comment faire...)
- dans la page du wizard (ce que j'essaye de faire)
- dans mon wizard directement puisque la sauvegarde en .zip se fera dans la méthode performFinnish() (je n'ai pas non plus trouvé comment faire)

Après, une fois que j'aurais récupéré mon projet, je pense que la sauvegarde ne sera pas trop compliqué mais la pour le moment, je bloque là-dessus !

Quelqu'un saurait-il m'expliquer comment faire ?

Merci d'avance pour votre aide.

Antoine