Bug 95326 [code manipulation] Class wizard produces junk
Env: 3.1M7 Sometimes the class wizard produces junk when generating a new class skeleton (seems that constructors are placed inside the import statements). With the following example, the bug can always reproduced: 0) no enclosing type 1) Create a new Class: JxX509TrustManager 2) Modifiers: public only 3) SuperClass: java.lang.Object 4) Interfaces: javax.net.ssl.X509TrustManager 5) Stubs: constructor, abstract methods 6) Generate comments: no 7) Finish produces: <pre> package bla.bla; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import j public JxX509TrustManager() { super(); // @todo Auto-generated constructor stub }avax.net.ssl.X509TrustManager; public class JxX509TrustManager implements X509TrustManager { public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { // @todo Auto-generated method stub } public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { // @todo Auto-generated method stub } public X509Certificate[] getAcceptedIssuers() { // @todo Auto-generated method stub return null; } } </pre>
org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/wizards/NewTypeWizardPage.java
private void typePageCustomButtonPressed(DialogField field, int index) {		
		if (field == fSuperInterfacesDialogField) {
			chooseSuperInterfaces();
		}
	}
	
	/*
	 * A field on the type has changed. The fields' status and all dependent
	 * status are updated.
	 */
	private void typePageDialogFieldChanged(DialogField field) {
		String fieldName= null;
		if (field == fPackageDialogField) {
			fPackageStatus= packageChanged();
			updatePackageStatusLabel();
			fTypeNameStatus= typeNameChanged();
			fSuperClassStatus= superClassChanged();			
			fieldName= PACKAGE;
		} else if (field == fEnclosingTypeDialogField) {
			fEnclosingTypeStatus= enclosingTypeChanged();
			fTypeNameStatus= typeNameChanged();
			fSuperClassStatus= superClassChanged();				
			fieldName= ENCLOSING;
		} else if (field == fEnclosingTypeSelection) {
			updateEnableState();
			boolean isEnclosedType= isEnclosingTypeSelected();
			if (!isEnclosedType) {
				if (fAccMdfButtons.isSelected(PRIVATE_INDEX) || fAccMdfButtons.isSelected(PROTECTED_INDEX)) {
					fAccMdfButtons.setSelection(PRIVATE_INDEX, false);
					fAccMdfButtons.setSelection(PROTECTED_INDEX, false);