Bug 129807 [cleanup] Add final cleanup should only add keyword on methods with body
I20060223-1656 + ZRH plugin export The final keyword should only be added on methods with body. In particular, final should be omitted for interface methods and abstract methods.
org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/CleanUpTest.java
JavaCore.setOptions(options);			
		IPreferenceStore store= JavaPlugin.getDefault().getPreferenceStore();
		store.setValue(PreferenceConstants.CODEGEN_ADD_COMMENTS, false);
		store.setValue(PreferenceConstants.CODEGEN_KEYWORD_THIS, false);
		
		StubUtility.setCodeTemplate(CodeTemplateContextType.METHODSTUB_ID, "//TODO\n${body_statement}", null);
		StubUtility.setCodeTemplate(CodeTemplateContextType.FIELDCOMMENT_ID, FIELD_COMMENT, null);
		
		Preferences corePrefs= JavaCore.getPlugin().getPluginPreferences();
		corePrefs.setValue(JavaCore.CODEASSIST_FIELD_PREFIXES, "");
		corePrefs.setValue(JavaCore.CODEASSIST_STATIC_FIELD_PREFIXES, "");
		corePrefs.setValue(JavaCore.CODEASSIST_FIELD_SUFFIXES, "");
		corePrefs.setValue(JavaCore.CODEASSIST_STATIC_FIELD_SUFFIXES, "");	
		
		fJProject1= ProjectTestSetup.getProject();
		fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
	}
	protected void tearDown() throws Exception {
		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
	}
	
	protected static void assertNumberOfChanges(CompilationUnitChange[] changes, int expectedChanges) {
		if (changes.length != expectedChanges) {
			StringBuffer buf= new StringBuffer();
			buf.append("Wrong number of changes, is: ").append(changes.length). append(", expected: ").append(expectedChanges).append('\n');
			for (int i= 0; i < changes.length; i++) {
				CompilationUnitChange curr= changes[i];
				buf.append(" - ").append(curr.getName()).append(" in ").append(curr.getCompilationUnit().getElementName()).append('\n');
			}