[581758] Handle removal of ResourceNavigator and friends

Change-Id: I8f236ad51899337da660980fee1f3ba242768dd7
diff --git a/bundles/org.eclipse.wst.jsdt.ui/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.wst.jsdt.ui/.settings/org.eclipse.jdt.core.prefs
index a31920a..9c3b213 100644
--- a/bundles/org.eclipse.wst.jsdt.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.wst.jsdt.ui/.settings/org.eclipse.jdt.core.prefs
@@ -20,7 +20,7 @@
 org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate

 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8

 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve

-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8

 org.eclipse.jdt.core.compiler.debug.lineNumber=generate

 org.eclipse.jdt.core.compiler.debug.localVariable=generate

 org.eclipse.jdt.core.compiler.debug.sourceFile=generate

@@ -108,34 +108,69 @@
 org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning

 org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning

 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning

-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.source=1.8

+org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false

+org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647

+org.eclipse.jdt.core.formatter.align_selector_in_method_invocation_on_expression_first_line=false

 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false

+org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false

+org.eclipse.jdt.core.formatter.align_with_spaces=false

+org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16

+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_enum_constant=49

+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field=49

+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_local_variable=49

+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_method=49

+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_package=49

+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_parameter=0

+org.eclipse.jdt.core.formatter.alignment_for_annotations_on_type=49

 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16

 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0

 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16

 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16

 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16

 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16

+org.eclipse.jdt.core.formatter.alignment_for_assertion_message=0

 org.eclipse.jdt.core.formatter.alignment_for_assignment=0

 org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16

+org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16

 org.eclipse.jdt.core.formatter.alignment_for_compact_if=32

+org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16

 org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48

-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0

+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain=0

+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16

 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16

+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0

+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_switch_case_with_arrow=0

+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_switch_case_with_colon=0

+org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16

 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0

+org.eclipse.jdt.core.formatter.alignment_for_module_statements=16

 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16

+org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16

+org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0

 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16

 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16

+org.eclipse.jdt.core.formatter.alignment_for_record_components=16

+org.eclipse.jdt.core.formatter.alignment_for_relational_operator=0

 org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80

 org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16

+org.eclipse.jdt.core.formatter.alignment_for_shift_operator=0

+org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16

 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=64

 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16

+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_record_declaration=64

 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=64

+org.eclipse.jdt.core.formatter.alignment_for_switch_case_with_arrow=0

 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16

 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16

+org.eclipse.jdt.core.formatter.alignment_for_type_annotations=0

+org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0

+org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0

 org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16

 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1

+org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration=0

 org.eclipse.jdt.core.formatter.blank_lines_after_package=1

+org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method=1

 org.eclipse.jdt.core.formatter.blank_lines_before_field=0

 org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0

 org.eclipse.jdt.core.formatter.blank_lines_before_imports=1

@@ -144,6 +179,7 @@
 org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1

 org.eclipse.jdt.core.formatter.blank_lines_before_package=0

 org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1

+org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch=0

 org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1

 org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line

 org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line

@@ -153,11 +189,17 @@
 org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line

 org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line

 org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line

+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line

 org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line

+org.eclipse.jdt.core.formatter.brace_position_for_record_constructor=end_of_line

+org.eclipse.jdt.core.formatter.brace_position_for_record_declaration=end_of_line

 org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line

 org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line

+org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=false

+org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false

 org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false

 org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false

+org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=false

 org.eclipse.jdt.core.formatter.comment.format_block_comments=true

 org.eclipse.jdt.core.formatter.comment.format_header=false

 org.eclipse.jdt.core.formatter.comment.format_html=true

@@ -166,7 +208,9 @@
 org.eclipse.jdt.core.formatter.comment.format_source_code=true

 org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true

 org.eclipse.jdt.core.formatter.comment.indent_root_tags=true

+org.eclipse.jdt.core.formatter.comment.indent_tag_description=false

 org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert

+org.eclipse.jdt.core.formatter.comment.insert_new_line_between_different_tags=do not insert

 org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert

 org.eclipse.jdt.core.formatter.comment.line_length=78

 org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true

@@ -178,10 +222,11 @@
 org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off

 org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on

 org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false

-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true

+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false

 org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true

 org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true

 org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true

+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_record_header=true

 org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true

 org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true

 org.eclipse.jdt.core.formatter.indent_empty_lines=false

@@ -190,6 +235,7 @@
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true

 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true

 org.eclipse.jdt.core.formatter.indentation.size=4

+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert

 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert

 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert

 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert

@@ -198,6 +244,7 @@
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert

 org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert

 org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert

+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert

 org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert

 org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert

 org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert

@@ -211,12 +258,16 @@
 org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert

 org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert

 org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert

+org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert

 org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert

+org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case=insert

+org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert

 org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert

 org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert

 org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert

 org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert

-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert

+org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert

+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert

 org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert

 org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert

 org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert

@@ -241,10 +292,17 @@
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert

 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert

 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert

+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_permitted_types=insert

+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_record_components=insert

 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert

+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions=insert

 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert

 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert

 org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert

+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert

+org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert

+org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert

+org.eclipse.jdt.core.formatter.insert_space_after_not_operator=do not insert

 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert

 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert

 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert

@@ -261,6 +319,7 @@
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert

 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert

 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert

+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_record_declaration=do not insert

 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert

 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert

 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert

@@ -269,13 +328,20 @@
 org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert

 org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert

 org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert

+org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert

 org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert

 org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert

+org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert

+org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert

 org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert

+org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert

 org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert

+org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert

+org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert

 org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert

 org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert

 org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert

+org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert

 org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert

 org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert

 org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert

@@ -292,6 +358,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert

 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert

 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert

+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_record_declaration=do not insert

 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert

 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert

 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert

@@ -318,10 +385,16 @@
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert

 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert

 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert

+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_permitted_types=do not insert

+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_record_components=do not insert

 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert

+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions=do not insert

 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert

 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert

 org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert

+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert

+org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert

+org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert

 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert

 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert

 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert

@@ -333,6 +406,8 @@
 org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert

 org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert

 org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert

+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_constructor=insert

+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_declaration=insert

 org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert

 org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert

 org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert

@@ -348,6 +423,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert

 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert

 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert

+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_record_declaration=do not insert

 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert

 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert

 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert

@@ -358,9 +434,12 @@
 org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert

 org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert

 org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert

+org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert

 org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert

 org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert

 org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert

+org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert

+org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert

 org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert

 org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert

 org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert

@@ -372,22 +451,68 @@
 org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert

 org.eclipse.jdt.core.formatter.join_lines_in_comments=true

 org.eclipse.jdt.core.formatter.join_wrapped_lines=true

+org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line=one_line_never

+org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line=one_line_never

+org.eclipse.jdt.core.formatter.keep_code_block_on_one_line=one_line_never

 org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false

 org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false

+org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line=one_line_never

+org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line=one_line_never

+org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line=one_line_never

 org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false

+org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line=one_line_never

+org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line=one_line_never

+org.eclipse.jdt.core.formatter.keep_method_body_on_one_line=one_line_never

