Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [recommenders-dev] Need help to collect completion proposals made by code recommenders programetically

Hi,
I have just noticed the files are in a folder. I have moved the java
source files (found in the example folder including
EclipseOrgCallRecommenderMain.java) inside Eclipse to a package and
try to run the main method. This time program executes but gives me
the following error:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for
further details.
Exception in thread "main" java.util.concurrent.ExecutionException:
java.lang.NoClassDefFoundError: com/ning/http/client/AsyncHandler
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252)
	at java.util.concurrent.FutureTask.get(FutureTask.java:111)
	at org.eclipse.recommenders.models.AetherModelRepository.open(AetherModelRepository.java:111)
	at org.eclipse.recommenders.calls.EclipseOrgCallRecommenderMain.main(EclipseOrgCallRecommenderMain.java:27)
Caused by: java.lang.NoClassDefFoundError: com/ning/http/client/AsyncHandler
	at org.eclipse.recommenders.models.AetherModelRepository$ManualWagonProvider.lookup(AetherModelRepository.java:400)
	at org.sonatype.aether.connector.wagon.WagonRepositoryConnector.lookupWagon(WagonRepositoryConnector.java:282)
	at org.sonatype.aether.connector.wagon.WagonRepositoryConnector.<init>(WagonRepositoryConnector.java:154)
	at org.sonatype.aether.connector.wagon.WagonRepositoryConnectorFactory.newInstance(WagonRepositoryConnectorFactory.java:142)
	at org.sonatype.aether.impl.internal.DefaultRemoteRepositoryManager.getRepositoryConnector(DefaultRemoteRepositoryManager.java:346)
	at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
	at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:216)
	at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:193)
	at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:281)
	at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:186)
	at org.sonatype.aether.impl.internal.DefaultDependencyCollector.collectDependencies(DefaultDependencyCollector.java:191)
	at org.sonatype.aether.impl.internal.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:333)
	at org.eclipse.recommenders.models.AetherModelRepository$DownloadArtifactTask.call(AetherModelRepository.java:315)
	at org.eclipse.recommenders.models.AetherModelRepository$DownloadArtifactTask.call(AetherModelRepository.java:1)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:679)
Caused by: java.lang.ClassNotFoundException: com.ning.http.client.AsyncHandler
	at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
	... 19 more

Any idea what is going wrong?
Thanks.

-Muhammad Asaduzzaman

