[windup-dev] Furnace not finding Windup FileService

Jess Sightler jsightle at redhat.com
Thu Apr 2 19:23:53 EDT 2015


Ok, my PR for jbosstools caused issues, but fortunately gastaldi fixed 
them. :)

This all appears to work now! Thanks everyone!

On 04/02/2015 11:15 AM, Jess Sightler wrote:
> Ok, I pushed a fix for the graphcontext issue below. Reports can be 
> generated now, although I suspect there are still plenty of other 
> bugs. Feel free to give it a try!
>
>
> On 04/01/2015 11:07 PM, Jess Sightler wrote:
>> Hi Lincoln,
>>
>> I have done some work on this over the past few days. Most of the 
>> work was me banging my head on the wall learning Eclipse and how the 
>> forge tools interact with it. :)
>>
>> But I believe that I have made significant progress. Here is the 
>> first PR:
>>
>> https://github.com/jbosstools/jbosstools-forge/pull/139
>>
>> This enables the export of the Proxy interface (and other methods 
>> within the same package). If you include code in WindupRuntimePlugin 
>> that references these classes, you will see a compile error from the 
>> tycho compiler's OSGI validator. That's because the previous export 
>> didn't export the full package (including subpackages) for some 
>> reason, and it doesn't work at runtime either.
>>
>> I have pushed my changes to the plugin here:
>> https://github.com/windup/windup-eclipse-plugin/tree/windup2-jess
>>
>> The current error is as follows:
>>
>> java.lang.NoClassDefFoundError: 
>> com/tinkerpop/blueprints/util/wrappers/event/EventGraph
>>     at java.lang.Class.getDeclaredMethods0(Native Method)
>>     at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
>>     at java.lang.Class.getDeclaredMethods(Class.java:1975)
>>     at 
>> org.jboss.forge.furnace.proxy.javassist.util.proxy.SecurityActions.getDeclaredMethods(SecurityActions.java:30)
>>     at 
>> org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.getMethods(ProxyFactory.java:1121)
>>     at 
>> org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.getMethods(ProxyFactory.java:1096)
>>     at 
>> org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.makeSortedMethodList(ProxyFactory.java:803)
>>     at 
>> org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.computeSignature(ProxyFactory.java:810)
>>     at 
>> org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.createClass(ProxyFactory.java:398)
>>     at 
>> org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback$3.call(ClassLoaderAdapterCallback.java:987)
>>     at 
>> org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
>>     at 
>> org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.enhance(ClassLoaderAdapterCallback.java:900)
>>     at 
>> org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.enhanceResult(ClassLoaderAdapterCallback.java:277)
>>     at 
>> org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.access$200(ClassLoaderAdapterCallback.java:37)
>>     at 
>> org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback$2.call(ClassLoaderAdapterCallback.java:124)
>>     at 
>> org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
>>     at 
>> org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.invoke(ClassLoaderAdapterCallback.java:96)
>>     at 
>> org.jboss.windup.graph.GraphContextFactory_$$_javassist_900cc211-7ad7-4a83-9359-b7518a7734e3.create(GraphContextFactory_$$_javassist_900cc211-7ad7-4a83-9359-b7518a7734e3.java)
>>     at 
>> org.jboss.tools.windup.core.WindupService.generateGraph(WindupService.java:247)
>>     at 
>> org.jboss.tools.windup.core.WindupService.generateGraph(WindupService.java:168)
>>     at 
>> org.jboss.tools.windup.ui.internal.commands.GenerateWindupReportHandler$1.run(GenerateWindupReportHandler.java:78)
>>     at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
>> Caused by: java.lang.ClassNotFoundException: 
>> com.tinkerpop.blueprints.util.wrappers.event.EventGraph cannot be 
>> found by org.jboss.tools.windup.runtime_3.1.0.Alpha2-v20150402-0253
>>     at 
>> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:432)
>>     at 
>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:345)
>>     at 
>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:337)
>>     at 
>> org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
>>     at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>>     ... 22 more
>>
>>
>> This one actually seems pretty clear. I think the real fix here is to 
>> quit exposing so much to the client, but rather to expose a more 
>> friendly API service. I will work on that soon.
>>
>>
>>
>> On 03/27/2015 06:21 PM, Lincoln Baxter, III wrote:
>>> Hey Ian,
>>>
>>> I've pushed up some "work" on the Windup Eclipse Plugin. I've 
>>> simplified the dependencies, updated to Windup 2.2.0.Final, and 
>>> removed dependencies that I do not believe belong in the OSGi bundles.
>>>
>>> https://github.com/windup/windup-eclipse-plugin/tree/windup2-lincoln
>>>
>>> Unfortunately I am not an OSGi expert, and I am getting an exception 
>>> that I'm hoping you can help me with. I need to know why this class 
>>> is not being exported from the "org.jboss.tools.forge.runtime" 
>>> bundle, or why it is not being imported where it should be. We don't 
>>> have this problem with the Forge Eclipse Plugin, so something must 
>>> be different with our imports/exports. I tried to add this manually 
>>> in several places, but to no avail. (See trace below message.)
>>>
>>> I think that we will have more success if we are in more constant 
>>> communication about these issues. You can help with the OSGi issues, 
>>> I can help with the Furnace issues, and the team can help add new 
>>> APIs that you'll need to do your work.
>>>
>>> My recommendation once we get this CNFE resolved (assuming that's 
>>> the last issue with what's currently in my branch,) is that we begin 
>>> building specific interfaces for use in the Eclipse plugin and 
>>> provide them via a Windup service. I also recommend sticking 
>>> entirely to interfaces where possible. That will make this go a lot 
>>> more smoothly because Furnace is really best at proxying interfaces 
>>> across the ClassLoader boundary. Proxying concrete classes is never 
>>> really safe because you can't always guarantee a sane/proxiable 
>>> inheritance hierarchy.
>>>
>>> What are your thoughts?
>>>
>>> ~Lincoln
>>>
>>> !ENTRY org.eclipse.core.jobs 4 2 2015-03-27 17:45:55.754
>>>
>>> !MESSAGE An internal error occurred during: "Generate Windup Report".
>>>
>>> !STACK 0
>>>
>>> org.jboss.forge.furnace.exception.ContainerException: Failed to 
>>> create proxy for type [class 
>>> org.jboss.windup.graph.GraphContextFactoryImpl]
>>>
>>> at 
>>> org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.enhance(ClassLoaderAdapterCallback.java:1034)
>>>
>>> at 
>>> org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.enhanceResult(ClassLoaderAdapterCallback.java:253)
>>>
>>> at 
>>> org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.access$200(ClassLoaderAdapterCallback.java:37)
>>>
>>> at 
>>> org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback$2.call(ClassLoaderAdapterCallback.java:124)
>>>
>>> at 
>>> org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
>>>
>>> at 
>>> org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.invoke(ClassLoaderAdapterCallback.java:96)
>>>
>>> at 
>>> org.jboss.forge.furnace.services.Imported_$$_javassist_e21290d9-1468-4bd4-98c1-073a2776670c.get(Imported_$$_javassist_e21290d9-1468-4bd4-98c1-073a2776670c.java)
>>>
>>> at 
>>> org.jboss.tools.forge.core.furnace.FurnaceService.lookup(FurnaceService.java:95)
>>>
>>> at 
>>> org.jboss.tools.windup.core.WindupService.getServiceFromFurnace(WindupService.java:525)
>>>
>>> at 
>>> org.jboss.tools.windup.core.WindupService.generateGraph(WindupService.java:241)
>>>
>>> at 
>>> org.jboss.tools.windup.core.WindupService.generateGraph(WindupService.java:168)
>>>
>>> at 
>>> org.jboss.tools.windup.ui.internal.commands.GenerateWindupReportHandler$1.run(GenerateWindupReportHandler.java:78)
>>>
>>> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
>>>
>>> Caused by: java.lang.RuntimeException: by 
>>> java.lang.NoClassDefFoundError: 
>>> org/jboss/forge/furnace/proxy/javassist/util/proxy/Proxy
>>>
>>> at 
>>> org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.createClass3(ProxyFactory.java:515)
>>>
>>> at 
>>> org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.createClass2(ProxyFactory.java:492)
>>>
>>> at 
>>> org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.createClass1(ProxyFactory.java:428)
>>>
>>> at 
>>> org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.createClass(ProxyFactory.java:400)
>>>
>>> at 
>>> org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback$3.call(ClassLoaderAdapterCallback.java:987)
>>>
>>> at 
>>> org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
>>>
>>> at 
>>> org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.enhance(ClassLoaderAdapterCallback.java:900)
>>>
>>> ... 12 more
>>>
>>> Caused by: 
>>> org.jboss.forge.furnace.proxy.javassist.CannotCompileException: by 
>>> java.lang.NoClassDefFoundError: 
>>> org/jboss/forge/furnace/proxy/javassist/util/proxy/Proxy
>>>
>>> at 
>>> org.jboss.forge.furnace.proxy.javassist.util.proxy.FactoryHelper.toClass(FactoryHelper.java:170)
>>>
>>> at 
>>> org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.createClass3(ProxyFactory.java:507)
>>>
>>> ... 18 more
>>>
>>> Caused by: java.lang.NoClassDefFoundError: 
>>> org/jboss/forge/furnace/proxy/javassist/util/proxy/Proxy
>>>
>>> at java.lang.ClassLoader.defineClass1(Native Method)
>>>
>>> at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
>>>
>>> at sun.reflect.GeneratedMethodAccessor95.invoke(Unknown Source)
>>>
>>> at 
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>
>>> at java.lang.reflect.Method.invoke(Method.java:483)
>>>
>>> at 
>>> org.jboss.forge.furnace.proxy.javassist.util.proxy.FactoryHelper.toClass2(FactoryHelper.java:182)
>>>
>>> at 
>>> org.jboss.forge.furnace.proxy.javassist.util.proxy.FactoryHelper.toClass(FactoryHelper.java:164)
>>>
>>> ... 19 more
>>>
>>> Caused by: java.lang.ClassNotFoundException: 
>>> org.jboss.forge.furnace.proxy.javassist.util.proxy.Proxy cannot be 
>>> found by org.jboss.tools.windup.runtime_3.1.0.qualifier
>>>
>>> at 
>>> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:432)
>>>
>>> at 
>>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:345)
>>>
>>> at 
>>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:337)
>>>
>>> at 
>>> org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
>>>
>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>>>
>>> ... 26 more
>>>
>>>
>>> ------------------------------------------------------------------------
>>> *From: *"Lincoln Baxter, III" <lincolnbaxter at gmail.com>
>>> *To: *"Windup-dev List" <windup-dev at lists.jboss.org>
>>> *Cc: *"Lincoln Baxter, III" <lincoln at redhat.com>, "George Gastaldi" 
>>> <ggastald at redhat.com>
>>> *Sent: *Friday, March 27, 2015 12:13:03 PM
>>> *Subject: *Re: [windup-dev] Furnace not finding Windup FileService
>>>
>>> Ah, well one issue is that the "*ModelServices" like FileService are 
>>> not actually Furnace services.. That's unfortunate... Do you need 
>>> access to the FileService?
>>>
>>> On Wed, Mar 25, 2015 at 12:33 PM, Ian Tewksbury <itewk at redhat.com 
>>> <mailto:itewk at redhat.com>> wrote:
>>>
>>>     Lincoln,
>>>
>>>     Sorry. I just saw this. My email filters took over when you
>>>     added the windup mailing list and it got filtered out of my main
>>>     inbox.
>>>
>>>     The Furnace method I added was:
>>>
>>>     public <S> S lookupType(Class<S> service) {
>>>          S instance = null;
>>>          if (furnace != null) {
>>>              Set<Class<S>> types = null;
>>>              types =
>>>     furnace.getAddonRegistry().getExportedTypes(service);
>>>
>>>              if (types != null && !types.isEmpty()) {
>>>                  for(Class<S> type : types) {
>>>                      try {
>>>                          instance = type.newInstance();
>>>                          break;
>>>                      } catch (Exception e) {
>>>                          e.getMessage();
>>>                          //skip to next instance if this one did not
>>>     work
>>>                      }
>>>                  }
>>>              }
>>>          }
>>>
>>>          return instance;
>>>      }
>>>
>>>     My issue was with loading "FileService.class". Calling "lookup"
>>>     could not find it, but calling my new "lookupType" it could find it.
>>>
>>>     Blue Skies,
>>>     ~Ian
>>>
>>>     ------------------------------------------------------------------------
>>>     *From: *"Lincoln Baxter, III" <lincoln at redhat.com
>>>     <mailto:lincoln at redhat.com>>
>>>     *To: *"Ian Tewksbury" <itewk at redhat.com <mailto:itewk at redhat.com>>
>>>     *Cc: *"Robb Greathouse" <robb.greathouse at redhat.com
>>>     <mailto:robb.greathouse at redhat.com>>, "George Gastaldi"
>>>     <ggastald at redhat.com <mailto:ggastald at redhat.com>>, "Windup-dev
>>>     List" <windup-dev at lists.jboss.org
>>>     <mailto:windup-dev at lists.jboss.org>>
>>>     *Sent: *Monday, March 23, 2015 10:23:09 AM
>>>
>>>     *Subject: *Re: Furnace not finding Windup FileService
>>>
>>>     Hey Ian,
>>>
>>>     (Adding windup-dev.)
>>>
>>>     I'm not really sure what this issue could be, but it worries me
>>>     that you needed to add a method to FurnaceService. What did you
>>>     add? You can't ask Furnace for an instance of a type that is not
>>>     a Service. (It wouldn't know how to construct it.)
>>>
>>>     The last error you received worries me specifically because it
>>>     makes me think that there is something funky going on with the
>>>     ClassLoader hierarchy itself, and that is never good; however,
>>>     it could be due to some kind of quirk with what you added (it
>>>     also may be a bug), so I think I need to see what you are doing.
>>>
>>>     Could you show me where this code is so that I can take a look?
>>>
>>>     Thanks!
>>>     ~Lincoln
>>>
>>>     ------------------------------------------------------------------------
>>>     *From: *"Ian Tewksbury" <itewk at redhat.com <mailto:itewk at redhat.com>>
>>>     *To: *"Lincoln Baxter" <lbaxter at redhat.com
>>>     <mailto:lbaxter at redhat.com>>
>>>     *Cc: *"Robb Greathouse" <robb.greathouse at redhat.com
>>>     <mailto:robb.greathouse at redhat.com>>
>>>     *Sent: *Sunday, March 22, 2015 9:57:36 PM
>>>     *Subject: *Re: Furnace not finding Windup FileService
>>>
>>>     Licoln,
>>>
>>>     Got passed those previous errors. New error now:
>>>
>>>     !ENTRY org.eclipse.core.jobs <http://org.eclipse.core.jobs> 4 2
>>>     2015-03-22 21:52:59.403
>>>     !MESSAGE An internal error occurred during: "Validating".
>>>     !STACK 0
>>>     java.lang.LinkageError: loader constraint violation: loader
>>>     (instance of
>>>     org/jboss/tools/forge/core/internal/furnace/CompositeFurnaceClassLoader)
>>>     previously initiated loading for a different type with name
>>>     "org/jboss/forge/furnace/util/Predicate"
>>>     at java.lang.Class.getDeclaredMethods0(Native Method)
>>>     at java.lang.Class.privateGetDeclaredMethods(Class.java:2615)
>>>     at java.lang.Class.getDeclaredMethods(Class.java:1860)
>>>     at
>>>     org.jboss.forge.furnace.proxy.javassist.util.proxy.SecurityActions.getDeclaredMethods(SecurityActions.java:30)
>>>     at
>>>     org.jboss.forge.furnace.proxy.javassist.util.proxy.RuntimeSupport.findMethod2(RuntimeSupport.java:134)
>>>     at
>>>     org.jboss.forge.furnace.proxy.javassist.util.proxy.RuntimeSupport.findMethod(RuntimeSupport.java:65)
>>>     at
>>>     org.jboss.forge.furnace.proxy.javassist.util.proxy.RuntimeSupport.find2Methods(RuntimeSupport.java:53)
>>>     at
>>>     org.jboss.windup.exec.configuration.WindupConfiguration_$$_javassist_5effd6de-6f27-4c9d-9f94-b9492b06844c.<clinit>(WindupConfiguration_$$_javassist_5effd6de-6f27-4c9d-9f94-b9492b06844c.java)
>>>     at sun.misc.Unsafe.ensureClassInitialized(Native Method)
>>>     at
>>>     sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43)
>>>     at
>>>     sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:140)
>>>     at java.lang.reflect.Field.acquireFieldAccessor(Field.java:1057)
>>>     at java.lang.reflect.Field.getFieldAccessor(Field.java:1038)
>>>     at java.lang.reflect.Field.set(Field.java:741)
>>>     at
>>>     org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.setField(ProxyFactory.java:525)
>>>     at
>>>     org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.createClass3(ProxyFactory.java:508)
>>>     at
>>>     org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.createClass2(ProxyFactory.java:492)
>>>     at
>>>     org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.createClass1(ProxyFactory.java:428)
>>>     at
>>>     org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.createClass(ProxyFactory.java:400)
>>>     at
>>>     org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback$3.call(ClassLoaderAdapterCallback.java:987)
>>>     at
>>>     org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
>>>     at
>>>     org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.enhance(ClassLoaderAdapterCallback.java:900)
>>>     at
>>>     org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.enhanceResult(ClassLoaderAdapterCallback.java:253)
>>>     at
>>>     org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.access$200(ClassLoaderAdapterCallback.java:37)
>>>     at
>>>     org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback$2.call(ClassLoaderAdapterCallback.java:124)
>>>     at
>>>     org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
>>>     at
>>>     org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.invoke(ClassLoaderAdapterCallback.java:96)
>>>     at
>>>     org.jboss.forge.furnace.services.Imported_$$_javassist_34707ba1-98fb-4b8a-93ed-559398be971b.get(Imported_$$_javassist_34707ba1-98fb-4b8a-93ed-559398be971b.java)
>>>     at
>>>     org.jboss.tools.forge.core.furnace.FurnaceService.lookup(FurnaceService.java:96)
>>>     at
>>>     org.jboss.tools.windup.core.WindupService.getServiceFromFurnace(WindupService.java:485)
>>>     at
>>>     org.jboss.tools.windup.core.WindupService.generateGraph(WindupService.java:226)
>>>     at
>>>     org.jboss.tools.windup.core.WindupService.getGraph(WindupService.java:301)
>>>     at
>>>     org.jboss.tools.windup.core.WindupService.getInlineHints(WindupService.java:103)
>>>     at
>>>     org.jboss.tools.windup.core.internal.validators.WindupValidator.validate(WindupValidator.java:81)
>>>     at
>>>     org.eclipse.wst.validation.Validator$V2.validate(Validator.java:1159)
>>>     at
>>>     org.eclipse.wst.validation.internal.ValManager.validate(ValManager.java:704)
>>>     at
>>>     org.eclipse.wst.validation.internal.ValManager$1.visit(ValManager.java:665)
>>>     at
>>>     org.eclipse.wst.validation.internal.ValManager.accept(ValManager.java:810)
>>>     at
>>>     org.eclipse.wst.validation.internal.ValManager.validate(ValManager.java:669)
>>>     at
>>>     org.eclipse.wst.validation.internal.ValidationRunner.execute(ValidationRunner.java:134)
>>>     at
>>>     org.eclipse.wst.validation.internal.ValidationRunner.validate(ValidationRunner.java:68)
>>>     at
>>>     org.eclipse.wst.validation.ui.internal.ManualValidationRunner.runInWorkspace(ManualValidationRunner.java:83)
>>>     at
>>>     org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
>>>     at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
>>>
>>>
>>>
>>>
>>>     Blue Skies,
>>>     ~Ian
>>>
>>>     ------------------------------------------------------------------------
>>>     *From: *"Ian Tewksbury" <itewk at redhat.com <mailto:itewk at redhat.com>>
>>>     *To: *"Lincoln Baxter" <lbaxter at redhat.com
>>>     <mailto:lbaxter at redhat.com>>
>>>     *Cc: *"Robb Greathouse" <robb.greathouse at redhat.com
>>>     <mailto:robb.greathouse at redhat.com>>
>>>     *Sent: *Sunday, March 22, 2015 7:49:28 PM
>>>     *Subject: *Re: Furnace not finding Windup FileService
>>>
>>>     Licncoln,
>>>
>>>     I added some new API to the FurnaceService to be able to lookup
>>>     a type which got me passed the below errors.
>>>
>>>     Now I am running into:
>>>
>>>     java.lang.NoClassDefFoundError: com/tinkerpop/frames/FramedGraph
>>>     at java.lang.Class.getDeclaredMethods0(Native Method)
>>>     at java.lang.Class.privateGetDeclaredMethods(Class.java:2615)
>>>     at java.lang.Class.getDeclaredMethods(Class.java:1860)
>>>     at
>>>     org.jboss.forge.furnace.proxy.javassist.util.proxy.SecurityActions.getDeclaredMethods(SecurityActions.java:30)
>>>     at
>>>     org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.getMethods(ProxyFactory.java:1121)
>>>     at
>>>     org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.getMethods(ProxyFactory.java:1096)
>>>     at
>>>     org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.makeSortedMethodList(ProxyFactory.java:803)
>>>     at
>>>     org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.computeSignature(ProxyFactory.java:810)
>>>     at
>>>     org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.createClass(ProxyFactory.java:398)
>>>     at
>>>     org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback$3.call(ClassLoaderAdapterCallback.java:987)
>>>     at
>>>     org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
>>>     at
>>>     org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.enhance(ClassLoaderAdapterCallback.java:900)
>>>     at
>>>     org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.enhanceResult(ClassLoaderAdapterCallback.java:277)
>>>     at
>>>     org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.access$200(ClassLoaderAdapterCallback.java:37)
>>>     at
>>>     org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback$2.call(ClassLoaderAdapterCallback.java:124)
>>>     at
>>>     org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
>>>     at
>>>     org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.invoke(ClassLoaderAdapterCallback.java:96)
>>>     at
>>>     org.jboss.windup.graph.GraphContextFactory_$$_javassist_2a504b60-d6e3-450e-87b5-f41eb849ab81.create(GraphContextFactory_$$_javassist_2a504b60-d6e3-450e-87b5-f41eb849ab81.java)
>>>     at
>>>     org.jboss.tools.windup.core.WindupService.generateGraph(WindupService.java:235)
>>>     at
>>>     org.jboss.tools.windup.core.WindupService.getGraph(WindupService.java:303)
>>>     at
>>>     org.jboss.tools.windup.core.WindupService.getInlineHints(WindupService.java:103)
>>>     at
>>>     org.jboss.tools.windup.core.internal.validators.WindupValidator.validate(WindupValidator.java:81)
>>>     at
>>>     org.eclipse.wst.validation.Validator$V2.validate(Validator.java:1159)
>>>     at
>>>     org.eclipse.wst.validation.internal.ValManager.validate(ValManager.java:704)
>>>     at
>>>     org.eclipse.wst.validation.internal.ValManager$1.visit(ValManager.java:665)
>>>     at
>>>     org.eclipse.wst.validation.internal.ValManager.accept(ValManager.java:810)
>>>     at
>>>     org.eclipse.wst.validation.internal.ValManager.validate(ValManager.java:669)
>>>     at
>>>     org.eclipse.wst.validation.internal.ValidationRunner.execute(ValidationRunner.java:134)
>>>
>>>     at
>>>     org.eclipse.wst.validation.internal.ValidationRunner.validate(ValidationRunner.java:68)
>>>     at
>>>     org.eclipse.wst.validation.ui.internal.ManualValidationRunner.runInWorkspace(ManualValidationRunner.java:83)
>>>     at
>>>     org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
>>>     at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
>>>     Caused by: java.lang.ClassNotFoundException:
>>>     com.tinkerpop.frames.FramedGraph cannot be found by
>>>     org.jboss.tools.windup.runtime_3.1.0.qualifier
>>>     at
>>>     org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:432)
>>>     at
>>>     org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:345)
>>>     at
>>>     org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:337)
>>>     at
>>>     org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
>>>     at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>>>     ... 32 more
>>>
>>>
>>>     I have verified that the Furnace add on
>>>     'org-jboss-windup-graph-windup-graph' is being loaded and
>>>     contains the windup-frames JAR so I am not clear why furnace is
>>>     not able to load the class.
>>>
>>>
>>>     Ideas?
>>>
>>>
>>>     Blue Skies,
>>>
>>>     ~Ian
>>>
>>>
>>>     ------------------------------------------------------------------------
>>>     *From: *"Ian Tewksbury" <itewk at redhat.com <mailto:itewk at redhat.com>>
>>>     *To: *"Lincoln Baxter" <lbaxter at redhat.com
>>>     <mailto:lbaxter at redhat.com>>
>>>     *Cc: *"Robb Greathouse" <robb.greathouse at redhat.com
>>>     <mailto:robb.greathouse at redhat.com>>
>>>     *Sent: *Sunday, March 22, 2015 5:18:55 AM
>>>     *Subject: *Re: Furnace not finding Windup FileService
>>>
>>>     Lioncoln,
>>>
>>>     Looking here,
>>>     http://grepcode.com/file/repository.jboss.org/nexus/content/repositories/releases/org.jboss.forge.furnace.container/cdi-impl/2.10.1.Final/org/jboss/forge/furnace/container/cdi/impl/WeldServiceRegistry.java#WeldServiceRegistry.getExportedInstances%28java.lang.Class%29, and
>>>     debuging through eclipse without source, I have figured out it
>>>     is choking on like 189. It appears this #getExportedInstances
>>>     method is only for loading beans. I see a #getExportedType which
>>>     is what I am guessing I need, but the only Furnace API I see
>>>     is FurnaceService.INSTANCE.lookup(clazz) which ends up doing
>>>     this bean lookup rather then a type lookup. Am I missing
>>>     something here? Is there just missing API to look up a type and
>>>     not a bean via Furnace?
>>>
>>>     Blue Skies,
>>>     ~Ian
>>>
>>>     ------------------------------------------------------------------------
>>>     *From: *"Ian Tewksbury" <itewk at redhat.com <mailto:itewk at redhat.com>>
>>>     *To: *"Lincoln Baxter" <lbaxter at redhat.com
>>>     <mailto:lbaxter at redhat.com>>, "Robb Greathouse"
>>>     <robb.greathouse at redhat.com <mailto:robb.greathouse at redhat.com>>
>>>     *Sent: *Sunday, March 22, 2015 4:57:43 AM
>>>     *Subject: *Furnace not finding Windup FileService
>>>
>>>     Lincoln,
>>>
>>>     I can not figure out why Furnance is reporting that it can not
>>>     find the Windup FileService despite the fact that it is
>>>     reporting it loaded the graph-api addon. Any ideas?
>>>
>>>     Please see attached for the log. It clearly shows the graph-api
>>>     addon being loaded. And I have verified that addon contains the
>>>     graph-api.jar which contains the FileService. I have tried to
>>>     debug the furnace stuff but I keep running into source not found
>>>     issues and getting lost. I have been able to tell that
>>>     ImportedImpl#getExportedInstances is getting called and it is
>>>     looping over the graph-api addon. But it does not seem to find
>>>     the class in there, but I have not been able to debug into
>>>     furnace beyond that point.
>>>
>>>     Looking at the variable state the WeldServiceRegistery instance
>>>     for the graph-api addon shows the FIleService there. For some
>>>     reason it is just not being retrevied. I have attached a
>>>     screenshoot of the variable state from
>>>     within ImportedImpl#getExportedInstances. Can you think of any
>>>     reason serviceRegistry.getExportedInstances(type) would be
>>>     failing giving all of this?
>>>
>>>
>>>     ~Ian
>>>
>>>
>>>
>>>
>>>
>>>
>>>     _______________________________________________
>>>     windup-dev mailing list
>>>     windup-dev at lists.jboss.org <mailto:windup-dev at lists.jboss.org>
>>>     https://lists.jboss.org/mailman/listinfo/windup-dev
>>>
>>>
>>>
>>>
>>> -- 
>>> Lincoln Baxter, III
>>> http://ocpsoft.org
>>> "Simpler is better."
>>>
>>>
>>>
>>> _______________________________________________
>>> windup-dev mailing list
>>> windup-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/windup-dev
>>
>> -- 
>> Calendar Free/Busy:https://www.google.com/calendar/embed?src=jsightle%40redhat.com&ctz=America/New_York
>>
>>
>> _______________________________________________
>> windup-dev mailing list
>> windup-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/windup-dev
>
> -- 
> Calendar Free/Busy:https://www.google.com/calendar/embed?src=jsightle%40redhat.com&ctz=America/New_York
>
>
> _______________________________________________
> windup-dev mailing list
> windup-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/windup-dev

-- 
Calendar Free/Busy: https://www.google.com/calendar/embed?src=jsightle%40redhat.com&ctz=America/New_York

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/windup-dev/attachments/20150402/da820bce/attachment-0001.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 172297 bytes
Desc: not available
Url : http://lists.jboss.org/pipermail/windup-dev/attachments/20150402/da820bce/attachment-0001.png 


More information about the windup-dev mailing list