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:
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:
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(a)gmail.com>
*To: *"Windup-dev List" <windup-dev(a)lists.jboss.org>
*Cc: *"Lincoln Baxter, III" <lincoln(a)redhat.com>, "George
Gastaldi"
<ggastald(a)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(a)redhat.com
<mailto:itewk@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(a)redhat.com
<mailto:lincoln@redhat.com>>
*To: *"Ian Tewksbury" <itewk(a)redhat.com
<mailto:itewk@redhat.com>>
*Cc: *"Robb Greathouse" <robb.greathouse(a)redhat.com
<mailto:robb.greathouse@redhat.com>>, "George Gastaldi"
<ggastald(a)redhat.com <mailto:ggastald@redhat.com>>, "Windup-dev
List" <windup-dev(a)lists.jboss.org
<mailto:windup-dev@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(a)redhat.com
<mailto:itewk@redhat.com>>
*To: *"Lincoln Baxter" <lbaxter(a)redhat.com
<mailto:lbaxter@redhat.com>>
*Cc: *"Robb Greathouse" <robb.greathouse(a)redhat.com
<mailto:robb.greathouse@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(a)redhat.com
<mailto:itewk@redhat.com>>
*To: *"Lincoln Baxter" <lbaxter(a)redhat.com
<mailto:lbaxter@redhat.com>>
*Cc: *"Robb Greathouse" <robb.greathouse(a)redhat.com
<mailto:robb.greathouse@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(a)redhat.com
<mailto:itewk@redhat.com>>
*To: *"Lincoln Baxter" <lbaxter(a)redhat.com
<mailto:lbaxter@redhat.com>>
*Cc: *"Robb Greathouse" <robb.greathouse(a)redhat.com
<mailto:robb.greathouse@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/...,
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(a)redhat.com
<mailto:itewk@redhat.com>>
*To: *"Lincoln Baxter" <lbaxter(a)redhat.com
<mailto:lbaxter@redhat.com>>, "Robb Greathouse"
<robb.greathouse(a)redhat.com <mailto:robb.greathouse@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(a)lists.jboss.org <mailto:windup-dev@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(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/windup-dev