On Tue, Aug 6, 2013 at 1:01 PM, Muhammad Asaduzzaman
<parvez.usask@xxxxxxxxx> wrote:
> Hi Marcel,
> Thanks for the reply. I have taken some time to make sure that I am
> doing the steps correctly. After following steps 2-4, as described in
> [1], the projects are fine and do not contain any
> error. Then I try to run the EclipseOrgCallRecommenderMain.java by
> right click and run as java application. (file path in eclipse:
> /org.eclipse.recommenders.calls/examples/org/eclipse/recommenders/examples/calls/EclipseOrgCallRecommenderMain.java).
> But it gives me an error saying that: .. does not contain a main type.
> Although there is a main method in the file.
>
> I have attached a screenshot with this mail, in case it helps to
> understand the problem (Do I need to run the file from command line,
> not from eclipse?).
>
> I have also posted a mail regarding programetically collect result of
> all CompletionProposalComputers, not only the JDT core one, though I
> have not received any answer yet (Link:
> http://www.eclipse.org/forums/index.php/t/500082/).
>
> I implemented a CompletionProposalComputer for eclipse and collected
> the proposals from an eclipse plugin via code successfully, but I need
> to first create an object of that CompletionProposalComputer. I found
> there is a IntelligentCompletionProposalComputer in the code
> recommender code base. I will try to whether I can create an object of
> that class and call the method.
>
> Thanks.
>
> -Muhammad Asaduzzaman
>
>
>
>
>
>
> On Mon, Aug 5, 2013 at 4:05 AM, Marcel Bruch
> <marcel.bruch@xxxxxxxxxxxxxx> wrote:
>> Hi Muhammad,o start the
>>
>> your classpath is apparently incomplete. You have set the target platform
>> before and let eclipse find out which jars you need. Please follow steps 2-4
>> as described here [1] and then start the main method.
>>
>>
>> Regarding event simulation:
>>
>> To get the completion event locations:  Since you want to run this in the
>> IDE, you have to write an AST visitor that traverses all compilation units
>> in a given project and identifies the locations where method invocations
>> happen. Sven wrote such a vistor during his thesis. If he gives the
>> permission to open source this, I could share this one with you.
>>
>> Triggering code completion, is a bit more complex. Given the invocation
>> offset (found from the visitor above), you have to find out how to trigger
>> jdt's completion programmatically. This is something you should ask on the
>> JDT forum. You should stress that you need all proposal computers to be run
>> - not only JDT core's computer. As a workaround you can create your own
>> instance of the intelligent code completion computer und use this. But this
>> requires a lot more work. Let's see if JDT has an API for triggering all
>> proposal computers first at a given location.
>>
>> Best,
>> Marcel
>>
>>
>>
>> [1]
>> http://wiki.eclipse.org/Recommenders/BuildingFromSource#Building_from_Eclipse_Workspace
>>
>> On Aug 5, 2013, at 8:31 AM, Muhammad Asaduzzaman <parvez.usask@xxxxxxxxx>
>> wrote:
>>
>> Hi All,
>> Good day. I am involved with a research project where we are are
>> comparing performance of code completion engines including code
>> recommenders. The reason is that there are other completion engines
>> (at least in the form of research prototype) but they compare their
>> performance/accuracy differently. What I need is the method calls
>> (after typing object name and dot) performed by the developers in a
>> java code and the completion proposals made by code recommenders at
>> that point.
>>
>> Marcel pointed me to a headless api in the master branch:
>> https://git.eclipse.org/c/recommenders/org.eclipse.recommenders.git/tree/plugins/org.eclipse.recommenders.calls/examples/org/eclipse/recommenders/examples/calls
>>
>> I have collected the code via: git clone
>> https://eclipse.googlesource.com/recommenders/org.eclipse.recommenders
>> Add required  jars and run the EclipseOrgCallRecommenderMain file as a
>> java application, but it gives me the following error:
>> +++++++++++++++++++++++++ Output+++++++++++++
>> Setting up recommender and model repository (downloads search index
>> the first time).
>> Exception in thread "main" java.lang.NoClassDefFoundError:
>> org/apache/maven/model/building/ModelBuildingException
>> at java.lang.Class.getDeclaredConstructors0(Native Method)
>> at java.lang.Class.privateGetDeclaredConstructors(Class.java:2404)
>> at java.lang.Class.getConstructor0(Class.java:2714)
>> at java.lang.Class.newInstance0(Class.java:343)
>> at java.lang.Class.newInstance(Class.java:325)
>> at
>> org.sonatype.aether.impl.internal.DefaultServiceLocator.getServices(DefaultServiceLocator.java:160)
>> at
>> org.sonatype.aether.impl.internal.DefaultServiceLocator.getService(DefaultServiceLocator.java:133)
>> at
>> org.sonatype.aether.impl.internal.DefaultRepositorySystem.initService(DefaultRepositorySystem.java:146)
>> at
>> org.sonatype.aether.impl.internal.DefaultServiceLocator.getServices(DefaultServiceLocator.java:181)
>> at
>> org.sonatype.aether.impl.internal.DefaultServiceLocator.getService(DefaultServiceLocator.java:133)
>> at
>> org.eclipse.recommenders.models.AetherModelRepository.createRepositorySystem(AetherModelRepository.java:262)
>> at
>> org.eclipse.recommenders.models.AetherModelRepository.<init>(AetherModelRepository.java:102)
>> at
>> org.eclipse.recommenders.models.AetherModelRepository.<init>(AetherModelRepository.java:135)
>> at
>> org.eclipse.recommenders.examples.calls.EclipseOrgCallRecommenderMain.main(EclipseOrgCallRecommenderMain.java:26)
>> Caused by: java.lang.ClassNotFoundException:
>> org.apache.maven.model.building.ModelBuildingException
>> at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
>> ... 14 more
>> ++++++++++++++++++++++++++++++++++++++++++++++
>> Can anyone help me to solve this problem?
>>
>> Marcel also pointed me to Eclipse Code Recommenders Proposal Computer
>> API  (is it part org.eclipse.recommenders.completion.rcp.sandbox or
>> org.eclipse.recommenders.completion.rcp).  How can I collect the code.
>> They are not part of the master branch, if I am correct.
>>
>> My program need to traverse a java source file (may be in the form of
>> a compilation unit), find the method call made by developers  and
>> check what completion proposals made by code recommenders at that
>> time. It would be really helpful for me if I get some help from you.
>>
>> Thanks.
>>
>> -Muhammad Asaduzzaman
>> Graduate Student
>> Department of Computer Science
>> University of Saskatchewan
>> _______________________________________________
>> recommenders-dev mailing list
>> recommenders-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/recommenders-dev
>>
>>
>>
>> _______________________________________________
>> recommenders-dev mailing list
>> recommenders-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/recommenders-dev
>>


Back to the top