Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [wtp-dev] IModuleArtifact and Cactus Testing

Hey Daniel,

Tim Deboer, fixed the module adapter collision problems associated in M3. In M4 you can have adapters overlapping on compilation units. Currently, the EJB and Web deployables are overlapping on multiple objects, ie IResource.. Filtering occurs in the ArtifactAdapter, where deployables are returned by type: ServerUtil.getModules("j2ee.web or j2ee.ejb")). This basically calls  into a plugin defined factory where you create/retrieve the deployables you are interested in. I would recommend creating your own type with respect to cactus testing. In this case you would be responsible for making sure the server framework, can associate a server for this type. For minimal support, you could mix deployables (catcus. and non cactus) using j2ee.* types. The user would choose on the server wizard's last page which module to be deployed.  

Ideally, I would like to see the server framework utilize function groups/ activities. The extra layer would add more flexibility for filtering deployables.

WebDeployableArtifact.getServletMapping(), the J2EEWebNatureRuntimeUtilities.getJ2EERuntime(), this is a bug, as of  M4,  you will not be able to create projects with J2EE Natures.  In fact migration is already in place to migrate old natrues to ModuleCoreNatures. I will fix this to utilize the flexible framework. Regardless, this wont be an issue if you create your own adapter.


Brad Blancett
IBM Software Solutions
Tie  3-2650

"Daniel Somerfield" <dsomerfi@xxxxxxx>
Sent by: wtp-dev-bounces@xxxxxxxxxxx

03/31/2005 06:38 PM
Please respond to "General discussion of project-wide or architectural issues."

        To:        <wtp-dev@xxxxxxxxxxx>
        Subject:        [wtp-dev] IModuleArtifact and Cactus Testing

Hi all,
As I mentioned previously, I am working on cactus testing for WTP. I think it certainly makes sense in the long term to integrate server-side unit testing with TPTP. However, until we get to that point, it would be nice to support something, however minimal. Currently, I have a very simple launch shortcut for executing cactus tests on the server. I have run into a couple of challenges, however, and I wanted to get a little bit of feedback from the community.
In my mind, the Cactus test case is very similar to the servlet case. You examine a CompilationUnit and if it extends ServletTestCase, it is a WebResource. I was able to do something similar (creating a WebTestableResource), but it required a modification to WebDeployableArtifactUtil.getModuleObject() to do it. The challenge is that the org.eclipse.jst.j2ee.web plugin has a moduleArtifactAdapter enabled for ICompilationUnit and unless I am mistaken, I can’t add my own moduleArtifactAdapter without clashing. Is this correct, or can two adapter peacefully co-exist somehow?
The other issue that started recently with the latest integration build (I20050331) is that in WebDeployableArtifact.getServletMapping(), the J2EEWebNatureRuntimeUtilities.getJ2EERuntime(). I was using that to validate that the cactus servlet had been set up for the project that is being run. I have had to disable that for now. Ultimately, I would like to automatically add the servlet mapping when a test is run, but I have not figured that out how to do that yet.
I would be happy to share this code with anyone who is interested or I could post it to the group, if that is deemed appropriate. I am using some internal APIs and if there are more appropriate public APIs, I would definitely like to hear about them.
wtp-dev mailing list

Back to the top