+org.eclipse.jdt.core.formatter.keep_record_constructor_on_one_line=one_line_never

+org.eclipse.jdt.core.formatter.keep_record_declaration_on_one_line=one_line_never

+org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false

+org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false

+org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line=false

+org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false

+org.eclipse.jdt.core.formatter.keep_switch_body_block_on_one_line=one_line_never

+org.eclipse.jdt.core.formatter.keep_switch_case_with_arrow_on_one_line=one_line_never

 org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false

+org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line=one_line_never

 org.eclipse.jdt.core.formatter.lineSplit=999

 org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false

 org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false

+org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block=0

+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block=0

 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0

+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block=0

+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body=0

+org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block=0

 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=3

+org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines

+org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines

+org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines

+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines

+org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines

+org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines

+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines

+org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines

+org.eclipse.jdt.core.formatter.parentheses_positions_in_record_declaration=common_lines

+org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines

+org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines

 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false

 org.eclipse.jdt.core.formatter.tabulation.char=tab

 org.eclipse.jdt.core.formatter.tabulation.size=4

-org.eclipse.jdt.core.formatter.use_on_off_tags=false

+org.eclipse.jdt.core.formatter.text_block_indentation=0

+org.eclipse.jdt.core.formatter.use_on_off_tags=true

 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false

+org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true

+org.eclipse.jdt.core.formatter.wrap_before_assertion_message_operator=true

+org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false

 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true

+org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true

+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true

+org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true

+org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true

 org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true

+org.eclipse.jdt.core.formatter.wrap_before_relational_operator=true

+org.eclipse.jdt.core.formatter.wrap_before_shift_operator=true

+org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true

+org.eclipse.jdt.core.formatter.wrap_before_switch_case_arrow_operator=false

 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true

 org.eclipse.jdt.core.incompatibleJDKLevel=ignore

 org.eclipse.jdt.core.incompleteClasspath=error

diff --git a/bundles/org.eclipse.wst.jsdt.ui/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.wst.jsdt.ui/.settings/org.eclipse.jdt.ui.prefs
index fb6bc73..f52bbb3 100644
--- a/bundles/org.eclipse.wst.jsdt.ui/.settings/org.eclipse.jdt.ui.prefs
+++ b/bundles/org.eclipse.wst.jsdt.ui/.settings/org.eclipse.jdt.ui.prefs
@@ -1,54 +1,53 @@
-#Mon Mar 05 17:39:49 EST 2012

-cleanup.format_source_code=false

-cleanup_profile=_SSE Team Styles

-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Licensed Materials - Property of IBM\r\n * \u00A9 Copyright IBM Corporation ${year}. All Rights Reserved.\r\n * U.S. Government Users Restricted Rights - Use, duplication or disclosure\r\n * restricted by GSA ADP Schedule Contract with IBM Corp. \r\n *******************************************************************************/\r\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>

-cleanup.add_missing_annotations=false

-cleanup.use_this_for_non_static_method_access_only_if_necessary=true

-cleanup.remove_unused_private_types=true

-cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true

-cleanup.qualify_static_method_accesses_with_declaring_class=false

-cleanup.add_generated_serial_version_id=false

-cleanup.make_variable_declarations_final=false

-cleanup.always_use_this_for_non_static_field_access=false

-org.eclipse.jdt.ui.overrideannotation=false

-internal.default.compliance=default

-org.eclipse.jdt.ui.keywordthis=false

-cleanup.never_use_parentheses_in_expressions=false

-cleanup.add_serial_version_id=true

-cleanup_settings_version=2

-cleanup.remove_unused_private_methods=true

-cleanup.use_this_for_non_static_field_access=false

-cleanup.use_blocks_only_for_return_and_throw=false

-cleanup.remove_unused_private_members=true

-org.eclipse.jdt.ui.exception.name=e

-cleanup.always_use_this_for_non_static_method_access=false

-cleanup.remove_unnecessary_nls_tags=true

-cleanup.qualify_static_field_accesses_with_declaring_class=false

-formatter_profile=_SSE Formatting

-cleanup.add_missing_nls_tags=false

-cleanup.use_this_for_non_static_field_access_only_if_necessary=true

-cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true

-org.eclipse.jdt.ui.gettersetter.use.is=true

-cleanup.remove_unnecessary_casts=true

-cleanup.qualify_static_member_accesses_with_declaring_class=true

-cleanup.use_parentheses_in_expressions=true

-cleanup.remove_unused_private_fields=true

-cleanup.make_parameters_final=false

-eclipse.preferences.version=1

-cleanup.remove_unused_imports=true

-cleanup.organize_imports=true

-cleanup.convert_to_enhanced_for_loop=false

-cleanup.remove_private_constructors=true

-cleanup.always_use_blocks=true

-cleanup.never_use_blocks=false

-cleanup.always_use_parentheses_in_expressions=true

-formatter_settings_version=12

-cleanup.use_this_for_non_static_method_access=false

-cleanup.remove_unused_local_variables=false

-cleanup.make_private_fields_final=true

-org.eclipse.jdt.ui.javadoc=true

-cleanup.add_missing_deprecated_annotations=true

 cleanup.add_default_serial_version_id=true

-cleanup.use_blocks=true

+cleanup.add_generated_serial_version_id=false

+cleanup.add_missing_annotations=false

+cleanup.add_missing_deprecated_annotations=true

+cleanup.add_missing_nls_tags=false

 cleanup.add_missing_override_annotations=true

+cleanup.add_serial_version_id=true

+cleanup.always_use_blocks=true

+cleanup.always_use_parentheses_in_expressions=true

+cleanup.always_use_this_for_non_static_field_access=false

+cleanup.always_use_this_for_non_static_method_access=false

+cleanup.convert_to_enhanced_for_loop=false

+cleanup.format_source_code=false

 cleanup.make_local_variable_final=true

+cleanup.make_parameters_final=false

+cleanup.make_private_fields_final=true

+cleanup.make_variable_declarations_final=false

+cleanup.never_use_blocks=false

+cleanup.never_use_parentheses_in_expressions=false

+cleanup.organize_imports=true

+cleanup.qualify_static_field_accesses_with_declaring_class=false

+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true

+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true

+cleanup.qualify_static_member_accesses_with_declaring_class=true

+cleanup.qualify_static_method_accesses_with_declaring_class=false

+cleanup.remove_private_constructors=true

+cleanup.remove_unnecessary_casts=true

+cleanup.remove_unnecessary_nls_tags=true

+cleanup.remove_unused_imports=true

+cleanup.remove_unused_local_variables=false

+cleanup.remove_unused_private_fields=true

+cleanup.remove_unused_private_members=true

+cleanup.remove_unused_private_methods=true

+cleanup.remove_unused_private_types=true

+cleanup.use_blocks=true

+cleanup.use_blocks_only_for_return_and_throw=false

+cleanup.use_parentheses_in_expressions=true

+cleanup.use_this_for_non_static_field_access=false

+cleanup.use_this_for_non_static_field_access_only_if_necessary=true

+cleanup.use_this_for_non_static_method_access=false

+cleanup.use_this_for_non_static_method_access_only_if_necessary=true

+cleanup_profile=_SSE Team Styles

+cleanup_settings_version=2

+eclipse.preferences.version=1

+formatter_profile=_SSE Formatting

+formatter_settings_version=22

+internal.default.compliance=default

+org.eclipse.jdt.ui.exception.name=e

