| Summary: | Java Project Constructor class | ||
|---|---|---|---|
| Product: | z_Archived | Reporter: | Wayne Beaton <wayne.beaton> |
| Component: | IDE4EDU | Assignee: | Project Inbox <ide4edu-inbox> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | ||
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Whiteboard: | |||
I have committed a first pass at an implementation of this. It takes the form of a new plug-in. I have also taken the exciting step of creating a test plug-in that demonstrates the code at work. The new plug-ins are found in CVS under org.eclipse.ide4edu/javalite/plugins. They are named org.eclipse.ide4edu.javalite.constructors and org.eclipse.ide4edu.javalite.constructors.tests. I will take a crack at updating/simplifying the corresponding user interface. I have updated the user interface (Bug 300294) to use the constructor object. The implementation is now _much_ simpler and cleaner; even better, it all uses only public APIs. Declaring victory with this initial implementation; marking as FIXED. |
The code to build a new Java Project is part of the "New Java Project" wizard. This class combines the GUI elements with the non-visual ("business model") elements in a way that makes it difficult to reuse. I'd like to see the non-visual elements refactored out of the wizard into a separate class that has one job: create a Java Project. No GUI. An instance is loaded up with the information that it needs to do the work and is told "Go!" (with a progress tracker). At some point, the class can be configured to permit observation so that a GUI can more easily interact with it. I don't believe that an initial implementation needs to have this to be useful. Most of the code is in the "New Java Project" wizard; extracting it might be challenging. There is also a class in Kent Beck and Erich Gamma's "Contributing to Eclipse" book. I believe that there must also be something in the JDT tests or test harness that does this work. This class can be leveraged by Bug 244645. As a first step, we should probably capture the sorts of information we need to have in order to create a Java Project. Note that this should be relatively high-level. The wizard should, for example, just know to set the Java nature. Given Java version information, it should sort out what the build path looks like.