Thanks to Christophe who pointed me to the javap utility, I was able to see
which method was problematic. In fact it was the constructor.

The following:
:constructors [[] []]

in the following gen-class call:
(:gen-class
   :name       classpath.issue.GranuleImportWizardImpl
   :extends    org.eclipse.jface.wizard.Wizard
   :implements [org.eclipse.ui.IImportWizard]
   :state      state
   :init       ctor
   :constructors [[] []]
   :prefix wiz-
   :exposes-methods {addPages super-addPages}))

had as a consequence a duplication of the default constructor for my
GranuleImportWizardImpl class  ?

By removing it I got rid of the problem.
It seems that even after having read the docs, I still don't understand very
well how to use gen-class, the relations between :init :post-init ,
:constructors ... ?

If somebody can show me the light :-)

Regards,

-- 
Laurent

2009/7/28 Laurent PETIT <laurent.pe...@gmail.com>

> I will, but in private ?
>
> 2009/7/28 Christophe Grand <christo...@cgrand.net>
>
> Hi Laurent,
>>
>> Could you provide the faulty class file?
>>
>> On Tue, Jul 28, 2009 at 7:47 AM, Laurent PETIT 
>> <laurent.pe...@gmail.com>wrote:
>>
>>> Hello,
>>>
>>> I'm trying to make clojure and Eclipse play well together for writing
>>> Eclipse plugins.
>>>
>>> I have played with (proxy) but I encountered classloader problems that
>>> are currently beyond my knowledge (and I want to get something up and
>>> running quickly so I didn't take the time to broaden my knowledge yet).
>>>
>>> So I came back to gen-class with the hope that I will not encounter the
>>> same problems in my usecase.
>>>
>>> I have this error when the class I've created and compiled via gen-class
>>> is loaded :
>>>
>>> The selected wizard could not be started.
>>>   Plug-in classpath.issue was unable to load class
>>> classpath.issue.GranuleImportWizardImpl.
>>>   Repetitive method name/signature in class file
>>> classpath/issue/GranuleImportWizardImpl
>>>
>>> Do you know what could cause this "repetitive method name/signature in
>>> class" ?
>>>
>>> Here is the code:
>>>
>>> (ns classpath.issue.granule-import
>>>   (:import (java.io                                        File
>>>
>>> FileInputStream
>>>
>>> FileNotFoundException
>>>                                                            InputStream)
>>>            (org.eclipse.jface.wizard                       Wizard
>>>                                                            WizardPage)
>>>            (org.eclipse.jface.preference
>>> FileFieldEditor)
>>>            (org.eclipse.ui                                 IImportWizard
>>>                                                            IWorkbench)
>>>            (org.eclipse.core.runtime                       IPath
>>>                                                            IStatus
>>>                                                            Path
>>>                                                            Status)
>>>            (org.eclipse.core.resources
>>> ResourcesPlugin)
>>>            (org.eclipse.jface.viewers
>>> IStructuredSelection)
>>>            (org.eclipse.swt                                SWT)
>>>            (org.eclipse.swt.events                         ModifyEvent
>>>
>>> ModifyListener)
>>>            (org.eclipse.swt.layout                         GridData
>>>                                                            GridLayout)
>>>            (org.eclipse.swt.widgets                        Composite
>>>                                                            Text
>>>                                                            Label))
>>>   (:use    classpath.issue.core
>>>            classpath.issue.jface-preference)
>>>   (:load   "wizard_page")
>>>   (:gen-class
>>>    :name       classpath.issue.GranuleImportWizardImpl
>>>    :extends    org.eclipse.jface.wizard.Wizard
>>>    :implements [org.eclipse.ui.IImportWizard]
>>>    :state      state
>>>    :init       ctor
>>>    :constructors [[] []]
>>>    :prefix wiz-
>>>    :exposes-methods {addPages super-addPages}))
>>>
>>> (defn perform-finish2
>>>   []
>>>   (.sdlength "does it work?")
>>>   true)
>>>
>>> (defn wiz-ctor []
>>>   [[] (atom {})]) ; { :a-page [widget state-atom] ... }
>>>
>>> (defn wiz-init [this #^IWorkbench workbench, #^IStructuredSelection
>>> selection]
>>>     (.setWindowTitle this "File Import Wizard")
>>>     (.setNeedsProgressMonitor this true)
>>>     (swap! (.state this) assoc :main-page (make-wizard-page "Import
>>> Granules from file" selection)))
>>>
>>> (defn wiz-addPages [this]
>>>     (.super-addPages this)
>>>     (.addPage this (first (get (deref (.state this)) :main-page))))
>>>
>>> (defn wiz-performFinish [this]
>>>     (println "in clojure!")
>>>     (perform-finish2))
>>>
>>>
>>> Thanks in advance,
>>>
>>> --
>>> Laurent
>>>
>>>
>>>
>>>
>>>
>>
>>
>> --
>> Professional: http://cgrand.net/ (fr)
>> On Clojure: http://clj-me.blogspot.com/ (en)
>>
>> >>
>>
>
>
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to