[ https://issues.apache.org/jira/browse/TUSCANY-2086?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12578873#action_12578873 ]
Rajini Sivaram commented on TUSCANY-2086: ----------------------------------------- I have modified OSGiBundleReferenceModelResolver.getBundleFilename to return the last segment of the name when the path corresponds to a directory. I am not sure if you will run into other problems though. > implementation.osgi cannot find compomentType file when referring to bundles > in Eclipse Workspace > ------------------------------------------------------------------------------------------------- > > Key: TUSCANY-2086 > URL: https://issues.apache.org/jira/browse/TUSCANY-2086 > Project: Tuscany > Issue Type: Bug > Components: Java SCA OSGi Integration > Environment: Windows XP, Eclipse 3.3.2 (org.eclipse.osgi 3.3.2) > Reporter: Jürgen Schumacher > Assignee: Rajini Sivaram > Fix For: Java-SCA-1.2 > > > This issue refers to activities described in > http://mail-archives.apache.org/mod_mbox/ws-tuscany-user/200803.mbox/[EMAIL > PROTECTED] > When trying to test <implementation.osgi> I ended with this error message: > org.apache.tuscany.sca.contribution.service.ContributionResolveException: > org.apache.tuscany.sca.contribution.service.ContributionResolveException: > missing .componentType side file .componentType > at > org.apache.tuscany.sca.implementation.osgi.xml.OSGiImplementationProcessor.resolve(OSGiImplementationProcessor.java:276) > ... > caused by > Caused by: > org.apache.tuscany.sca.contribution.service.ContributionResolveException: > missing .componentType side file .componentType > at > org.apache.tuscany.sca.implementation.osgi.xml.OSGiImplementationProcessor.resolve(OSGiImplementationProcessor.java:227) > ... > While Tuscany is right in that I did not provide a componentType file, it > seems to be wrong in how it has created the filename. > I debugged a bit and found the following: > org.apache.tuscany.sca.contribution.osgi.impl.OSGiBundleReferenceModelResolver > has a method getBundleFilename(...) that tries to extract the bundles > filename from its location by looking for the last "/" in the location and > using the rest afterwards. But when the bundle is located in my Eclipse > workspace as a Plugin project under development and not packed as a JAR and I > run my examples in a Equinox runtime, the reported location is e.g. > "[EMAIL PROTECTED]:file:../workspace/EILF/tuscany.osgi.sample/" where > tuscany.osgi.sample is the actual bundle name. > Therefore getBundleFilename returns just an empty string. And this empty > string is used later in > org.apache.tuscany.sca.implementation.osgi.xml.OSGiImplementationProcessor.resolve(...) > to build the filename for the component type file, which results in > ".componentType" as the complete filename in this case. > I suppose the current code is meant to look for the componentType file next > to a bundle JAR with the same basename as the bundle JAR. I'm not sure where > it should look for it in my case, probably inside the workspace bundle > directory, as the workspace directory itself is usually not visible in > Eclipse and so it would be inconvenient to edit the file in the IDE. > Sorry that I cannot provide a test case currently because had to create own > Tuscany bundles to get this far (see mail thread linked above for details), > which would be a bit large to attach, I suppose (-; Also I cannot provide a > patch yet, because I'm quite new to OSGi and Tuscany myself and therefore > cannot estimate what would be a valid solution currently. Of course if you > have any ideas how to solve this, I can test it in my setup and give more > feedback. > Thanks in advance. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]