Bug 568548 - Simplify the 'java-empty' context type.

- JavaContextResolver was created to provide resolution for class_name
  and package_delcaration variable but similar ones exist
  - Use primary_type_name variable instead of class_name
  - Use enclosing_package variable instead of package_declaration
- Remove unnecessary line_selection variable from 'java-empty' templates

Change-Id: I2595b5143a8193becd7cd02e8a8925f788c7e471
Signed-off-by: Roland Grunberg <rgrunber@redhat.com>
diff --git a/org.eclipse.jdt.ui/plugin.xml b/org.eclipse.jdt.ui/plugin.xml
index 5e2347c..80f14e5 100644
--- a/org.eclipse.jdt.ui/plugin.xml
+++ b/org.eclipse.jdt.ui/plugin.xml
@@ -5722,20 +5722,6 @@
             description="%templates.java.resolvers.NewField.description"
             name="%templates.java.resolvers.NewField.name"
             type="newField"/>
-      <resolver
-            class="org.eclipse.jdt.internal.corext.template.java.JavaContextResolver"
-            contextTypeId="java"
-            description="%templates.java.resolvers.JavaContext.description"
-            name="%templates.java.resolvers.JavaContext.name"
-            type="package_declaration">
-      </resolver>
-      <resolver
-            class="org.eclipse.jdt.internal.corext.template.java.JavaContextResolver"
-            contextTypeId="java"
-            description="%templates.java.resolvers.JavaContext.description"
-            name="%templates.java.resolvers.JavaContext.name"
-            type="class_name">
-      </resolver>
    </extension>
    <extension
          point="org.eclipse.ui.views">
diff --git a/org.eclipse.jdt.ui/templates/default-templates.xml b/org.eclipse.jdt.ui/templates/default-templates.xml
index 91200e6..3df7b50 100644
--- a/org.eclipse.jdt.ui/templates/default-templates.xml
+++ b/org.eclipse.jdt.ui/templates/default-templates.xml
@@ -257,27 +257,27 @@
 	${cursor}
 }</template>
 
-<template name="new_class" description="%Templates.new_class" id="org.eclipse.jdt.ui.templates.new_class" context="java-empty" enabled="true" autoinsert="false">${package_declaration}
+<template name="new_class" description="%Templates.new_class" id="org.eclipse.jdt.ui.templates.new_class" context="java-empty" enabled="true" autoinsert="false">package ${enclosing_package};
 
-public class ${class_name} ${line_selection}${cursor} {
+public class ${primary_type_name} ${cursor} {
 
 }</template>
 
-<template name="new_iface" description="%Templates.new_iface" id="org.eclipse.jdt.ui.templates.new_iface" context="java-empty" enabled="true" autoinsert="false">${package_declaration}
+<template name="new_iface" description="%Templates.new_iface" id="org.eclipse.jdt.ui.templates.new_iface" context="java-empty" enabled="true" autoinsert="false">package ${enclosing_package};
 
-public interface ${class_name} ${line_selection}${cursor} {
+public interface ${primary_type_name} ${cursor} {
 
 }</template>
 
-<template name="new_enum" description="%Templates.new_enum" id="org.eclipse.jdt.ui.templates.new_enum" context="java-empty" enabled="true" autoinsert="false">${package_declaration}
+<template name="new_enum" description="%Templates.new_enum" id="org.eclipse.jdt.ui.templates.new_enum" context="java-empty" enabled="true" autoinsert="false">package ${enclosing_package};
 
-public enum ${class_name} ${line_selection}${cursor} {
+public enum ${primary_type_name} ${cursor} {
 
 }</template>
 
-<template name="new_record" description="%Templates.new_record" id="org.eclipse.jdt.ui.templates.new_record" context="java-empty" enabled="true" autoinsert="false">${package_declaration}
+<template name="new_record" description="%Templates.new_record" id="org.eclipse.jdt.ui.templates.new_record" context="java-empty" enabled="true" autoinsert="false">package ${enclosing_package};
 
-public record ${class_name}(${cursor})${line_selection} {
+public record ${primary_type_name}(${cursor}) {
 
 }</template>
 
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/corext/template/java/JavaContextResolver.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/corext/template/java/JavaContextResolver.java
deleted file mode 100644
index e973a75..0000000
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/corext/template/java/JavaContextResolver.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2019 Red Hat Inc. and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *     Red Hat - Initial Contribution
- *******************************************************************************/
-package org.eclipse.jdt.internal.corext.template.java;
-
-import org.eclipse.jface.text.templates.TemplateContext;
-import org.eclipse.jface.text.templates.TemplateVariable;
-import org.eclipse.jface.text.templates.TemplateVariableResolver;
-
-import org.eclipse.jdt.core.IJavaElement;
-
-/**
- * Resolve variables from the context of a Java compilation unit.
- */
-public class JavaContextResolver extends TemplateVariableResolver {
-
-	private static String PACKAGE_DECLARATION = "package_declaration"; //$NON-NLS-1$
-	private static String CLASS_NAME = "class_name"; //$NON-NLS-1$
-
-	public JavaContextResolver() {
-	}
-
-	public JavaContextResolver(String type, String description) {
-		super(type, description);
-	}
-
-	@Override
-	public void resolve(TemplateVariable variable, TemplateContext context) {
-		if (context instanceof JavaContext) {
-			JavaContext jc = (JavaContext) context;
-			if (PACKAGE_DECLARATION.equals(variable.getName())) {
-				IJavaElement pkgCandidate = jc.getCompilationUnit().getParent();
-				String pkgNS = null;
-				if (pkgCandidate != null &&
-						pkgCandidate.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
-					pkgNS = pkgCandidate.getElementName();
-				} else {
-					pkgNS = jc.getCompilationUnit().getPath().toOSString()
-							.replaceAll("/", ".") //$NON-NLS-1$ //$NON-NLS-2$
-							.replaceAll("." + jc.getCompilationUnit().getElementName(), "") //$NON-NLS-1$ //$NON-NLS-2$
-							.substring(1);
-				}
-				variable.setValue("package " + pkgNS + ";"); //$NON-NLS-1$ //$NON-NLS-2$
-			} else if (CLASS_NAME.equals(variable.getName())) {
-				String cName = jc.getCompilationUnit().getElementName().replaceAll(".java", ""); //$NON-NLS-1$ //$NON-NLS-2$
-				variable.setValue(cName);
-			}
-		}
-	}
-
-}