+org.eclipse.jdt.ui.gettersetter.use.is=true

+org.eclipse.jdt.ui.javadoc=true

+org.eclipse.jdt.ui.keywordthis=false

+org.eclipse.jdt.ui.overrideannotation=false

+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Licensed Materials - Property of IBM\r\n * \u00A9 Copyright IBM Corporation ${year}. All Rights Reserved.\r\n * U.S. Government Users Restricted Rights - Use, duplication or disclosure\r\n * restricted by GSA ADP Schedule Contract with IBM Corp. \r\n *******************************************************************************/\r\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>

diff --git a/bundles/org.eclipse.wst.jsdt.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.jsdt.ui/META-INF/MANIFEST.MF
index 828ac21..55d66f5 100755
--- a/bundles/org.eclipse.wst.jsdt.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.jsdt.ui/META-INF/MANIFEST.MF
@@ -1,6 +1,6 @@
 Manifest-Version: 1.0
 Bundle-SymbolicName: org.eclipse.wst.jsdt.ui; singleton:=true
-Bundle-Version: 2.1.600.qualifier
+Bundle-Version: 2.1.700.qualifier
 Bundle-Activator: org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin
 Import-Package: org.eclipse.wst.validation,
  org.eclipse.wst.validation.internal.core,
diff --git a/bundles/org.eclipse.wst.jsdt.ui/pom.xml b/bundles/org.eclipse.wst.jsdt.ui/pom.xml
index 9b139a8..2250fef 100644
--- a/bundles/org.eclipse.wst.jsdt.ui/pom.xml
+++ b/bundles/org.eclipse.wst.jsdt.ui/pom.xml
@@ -22,7 +22,7 @@
 
   <groupId>org.eclipse.webtools.jsdt.bundles</groupId>
   <artifactId>org.eclipse.wst.jsdt.ui</artifactId>
-  <version>2.1.600-SNAPSHOT</version>
+  <version>2.1.700-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
   <build>
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/JavaPerspectiveFactory.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/JavaPerspectiveFactory.java
index bf909af..abba80e 100644
--- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/JavaPerspectiveFactory.java
+++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/JavaPerspectiveFactory.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2011 IBM Corporation and others.
+ * Copyright (c) 2000, 2023 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v2.0
  * which accompanies this distribution, and is available at
@@ -36,13 +36,15 @@
 		
 		String explorerViewID = ProductProperties.getProperty(IProductConstants.PERSPECTIVE_EXPLORER_VIEW);
 		// make sure the specified view ID is known
-		if (PlatformUI.getWorkbench().getViewRegistry().find(explorerViewID) != null)
+		if (PlatformUI.getWorkbench().getViewRegistry().find(explorerViewID) != null) {
 			folder.addView(explorerViewID);
-		else
+		}
+		else {
 			folder.addView(ProductProperties.ID_PERSPECTIVE_EXPLORER_VIEW);
+		}
 		
 		folder.addPlaceholder(JavaScriptUI.ID_TYPE_HIERARCHY);
-		folder.addPlaceholder(IPageLayout.ID_RES_NAV);
+		folder.addPlaceholder(IPageLayout.ID_PROJECT_EXPLORER);
 		folder.addPlaceholder(JavaScriptUI.ID_PACKAGES);
 		
 		IFolderLayout outputfolder= layout.createFolder("bottom", IPageLayout.BOTTOM, (float)0.75, editorArea); //$NON-NLS-1$
@@ -80,7 +82,6 @@
 		// views - standard workbench
 		layout.addShowViewShortcut(IPageLayout.ID_OUTLINE);
 		layout.addShowViewShortcut(IPageLayout.ID_PROBLEM_VIEW);
-		layout.addShowViewShortcut(IPageLayout.ID_RES_NAV);
 		layout.addShowViewShortcut(IPageLayout.ID_TASK_LIST);
 		layout.addShowViewShortcut(IProgressConstants.PROGRESS_VIEW_ID);
 				
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/actions/ActionMessages.properties b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/actions/ActionMessages.properties
index b3650fd..ebdc121 100644
--- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/actions/ActionMessages.properties
+++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/actions/ActionMessages.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2000, 2011 IBM Corporation and others.
+# Copyright (c) 2000, 2023 IBM Corporation and others.
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v2.0
 # which accompanies this distribution, and is available at
@@ -62,10 +62,10 @@
 ShowInPackageViewAction_dialog_title=Show In Script Explorer
 ShowInPackageViewAction_error_message=An internal error occurred. Please see log for details.
 
-ShowInNavigatorView_label=Show in &Navigator View
-ShowInNavigatorView_dialog_title=Show in Navigator View
-ShowInNavigatorView_dialog_message=Select the element to be opened in the navigator view:
-ShowInNavigatorView_error_activation_failed=Cannot activate Resource Navigator
+ShowInNavigatorView_label=Show in Project Explorer View
+ShowInNavigatorView_dialog_title=Show in Project Explorer View
+ShowInNavigatorView_dialog_message=Select the element to be opened in the Project Explorer view:
+ShowInNavigatorView_error_activation_failed=Cannot activate Project Explorer
 
 OverrideMethodsAction_label=O&verride/Implement Functions...
 OverrideMethodsAction_description=Override or implement functions declared in supertypes
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/browsing/JavaBrowsingPart.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/browsing/JavaBrowsingPart.java
index caa265c..6368e7a 100644
--- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/browsing/JavaBrowsingPart.java
+++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/browsing/JavaBrowsingPart.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2023 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v2.0
  * which accompanies this distribution, and is available at
@@ -32,6 +32,7 @@
 import org.eclipse.jface.action.MenuManager;
 import org.eclipse.jface.text.ITextSelection;
 import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.jface.util.LocalSelectionTransfer;
 import org.eclipse.jface.util.PropertyChangeEvent;
 import org.eclipse.jface.util.TransferDragSourceListener;
 import org.eclipse.jface.util.TransferDropTargetListener;
@@ -79,7 +80,6 @@
 import org.eclipse.ui.part.ShowInContext;
 import org.eclipse.ui.part.ViewPart;
 import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.views.navigator.LocalSelectionTransfer;
 import org.eclipse.wst.jsdt.core.IClassFile;
 import org.eclipse.wst.jsdt.core.IJavaScriptUnit;
 import org.eclipse.wst.jsdt.core.IJavaScriptElement;
