Bug 29416 Cannot create Type if typecomment Template doesn't exist
Actual: Click on File/New/Interface (or Class). Type a name, and click Finish. Error dialog appears telling me to look in the log (stack trace below). Interface/Class file is created, but is completely empty. If I go to Preferences and create the "typecomment" template, this problem goes away Expected: Class/Interface should be created and the file populated properly, despite the absence of the typecomment template. Looks easy to fix, I just don't have the code handy, nor thetime to do it (sorry). The relevant portion of the stack trace: Caused by: java.lang.NullPointerException at org.eclipse.jdt.ui.wizards.NewTypeWizardPage.isValidComment(NewTypeWizardPage.java:1543) at org.eclipse.jdt.ui.wizards.NewTypeWizardPage.getTypeComment(NewTypeWizardPage.java:1566) at org.eclipse.jdt.ui.wizards.NewTypeWizardPage.constructTypeStub(NewTypeWizardPage.java:1462) at org.eclipse.jdt.ui.wizards.NewTypeWizardPage.createType(NewTypeWizardPage.java:1345) at org.eclipse.jdt.internal.ui.wizards.NewInterfaceCreationWizard.finishPage(NewInterfaceCreationWizard.java:45) at org.eclipse.jdt.internal.ui.wizards.NewElementWizard$2.run(NewElementWizard.java:79) at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:34) at org.eclipse.jdt.internal.core.JavaModelOperation.execute(JavaModelOperation.java:326) at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:626) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1564) at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:2571) at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:32) at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:296)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/wizards/NewTypeWizardPage.java
fSuperClassDialogField.setDialogFieldListener(adapter);
		fSuperClassDialogField.setLabelText(NewWizardMessages.getString("NewTypeWizardPage.superclass.label")); 
		fSuperClassDialogField.setButtonLabel(NewWizardMessages.getString("NewTypeWizardPage.superclass.button")); 
		
		String[] addButtons= new String[] {
			 NewWizardMessages.getString("NewTypeWizardPage.interfaces.add"), 
			 null,
			 NewWizardMessages.getString("NewTypeWizardPage.interfaces.remove") 
		}; 
		fSuperInterfacesDialogField= new ListDialogField(adapter, addButtons, new InterfacesListLabelProvider());
		fSuperInterfacesDialogField.setDialogFieldListener(adapter);
		String interfaceLabel= fIsClass ? NewWizardMessages.getString("NewTypeWizardPage.interfaces.class.label") : NewWizardMessages.getString("NewTypeWizardPage.interfaces.ifc.label"); 
		fSuperInterfacesDialogField.setLabelText(interfaceLabel);
		fSuperInterfacesDialogField.setRemoveButtonIndex(2);
	
		String[] buttonNames1= new String[] {
			 NewWizardMessages.getString("NewTypeWizardPage.modifiers.public"), 
			 NewWizardMessages.getString("NewTypeWizardPage.modifiers.default"), 
			 NewWizardMessages.getString("NewTypeWizardPage.modifiers.private"), 
			 NewWizardMessages.getString("NewTypeWizardPage.modifiers.protected") 
		};
		fAccMdfButtons= new SelectionButtonDialogFieldGroup(SWT.RADIO, buttonNames1, 4);
		fAccMdfButtons.setDialogFieldListener(adapter);
		fAccMdfButtons.setLabelText(NewWizardMessages.getString("NewTypeWizardPage.modifiers.acc.label"));		 
		fAccMdfButtons.setSelection(0, true);
		
		String[] buttonNames2;
		if (fIsClass) {
			buttonNames2= new String[] {
				 NewWizardMessages.getString("NewTypeWizardPage.modifiers.abstract"),