Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[wtp-dev] [Fwd: Question about virtual component model and org.eclipse.wst.common.component]

Not trying to spam, but i asked this question on the user forums and got no response. The topic does go into wtp source a bunch. I think people familiar with the org.eclipse.wst.common.component file, the jst.jee / jst.j2ee plugins (Chuck I believe?), or the server plugins would be most capable of answering the question. The question spans all three, surprisingly.

Thanks again.

- Rob Stryker
--- Begin Message ---
  • From: Rob Stryker <rstryker@xxxxxxxxxx>
  • Date: Thu, 17 Jul 2008 16:03:24 -0400
  • Newsgroups: eclipse.webtools
  • Organization: EclipseCorner
  • User-agent: Thunderbird 2.0.0.14 (X11/20080501)
Howdy:

I have the following file as my org.eclipse.wst.common.component

<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
	<wb-module deploy-name="Seam99-ear">
		<wb-resource deploy-path="/" source-path="/EarContent"/>
		<dependent-module deploy-path="/lib"
			handle="module:/resource/Seam99-ejb/Seam99-ejb">
			<dependency-type>uses</dependency-type>
		</dependent-module>
		<dependent-module deploy-path="/"
			handle="module:/resource/Seam99/Seam99">
			<dependency-type>uses</dependency-type>
		</dependent-module>
	</wb-module>
</project-modules>

The key part to note is that I've modified the original file so that the dependent-module has a different deploy path:

		<dependent-module deploy-path="/lib"
			handle="module:/resource/Seam99-ejb/Seam99-ejb">
			<dependency-type>uses</dependency-type>


When I go to publish this ear project, I am unable to make the virtual component model find this file in the proper location. I realize this is up to the server adapter to get correct, but most of the server adapters get all of their information from the virtual component model.

Specifically, my server adapter is testing the following code:

String tmp;
boolean go = moduleTree.length == 2 && moduleTree[1].getModuleType().getId().equals("jst.ejb");
if( go ) {
	IEnterpriseApplication enterpriseApplication =
(IEnterpriseApplication) moduleTree[0].loadAdapter(IEnterpriseApplication.class, null);
	if (enterpriseApplication != null) {
		tmp = enterpriseApplication.getURI(moduleTree[1]);
		System.out.println(tmp);
	}
}

In this case, the printout is always merely the name of the ejb project, Seam99-ejb.jar instead of the URI found in the org.eclipse.wst.common.component file's deploy-path attribute, /lib (which I assume would / should then append the project's name, making it /lib/Seam99-ejb.jar)

Is this a defect in the Virtual Component Model or am I expecting an incorrect behavior?

Thanks.

- Rob Stryker

--- End Message ---

Back to the top