@@ -423,7 +423,7 @@
 		int ops= DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
 		// drop
 		Transfer[] dropTransfers= new Transfer[] {
-			LocalSelectionTransfer.getInstance()
+			LocalSelectionTransfer.getTransfer()
 		};
 		TransferDropTargetListener[] dropListeners= new TransferDropTargetListener[] {
 			new SelectionTransferDropAdapter(fViewer)
@@ -432,7 +432,7 @@
 
 		// Drag
 		Transfer[] dragTransfers= new Transfer[] {
-			LocalSelectionTransfer.getInstance(),
+			LocalSelectionTransfer.getTransfer(),
 			ResourceTransfer.getInstance()};
 		TransferDragSourceListener[] dragListeners= new TransferDragSourceListener[] {
 			new SelectionTransferDragAdapter(fViewer),
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/browsing/JavaBrowsingPerspectiveFactory.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/browsing/JavaBrowsingPerspectiveFactory.java
index 2c33746..d5192fe 100644
--- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/browsing/JavaBrowsingPerspectiveFactory.java
+++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/browsing/JavaBrowsingPerspectiveFactory.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2023 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v2.0
  * which accompanies this distribution, and is available at
@@ -19,6 +19,8 @@
 import org.eclipse.ui.console.IConsoleConstants;
 import org.eclipse.ui.progress.IProgressConstants;
 import org.eclipse.wst.jsdt.core.IJavaScriptElement;
+import org.eclipse.wst.jsdt.internal.ui.IProductConstants;
+import org.eclipse.wst.jsdt.internal.ui.ProductProperties;
 import org.eclipse.wst.jsdt.ui.JavaScriptUI;
 import org.eclipse.wst.jsdt.ui.PreferenceConstants;
 
@@ -49,6 +51,8 @@
 		layout.addActionSet(JavaScriptUI.ID_ELEMENT_CREATION_ACTION_SET);
 		layout.addActionSet(IPageLayout.ID_NAVIGATE_ACTION_SET);
 
+		String explorerViewID = ProductProperties.getProperty(IProductConstants.PERSPECTIVE_EXPLORER_VIEW);
+
 		// views - java
 		layout.addShowViewShortcut(JavaScriptUI.ID_TYPE_HIERARCHY);
 		layout.addShowViewShortcut(JavaScriptUI.ID_PACKAGES);
@@ -68,7 +72,9 @@
 		// views - standard workbench
 		layout.addShowViewShortcut(IPageLayout.ID_OUTLINE);
 		layout.addShowViewShortcut(IPageLayout.ID_PROBLEM_VIEW);
-		layout.addShowViewShortcut(IPageLayout.ID_RES_NAV);
+		if (explorerViewID != null) {
+			layout.addShowViewShortcut(explorerViewID);
+		}
 		layout.addShowViewShortcut(IPageLayout.ID_TASK_LIST);
 		layout.addShowViewShortcut(IProgressConstants.PROGRESS_VIEW_ID);
 
@@ -90,14 +96,21 @@
 		String relativePartId= IPageLayout.ID_EDITOR_AREA;
 		int relativePos= IPageLayout.LEFT;
 
+		String explorerViewID = ProductProperties.getProperty(IProductConstants.PERSPECTIVE_EXPLORER_VIEW);
+
 		IPlaceholderFolderLayout placeHolderLeft= layout.createPlaceholderFolder("left", IPageLayout.LEFT, (float)0.25, IPageLayout.ID_EDITOR_AREA); //$NON-NLS-1$
 		placeHolderLeft.addPlaceholder(JavaScriptUI.ID_TYPE_HIERARCHY);
 		placeHolderLeft.addPlaceholder(IPageLayout.ID_OUTLINE);
 		placeHolderLeft.addPlaceholder(JavaScriptUI.ID_PACKAGES);
-		placeHolderLeft.addPlaceholder(IPageLayout.ID_RES_NAV);
+		if (explorerViewID != null) {
+			placeHolderLeft.addPlaceholder(explorerViewID);
+		}
 
 		if (shouldShowProjectsView()) {
 			layout.addView(JavaScriptUI.ID_PROJECTS_VIEW, IPageLayout.LEFT, (float)0.25, IPageLayout.ID_EDITOR_AREA);
+			if (explorerViewID != null) {
+				layout.addView(explorerViewID, IPageLayout.LEFT, (float)0.25, IPageLayout.ID_EDITOR_AREA);
+			}
 			relativePartId= JavaScriptUI.ID_PROJECTS_VIEW;
 			relativePos= IPageLayout.BOTTOM;
 		}
@@ -123,9 +136,14 @@
 		String relativePartId= IPageLayout.ID_EDITOR_AREA;
 		int relativePos= IPageLayout.TOP;
 
+		String explorerViewID = ProductProperties.getProperty(IProductConstants.PERSPECTIVE_EXPLORER_VIEW);
+
 		if (shouldShowProjectsView()) {
 			layout.addView(JavaScriptUI.ID_PROJECTS_VIEW, IPageLayout.TOP, (float)0.25, IPageLayout.ID_EDITOR_AREA);
 			relativePartId= JavaScriptUI.ID_PROJECTS_VIEW;
+			if (explorerViewID != null) {
+				layout.addView(explorerViewID, IPageLayout.LEFT, (float)0.25, IPageLayout.ID_EDITOR_AREA);
+			}
 			relativePos= IPageLayout.RIGHT;
 		}
 		if (shouldShowPackagesView()) {
@@ -140,7 +158,9 @@
 		placeHolderLeft.addPlaceholder(JavaScriptUI.ID_TYPE_HIERARCHY);
 		placeHolderLeft.addPlaceholder(IPageLayout.ID_OUTLINE);
 		placeHolderLeft.addPlaceholder(JavaScriptUI.ID_PACKAGES);
-		placeHolderLeft.addPlaceholder(IPageLayout.ID_RES_NAV);
+		if (explorerViewID != null) {
+			placeHolderLeft.addPlaceholder(explorerViewID);
+		}
 
 
 		IPlaceholderFolderLayout placeHolderBottom= layout.createPlaceholderFolder("bottom", IPageLayout.BOTTOM, (float)0.75, IPageLayout.ID_EDITOR_AREA); //$NON-NLS-1$
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/browsing/PackagesView.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/browsing/PackagesView.java
index 8d5622d..934540e 100644
--- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/browsing/PackagesView.java
+++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/browsing/PackagesView.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2023 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v2.0
  * which accompanies this distribution, and is available at
@@ -51,7 +51,9 @@
 import org.eclipse.wst.jsdt.core.JavaScriptCore;
 import org.eclipse.wst.jsdt.internal.corext.util.Messages;
 import org.eclipse.wst.jsdt.internal.ui.IJavaHelpContextIds;
+import org.eclipse.wst.jsdt.internal.ui.IProductConstants;
 import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin;
+import org.eclipse.wst.jsdt.internal.ui.ProductProperties;
 import org.eclipse.wst.jsdt.internal.ui.JavaPluginImages;
 import org.eclipse.wst.jsdt.internal.ui.actions.MultiActionGroup;
 import org.eclipse.wst.jsdt.internal.ui.actions.SelectAllAction;
@@ -207,7 +209,13 @@
 		if (key == IShowInTargetList.class) {
 			return new IShowInTargetList() {
 				public String[] getShowInTargetIds() {
-					return new String[] { JavaScriptUI.ID_PACKAGES, IPageLayout.ID_RES_NAV  };
+					String explorerViewID = ProductProperties.getProperty(IProductConstants.PERSPECTIVE_EXPLORER_VIEW);
+					if (explorerViewID != null) {
+						return new String[] { explorerViewID, JavaScriptUI.ID_PACKAGES, IPageLayout.ID_PROJECT_EXPLORER };
+					}
+					else {
+						return new String[] { JavaScriptUI.ID_PACKAGES, IPageLayout.ID_PROJECT_EXPLORER };
+					}
 				}
 			};
 		}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/browsing/ProjectsView.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/browsing/ProjectsView.java
index fe1e92d..4fa4995 100644
--- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/browsing/ProjectsView.java
+++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/browsing/ProjectsView.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2023 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v2.0
  * which accompanies this distribution, and is available at
@@ -32,7 +32,9 @@
 import org.eclipse.wst.jsdt.core.IPackageFragmentRoot;
 import org.eclipse.wst.jsdt.core.JavaScriptCore;
 import org.eclipse.wst.jsdt.internal.ui.IJavaHelpContextIds;
+import org.eclipse.wst.jsdt.internal.ui.IProductConstants;
 import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin;
+import org.eclipse.wst.jsdt.internal.ui.ProductProperties;
 import org.eclipse.wst.jsdt.internal.ui.viewsupport.ColoredViewersManager;
 import org.eclipse.wst.jsdt.internal.ui.viewsupport.FilterUpdater;
 import org.eclipse.wst.jsdt.internal.ui.viewsupport.ProblemTreeViewer;
@@ -71,9 +73,14 @@
 		if (key == IShowInTargetList.class) {
 			return new IShowInTargetList() {
 				public String[] getShowInTargetIds() {
-					return new String[] { JavaScriptUI.ID_PACKAGES, IPageLayout.ID_RES_NAV  };
+					String explorerViewID = ProductProperties.getProperty(IProductConstants.PERSPECTIVE_EXPLORER_VIEW);
+					if (explorerViewID != null) {
+						return new String[]{explorerViewID, JavaScriptUI.ID_PACKAGES, IPageLayout.ID_PROJECT_EXPLORER};
+					}
+					else {
+						return new String[]{JavaScriptUI.ID_PACKAGES, IPageLayout.ID_PROJECT_EXPLORER};
+					}
 				}
-
 			};
 		}
 		return super.getAdapter(key);
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/browsing/TypesView.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/browsing/TypesView.java
index 72db12a..dbb5a03 100644
--- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/browsing/TypesView.java
+++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/browsing/TypesView.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2016 IBM Corporation and others.
+ * Copyright (c) 2000, 2023 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v2.0
  * which accompanies this distribution, and is available at
@@ -32,6 +32,8 @@
 import org.eclipse.wst.jsdt.core.IPackageFragment;
 import org.eclipse.wst.jsdt.core.IType;
 import org.eclipse.wst.jsdt.internal.ui.IJavaHelpContextIds;
+import org.eclipse.wst.jsdt.internal.ui.IProductConstants;
+import org.eclipse.wst.jsdt.internal.ui.ProductProperties;
 import org.eclipse.wst.jsdt.internal.ui.actions.SelectAllAction;
 import org.eclipse.wst.jsdt.internal.ui.filters.NonJavaElementFilter;
 import org.eclipse.wst.jsdt.internal.ui.viewsupport.AppearanceAwareLabelProvider;
@@ -72,7 +74,13 @@
 		if (key == IShowInTargetList.class) {
 			return new IShowInTargetList() {
 				public String[] getShowInTargetIds() {
-					return new String[] { JavaScriptUI.ID_PACKAGES, IPageLayout.ID_RES_NAV  };
+					String explorerViewID = ProductProperties.getProperty(IProductConstants.PERSPECTIVE_EXPLORER_VIEW);
+					if (explorerViewID != null) {
+						return new String[] { explorerViewID, JavaScriptUI.ID_PACKAGES, IPageLayout.ID_PROJECT_EXPLORER };
+					}
+					else {
+						return new String[] { JavaScriptUI.ID_PACKAGES, IPageLayout.ID_PROJECT_EXPLORER };
+					}
 				}
 
 			};
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/callhierarchy/CallHierarchyViewPart.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/callhierarchy/CallHierarchyViewPart.java
index e9e1287..6833ba4 100644
--- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/callhierarchy/CallHierarchyViewPart.java
+++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/callhierarchy/CallHierarchyViewPart.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2023 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v2.0
  * which accompanies this distribution, and is available at
@@ -24,6 +24,7 @@
 import org.eclipse.jface.action.MenuManager;
 import org.eclipse.jface.action.Separator;
 import org.eclipse.jface.dialogs.IDialogSettings;
+import org.eclipse.jface.util.LocalSelectionTransfer;
 import org.eclipse.jface.util.TransferDragSourceListener;
 import org.eclipse.jface.util.TransferDropTargetListener;
 import org.eclipse.jface.viewers.IOpenListener;
@@ -68,7 +69,6 @@
 import org.eclipse.ui.part.ResourceTransfer;
 import org.eclipse.ui.part.ViewPart;
 import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.views.navigator.LocalSelectionTransfer;
 import org.eclipse.wst.jsdt.core.IJavaScriptElement;
 import org.eclipse.wst.jsdt.core.IFunction;
 import org.eclipse.wst.jsdt.core.search.IJavaScriptSearchScope;
@@ -77,7 +77,9 @@
 import org.eclipse.wst.jsdt.internal.corext.callhierarchy.MethodWrapper;
 import org.eclipse.wst.jsdt.internal.corext.util.Messages;
 import org.eclipse.wst.jsdt.internal.ui.IJavaHelpContextIds;
+import org.eclipse.wst.jsdt.internal.ui.IProductConstants;
 import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin;
+import org.eclipse.wst.jsdt.internal.ui.ProductProperties;
 import org.eclipse.wst.jsdt.internal.ui.actions.CompositeActionGroup;
 import org.eclipse.wst.jsdt.internal.ui.dnd.DelegatingDropAdapter;
 import org.eclipse.wst.jsdt.internal.ui.dnd.JdtViewerDragAdapter;
@@ -311,12 +313,12 @@
 
         //dnd on empty hierarchy
         DropTarget dropTarget = new DropTarget(fPagebook, DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK | DND.DROP_DEFAULT);
-        dropTarget.setTransfer(new Transfer[] { LocalSelectionTransfer.getInstance() });
+        dropTarget.setTransfer(new Transfer[] { LocalSelectionTransfer.getTransfer() });
         dropTarget.addDropListener(new CallHierarchyTransferDropAdapter(this, fCallHierarchyViewer));
     }
         
 	private void addDropAdapters(StructuredViewer viewer) {
-		Transfer[] transfers= new Transfer[] { LocalSelectionTransfer.getInstance() };
+		Transfer[] transfers= new Transfer[] { LocalSelectionTransfer.getTransfer() };
 		int ops= DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK | DND.DROP_DEFAULT;
 		
 		TransferDropTargetListener[] dropListeners= new TransferDropTargetListener[] {
@@ -327,7 +329,7 @@
 
 	private void addDragAdapters(StructuredViewer viewer) {
 		int ops= DND.DROP_COPY | DND.DROP_LINK;
-		Transfer[] transfers= new Transfer[] { LocalSelectionTransfer.getInstance(), ResourceTransfer.getInstance()};
+		Transfer[] transfers= new Transfer[] { LocalSelectionTransfer.getTransfer(), ResourceTransfer.getInstance()};
 
 		TransferDragSourceListener[] dragListeners= new TransferDragSourceListener[] {
 			new SelectionTransferDragAdapter(viewer),
@@ -669,7 +671,13 @@
 		if (adapter == IShowInTargetList.class) {
 			return new IShowInTargetList() {
 				public String[] getShowInTargetIds() {
-					return new String[] { JavaScriptUI.ID_PACKAGES, IPageLayout.ID_RES_NAV  };
+					String explorerViewID = ProductProperties.getProperty(IProductConstants.PERSPECTIVE_EXPLORER_VIEW);
+					if (explorerViewID != null) {
+						return new String[] { explorerViewID, JavaScriptUI.ID_PACKAGES, IPageLayout.ID_PROJECT_EXPLORER };
+					}
+					else {
+						return new String[] { JavaScriptUI.ID_PACKAGES, IPageLayout.ID_PROJECT_EXPLORER };
+					}
 				}
 			};
 		}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/dnd/BasicSelectionTransferDragAdapter.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/dnd/BasicSelectionTransferDragAdapter.java
index d4ab96d..dc3f460 100644
--- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/dnd/BasicSelectionTransferDragAdapter.java
+++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/dnd/BasicSelectionTransferDragAdapter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
+ * Copyright (c) 2000, 2023 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v2.0
  * which accompanies this distribution, and is available at
@@ -11,6 +11,7 @@
 package org.eclipse.wst.jsdt.internal.ui.dnd;
 
 import org.eclipse.core.runtime.Assert;
+import org.eclipse.jface.util.LocalSelectionTransfer;
 import org.eclipse.jface.util.TransferDragSourceListener;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.ISelectionProvider;
@@ -18,7 +19,6 @@
 import org.eclipse.swt.dnd.DragSourceAdapter;
 import org.eclipse.swt.dnd.DragSourceEvent;
 import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.ui.views.navigator.LocalSelectionTransfer;
 
 public class BasicSelectionTransferDragAdapter extends DragSourceAdapter implements TransferDragSourceListener {
 	
@@ -33,7 +33,7 @@
 	 * @see TransferDragSourceListener#getTransfer
 	 */
 	public Transfer getTransfer() {
-		return LocalSelectionTransfer.getInstance();
+		return LocalSelectionTransfer.getTransfer();
 	}
 	
 	/* non Java-doc
@@ -41,8 +41,8 @@
 	 */
 	public void dragStart(DragSourceEvent event) {
 		ISelection selection= fProvider.getSelection();
-		LocalSelectionTransfer.getInstance().setSelection(selection);
-		LocalSelectionTransfer.getInstance().setSelectionSetTime(event.time & 0xFFFFFFFFL);
+		LocalSelectionTransfer.getTransfer().setSelection(selection);
+		LocalSelectionTransfer.getTransfer().setSelectionSetTime(event.time & 0xFFFFFFFFL);
 		event.doit= isDragable(selection);
 	}
 	
@@ -66,7 +66,7 @@
 		// For consistency set the data to the selection even though
 		// the selection is provided by the LocalSelectionTransfer
 		// to the drop target adapter.
-		event.data= LocalSelectionTransfer.getInstance().getSelection();
+		event.data= LocalSelectionTransfer.getTransfer().getSelection();
 	}
 
 
@@ -76,7 +76,7 @@
 	public void dragFinished(DragSourceEvent event) {
 		// Make sure we don't have to do any remaining work
 		Assert.isTrue(event.detail != DND.DROP_MOVE);
-		LocalSelectionTransfer.getInstance().setSelection(null);
-		LocalSelectionTransfer.getInstance().setSelectionSetTime(0);
+		LocalSelectionTransfer.getTransfer().setSelection(null);
+		LocalSelectionTransfer.getTransfer().setSelectionSetTime(0);
 	}	
 }
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/javaeditor/JavaEditor.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/javaeditor/JavaEditor.java
index 800ae04..7c27297 100644
--- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/javaeditor/JavaEditor.java
+++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/javaeditor/JavaEditor.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
+ * Copyright (c) 2000, 2023 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v2.0
  * which accompanies this distribution, and is available at
@@ -1809,11 +1809,13 @@
 				public String[] getShowInTargetIds() {
 					String explorerViewID = ProductProperties.getProperty(IProductConstants.PERSPECTIVE_EXPLORER_VIEW);
 					// make sure the specified view ID is known
-					if (PlatformUI.getWorkbench().getViewRegistry().find(explorerViewID) == null)
-						explorerViewID = ProductProperties.ID_PERSPECTIVE_EXPLORER_VIEW;
-					return new String[] {explorerViewID, JavaScriptUI.ID_PACKAGES, IPageLayout.ID_OUTLINE, IPageLayout.ID_RES_NAV };
+					if (explorerViewID != null && PlatformUI.getWorkbench().getViewRegistry().find(explorerViewID) != null) {
+						return new String[]{explorerViewID, JavaScriptUI.ID_PACKAGES, IPageLayout.ID_OUTLINE, IPageLayout.ID_PROJECT_EXPLORER};
+					}
+					else {
+						return new String[]{JavaScriptUI.ID_PACKAGES, IPageLayout.ID_OUTLINE, IPageLayout.ID_PROJECT_EXPLORER};
+					}
 				}
-
 			};
 		}
 
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/navigator/JavaDropAdapterAssistant.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/navigator/JavaDropAdapterAssistant.java
index 4f93a06..f5a8dfe 100644
--- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/navigator/JavaDropAdapterAssistant.java
+++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/navigator/JavaDropAdapterAssistant.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
+ * Copyright (c) 2006, 2023 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v2.0
  * which accompanies this distribution, and is available at
@@ -17,6 +17,7 @@
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.util.LocalSelectionTransfer;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.swt.dnd.DND;
@@ -26,7 +27,6 @@
 import org.eclipse.ui.actions.CopyFilesAndFoldersOperation;
 import org.eclipse.ui.navigator.CommonDropAdapter;
 import org.eclipse.ui.navigator.CommonDropAdapterAssistant;
-import org.eclipse.ui.views.navigator.LocalSelectionTransfer;
 import org.eclipse.wst.jsdt.core.IJavaScriptElement;
 import org.eclipse.wst.jsdt.core.JavaScriptModelException;
 import org.eclipse.wst.jsdt.internal.corext.refactoring.reorg.JavaCopyProcessor;
@@ -50,7 +50,7 @@
 	private int fCanCopyElements; 
 
 	public IStatus handleDrop(CommonDropAdapter dropAdapter, DropTargetEvent dropTargetEvent, Object target) { 
-		if (LocalSelectionTransfer.getInstance().isSupportedType(dropAdapter.getCurrentTransfer())) {
+		if (org.eclipse.jface.util.LocalSelectionTransfer.getTransfer().isSupportedType(dropAdapter.getCurrentTransfer())) {
 			try {
 
 				switch (dropAdapter.getCurrentOperation()) {
@@ -101,7 +101,7 @@
 
 	public IStatus validateDrop(Object target, int operation, TransferData transferType) { 
 		IStatus result = Status.OK_STATUS;
-		if (LocalSelectionTransfer.getInstance().isSupportedType(transferType)) {
+		if (LocalSelectionTransfer.getTransfer().isSupportedType(transferType)) {
 			initializeSelection();
 			try {
 				switch (operation) {
@@ -151,7 +151,7 @@
 	protected void initializeSelection() {
 		if (fElements != null)
 			return;
-		ISelection s = LocalSelectionTransfer.getInstance().getSelection();
+		ISelection s = LocalSelectionTransfer.getTransfer().getSelection();
 		if (!(s instanceof IStructuredSelection))
 			return;
 		fElements = ((IStructuredSelection) s).toList();
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/packageview/PackageExplorerPart.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/packageview/PackageExplorerPart.java
index 1e7b567..812f728 100644
--- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/packageview/PackageExplorerPart.java
+++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/packageview/PackageExplorerPart.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2016 IBM Corporation and others.
+ * Copyright (c) 2000, 2023 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v2.0
  * which accompanies this distribution, and is available at
@@ -40,6 +40,7 @@
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.jface.util.LocalSelectionTransfer;
 import org.eclipse.jface.util.PropertyChangeEvent;
 import org.eclipse.jface.util.TransferDragSourceListener;
 import org.eclipse.jface.util.TransferDropTargetListener;
@@ -105,7 +106,6 @@
 import org.eclipse.ui.views.framelist.FrameList;
 import org.eclipse.ui.views.framelist.IFrameSource;
 import org.eclipse.ui.views.framelist.TreeFrame;
-import org.eclipse.ui.views.navigator.LocalSelectionTransfer;
 import org.eclipse.wst.jsdt.core.IClassFile;
 import org.eclipse.wst.jsdt.core.IJarEntryResource;
 import org.eclipse.wst.jsdt.core.IJavaScriptElement;
@@ -119,7 +119,9 @@
 import org.eclipse.wst.jsdt.core.JavaScriptModelException;
 import org.eclipse.wst.jsdt.internal.corext.util.Messages;
 import org.eclipse.wst.jsdt.internal.ui.IJavaHelpContextIds;
+import org.eclipse.wst.jsdt.internal.ui.IProductConstants;
 import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin;
+import org.eclipse.wst.jsdt.internal.ui.ProductProperties;
 import org.eclipse.wst.jsdt.internal.ui.dnd.DelegatingDropAdapter;
 import org.eclipse.wst.jsdt.internal.ui.dnd.JdtViewerDragAdapter;
 import org.eclipse.wst.jsdt.internal.ui.dnd.ResourceTransferDragAdapter;
@@ -755,7 +757,13 @@
 		if (key == IShowInTargetList.class) {
 			return new IShowInTargetList() {
 				public String[] getShowInTargetIds() {
-					return new String[] { IPageLayout.ID_RES_NAV };
+					String explorerViewID = ProductProperties.getProperty(IProductConstants.PERSPECTIVE_EXPLORER_VIEW);
+					if (explorerViewID != null) {
+						return new String[] { explorerViewID, JavaScriptUI.ID_PACKAGES, IPageLayout.ID_PROJECT_EXPLORER };
+					}
+					else {
+						return new String[] { JavaScriptUI.ID_PACKAGES, IPageLayout.ID_PROJECT_EXPLORER };
+					}
 				}
 
 			};
@@ -879,7 +887,7 @@
 	private void initDrag() {
 		int ops= DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
 		Transfer[] transfers= new Transfer[] {
-			LocalSelectionTransfer.getInstance(), 
+			LocalSelectionTransfer.getTransfer(), 
 			ResourceTransfer.getInstance(),
 			FileTransfer.getInstance()};
 		TransferDragSourceListener[] dragListeners= new TransferDragSourceListener[] {
@@ -893,7 +901,7 @@
 	private void initDrop() {
 		int ops= DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK | DND.DROP_DEFAULT;
 		Transfer[] transfers= new Transfer[] {
-			LocalSelectionTransfer.getInstance(), 
+			LocalSelectionTransfer.getTransfer(), 
 			FileTransfer.getInstance()};
 		TransferDropTargetListener[] dropListeners= new TransferDropTargetListener[] {
 			new SelectionTransferDropAdapter(fViewer),
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/packageview/SelectionTransferDropAdapter.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/packageview/SelectionTransferDropAdapter.java
index 6bd44bc..833ca1b 100644
--- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/packageview/SelectionTransferDropAdapter.java
+++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/packageview/SelectionTransferDropAdapter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2023 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v2.0
  * which accompanies this distribution, and is available at
@@ -14,6 +14,7 @@
 import java.util.List;
 
 import org.eclipse.core.resources.IResource;
+import org.eclipse.jface.util.LocalSelectionTransfer;
 import org.eclipse.jface.util.TransferDropTargetListener;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
@@ -22,7 +23,6 @@
 import org.eclipse.swt.dnd.DropTargetEvent;
 import org.eclipse.swt.dnd.Transfer;
 import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.views.navigator.LocalSelectionTransfer;
 import org.eclipse.wst.jsdt.core.IJavaScriptElement;
 import org.eclipse.wst.jsdt.core.JavaScriptModelException;
 import org.eclipse.wst.jsdt.internal.corext.refactoring.reorg.JavaCopyProcessor;
@@ -55,7 +55,7 @@
 	//---- TransferDropTargetListener interface ---------------------------------------
 	
 	public Transfer getTransfer() {
-		return LocalSelectionTransfer.getInstance();
+		return LocalSelectionTransfer.getTransfer();
 	}
 	
 	public boolean isEnabled(DropTargetEvent event) {
@@ -109,7 +109,7 @@
 	protected void initializeSelection(){
 		if (fElements != null)
 			return;
-		ISelection s= LocalSelectionTransfer.getInstance().getSelection();
+		ISelection s= LocalSelectionTransfer.getTransfer().getSelection();
 		if (!(s instanceof IStructuredSelection))
 			return;
 		fSelection= s;	
@@ -121,7 +121,7 @@
 	}
 	
 	private boolean tooFast(DropTargetEvent event) {
-		return Math.abs(LocalSelectionTransfer.getInstance().getSelectionSetTime() - (event.time & 0xFFFFFFFFL)) < DROP_TIME_DIFF_TRESHOLD;
+		return Math.abs(LocalSelectionTransfer.getTransfer().getSelectionSetTime() - (event.time & 0xFFFFFFFFL)) < DROP_TIME_DIFF_TRESHOLD;
 	}	
 
 	public void drop(Object target, DropTargetEvent event) {
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/packageview/WorkingSetDropAdapter.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/packageview/WorkingSetDropAdapter.java
index 24fbd76..5edacde 100644
--- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/packageview/WorkingSetDropAdapter.java
+++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/packageview/WorkingSetDropAdapter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2023 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v2.0
  * which accompanies this distribution, and is available at
@@ -21,6 +21,7 @@
 
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.jface.util.LocalSelectionTransfer;
 import org.eclipse.jface.util.TransferDropTargetListener;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
@@ -30,7 +31,6 @@
 import org.eclipse.swt.dnd.DropTargetEvent;
 import org.eclipse.swt.dnd.Transfer;
 import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.views.navigator.LocalSelectionTransfer;
 import org.eclipse.wst.jsdt.core.IJavaScriptElement;
 import org.eclipse.wst.jsdt.internal.corext.refactoring.reorg.ReorgUtils;
 import org.eclipse.wst.jsdt.internal.ui.dnd.JdtViewerDropAdapter;
@@ -54,14 +54,14 @@
 	//---- TransferDropTargetListener interface ---------------------------------------
 	
 	public Transfer getTransfer() {
-		return LocalSelectionTransfer.getInstance();
+		return LocalSelectionTransfer.getTransfer();
 	}
 	
 	public boolean isEnabled(DropTargetEvent event) {
 		Object target= event.item != null ? event.item.getData() : null;
 		if (target == null)
 			return false;
-		ISelection selection= LocalSelectionTransfer.getInstance().getSelection();
+		ISelection selection= LocalSelectionTransfer.getTransfer().getSelection();
 		if (!isValidSelection(selection)) {
 			return false;
 		}
@@ -93,7 +93,7 @@
 		setDefaultFeedback(DND.FEEDBACK_SCROLL | DND.FEEDBACK_EXPAND);
 		if (!isValidTarget(target))
 			return DND.DROP_NONE;
-		ISelection s= LocalSelectionTransfer.getInstance().getSelection();
+		ISelection s= LocalSelectionTransfer.getTransfer().getSelection();
 		if (!isValidSelection(s)) {
 			return DND.DROP_NONE;
 		}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/search/JavaSearchResultPage.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/search/JavaSearchResultPage.java
index 9290dd7..c75173d 100644
--- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/search/JavaSearchResultPage.java
+++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/search/JavaSearchResultPage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2023 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v2.0
  * which accompanies this distribution, and is available at
@@ -21,6 +21,7 @@
 import org.eclipse.jface.action.IToolBarManager;
 import org.eclipse.jface.action.MenuManager;
 import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.util.LocalSelectionTransfer;
 import org.eclipse.jface.util.TransferDragSourceListener;
 import org.eclipse.jface.viewers.ILabelProvider;
 import org.eclipse.jface.viewers.IStructuredSelection;
@@ -56,7 +57,6 @@
 import org.eclipse.ui.part.IShowInTargetList;
 import org.eclipse.ui.part.ResourceTransfer;
 import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.views.navigator.LocalSelectionTransfer;
 import org.eclipse.wst.jsdt.core.IClassFile;
 import org.eclipse.wst.jsdt.core.IJavaScriptUnit;
 import org.eclipse.wst.jsdt.core.IMember;
@@ -129,7 +129,7 @@
 	
 	private int fCurrentGrouping;
 	
-	private static final String[] SHOW_IN_TARGETS= new String[] { JavaScriptUI.ID_PACKAGES , IPageLayout.ID_RES_NAV };
+	private static final String[] SHOW_IN_TARGETS= new String[] { JavaScriptUI.ID_PACKAGES , IPageLayout.ID_PROJECT_EXPLORER };
 	public static final IShowInTargetList SHOW_IN_TARGET_LIST= new IShowInTargetList() {
 		public String[] getShowInTargetIds() {
 			return SHOW_IN_TARGETS;
@@ -288,7 +288,7 @@
 	}
 	
 	private void addDragAdapters(StructuredViewer viewer) {
-		Transfer[] transfers= new Transfer[] { LocalSelectionTransfer.getInstance(), ResourceTransfer.getInstance() };
+		Transfer[] transfers= new Transfer[] { LocalSelectionTransfer.getTransfer(), ResourceTransfer.getInstance() };
 		int ops= DND.DROP_COPY | DND.DROP_LINK;
 		
 		TransferDragSourceListener[] dragListeners= new TransferDragSourceListener[] {
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/typehierarchy/TypeHierarchyViewPart.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/typehierarchy/TypeHierarchyViewPart.java
index 61e287d..7ffcaf3 100644
--- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/typehierarchy/TypeHierarchyViewPart.java
+++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/typehierarchy/TypeHierarchyViewPart.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2023 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v2.0
  * which accompanies this distribution, and is available at
@@ -31,6 +31,7 @@
 import org.eclipse.jface.dialogs.IDialogSettings;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.jface.util.LocalSelectionTransfer;
 import org.eclipse.jface.util.PropertyChangeEvent;
 import org.eclipse.jface.util.TransferDragSourceListener;
 import org.eclipse.jface.util.TransferDropTargetListener;
@@ -88,7 +89,6 @@
 import org.eclipse.ui.part.ResourceTransfer;
 import org.eclipse.ui.part.ShowInContext;
 import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.views.navigator.LocalSelectionTransfer;
 import org.eclipse.wst.jsdt.core.IJavaScriptElement;
 import org.eclipse.wst.jsdt.core.IMember;
 import org.eclipse.wst.jsdt.core.IType;
@@ -98,7 +98,9 @@
 import org.eclipse.wst.jsdt.core.JavaScriptModelException;
 import org.eclipse.wst.jsdt.internal.corext.util.Messages;
 import org.eclipse.wst.jsdt.internal.ui.IJavaHelpContextIds;
+import org.eclipse.wst.jsdt.internal.ui.IProductConstants;
 import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin;
+import org.eclipse.wst.jsdt.internal.ui.ProductProperties;
 import org.eclipse.wst.jsdt.internal.ui.actions.CompositeActionGroup;
 import org.eclipse.wst.jsdt.internal.ui.actions.NewWizardsActionGroup;
 import org.eclipse.wst.jsdt.internal.ui.actions.SelectAllAction;
@@ -588,9 +590,14 @@
 		if (key == IShowInTargetList.class) {
 			return new IShowInTargetList() {
 				public String[] getShowInTargetIds() {
-					return new String[] { JavaScriptUI.ID_PACKAGES, IPageLayout.ID_RES_NAV  };
+					String explorerViewID = ProductProperties.getProperty(IProductConstants.PERSPECTIVE_EXPLORER_VIEW);
+					if (explorerViewID != null) {
+						return new String[] { explorerViewID, JavaScriptUI.ID_PACKAGES, IPageLayout.ID_PROJECT_EXPLORER };
+					}
+					else {
+						return new String[] { JavaScriptUI.ID_PACKAGES, IPageLayout.ID_PROJECT_EXPLORER };
+					}
 				}
-
 			};
 		}
 		if (key == IContextProvider.class) {
@@ -708,12 +715,12 @@
 
 		//DND on empty hierarchy
 		DropTarget dropTarget = new DropTarget(fPagebook, DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK | DND.DROP_DEFAULT);
-		dropTarget.setTransfer(new Transfer[] { LocalSelectionTransfer.getInstance() });
+		dropTarget.setTransfer(new Transfer[] { LocalSelectionTransfer.getTransfer() });
 		dropTarget.addDropListener(new TypeHierarchyTransferDropAdapter(this, fAllViewers[0]));
 	}
 	
 	private void addDropAdapters(AbstractTreeViewer viewer) {
-		Transfer[] transfers= new Transfer[] { LocalSelectionTransfer.getInstance() };
+		Transfer[] transfers= new Transfer[] { LocalSelectionTransfer.getTransfer() };
 		int ops= DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK | DND.DROP_DEFAULT;
 		
 		TransferDropTargetListener[] dropListeners= new TransferDropTargetListener[] {
@@ -724,7 +731,7 @@
 
 	private void addDragAdapters(StructuredViewer viewer) {
 		int ops= DND.DROP_COPY | DND.DROP_LINK;
-		Transfer[] transfers= new Transfer[] { LocalSelectionTransfer.getInstance(), ResourceTransfer.getInstance()};
+		Transfer[] transfers= new Transfer[] { LocalSelectionTransfer.getTransfer(), ResourceTransfer.getInstance()};
 
 		TransferDragSourceListener[] dragListeners= new TransferDragSourceListener[] {
 			new SelectionTransferDragAdapter(viewer),
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/ui/actions/ShowInNavigatorViewAction.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/ui/actions/ShowInNavigatorViewAction.java
index 4c57b7f..4477603 100644
--- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/ui/actions/ShowInNavigatorViewAction.java
+++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/ui/actions/ShowInNavigatorViewAction.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2023 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v2.0
  * which accompanies this distribution, and is available at
@@ -133,7 +133,7 @@
 			return;
 		try {
 			IWorkbenchPage page= getSite().getWorkbenchWindow().getActivePage();	
-			IViewPart view= page.showView(IPageLayout.ID_RES_NAV);
+			IViewPart view= page.showView(IPageLayout.ID_PROJECT_EXPLORER);
 			if (view instanceof ISetSelectionTarget) {
 				ISelection selection= new StructuredSelection(resource);
 				((ISetSelectionTarget)view).selectReveal(selection);