This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch graphql
in repository https://gitbox.apache.org/repos/asf/causeway-app-petclinic.git

commit ee00802d175f6057d857ca7068225aa1cfc5c5ee
Author: danhaywood <[email protected]>
AuthorDate: Mon Jan 29 15:42:57 2024 +0000

    upgrades to 2.0.0-SNAPSHOT 2024-01-29 or thereabouts
---
 .editorconfig                                      | 373 +++++++++++++++++++++
 module-pets-tests/pom.xml                          |  36 +-
 .../modules/pets/dom/petowner/PetOwner_Test.java   |   6 +-
 .../modules/pets/dom/petowner/PetOwners_Test.java  |   4 +-
 .../integtests/PetsModuleIntegTestAbstract.java    |  26 +-
 .../pets/integtests/tests/PetOwner_IntegTest.java  |   4 +-
 .../pets/integtests/tests/PetOwners_IntegTest.java |   2 +-
 .../src/test/resources/application-test.yml        |   2 +-
 module-pets/pom.xml                                |  14 +-
 .../java/petclinic/modules/pets/PetsModule.java    |   4 +-
 .../java/petclinic/modules/pets/dom/pet/Pet.java   |  21 +-
 .../pets/dom/pet/PetOwnerForPetsSubscriber.java    |   2 +-
 .../modules/pets/dom/pet/PetOwner_addPet.java      |  10 +-
 .../modules/pets/dom/pet/PetOwner_pets.java        |   4 +-
 .../modules/pets/dom/pet/PetOwner_removePet.java   |  10 +-
 .../modules/pets/dom/petowner/PetOwner.java        |  42 +--
 .../modules/pets/dom/petowner/PetOwner_delete.java |  12 +-
 .../modules/pets/dom/petowner/PetOwners.java       |  39 +--
 .../modules/pets/fixture/pet/PetBuilder.java       |   2 +-
 .../modules/pets/fixture/pet/Pet_persona.java      |  13 +-
 .../pets/fixture/petowner/PetOwnerBuilder.java     |   2 +-
 .../pets/fixture/petowner/PetOwner_persona.java    |  13 +-
 .../petclinic/modules/pets/types/EmailAddress.java |  12 +-
 .../petclinic/modules/pets/types/FirstName.java    |   8 +-
 .../petclinic/modules/pets/types/LastName.java     |   8 +-
 .../java/petclinic/modules/pets/types/Notes.java   |  12 +-
 .../java/petclinic/modules/pets/types/PetName.java |   8 +-
 .../petclinic/modules/pets/types/PhoneNumber.java  |  12 +-
 module-visits/pom.xml                              |  35 +-
 .../petclinic/modules/visits/VisitsModule.java     |   4 +-
 .../visits/contributions/pet/Pet_bookVisit.java    |  12 +-
 .../visits/contributions/pet/Pet_visits.java       |   4 +-
 .../petclinic/modules/visits/dom/visit/Visit.java  |  22 +-
 .../subscribers/PetOwnerForVisitsSubscriber.java   |   4 +-
 .../petclinic/modules/visits/types/Reason.java     |  12 +-
 .../contributions/pet/Pet_bookVisit_Test.java      |   4 +-
 .../integtest/VisitsModuleIntegTestAbstract.java   |  30 +-
 .../integtest/tests/Pet_bookVisit_IntegTest.java   |   8 +-
 .../src/test/resources/application-test.yml        |   2 +-
 pom.xml                                            |  12 +-
 webapp-tests/pom.xml                               |  31 +-
 .../webapp/integtests/WebAppIntegTestAbstract.java |  26 +-
 .../metamodel/SwaggerExport_IntegTest.java         |  20 +-
 .../metamodel/ValidateDomainModel_IntegTest.java   |   4 +-
 .../webapp/integtests/smoke/Smoke_IntegTest.java   |   4 +-
 .../src/test/resources/application-test.yml        |   6 +-
 webapp/pom.xml                                     |  22 +-
 .../main/java/petclinic/webapp/AppManifest.java    |  38 ++-
 .../main/java/petclinic/webapp/PetClinicApp.java   |   4 +-
 .../fixture/scenarios/PetClinicDemo.java           |   4 +-
 .../services/health/HealthCheckServiceImpl.java    |   4 +-
 .../services/homepage/HomePageViewModel.java       |  15 +-
 .../homepage/HomePageViewModel_bookVisit.java      |   6 +-
 .../services/homepage/VisitPlusPetOwner.java       |  17 +-
 .../webapp/custom/restapi/CustomController.java    |  16 +-
 .../petclinic/webapp/quartz/job/SampleJob.java     |  17 +-
 webapp/src/main/resources/application-custom.yml   |   2 +-
 webapp/src/main/resources/application-dev.yml      |   2 +-
 webapp/src/main/resources/application.yml          |  97 +++++-
 .../logo-48x48.png                                 | Bin
 .../static/images/apache-causeway/logo-65x48.png   | Bin 0 -> 2198 bytes
 .../images/apache-causeway/logo-banner-591x120.png | Bin 0 -> 6143 bytes
 .../static/images/apache-causeway/logo.png         | Bin 0 -> 9155 bytes
 .../resources/static/images/apache-isis/logo.png   | Bin 14160 -> 0 bytes
 webapp/src/main/resources/static/index.html        |  12 +-
 65 files changed, 843 insertions(+), 354 deletions(-)

diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..5c99ed8
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,373 @@
+root = true
+
+[*]
+charset = utf-8
+end_of_line = lf
+indent_size = 4
+indent_style = space
+insert_final_newline = false
+max_line_length = 120
+tab_width = 4
+ij_continuation_indent_size = 8
+ij_formatter_off_tag = @formatter:off
+ij_formatter_on_tag = @formatter:on
+ij_formatter_tags_enabled = false
+ij_smart_tabs = false
+ij_visual_guides = none
+ij_wrap_on_typing = false
+
+[*.adoc]
+trim_trailing_whitespace = true
+insert_final_newline = true
+charset = utf-8
+
+[*.java]
+ij_java_align_consecutive_assignments = false
+ij_java_align_consecutive_variable_declarations = false
+ij_java_align_group_field_declarations = false
+ij_java_align_multiline_annotation_parameters = false
+ij_java_align_multiline_array_initializer_expression = false
+ij_java_align_multiline_assignment = false
+ij_java_align_multiline_binary_operation = false
+ij_java_align_multiline_chained_methods = false
+ij_java_align_multiline_extends_list = false
+ij_java_align_multiline_for = true
+ij_java_align_multiline_method_parentheses = false
+ij_java_align_multiline_parameters = true
+ij_java_align_multiline_parameters_in_calls = false
+ij_java_align_multiline_parenthesized_expression = false
+ij_java_align_multiline_records = true
+ij_java_align_multiline_resources = true
+ij_java_align_multiline_ternary_operation = false
+ij_java_align_multiline_text_blocks = false
+ij_java_align_multiline_throws_list = false
+ij_java_align_subsequent_simple_methods = false
+ij_java_align_throws_keyword = false
+ij_java_annotation_parameter_wrap = off
+ij_java_array_initializer_new_line_after_left_brace = false
+ij_java_array_initializer_right_brace_on_new_line = false
+ij_java_array_initializer_wrap = off
+ij_java_assert_statement_colon_on_next_line = false
+ij_java_assert_statement_wrap = off
+ij_java_assignment_wrap = off
+ij_java_binary_operation_sign_on_next_line = false
+ij_java_binary_operation_wrap = off
+ij_java_blank_lines_after_anonymous_class_header = 0
+ij_java_blank_lines_after_class_header = 0
+ij_java_blank_lines_after_imports = 1
+ij_java_blank_lines_after_package = 1
+ij_java_blank_lines_around_class = 1
+ij_java_blank_lines_around_field = 0
+ij_java_blank_lines_around_field_in_interface = 0
+ij_java_blank_lines_around_initializer = 1
+ij_java_blank_lines_around_method = 1
+ij_java_blank_lines_around_method_in_interface = 1
+ij_java_blank_lines_before_class_end = 0
+ij_java_blank_lines_before_imports = 1
+ij_java_blank_lines_before_method_body = 0
+ij_java_blank_lines_before_package = 0
+ij_java_block_brace_style = end_of_line
+ij_java_block_comment_at_first_column = true
+ij_java_builder_methods = none
+ij_java_call_parameters_new_line_after_left_paren = false
+ij_java_call_parameters_right_paren_on_new_line = false
+ij_java_call_parameters_wrap = off
+ij_java_case_statement_on_separate_line = true
+ij_java_catch_on_new_line = false
+ij_java_class_annotation_wrap = split_into_lines
+ij_java_class_brace_style = end_of_line
+ij_java_class_count_to_use_import_on_demand = 99
+ij_java_class_names_in_javadoc = 1
+ij_java_do_not_indent_top_level_class_members = false
+ij_java_do_not_wrap_after_single_annotation = true
+ij_java_do_while_brace_force = never
+ij_java_doc_add_blank_line_after_description = true
+ij_java_doc_add_blank_line_after_param_comments = false
+ij_java_doc_add_blank_line_after_return = false
+ij_java_doc_add_p_tag_on_empty_lines = true
+ij_java_doc_align_exception_comments = true
+ij_java_doc_align_param_comments = true
+ij_java_doc_do_not_wrap_if_one_line = false
+ij_java_doc_enable_formatting = true
+ij_java_doc_enable_leading_asterisks = true
+ij_java_doc_indent_on_continuation = false
+ij_java_doc_keep_empty_lines = true
+ij_java_doc_keep_empty_parameter_tag = true
+ij_java_doc_keep_empty_return_tag = true
+ij_java_doc_keep_empty_throws_tag = true
+ij_java_doc_keep_invalid_tags = true
+ij_java_doc_param_description_on_new_line = false
+ij_java_doc_preserve_line_breaks = false
+ij_java_doc_use_throws_not_exception_tag = true
+ij_java_else_on_new_line = false
+ij_java_enum_constants_wrap = off
+ij_java_extends_keyword_wrap = off
+ij_java_extends_list_wrap = off
+ij_java_field_annotation_wrap = normal
+ij_java_finally_on_new_line = false
+ij_java_for_brace_force = never
+ij_java_for_statement_new_line_after_left_paren = false
+ij_java_for_statement_right_paren_on_new_line = false
+ij_java_for_statement_wrap = off
+ij_java_generate_final_locals = false
+ij_java_generate_final_parameters = false
+ij_java_if_brace_force = never
+ij_java_imports_layout = 
java.**,|,$java.**,|,javax.**,|,$javax.**,|,com.**,|,$com.**,|,graphql.**,|,$graphql.**,|,org.**,|,$org.**,|,org.springframework.**,|,$org.springframework.**,|,org.apache.causeway.**,|,$org.apache.causeway.**,|,org.apache.isis.**,|,$org.apache.isis.**,|,lombok.**,lombok.experimental.**,lombok.extern.log4j.**,lombok.extern.**,|,demoapp.**,|,*,|,$*
+ij_java_indent_case_from_switch = true
+ij_java_insert_inner_class_imports = false
+ij_java_insert_override_annotation = true
+ij_java_keep_blank_lines_before_right_brace = 2
+ij_java_keep_blank_lines_between_package_declaration_and_header = 2
+ij_java_keep_blank_lines_in_code = 2
+ij_java_keep_blank_lines_in_declarations = 2
+ij_java_keep_builder_methods_indents = false
+ij_java_keep_control_statement_in_one_line = true
+ij_java_keep_first_column_comment = true
+ij_java_keep_indents_on_empty_lines = false
+ij_java_keep_line_breaks = true
+ij_java_keep_multiple_expressions_in_one_line = false
+ij_java_keep_simple_blocks_in_one_line = false
+ij_java_keep_simple_classes_in_one_line = false
+ij_java_keep_simple_lambdas_in_one_line = false
+ij_java_keep_simple_methods_in_one_line = false
+ij_java_label_indent_absolute = false
+ij_java_label_indent_size = 0
+ij_java_lambda_brace_style = end_of_line
+ij_java_layout_static_imports_separately = true
+ij_java_line_comment_add_space = false
+ij_java_line_comment_at_first_column = true
+ij_java_method_annotation_wrap = split_into_lines
+ij_java_method_brace_style = end_of_line
+ij_java_method_call_chain_wrap = off
+ij_java_method_parameters_new_line_after_left_paren = false
+ij_java_method_parameters_right_paren_on_new_line = false
+ij_java_method_parameters_wrap = off
+ij_java_modifier_list_wrap = false
+ij_java_names_count_to_use_import_on_demand = 99
+ij_java_new_line_after_lparen_in_record_header = false
+ij_java_parameter_annotation_wrap = off
+ij_java_parentheses_expression_new_line_after_left_paren = false
+ij_java_parentheses_expression_right_paren_on_new_line = false
+ij_java_place_assignment_sign_on_next_line = false
+ij_java_prefer_longer_names = true
+ij_java_prefer_parameters_wrap = false
+ij_java_record_components_wrap = normal
+ij_java_repeat_synchronized = true
+ij_java_replace_instanceof_and_cast = false
+ij_java_replace_null_check = true
+ij_java_replace_sum_lambda_with_method_ref = true
+ij_java_resource_list_new_line_after_left_paren = false
+ij_java_resource_list_right_paren_on_new_line = false
+ij_java_resource_list_wrap = off
+ij_java_rparen_on_new_line_in_record_header = false
+ij_java_space_after_closing_angle_bracket_in_type_argument = false
+ij_java_space_after_colon = true
+ij_java_space_after_comma = true
+ij_java_space_after_comma_in_type_arguments = true
+ij_java_space_after_for_semicolon = true
+ij_java_space_after_quest = true
+ij_java_space_after_type_cast = true
+ij_java_space_before_annotation_array_initializer_left_brace = false
+ij_java_space_before_annotation_parameter_list = false
+ij_java_space_before_array_initializer_left_brace = false
+ij_java_space_before_catch_keyword = true
+ij_java_space_before_catch_left_brace = true
+ij_java_space_before_catch_parentheses = true
+ij_java_space_before_class_left_brace = true
+ij_java_space_before_colon = true
+ij_java_space_before_colon_in_foreach = true
+ij_java_space_before_comma = false
+ij_java_space_before_do_left_brace = true
+ij_java_space_before_else_keyword = true
+ij_java_space_before_else_left_brace = true
+ij_java_space_before_finally_keyword = true
+ij_java_space_before_finally_left_brace = true
+ij_java_space_before_for_left_brace = true
+ij_java_space_before_for_parentheses = true
+ij_java_space_before_for_semicolon = false
+ij_java_space_before_if_left_brace = true
+ij_java_space_before_if_parentheses = true
+ij_java_space_before_method_call_parentheses = false
+ij_java_space_before_method_left_brace = true
+ij_java_space_before_method_parentheses = false
+ij_java_space_before_opening_angle_bracket_in_type_parameter = false
+ij_java_space_before_quest = true
+ij_java_space_before_switch_left_brace = true
+ij_java_space_before_switch_parentheses = true
+ij_java_space_before_synchronized_left_brace = true
+ij_java_space_before_synchronized_parentheses = true
+ij_java_space_before_try_left_brace = true
+ij_java_space_before_try_parentheses = true
+ij_java_space_before_type_parameter_list = false
+ij_java_space_before_while_keyword = true
+ij_java_space_before_while_left_brace = true
+ij_java_space_before_while_parentheses = true
+ij_java_space_inside_one_line_enum_braces = false
+ij_java_space_within_empty_array_initializer_braces = false
+ij_java_space_within_empty_method_call_parentheses = false
+ij_java_space_within_empty_method_parentheses = false
+ij_java_spaces_around_additive_operators = true
+ij_java_spaces_around_assignment_operators = true
+ij_java_spaces_around_bitwise_operators = true
+ij_java_spaces_around_equality_operators = true
+ij_java_spaces_around_lambda_arrow = true
+ij_java_spaces_around_logical_operators = true
+ij_java_spaces_around_method_ref_dbl_colon = false
+ij_java_spaces_around_multiplicative_operators = true
+ij_java_spaces_around_relational_operators = true
+ij_java_spaces_around_shift_operators = true
+ij_java_spaces_around_type_bounds_in_type_parameters = true
+ij_java_spaces_around_unary_operator = false
+ij_java_spaces_within_angle_brackets = false
+ij_java_spaces_within_annotation_parentheses = false
+ij_java_spaces_within_array_initializer_braces = false
+ij_java_spaces_within_braces = false
+ij_java_spaces_within_brackets = false
+ij_java_spaces_within_cast_parentheses = false
+ij_java_spaces_within_catch_parentheses = false
+ij_java_spaces_within_for_parentheses = false
+ij_java_spaces_within_if_parentheses = false
+ij_java_spaces_within_method_call_parentheses = false
+ij_java_spaces_within_method_parentheses = false
+ij_java_spaces_within_parentheses = false
+ij_java_spaces_within_record_header = false
+ij_java_spaces_within_switch_parentheses = false
+ij_java_spaces_within_synchronized_parentheses = false
+ij_java_spaces_within_try_parentheses = false
+ij_java_spaces_within_while_parentheses = false
+ij_java_special_else_if_treatment = true
+ij_java_subclass_name_suffix = Impl
+ij_java_ternary_operation_signs_on_next_line = false
+ij_java_ternary_operation_wrap = off
+ij_java_test_name_suffix = Test
+ij_java_throws_keyword_wrap = off
+ij_java_throws_list_wrap = off
+ij_java_use_external_annotations = false
+ij_java_use_fq_class_names = false
+ij_java_use_relative_indents = false
+ij_java_use_single_class_imports = true
+ij_java_variable_annotation_wrap = off
+ij_java_visibility = public
+ij_java_while_brace_force = never
+ij_java_while_on_new_line = false
+ij_java_wrap_comments = false
+ij_java_wrap_first_method_in_call_chain = false
+ij_java_wrap_long_lines = false
+
+[*.properties]
+ij_properties_align_group_field_declarations = false
+ij_properties_keep_blank_lines = false
+ij_properties_key_value_delimiter = equals
+ij_properties_spaces_around_key_value_delimiter = false
+
+[.editorconfig]
+ij_editorconfig_align_group_field_declarations = false
+ij_editorconfig_space_after_colon = false
+ij_editorconfig_space_after_comma = true
+ij_editorconfig_space_before_colon = false
+ij_editorconfig_space_before_comma = false
+ij_editorconfig_spaces_around_assignment_operators = true
+
+[{*.ad,*.adoc,*.asciidoc,.asciidoctorconfig}]
+ij_asciidoc_blank_lines_after_header = 1
+ij_asciidoc_blank_lines_keep_after_header = 1
+ij_asciidoc_formatting_enabled = true
+ij_asciidoc_one_sentence_per_line = true
+
+[{*.ant,*.fxml,*.jdo,*.jhm,*.jnlp,*.jrxml,*.jspx,*.orm,*.pom,*.rng,*.tagx,*.tld,*.wsdl,*.xml,*.xsd,*.xsl,*.xslt,*.xul}]
+ij_xml_align_attributes = true
+ij_xml_align_text = false
+ij_xml_attribute_wrap = normal
+ij_xml_block_comment_at_first_column = true
+ij_xml_keep_blank_lines = 2
+ij_xml_keep_indents_on_empty_lines = false
+ij_xml_keep_line_breaks = true
+ij_xml_keep_line_breaks_in_text = true
+ij_xml_keep_whitespaces = false
+ij_xml_keep_whitespaces_around_cdata = preserve
+ij_xml_keep_whitespaces_inside_cdata = false
+ij_xml_line_comment_at_first_column = true
+ij_xml_space_after_tag_name = false
+ij_xml_space_around_equals_in_attribute = false
+ij_xml_space_inside_empty_tag = false
+ij_xml_text_wrap = normal
+
+[{*.bash,*.sh,*.zsh}]
+indent_size = 2
+tab_width = 2
+ij_shell_binary_ops_start_line = false
+ij_shell_keep_column_alignment_padding = false
+ij_shell_minify_program = false
+ij_shell_redirect_followed_by_space = false
+ij_shell_switch_cases_indented = false
+ij_shell_use_unix_line_separator = true
+
+[{*.erb,*.htm,*.html,*.sht,*.shtm,*.shtml}]
+ij_html_add_new_line_before_tags = body,div,p,form,h1,h2,h3
+ij_html_align_attributes = true
+ij_html_align_text = false
+ij_html_attribute_wrap = normal
+ij_html_block_comment_at_first_column = true
+ij_html_do_not_align_children_of_min_lines = 0
+ij_html_do_not_break_if_inline_tags = title,h1,h2,h3,h4,h5,h6,p
+ij_html_do_not_indent_children_of_tags = html,body,thead,tbody,tfoot
+ij_html_enforce_quotes = false
+ij_html_inline_tags = 
a,abbr,acronym,b,basefont,bdo,big,br,cite,cite,code,dfn,em,font,i,img,input,kbd,label,q,s,samp,select,small,span,strike,strong,sub,sup,textarea,tt,u,var
+ij_html_keep_blank_lines = 2
+ij_html_keep_indents_on_empty_lines = false
+ij_html_keep_line_breaks = true
+ij_html_keep_line_breaks_in_text = true
+ij_html_keep_whitespaces = false
+ij_html_keep_whitespaces_inside = span,pre,textarea
+ij_html_line_comment_at_first_column = true
+ij_html_new_line_after_last_attribute = never
+ij_html_new_line_before_first_attribute = never
+ij_html_quote_style = double
+ij_html_remove_new_line_before_tags = br
+ij_html_space_after_tag_name = false
+ij_html_space_around_equality_in_attribute = false
+ij_html_space_inside_empty_tag = false
+ij_html_text_wrap = normal
+ij_html_uniform_ident = false
+
+[{*.har,*.json}]
+indent_size = 2
+ij_json_keep_blank_lines_in_code = 0
+ij_json_keep_indents_on_empty_lines = false
+ij_json_keep_line_breaks = true
+ij_json_space_after_colon = true
+ij_json_space_after_comma = true
+ij_json_space_before_colon = true
+ij_json_space_before_comma = false
+ij_json_spaces_within_braces = false
+ij_json_spaces_within_brackets = false
+ij_json_wrap_long_lines = false
+
+[{*.markdown,*.md}]
+ij_markdown_force_one_space_after_blockquote_symbol = true
+ij_markdown_force_one_space_after_header_symbol = true
+ij_markdown_force_one_space_after_list_bullet = true
+ij_markdown_force_one_space_between_words = true
+ij_markdown_keep_indents_on_empty_lines = false
+ij_markdown_max_lines_around_block_elements = 1
+ij_markdown_max_lines_around_header = 1
+ij_markdown_max_lines_between_paragraphs = 1
+ij_markdown_min_lines_around_block_elements = 1
+ij_markdown_min_lines_around_header = 1
+ij_markdown_min_lines_between_paragraphs = 1
+
+[{*.yaml,*.yml}]
+indent_size = 2
+ij_yaml_align_values_properties = do_not_align
+ij_yaml_autoinsert_sequence_marker = true
+ij_yaml_block_mapping_on_new_line = false
+ij_yaml_indent_sequence_value = true
+ij_yaml_keep_indents_on_empty_lines = false
+ij_yaml_keep_line_breaks = true
+ij_yaml_sequence_on_new_line = false
+ij_yaml_space_before_colon = false
+ij_yaml_spaces_within_braces = true
+ij_yaml_spaces_within_brackets = true
+
+[{*.gql,*.graphql}]
+indent_size = 2
diff --git a/module-pets-tests/pom.xml b/module-pets-tests/pom.xml
index f64c055..f999327 100644
--- a/module-pets-tests/pom.xml
+++ b/module-pets-tests/pom.xml
@@ -5,7 +5,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <groupId>org.apache.isis.tutorials</groupId>
+        <groupId>org.apache.causeway.tutorials</groupId>
         <artifactId>petclinic</artifactId>
         <version>1.0.0-SNAPSHOT</version>
     </parent>
@@ -45,22 +45,32 @@
         <!-- TESTS -->
 
         <dependency>
-            <groupId>org.apache.isis.mavendeps</groupId>
-            <artifactId>isis-mavendeps-unittests</artifactId>
-            <type>pom</type>
+            <groupId>org.apache.causeway.testing</groupId>
+            <artifactId>causeway-testing-unittestsupport-applib</artifactId>
             <scope>test</scope>
-            <exclusions>
-               <exclusion>
-                       <groupId>org.jmock</groupId>
-                       <artifactId>jmock-junit4</artifactId>
-               </exclusion>
-            </exclusions>
         </dependency>
 
         <dependency>
-            <groupId>org.apache.isis.mavendeps</groupId>
-            <artifactId>isis-mavendeps-integtests</artifactId>
-            <type>pom</type>
+            <groupId>org.apache.causeway.testing</groupId>
+            <artifactId>causeway-testing-fakedata-applib</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.causeway.testing</groupId>
+            <artifactId>causeway-testing-integtestsupport-applib</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.causeway.testing</groupId>
+            <artifactId>causeway-testing-fixtures-applib</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.causeway.persistence</groupId>
+            <artifactId>causeway-persistence-jpa-eclipselink</artifactId>
             <scope>test</scope>
         </dependency>
 
diff --git 
a/module-pets-tests/src/test/java/petclinic/modules/pets/dom/petowner/PetOwner_Test.java
 
b/module-pets-tests/src/test/java/petclinic/modules/pets/dom/petowner/PetOwner_Test.java
index 0ea697a..234757b 100644
--- 
a/module-pets-tests/src/test/java/petclinic/modules/pets/dom/petowner/PetOwner_Test.java
+++ 
b/module-pets-tests/src/test/java/petclinic/modules/pets/dom/petowner/PetOwner_Test.java
@@ -11,9 +11,9 @@ import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import org.apache.isis.applib.services.message.MessageService;
-import org.apache.isis.applib.services.repository.RepositoryService;
-import org.apache.isis.applib.services.title.TitleService;
+import org.apache.causeway.applib.services.message.MessageService;
+import org.apache.causeway.applib.services.repository.RepositoryService;
+import org.apache.causeway.applib.services.title.TitleService;
 
 @ExtendWith(MockitoExtension.class)
 class PetOwner_Test {
diff --git 
a/module-pets-tests/src/test/java/petclinic/modules/pets/dom/petowner/PetOwners_Test.java
 
b/module-pets-tests/src/test/java/petclinic/modules/pets/dom/petowner/PetOwners_Test.java
index dca87cf..b4ef575 100644
--- 
a/module-pets-tests/src/test/java/petclinic/modules/pets/dom/petowner/PetOwners_Test.java
+++ 
b/module-pets-tests/src/test/java/petclinic/modules/pets/dom/petowner/PetOwners_Test.java
@@ -17,8 +17,8 @@ import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.ArgumentMatchers.argThat;
 import static org.mockito.Mockito.when;
 
-import org.apache.isis.applib.services.repository.RepositoryService;
-import org.apache.isis.persistence.jpa.applib.services.JpaSupportService;
+import org.apache.causeway.applib.services.repository.RepositoryService;
+import org.apache.causeway.persistence.jpa.applib.services.JpaSupportService;
 
 @ExtendWith(MockitoExtension.class)
 class PetOwners_Test {
diff --git 
a/module-pets-tests/src/test/java/petclinic/modules/pets/integtests/PetsModuleIntegTestAbstract.java
 
b/module-pets-tests/src/test/java/petclinic/modules/pets/integtests/PetsModuleIntegTestAbstract.java
index b8a0cb6..d9d50e6 100644
--- 
a/module-pets-tests/src/test/java/petclinic/modules/pets/integtests/PetsModuleIntegTestAbstract.java
+++ 
b/module-pets-tests/src/test/java/petclinic/modules/pets/integtests/PetsModuleIntegTestAbstract.java
@@ -8,12 +8,12 @@ import org.springframework.context.annotation.PropertySource;
 import org.springframework.context.annotation.PropertySources;
 import org.springframework.test.context.ActiveProfiles;
 
-import org.apache.isis.core.config.presets.IsisPresets;
-import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
-import 
org.apache.isis.persistence.jpa.eclipselink.IsisModulePersistenceJpaEclipselink;
-import org.apache.isis.security.bypass.IsisModuleSecurityBypass;
-import 
org.apache.isis.testing.fixtures.applib.IsisIntegrationTestAbstractWithFixtures;
-import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
+import org.apache.causeway.core.config.presets.CausewayPresets;
+import 
org.apache.causeway.core.runtimeservices.CausewayModuleCoreRuntimeServices;
+import 
org.apache.causeway.persistence.jpa.eclipselink.CausewayModulePersistenceJpaEclipselink;
+import org.apache.causeway.security.bypass.CausewayModuleSecurityBypass;
+import 
org.apache.causeway.testing.fixtures.applib.CausewayIntegrationTestAbstractWithFixtures;
+import 
org.apache.causeway.testing.fixtures.applib.CausewayModuleTestingFixturesApplib;
 
 import petclinic.modules.pets.PetsModule;
 
@@ -22,7 +22,7 @@ import petclinic.modules.pets.PetsModule;
         classes = PetsModuleIntegTestAbstract.TestApp.class
 )
 @ActiveProfiles("test")
-public abstract class PetsModuleIntegTestAbstract extends 
IsisIntegrationTestAbstractWithFixtures {
+public abstract class PetsModuleIntegTestAbstract extends 
CausewayIntegrationTestAbstractWithFixtures {
 
     /**
      * Compared to the production app manifest 
<code>petclinic.webapp.AppManifest</code>,
@@ -32,16 +32,16 @@ public abstract class PetsModuleIntegTestAbstract extends 
IsisIntegrationTestAbs
     @EnableAutoConfiguration
     @Import({
 
-            IsisModuleCoreRuntimeServices.class,
-            IsisModuleSecurityBypass.class,
-            IsisModulePersistenceJpaEclipselink.class,
-            IsisModuleTestingFixturesApplib.class,
+            CausewayModuleCoreRuntimeServices.class,
+            CausewayModuleSecurityBypass.class,
+            CausewayModulePersistenceJpaEclipselink.class,
+            CausewayModuleTestingFixturesApplib.class,
 
             PetsModule.class
     })
     @PropertySources({
-            @PropertySource(IsisPresets.H2InMemory_withUniqueSchema),
-            @PropertySource(IsisPresets.UseLog4j2Test),
+            @PropertySource(CausewayPresets.H2InMemory_withUniqueSchema),
+            @PropertySource(CausewayPresets.UseLog4j2Test),
     })
     public static class TestApp {
 
diff --git 
a/module-pets-tests/src/test/java/petclinic/modules/pets/integtests/tests/PetOwner_IntegTest.java
 
b/module-pets-tests/src/test/java/petclinic/modules/pets/integtests/tests/PetOwner_IntegTest.java
index f7285d2..8a93305 100644
--- 
a/module-pets-tests/src/test/java/petclinic/modules/pets/integtests/tests/PetOwner_IntegTest.java
+++ 
b/module-pets-tests/src/test/java/petclinic/modules/pets/integtests/tests/PetOwner_IntegTest.java
@@ -8,8 +8,8 @@ import org.springframework.transaction.annotation.Transactional;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 
-import org.apache.isis.applib.services.wrapper.HiddenException;
-import org.apache.isis.applib.services.wrapper.InvalidException;
+import org.apache.causeway.applib.services.wrapper.HiddenException;
+import org.apache.causeway.applib.services.wrapper.InvalidException;
 
 import petclinic.modules.pets.dom.petowner.PetOwner;
 import petclinic.modules.pets.fixture.petowner.PetOwner_persona;
diff --git 
a/module-pets-tests/src/test/java/petclinic/modules/pets/integtests/tests/PetOwners_IntegTest.java
 
b/module-pets-tests/src/test/java/petclinic/modules/pets/integtests/tests/PetOwners_IntegTest.java
index be4b927..4fd0025 100644
--- 
a/module-pets-tests/src/test/java/petclinic/modules/pets/integtests/tests/PetOwners_IntegTest.java
+++ 
b/module-pets-tests/src/test/java/petclinic/modules/pets/integtests/tests/PetOwners_IntegTest.java
@@ -13,7 +13,7 @@ import 
org.springframework.transaction.annotation.Transactional;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 
-import 
org.apache.isis.testing.unittestsupport.applib.matchers.ThrowableMatchers;
+import 
org.apache.causeway.testing.unittestsupport.applib.matchers.ThrowableMatchers;
 
 import petclinic.modules.pets.dom.petowner.PetOwner;
 import petclinic.modules.pets.dom.petowner.PetOwners;
diff --git a/module-pets-tests/src/test/resources/application-test.yml 
b/module-pets-tests/src/test/resources/application-test.yml
index fa32cda..c264027 100644
--- a/module-pets-tests/src/test/resources/application-test.yml
+++ b/module-pets-tests/src/test/resources/application-test.yml
@@ -1,4 +1,4 @@
-isis:
+causeway:
   persistence:
     schema:
       auto-create-schemas: "pets"
diff --git a/module-pets/pom.xml b/module-pets/pom.xml
index 408875e..cd30c9c 100644
--- a/module-pets/pom.xml
+++ b/module-pets/pom.xml
@@ -5,7 +5,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <groupId>org.apache.isis.tutorials</groupId>
+        <groupId>org.apache.causeway.tutorials</groupId>
         <artifactId>petclinic</artifactId>
         <version>1.0.0-SNAPSHOT</version>
     </parent>
@@ -36,18 +36,18 @@
         <!-- ISIS API -->
 
         <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-applib</artifactId>
+            <groupId>org.apache.causeway.core</groupId>
+            <artifactId>causeway-applib</artifactId>
         </dependency>
 
         <dependency>
-            <groupId>org.apache.isis.persistence</groupId>
-            <artifactId>isis-persistence-jpa-eclipselink</artifactId>
+            <groupId>org.apache.causeway.persistence</groupId>
+            <artifactId>causeway-persistence-jpa-eclipselink</artifactId>
         </dependency>
 
         <dependency>
-            <groupId>org.apache.isis.testing</groupId>
-            <artifactId>isis-testing-fixtures-applib</artifactId>
+            <groupId>org.apache.causeway.testing</groupId>
+            <artifactId>causeway-testing-fixtures-applib</artifactId>
         </dependency>
 
         <!-- IDE support (optional) -->
diff --git a/module-pets/src/main/java/petclinic/modules/pets/PetsModule.java 
b/module-pets/src/main/java/petclinic/modules/pets/PetsModule.java
index db7a32b..fcbc626 100644
--- a/module-pets/src/main/java/petclinic/modules/pets/PetsModule.java
+++ b/module-pets/src/main/java/petclinic/modules/pets/PetsModule.java
@@ -5,8 +5,8 @@ import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
 
-import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
-import org.apache.isis.testing.fixtures.applib.modules.ModuleWithFixtures;
+import 
org.apache.causeway.testing.fixtures.applib.fixturescripts.FixtureScript;
+import org.apache.causeway.testing.fixtures.applib.modules.ModuleWithFixtures;
 
 import petclinic.modules.pets.dom.pet.Pet;
 import petclinic.modules.pets.dom.petowner.PetOwner;
diff --git a/module-pets/src/main/java/petclinic/modules/pets/dom/pet/Pet.java 
b/module-pets/src/main/java/petclinic/modules/pets/dom/pet/Pet.java
index 32aeb9b..8814ce6 100644
--- a/module-pets/src/main/java/petclinic/modules/pets/dom/pet/Pet.java
+++ b/module-pets/src/main/java/petclinic/modules/pets/dom/pet/Pet.java
@@ -2,6 +2,7 @@ package petclinic.modules.pets.dom.pet;
 
 import java.util.Comparator;
 
+import javax.inject.Named;
 import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.EntityListeners;
@@ -17,13 +18,13 @@ import javax.persistence.UniqueConstraint;
 import javax.persistence.Version;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
-import org.apache.isis.applib.annotation.DomainObject;
-import org.apache.isis.applib.annotation.DomainObjectLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.Publishing;
-import org.apache.isis.applib.jaxb.PersistentEntityAdapter;
-import org.apache.isis.persistence.jpa.applib.integration.IsisEntityListener;
+import org.apache.causeway.applib.annotation.DomainObject;
+import org.apache.causeway.applib.annotation.DomainObjectLayout;
+import org.apache.causeway.applib.annotation.Property;
+import org.apache.causeway.applib.annotation.PropertyLayout;
+import org.apache.causeway.applib.annotation.Publishing;
+import org.apache.causeway.applib.jaxb.PersistentEntityAdapter;
+import 
org.apache.causeway.persistence.jpa.applib.integration.CausewayEntityListener;
 
 import lombok.AccessLevel;
 import lombok.Getter;
@@ -45,8 +46,9 @@ import petclinic.modules.pets.types.PetName;
         @UniqueConstraint(name = "Pet__owner_name__UNQ", columnNames = 
{"owner_id", "name"})
     }
 )
-@EntityListeners(IsisEntityListener.class)
-@DomainObject(logicalTypeName = "pets.Pet", entityChangePublishing = 
Publishing.ENABLED)
+@EntityListeners(CausewayEntityListener.class)
+@Named("pets.Pet")
+@DomainObject(entityChangePublishing = Publishing.ENABLED)
 @DomainObjectLayout()
 @NoArgsConstructor(access = AccessLevel.PUBLIC)
 @XmlJavaTypeAdapter(PersistentEntityAdapter.class)
@@ -91,6 +93,7 @@ public class Pet implements Comparable<Pet> {
     @PetName
     @Column(name = "name", length = FirstName.MAX_LEN, nullable = false)
     @Getter @Setter
+    @Property(maxLength = FirstName.MAX_LEN)
     @PropertyLayout(fieldSetId = "name", sequence = "2")
     private String name;
 
diff --git 
a/module-pets/src/main/java/petclinic/modules/pets/dom/pet/PetOwnerForPetsSubscriber.java
 
b/module-pets/src/main/java/petclinic/modules/pets/dom/pet/PetOwnerForPetsSubscriber.java
index 1c94b98..0c6dc1f 100644
--- 
a/module-pets/src/main/java/petclinic/modules/pets/dom/pet/PetOwnerForPetsSubscriber.java
+++ 
b/module-pets/src/main/java/petclinic/modules/pets/dom/pet/PetOwnerForPetsSubscriber.java
@@ -7,7 +7,7 @@ import javax.inject.Inject;
 import org.springframework.context.event.EventListener;
 import org.springframework.stereotype.Service;
 
-import org.apache.isis.applib.services.repository.RepositoryService;
+import org.apache.causeway.applib.services.repository.RepositoryService;
 
 import petclinic.modules.pets.dom.petowner.PetOwner;
 import petclinic.modules.pets.dom.petowner.PetOwner_delete;
diff --git 
a/module-pets/src/main/java/petclinic/modules/pets/dom/pet/PetOwner_addPet.java 
b/module-pets/src/main/java/petclinic/modules/pets/dom/pet/PetOwner_addPet.java
index e59ada1..bc2f8ce 100644
--- 
a/module-pets/src/main/java/petclinic/modules/pets/dom/pet/PetOwner_addPet.java
+++ 
b/module-pets/src/main/java/petclinic/modules/pets/dom/pet/PetOwner_addPet.java
@@ -2,11 +2,11 @@ package petclinic.modules.pets.dom.pet;
 
 import javax.inject.Inject;
 
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.Publishing;
-import org.apache.isis.applib.annotation.SemanticsOf;
-import org.apache.isis.applib.services.repository.RepositoryService;
+import org.apache.causeway.applib.annotation.Action;
+import org.apache.causeway.applib.annotation.ActionLayout;
+import org.apache.causeway.applib.annotation.Publishing;
+import org.apache.causeway.applib.annotation.SemanticsOf;
+import org.apache.causeway.applib.services.repository.RepositoryService;
 
 import lombok.RequiredArgsConstructor;
 
diff --git 
a/module-pets/src/main/java/petclinic/modules/pets/dom/pet/PetOwner_pets.java 
b/module-pets/src/main/java/petclinic/modules/pets/dom/pet/PetOwner_pets.java
index 8a955e4..51645f1 100644
--- 
a/module-pets/src/main/java/petclinic/modules/pets/dom/pet/PetOwner_pets.java
+++ 
b/module-pets/src/main/java/petclinic/modules/pets/dom/pet/PetOwner_pets.java
@@ -4,8 +4,8 @@ import java.util.List;
 
 import javax.inject.Inject;
 
-import org.apache.isis.applib.annotation.Collection;
-import org.apache.isis.applib.annotation.CollectionLayout;
+import org.apache.causeway.applib.annotation.Collection;
+import org.apache.causeway.applib.annotation.CollectionLayout;
 
 import lombok.RequiredArgsConstructor;
 
diff --git 
a/module-pets/src/main/java/petclinic/modules/pets/dom/pet/PetOwner_removePet.java
 
b/module-pets/src/main/java/petclinic/modules/pets/dom/pet/PetOwner_removePet.java
index 1bc76c4..39740a6 100644
--- 
a/module-pets/src/main/java/petclinic/modules/pets/dom/pet/PetOwner_removePet.java
+++ 
b/module-pets/src/main/java/petclinic/modules/pets/dom/pet/PetOwner_removePet.java
@@ -5,11 +5,11 @@ import java.util.stream.Collectors;
 
 import javax.inject.Inject;
 
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.Publishing;
-import org.apache.isis.applib.annotation.SemanticsOf;
-import org.apache.isis.applib.services.repository.RepositoryService;
+import org.apache.causeway.applib.annotation.Action;
+import org.apache.causeway.applib.annotation.ActionLayout;
+import org.apache.causeway.applib.annotation.Publishing;
+import org.apache.causeway.applib.annotation.SemanticsOf;
+import org.apache.causeway.applib.services.repository.RepositoryService;
 
 import lombok.RequiredArgsConstructor;
 
diff --git 
a/module-pets/src/main/java/petclinic/modules/pets/dom/petowner/PetOwner.java 
b/module-pets/src/main/java/petclinic/modules/pets/dom/petowner/PetOwner.java
index 0f16c8e..6053605 100644
--- 
a/module-pets/src/main/java/petclinic/modules/pets/dom/petowner/PetOwner.java
+++ 
b/module-pets/src/main/java/petclinic/modules/pets/dom/petowner/PetOwner.java
@@ -3,6 +3,7 @@ package petclinic.modules.pets.dom.petowner;
 import java.util.Comparator;
 
 import javax.inject.Inject;
+import javax.inject.Named;
 import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.EntityListeners;
@@ -17,21 +18,21 @@ import javax.persistence.UniqueConstraint;
 import javax.persistence.Version;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.DomainObject;
-import org.apache.isis.applib.annotation.DomainObjectLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.Publishing;
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.applib.jaxb.PersistentEntityAdapter;
-import org.apache.isis.applib.services.message.MessageService;
-import org.apache.isis.applib.services.repository.RepositoryService;
-import org.apache.isis.applib.services.title.TitleService;
-import org.apache.isis.persistence.jpa.applib.integration.IsisEntityListener;
-
-import static org.apache.isis.applib.annotation.SemanticsOf.IDEMPOTENT;
+import org.apache.causeway.applib.annotation.Action;
+import org.apache.causeway.applib.annotation.ActionLayout;
+import org.apache.causeway.applib.annotation.DomainObject;
+import org.apache.causeway.applib.annotation.DomainObjectLayout;
+import org.apache.causeway.applib.annotation.Property;
+import org.apache.causeway.applib.annotation.PropertyLayout;
+import org.apache.causeway.applib.annotation.Publishing;
+import org.apache.causeway.applib.annotation.Where;
+import org.apache.causeway.applib.jaxb.PersistentEntityAdapter;
+import org.apache.causeway.applib.services.message.MessageService;
+import org.apache.causeway.applib.services.repository.RepositoryService;
+import org.apache.causeway.applib.services.title.TitleService;
+import 
org.apache.causeway.persistence.jpa.applib.integration.CausewayEntityListener;
+
+import static org.apache.causeway.applib.annotation.SemanticsOf.IDEMPOTENT;
 
 import lombok.AccessLevel;
 import lombok.Getter;
@@ -63,8 +64,9 @@ import petclinic.modules.pets.types.PhoneNumber;
                         "WHERE so.lastName LIKE :lastName"
         )
 })
-@EntityListeners(IsisEntityListener.class)
-@DomainObject(logicalTypeName = "pets.PetOwner", entityChangePublishing = 
Publishing.ENABLED)
+@EntityListeners(CausewayEntityListener.class)
+@Named("pets.PetOwner")
+@DomainObject(entityChangePublishing = Publishing.ENABLED)
 @DomainObjectLayout()
 @NoArgsConstructor(access = AccessLevel.PUBLIC)
 @XmlJavaTypeAdapter(PersistentEntityAdapter.class)
@@ -115,13 +117,15 @@ public class PetOwner implements Comparable<PetOwner> {
     @LastName
     @Column(name = "lastName", length = LastName.MAX_LEN, nullable = false)
     @Getter @Setter @ToString.Include
-    @Property(hidden = Where.EVERYWHERE)
+    @Property()
+    @PropertyLayout(hidden = Where.EVERYWHERE)
     private String lastName;
 
     @FirstName
     @Column(name = "firstName", length = FirstName.MAX_LEN, nullable = true)
     @Getter @Setter @ToString.Include
-    @Property(hidden = Where.EVERYWHERE)
+    @Property()
+    @PropertyLayout(hidden = Where.EVERYWHERE)
     private String firstName;
 
     @PhoneNumber
diff --git 
a/module-pets/src/main/java/petclinic/modules/pets/dom/petowner/PetOwner_delete.java
 
b/module-pets/src/main/java/petclinic/modules/pets/dom/petowner/PetOwner_delete.java
index 57bd75f..d2ae5c2 100644
--- 
a/module-pets/src/main/java/petclinic/modules/pets/dom/petowner/PetOwner_delete.java
+++ 
b/module-pets/src/main/java/petclinic/modules/pets/dom/petowner/PetOwner_delete.java
@@ -2,12 +2,12 @@ package petclinic.modules.pets.dom.petowner;
 
 import javax.inject.Inject;
 
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.Publishing;
-import org.apache.isis.applib.annotation.SemanticsOf;
-import org.apache.isis.applib.events.domain.ActionDomainEvent;
-import org.apache.isis.applib.services.repository.RepositoryService;
+import org.apache.causeway.applib.annotation.Action;
+import org.apache.causeway.applib.annotation.ActionLayout;
+import org.apache.causeway.applib.annotation.Publishing;
+import org.apache.causeway.applib.annotation.SemanticsOf;
+import org.apache.causeway.applib.events.domain.ActionDomainEvent;
+import org.apache.causeway.applib.services.repository.RepositoryService;
 
 import lombok.RequiredArgsConstructor;
 
diff --git 
a/module-pets/src/main/java/petclinic/modules/pets/dom/petowner/PetOwners.java 
b/module-pets/src/main/java/petclinic/modules/pets/dom/petowner/PetOwners.java
index 9745cd7..e435abd 100644
--- 
a/module-pets/src/main/java/petclinic/modules/pets/dom/petowner/PetOwners.java
+++ 
b/module-pets/src/main/java/petclinic/modules/pets/dom/petowner/PetOwners.java
@@ -4,30 +4,29 @@ import java.util.List;
 
 import javax.annotation.Priority;
 import javax.inject.Inject;
+import javax.inject.Named;
 import javax.persistence.TypedQuery;
 
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.BookmarkPolicy;
-import org.apache.isis.applib.annotation.DomainService;
-import org.apache.isis.applib.annotation.NatureOfService;
-import org.apache.isis.applib.annotation.PriorityPrecedence;
-import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.applib.annotation.PromptStyle;
-import org.apache.isis.applib.annotation.SemanticsOf;
-import org.apache.isis.applib.query.Query;
-import org.apache.isis.applib.services.repository.RepositoryService;
-import org.apache.isis.persistence.jpa.applib.services.JpaSupportService;
+import org.apache.causeway.applib.annotation.Action;
+import org.apache.causeway.applib.annotation.ActionLayout;
+import org.apache.causeway.applib.annotation.BookmarkPolicy;
+import org.apache.causeway.applib.annotation.DomainService;
+import org.apache.causeway.applib.annotation.NatureOfService;
+import org.apache.causeway.applib.annotation.PriorityPrecedence;
+import org.apache.causeway.applib.annotation.Programmatic;
+import org.apache.causeway.applib.annotation.PromptStyle;
+import org.apache.causeway.applib.annotation.SemanticsOf;
+import org.apache.causeway.applib.query.Query;
+import org.apache.causeway.applib.services.repository.RepositoryService;
+import org.apache.causeway.persistence.jpa.applib.services.JpaSupportService;
 
 import lombok.RequiredArgsConstructor;
 
 import petclinic.modules.pets.types.FirstName;
 import petclinic.modules.pets.types.LastName;
 
-@DomainService(
-        nature = NatureOfService.VIEW,
-        logicalTypeName = "pets.PetOwners"
-)
+@Named("pets.PetOwners")
+@DomainService(nature = NatureOfService.VIEW)
 @Priority(PriorityPrecedence.EARLY)
 @RequiredArgsConstructor(onConstructor_ = {@Inject} )
 public class PetOwners {
@@ -55,7 +54,6 @@ public class PetOwners {
 
 
     @Action(semantics = SemanticsOf.SAFE)
-    @ActionLayout(bookmarking = BookmarkPolicy.AS_ROOT)
     public List<PetOwner> findByLastName(
             @LastName final String lastName
             ) {
@@ -71,7 +69,6 @@ public class PetOwners {
 
 
     @Action(semantics = SemanticsOf.SAFE)
-    @ActionLayout(bookmarking = BookmarkPolicy.AS_ROOT)
     public List<PetOwner> listAll() {
         return petOwnerRepository.findAll();
     }
@@ -82,13 +79,13 @@ public class PetOwners {
     @Programmatic
     public void ping() {
         jpaSupportService.getEntityManager(PetOwner.class)
-            .ifSuccess(entityManager -> {
+            .mapSuccessWhenPresent(entityManager -> {
                 final TypedQuery<PetOwner> q = entityManager.createQuery(
                         "SELECT p FROM PetOwner p ORDER BY p.lastName",
                         PetOwner.class)
                     .setMaxResults(1);
-                q.getResultList();
-            });
+                return q.getResultList();
+            }).valueAsNonNullElseFail();
     }
 
 
diff --git 
a/module-pets/src/main/java/petclinic/modules/pets/fixture/pet/PetBuilder.java 
b/module-pets/src/main/java/petclinic/modules/pets/fixture/pet/PetBuilder.java
index 6f37cdc..ca15edf 100644
--- 
a/module-pets/src/main/java/petclinic/modules/pets/fixture/pet/PetBuilder.java
+++ 
b/module-pets/src/main/java/petclinic/modules/pets/fixture/pet/PetBuilder.java
@@ -2,7 +2,7 @@ package petclinic.modules.pets.fixture.pet;
 
 import javax.inject.Inject;
 
-import 
org.apache.isis.testing.fixtures.applib.personas.BuilderScriptWithResult;
+import 
org.apache.causeway.testing.fixtures.applib.personas.BuilderScriptWithResult;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git 
a/module-pets/src/main/java/petclinic/modules/pets/fixture/pet/Pet_persona.java 
b/module-pets/src/main/java/petclinic/modules/pets/fixture/pet/Pet_persona.java
index 23d2b30..ecd980a 100644
--- 
a/module-pets/src/main/java/petclinic/modules/pets/fixture/pet/Pet_persona.java
+++ 
b/module-pets/src/main/java/petclinic/modules/pets/fixture/pet/Pet_persona.java
@@ -1,9 +1,10 @@
 package petclinic.modules.pets.fixture.pet;
 
-import org.apache.isis.applib.services.registry.ServiceRegistry;
-import 
org.apache.isis.testing.fixtures.applib.personas.PersonaWithBuilderScript;
-import org.apache.isis.testing.fixtures.applib.personas.PersonaWithFinder;
-import org.apache.isis.testing.fixtures.applib.setup.PersonaEnumPersistAll;
+import org.apache.causeway.applib.services.registry.ServiceRegistry;
+import org.apache.causeway.testing.fixtures.applib.personas.Persona;
+import 
org.apache.causeway.testing.fixtures.applib.personas.PersonaWithBuilderScript;
+import org.apache.causeway.testing.fixtures.applib.personas.PersonaWithFinder;
+import org.apache.causeway.testing.fixtures.applib.setup.PersonaEnumPersistAll;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;
@@ -16,7 +17,7 @@ import 
petclinic.modules.pets.fixture.petowner.PetOwner_persona;
 
 @AllArgsConstructor
 public enum Pet_persona
-implements PersonaWithBuilderScript<PetBuilder>, PersonaWithFinder<Pet> {
+implements Persona<Pet, PetBuilder> {
 
     TIDDLES_JONES("Tiddles", PetSpecies.Cat, PetOwner_persona.JONES),
     ROVER_JONES("Rover", PetSpecies.Dog, PetOwner_persona.JONES),
@@ -46,7 +47,7 @@ implements PersonaWithBuilderScript<PetBuilder>, 
PersonaWithFinder<Pet> {
     }
 
     public static class PersistAll
-    extends PersonaEnumPersistAll<Pet_persona, Pet> {
+    extends PersonaEnumPersistAll<Pet, Pet_persona, PetBuilder> {
         public PersistAll() {
             super(Pet_persona.class);
         }
diff --git 
a/module-pets/src/main/java/petclinic/modules/pets/fixture/petowner/PetOwnerBuilder.java
 
b/module-pets/src/main/java/petclinic/modules/pets/fixture/petowner/PetOwnerBuilder.java
index 00bab41..80d5795 100644
--- 
a/module-pets/src/main/java/petclinic/modules/pets/fixture/petowner/PetOwnerBuilder.java
+++ 
b/module-pets/src/main/java/petclinic/modules/pets/fixture/petowner/PetOwnerBuilder.java
@@ -2,7 +2,7 @@ package petclinic.modules.pets.fixture.petowner;
 
 import javax.inject.Inject;
 
-import 
org.apache.isis.testing.fixtures.applib.personas.BuilderScriptWithResult;
+import 
org.apache.causeway.testing.fixtures.applib.personas.BuilderScriptWithResult;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git 
a/module-pets/src/main/java/petclinic/modules/pets/fixture/petowner/PetOwner_persona.java
 
b/module-pets/src/main/java/petclinic/modules/pets/fixture/petowner/PetOwner_persona.java
index ce7cc4c..bfe9e54 100644
--- 
a/module-pets/src/main/java/petclinic/modules/pets/fixture/petowner/PetOwner_persona.java
+++ 
b/module-pets/src/main/java/petclinic/modules/pets/fixture/petowner/PetOwner_persona.java
@@ -1,9 +1,10 @@
 package petclinic.modules.pets.fixture.petowner;
 
-import org.apache.isis.applib.services.registry.ServiceRegistry;
-import 
org.apache.isis.testing.fixtures.applib.personas.PersonaWithBuilderScript;
-import org.apache.isis.testing.fixtures.applib.personas.PersonaWithFinder;
-import org.apache.isis.testing.fixtures.applib.setup.PersonaEnumPersistAll;
+import org.apache.causeway.applib.services.registry.ServiceRegistry;
+import org.apache.causeway.testing.fixtures.applib.personas.Persona;
+import 
org.apache.causeway.testing.fixtures.applib.personas.PersonaWithBuilderScript;
+import org.apache.causeway.testing.fixtures.applib.personas.PersonaWithFinder;
+import org.apache.causeway.testing.fixtures.applib.setup.PersonaEnumPersistAll;
 
 import petclinic.modules.pets.dom.petowner.PetOwner;
 import petclinic.modules.pets.dom.petowner.PetOwners;
@@ -13,7 +14,7 @@ import lombok.Getter;
 
 @AllArgsConstructor
 public enum PetOwner_persona
-implements PersonaWithBuilderScript<PetOwnerBuilder>, 
PersonaWithFinder<PetOwner> {
+implements Persona<PetOwner, PetOwnerBuilder> {
 
     JONES("Jones"),
     FARRELL("Farrell"),
@@ -41,7 +42,7 @@ implements PersonaWithBuilderScript<PetOwnerBuilder>, 
PersonaWithFinder<PetOwner
     }
 
     public static class PersistAll
-    extends PersonaEnumPersistAll<PetOwner_persona, PetOwner> {
+    extends PersonaEnumPersistAll<PetOwner, PetOwner_persona, PetOwnerBuilder> 
{
 
         public PersistAll() {
             super(PetOwner_persona.class);
diff --git 
a/module-pets/src/main/java/petclinic/modules/pets/types/EmailAddress.java 
b/module-pets/src/main/java/petclinic/modules/pets/types/EmailAddress.java
index fc69256..10c80df 100644
--- a/module-pets/src/main/java/petclinic/modules/pets/types/EmailAddress.java
+++ b/module-pets/src/main/java/petclinic/modules/pets/types/EmailAddress.java
@@ -5,12 +5,12 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import org.apache.isis.applib.annotation.Editing;
-import org.apache.isis.applib.annotation.Optionality;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
+import org.apache.causeway.applib.annotation.Editing;
+import org.apache.causeway.applib.annotation.Optionality;
+import org.apache.causeway.applib.annotation.Parameter;
+import org.apache.causeway.applib.annotation.ParameterLayout;
+import org.apache.causeway.applib.annotation.Property;
+import org.apache.causeway.applib.annotation.PropertyLayout;
 
 @Property(
         editing = Editing.ENABLED,
diff --git 
a/module-pets/src/main/java/petclinic/modules/pets/types/FirstName.java 
b/module-pets/src/main/java/petclinic/modules/pets/types/FirstName.java
index 00f2bfc..2a9bb89 100644
--- a/module-pets/src/main/java/petclinic/modules/pets/types/FirstName.java
+++ b/module-pets/src/main/java/petclinic/modules/pets/types/FirstName.java
@@ -5,10 +5,10 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import org.apache.isis.applib.annotation.Optionality;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
+import org.apache.causeway.applib.annotation.Optionality;
+import org.apache.causeway.applib.annotation.Parameter;
+import org.apache.causeway.applib.annotation.ParameterLayout;
+import org.apache.causeway.applib.annotation.Property;
 
 @Property(maxLength = FirstName.MAX_LEN, optionality = Optionality.OPTIONAL)
 @Parameter(maxLength = FirstName.MAX_LEN, optionality = Optionality.OPTIONAL)
diff --git 
a/module-pets/src/main/java/petclinic/modules/pets/types/LastName.java 
b/module-pets/src/main/java/petclinic/modules/pets/types/LastName.java
index 5fe25bc..e306753 100644
--- a/module-pets/src/main/java/petclinic/modules/pets/types/LastName.java
+++ b/module-pets/src/main/java/petclinic/modules/pets/types/LastName.java
@@ -5,10 +5,10 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.spec.AbstractSpecification;
+import org.apache.causeway.applib.annotation.Parameter;
+import org.apache.causeway.applib.annotation.ParameterLayout;
+import org.apache.causeway.applib.annotation.Property;
+import org.apache.causeway.applib.spec.AbstractSpecification;
 
 @Property(maxLength = LastName.MAX_LEN, mustSatisfy = LastName.Spec.class)
 @Parameter(maxLength = LastName.MAX_LEN, mustSatisfy = LastName.Spec.class)
diff --git a/module-pets/src/main/java/petclinic/modules/pets/types/Notes.java 
b/module-pets/src/main/java/petclinic/modules/pets/types/Notes.java
index 74156e1..c29f432 100644
--- a/module-pets/src/main/java/petclinic/modules/pets/types/Notes.java
+++ b/module-pets/src/main/java/petclinic/modules/pets/types/Notes.java
@@ -5,12 +5,12 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import org.apache.isis.applib.annotation.Editing;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.Where;
+import org.apache.causeway.applib.annotation.Editing;
+import org.apache.causeway.applib.annotation.Parameter;
+import org.apache.causeway.applib.annotation.ParameterLayout;
+import org.apache.causeway.applib.annotation.Property;
+import org.apache.causeway.applib.annotation.PropertyLayout;
+import org.apache.causeway.applib.annotation.Where;
 
 @Property(editing = Editing.ENABLED, maxLength = Notes.MAX_LEN)
 @PropertyLayout(named = "Notes", multiLine = 10, hidden = Where.ALL_TABLES)
diff --git 
a/module-pets/src/main/java/petclinic/modules/pets/types/PetName.java 
b/module-pets/src/main/java/petclinic/modules/pets/types/PetName.java
index 035d085..4088527 100644
--- a/module-pets/src/main/java/petclinic/modules/pets/types/PetName.java
+++ b/module-pets/src/main/java/petclinic/modules/pets/types/PetName.java
@@ -5,10 +5,10 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import org.apache.isis.applib.annotation.Optionality;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
+import org.apache.causeway.applib.annotation.Optionality;
+import org.apache.causeway.applib.annotation.Parameter;
+import org.apache.causeway.applib.annotation.ParameterLayout;
+import org.apache.causeway.applib.annotation.Property;
 
 @Property(maxLength = PetName.MAX_LEN, optionality = Optionality.MANDATORY)
 @Parameter(maxLength = PetName.MAX_LEN, optionality = Optionality.MANDATORY)
diff --git 
a/module-pets/src/main/java/petclinic/modules/pets/types/PhoneNumber.java 
b/module-pets/src/main/java/petclinic/modules/pets/types/PhoneNumber.java
index 33821cf..99d25be 100644
--- a/module-pets/src/main/java/petclinic/modules/pets/types/PhoneNumber.java
+++ b/module-pets/src/main/java/petclinic/modules/pets/types/PhoneNumber.java
@@ -5,12 +5,12 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import org.apache.isis.applib.annotation.Editing;
-import org.apache.isis.applib.annotation.Optionality;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
+import org.apache.causeway.applib.annotation.Editing;
+import org.apache.causeway.applib.annotation.Optionality;
+import org.apache.causeway.applib.annotation.Parameter;
+import org.apache.causeway.applib.annotation.ParameterLayout;
+import org.apache.causeway.applib.annotation.Property;
+import org.apache.causeway.applib.annotation.PropertyLayout;
 
 @Property(
         editing = Editing.ENABLED,
diff --git a/module-visits/pom.xml b/module-visits/pom.xml
index 1345717..c076f18 100644
--- a/module-visits/pom.xml
+++ b/module-visits/pom.xml
@@ -5,7 +5,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <groupId>org.apache.isis.tutorials</groupId>
+        <groupId>org.apache.causeway.tutorials</groupId>
         <artifactId>petclinic</artifactId>
         <version>1.0.0-SNAPSHOT</version>
     </parent>
@@ -41,18 +41,18 @@
         <!-- ISIS API -->
 
         <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-applib</artifactId>
+            <groupId>org.apache.causeway.core</groupId>
+            <artifactId>causeway-applib</artifactId>
         </dependency>
 
         <dependency>
-            <groupId>org.apache.isis.persistence</groupId>
-            <artifactId>isis-persistence-jpa-eclipselink</artifactId>
+            <groupId>org.apache.causeway.persistence</groupId>
+            <artifactId>causeway-persistence-jpa-eclipselink</artifactId>
         </dependency>
 
         <dependency>
-            <groupId>org.apache.isis.testing</groupId>
-            <artifactId>isis-testing-fixtures-applib</artifactId>
+            <groupId>org.apache.causeway.testing</groupId>
+            <artifactId>causeway-testing-fixtures-applib</artifactId>
         </dependency>
 
         <!-- IDE support (optional) -->
@@ -65,25 +65,22 @@
         <!-- TESTS -->
 
         <dependency>
-            <groupId>org.apache.isis.mavendeps</groupId>
-            <artifactId>isis-mavendeps-unittests</artifactId>
-            <type>pom</type>
+            <groupId>org.apache.causeway.testing</groupId>
+            <artifactId>causeway-testing-unittestsupport-applib</artifactId>
             <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.jmock</groupId>
-                    <artifactId>jmock-junit4</artifactId>
-                </exclusion>
-            </exclusions>
         </dependency>
 
         <dependency>
-            <groupId>org.apache.isis.mavendeps</groupId>
-            <artifactId>isis-mavendeps-integtests</artifactId>
-            <type>pom</type>
+            <groupId>org.apache.causeway.testing</groupId>
+            <artifactId>causeway-testing-fakedata-applib</artifactId>
             <scope>test</scope>
         </dependency>
 
+        <dependency>
+            <groupId>org.apache.causeway.testing</groupId>
+            <artifactId>causeway-testing-integtestsupport-applib</artifactId>
+            <scope>test</scope>
+        </dependency>
 
     </dependencies>
 
diff --git 
a/module-visits/src/main/java/petclinic/modules/visits/VisitsModule.java 
b/module-visits/src/main/java/petclinic/modules/visits/VisitsModule.java
index 29b941d..0626072 100644
--- a/module-visits/src/main/java/petclinic/modules/visits/VisitsModule.java
+++ b/module-visits/src/main/java/petclinic/modules/visits/VisitsModule.java
@@ -6,8 +6,8 @@ import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
 
-import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
-import org.apache.isis.testing.fixtures.applib.modules.ModuleWithFixtures;
+import 
org.apache.causeway.testing.fixtures.applib.fixturescripts.FixtureScript;
+import org.apache.causeway.testing.fixtures.applib.modules.ModuleWithFixtures;
 
 import petclinic.modules.pets.PetsModule;
 import petclinic.modules.pets.dom.petowner.PetOwner;
diff --git 
a/module-visits/src/main/java/petclinic/modules/visits/contributions/pet/Pet_bookVisit.java
 
b/module-visits/src/main/java/petclinic/modules/visits/contributions/pet/Pet_bookVisit.java
index 6d1146d..48ae1d9 100644
--- 
a/module-visits/src/main/java/petclinic/modules/visits/contributions/pet/Pet_bookVisit.java
+++ 
b/module-visits/src/main/java/petclinic/modules/visits/contributions/pet/Pet_bookVisit.java
@@ -6,12 +6,12 @@ import java.util.List;
 
 import javax.inject.Inject;
 
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.Publishing;
-import org.apache.isis.applib.annotation.SemanticsOf;
-import org.apache.isis.applib.services.clock.ClockService;
-import org.apache.isis.applib.services.repository.RepositoryService;
+import org.apache.causeway.applib.annotation.Action;
+import org.apache.causeway.applib.annotation.ActionLayout;
+import org.apache.causeway.applib.annotation.Publishing;
+import org.apache.causeway.applib.annotation.SemanticsOf;
+import org.apache.causeway.applib.services.clock.ClockService;
+import org.apache.causeway.applib.services.repository.RepositoryService;
 
 import lombok.RequiredArgsConstructor;
 
diff --git 
a/module-visits/src/main/java/petclinic/modules/visits/contributions/pet/Pet_visits.java
 
b/module-visits/src/main/java/petclinic/modules/visits/contributions/pet/Pet_visits.java
index 36e9b7b..bf8ed3f 100644
--- 
a/module-visits/src/main/java/petclinic/modules/visits/contributions/pet/Pet_visits.java
+++ 
b/module-visits/src/main/java/petclinic/modules/visits/contributions/pet/Pet_visits.java
@@ -4,8 +4,8 @@ import java.util.List;
 
 import javax.inject.Inject;
 
-import org.apache.isis.applib.annotation.Collection;
-import org.apache.isis.applib.annotation.CollectionLayout;
+import org.apache.causeway.applib.annotation.Collection;
+import org.apache.causeway.applib.annotation.CollectionLayout;
 
 import lombok.RequiredArgsConstructor;
 
diff --git 
a/module-visits/src/main/java/petclinic/modules/visits/dom/visit/Visit.java 
b/module-visits/src/main/java/petclinic/modules/visits/dom/visit/Visit.java
index 9923aeb..d5bf491 100644
--- a/module-visits/src/main/java/petclinic/modules/visits/dom/visit/Visit.java
+++ b/module-visits/src/main/java/petclinic/modules/visits/dom/visit/Visit.java
@@ -5,6 +5,7 @@ import java.time.format.DateTimeFormatter;
 import java.util.Comparator;
 
 import javax.inject.Inject;
+import javax.inject.Named;
 import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.EntityListeners;
@@ -21,14 +22,14 @@ import javax.persistence.UniqueConstraint;
 import javax.persistence.Version;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
-import org.apache.isis.applib.annotation.DomainObject;
-import org.apache.isis.applib.annotation.DomainObjectLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.Publishing;
-import org.apache.isis.applib.jaxb.PersistentEntityAdapter;
-import org.apache.isis.applib.services.title.TitleService;
-import org.apache.isis.persistence.jpa.applib.integration.IsisEntityListener;
+import org.apache.causeway.applib.annotation.DomainObject;
+import org.apache.causeway.applib.annotation.DomainObjectLayout;
+import org.apache.causeway.applib.annotation.Property;
+import org.apache.causeway.applib.annotation.PropertyLayout;
+import org.apache.causeway.applib.annotation.Publishing;
+import org.apache.causeway.applib.jaxb.PersistentEntityAdapter;
+import org.apache.causeway.applib.services.title.TitleService;
+import 
org.apache.causeway.persistence.jpa.applib.integration.CausewayEntityListener;
 
 import lombok.AccessLevel;
 import lombok.Getter;
@@ -53,8 +54,9 @@ import petclinic.modules.visits.types.Reason;
         @UniqueConstraint(name = "Visit__pet_visitAt__UNQ", columnNames = 
{"owner_id", "name"})
     }
 )
-@EntityListeners(IsisEntityListener.class)
-@DomainObject(logicalTypeName = "visits.Visit", entityChangePublishing = 
Publishing.ENABLED)
+@EntityListeners(CausewayEntityListener.class)
+@Named("visits.Visit")
+@DomainObject(entityChangePublishing = Publishing.ENABLED)
 @DomainObjectLayout()
 @NoArgsConstructor(access = AccessLevel.PUBLIC)
 @XmlJavaTypeAdapter(PersistentEntityAdapter.class)
diff --git 
a/module-visits/src/main/java/petclinic/modules/visits/subscribers/PetOwnerForVisitsSubscriber.java
 
b/module-visits/src/main/java/petclinic/modules/visits/subscribers/PetOwnerForVisitsSubscriber.java
index f391988..b39cb92 100644
--- 
a/module-visits/src/main/java/petclinic/modules/visits/subscribers/PetOwnerForVisitsSubscriber.java
+++ 
b/module-visits/src/main/java/petclinic/modules/visits/subscribers/PetOwnerForVisitsSubscriber.java
@@ -7,8 +7,8 @@ import javax.inject.Inject;
 import org.springframework.context.event.EventListener;
 import org.springframework.stereotype.Service;
 
-import org.apache.isis.applib.services.repository.RepositoryService;
-import org.apache.isis.applib.services.title.TitleService;
+import org.apache.causeway.applib.services.repository.RepositoryService;
+import org.apache.causeway.applib.services.title.TitleService;
 
 import petclinic.modules.pets.dom.pet.Pet;
 import petclinic.modules.pets.dom.pet.PetRepository;
diff --git 
a/module-visits/src/main/java/petclinic/modules/visits/types/Reason.java 
b/module-visits/src/main/java/petclinic/modules/visits/types/Reason.java
index 2df789c..bb9c903 100644
--- a/module-visits/src/main/java/petclinic/modules/visits/types/Reason.java
+++ b/module-visits/src/main/java/petclinic/modules/visits/types/Reason.java
@@ -5,12 +5,12 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import org.apache.isis.applib.annotation.Editing;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.Where;
+import org.apache.causeway.applib.annotation.Editing;
+import org.apache.causeway.applib.annotation.Parameter;
+import org.apache.causeway.applib.annotation.ParameterLayout;
+import org.apache.causeway.applib.annotation.Property;
+import org.apache.causeway.applib.annotation.PropertyLayout;
+import org.apache.causeway.applib.annotation.Where;
 
 @Property(maxLength = Reason.MAX_LEN)
 @PropertyLayout(named = "Reason")
diff --git 
a/module-visits/src/test/java/petclinic/modules/visits/contributions/pet/Pet_bookVisit_Test.java
 
b/module-visits/src/test/java/petclinic/modules/visits/contributions/pet/Pet_bookVisit_Test.java
index 77e22ce..f58094f 100644
--- 
a/module-visits/src/test/java/petclinic/modules/visits/contributions/pet/Pet_bookVisit_Test.java
+++ 
b/module-visits/src/test/java/petclinic/modules/visits/contributions/pet/Pet_bookVisit_Test.java
@@ -11,8 +11,8 @@ import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.junit.jupiter.MockitoExtension;
 
-import org.apache.isis.applib.clock.VirtualClock;
-import org.apache.isis.applib.services.clock.ClockService;
+import org.apache.causeway.applib.clock.VirtualClock;
+import org.apache.causeway.applib.services.clock.ClockService;
 
 @ExtendWith(MockitoExtension.class)
 class Pet_bookVisit_Test {
diff --git 
a/module-visits/src/test/java/petclinic/modules/visits/integtest/VisitsModuleIntegTestAbstract.java
 
b/module-visits/src/test/java/petclinic/modules/visits/integtest/VisitsModuleIntegTestAbstract.java
index 63eb1f5..8829494 100644
--- 
a/module-visits/src/test/java/petclinic/modules/visits/integtest/VisitsModuleIntegTestAbstract.java
+++ 
b/module-visits/src/test/java/petclinic/modules/visits/integtest/VisitsModuleIntegTestAbstract.java
@@ -8,13 +8,13 @@ import org.springframework.context.annotation.PropertySource;
 import org.springframework.context.annotation.PropertySources;
 import org.springframework.test.context.ActiveProfiles;
 
-import org.apache.isis.core.config.presets.IsisPresets;
-import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
-import 
org.apache.isis.persistence.jpa.eclipselink.IsisModulePersistenceJpaEclipselink;
-import org.apache.isis.security.bypass.IsisModuleSecurityBypass;
-import org.apache.isis.testing.fakedata.applib.IsisModuleTestingFakeDataApplib;
-import 
org.apache.isis.testing.fixtures.applib.IsisIntegrationTestAbstractWithFixtures;
-import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
+import org.apache.causeway.core.config.presets.CausewayPresets;
+import 
org.apache.causeway.core.runtimeservices.CausewayModuleCoreRuntimeServices;
+import 
org.apache.causeway.persistence.jpa.eclipselink.CausewayModulePersistenceJpaEclipselink;
+import org.apache.causeway.security.bypass.CausewayModuleSecurityBypass;
+import 
org.apache.causeway.testing.fakedata.applib.CausewayModuleTestingFakeDataApplib;
+import 
org.apache.causeway.testing.fixtures.applib.CausewayIntegrationTestAbstractWithFixtures;
+import 
org.apache.causeway.testing.fixtures.applib.CausewayModuleTestingFixturesApplib;
 
 import petclinic.modules.pets.PetsModule;
 import petclinic.modules.visits.VisitsModule;
@@ -24,24 +24,24 @@ import petclinic.modules.visits.VisitsModule;
         classes = VisitsModuleIntegTestAbstract.TestApp.class
 )
 @ActiveProfiles("test")
-public abstract class VisitsModuleIntegTestAbstract extends 
IsisIntegrationTestAbstractWithFixtures {
+public abstract class VisitsModuleIntegTestAbstract extends 
CausewayIntegrationTestAbstractWithFixtures {
 
     @SpringBootConfiguration
     @EnableAutoConfiguration
     @Import({
 
-            IsisModuleCoreRuntimeServices.class,
-            IsisModuleSecurityBypass.class,
-            IsisModulePersistenceJpaEclipselink.class,
-            IsisModuleTestingFixturesApplib.class,
+            CausewayModuleCoreRuntimeServices.class,
+            CausewayModuleSecurityBypass.class,
+            CausewayModulePersistenceJpaEclipselink.class,
+            CausewayModuleTestingFixturesApplib.class,
 
-            IsisModuleTestingFakeDataApplib.class,
+            CausewayModuleTestingFakeDataApplib.class,
 
             VisitsModule.class
     })
     @PropertySources({
-            @PropertySource(IsisPresets.H2InMemory_withUniqueSchema),
-            @PropertySource(IsisPresets.UseLog4j2Test),
+            @PropertySource(CausewayPresets.H2InMemory_withUniqueSchema),
+            @PropertySource(CausewayPresets.UseLog4j2Test),
     })
     public static class TestApp {
     }
diff --git 
a/module-visits/src/test/java/petclinic/modules/visits/integtest/tests/Pet_bookVisit_IntegTest.java
 
b/module-visits/src/test/java/petclinic/modules/visits/integtest/tests/Pet_bookVisit_IntegTest.java
index de3508c..39df642 100644
--- 
a/module-visits/src/test/java/petclinic/modules/visits/integtest/tests/Pet_bookVisit_IntegTest.java
+++ 
b/module-visits/src/test/java/petclinic/modules/visits/integtest/tests/Pet_bookVisit_IntegTest.java
@@ -11,10 +11,10 @@ import org.junit.jupiter.api.Test;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
-import org.apache.isis.applib.services.clock.ClockService;
-import org.apache.isis.applib.services.wrapper.DisabledException;
-import org.apache.isis.applib.services.wrapper.InvalidException;
-import org.apache.isis.testing.fakedata.applib.services.FakeDataService;
+import org.apache.causeway.applib.services.clock.ClockService;
+import org.apache.causeway.applib.services.wrapper.DisabledException;
+import org.apache.causeway.applib.services.wrapper.InvalidException;
+import org.apache.causeway.testing.fakedata.applib.services.FakeDataService;
 
 import petclinic.modules.pets.dom.pet.Pet;
 import petclinic.modules.pets.fixture.pet.Pet_persona;
diff --git a/module-visits/src/test/resources/application-test.yml 
b/module-visits/src/test/resources/application-test.yml
index 038efed..ac83367 100644
--- a/module-visits/src/test/resources/application-test.yml
+++ b/module-visits/src/test/resources/application-test.yml
@@ -1,4 +1,4 @@
-isis:
+causeway:
   persistence:
     schema:
       auto-create-schemas: pets,visits
diff --git a/pom.xml b/pom.xml
index e0bc8e4..3dcd0e3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,13 +4,13 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <groupId>org.apache.isis.app</groupId>
-        <artifactId>isis-app-starter-parent</artifactId>
-        <version>2.0.0-M6</version>
+        <groupId>org.apache.causeway.app</groupId>
+        <artifactId>causeway-app-starter-parent</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
         <relativePath/>
     </parent>
 
-    <groupId>org.apache.isis.tutorials</groupId>
+    <groupId>org.apache.causeway.tutorials</groupId>
     <artifactId>petclinic</artifactId>
     <version>1.0.0-SNAPSHOT</version>
 
@@ -19,8 +19,8 @@
     <packaging>pom</packaging>
 
     <properties>
-        <isis.version>2.0.0-M6</isis.version>
-        <java.version>11</java.version>
+        <causeway.version>2.0.0-SNAPSHOT</causeway.version>
+        <java.version>21</java.version>
         
<maven-cucumber-reporting.version>5.3.0</maven-cucumber-reporting.version>
         <archunit.version>0.14.1</archunit.version>
         <skipBDD>${skipTests}</skipBDD>
diff --git a/webapp-tests/pom.xml b/webapp-tests/pom.xml
index f8cdc1e..ca0b2e5 100644
--- a/webapp-tests/pom.xml
+++ b/webapp-tests/pom.xml
@@ -3,7 +3,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <groupId>org.apache.isis.tutorials</groupId>
+        <groupId>org.apache.causeway.tutorials</groupId>
         <artifactId>petclinic</artifactId>
         <version>1.0.0-SNAPSHOT</version>
     </parent>
@@ -43,9 +43,32 @@
         <!-- TESTING -->
 
         <dependency>
-            <groupId>org.apache.isis.mavendeps</groupId>
-            <artifactId>isis-mavendeps-integtests</artifactId>
-            <type>pom</type>
+            <groupId>org.apache.causeway.testing</groupId>
+            <artifactId>causeway-testing-unittestsupport-applib</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.causeway.testing</groupId>
+            <artifactId>causeway-testing-fakedata-applib</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.causeway.testing</groupId>
+            <artifactId>causeway-testing-integtestsupport-applib</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.causeway.testing</groupId>
+            <artifactId>causeway-testing-fixtures-applib</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.causeway.persistence</groupId>
+            <artifactId>causeway-persistence-jpa-eclipselink</artifactId>
             <scope>test</scope>
         </dependency>
 
diff --git 
a/webapp-tests/src/test/java/petclinic/webapp/integtests/WebAppIntegTestAbstract.java
 
b/webapp-tests/src/test/java/petclinic/webapp/integtests/WebAppIntegTestAbstract.java
index ba9ea41..6d3be00 100644
--- 
a/webapp-tests/src/test/java/petclinic/webapp/integtests/WebAppIntegTestAbstract.java
+++ 
b/webapp-tests/src/test/java/petclinic/webapp/integtests/WebAppIntegTestAbstract.java
@@ -9,12 +9,12 @@ import org.springframework.context.annotation.PropertySources;
 import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
 import org.springframework.test.context.ActiveProfiles;
 
-import org.apache.isis.core.config.presets.IsisPresets;
-import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
-import 
org.apache.isis.persistence.jpa.eclipselink.IsisModulePersistenceJpaEclipselink;
-import org.apache.isis.security.bypass.IsisModuleSecurityBypass;
-import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
-import 
org.apache.isis.testing.integtestsupport.applib.IsisIntegrationTestAbstract;
+import org.apache.causeway.core.config.presets.CausewayPresets;
+import 
org.apache.causeway.core.runtimeservices.CausewayModuleCoreRuntimeServices;
+import 
org.apache.causeway.persistence.jpa.eclipselink.CausewayModulePersistenceJpaEclipselink;
+import org.apache.causeway.security.bypass.CausewayModuleSecurityBypass;
+import 
org.apache.causeway.testing.fixtures.applib.CausewayModuleTestingFixturesApplib;
+import 
org.apache.causeway.testing.integtestsupport.applib.CausewayIntegrationTestAbstract;
 
 import petclinic.modules.pets.PetsModule;
 import petclinic.webapp.application.ApplicationModule;
@@ -27,7 +27,7 @@ import petclinic.webapp.application.ApplicationModule;
     }
 )
 @ActiveProfiles("test")
-public abstract class WebAppIntegTestAbstract extends 
IsisIntegrationTestAbstract {
+public abstract class WebAppIntegTestAbstract extends 
CausewayIntegrationTestAbstract {
 
     /**
      * Compared to the production app manifest 
<code>petclinic.webapp.AppManifest</code>,
@@ -38,16 +38,16 @@ public abstract class WebAppIntegTestAbstract extends 
IsisIntegrationTestAbstrac
     @EnableJpaRepositories
     @Import({
 
-        IsisModuleCoreRuntimeServices.class,
-        IsisModuleSecurityBypass.class,
-        IsisModulePersistenceJpaEclipselink.class,
-        IsisModuleTestingFixturesApplib.class,
+        CausewayModuleCoreRuntimeServices.class,
+        CausewayModuleSecurityBypass.class,
+        CausewayModulePersistenceJpaEclipselink.class,
+        CausewayModuleTestingFixturesApplib.class,
 
         PetsModule.class
     })
     @PropertySources({
-        @PropertySource(IsisPresets.H2InMemory_withUniqueSchema),
-        @PropertySource(IsisPresets.UseLog4j2Test),
+        @PropertySource(CausewayPresets.H2InMemory_withUniqueSchema),
+        @PropertySource(CausewayPresets.UseLog4j2Test),
     })
     public static class TestApp {
 
diff --git 
a/webapp-tests/src/test/java/petclinic/webapp/integtests/metamodel/SwaggerExport_IntegTest.java
 
b/webapp-tests/src/test/java/petclinic/webapp/integtests/metamodel/SwaggerExport_IntegTest.java
index c2b9ace..b839e18 100644
--- 
a/webapp-tests/src/test/java/petclinic/webapp/integtests/metamodel/SwaggerExport_IntegTest.java
+++ 
b/webapp-tests/src/test/java/petclinic/webapp/integtests/metamodel/SwaggerExport_IntegTest.java
@@ -1,25 +1,23 @@
 package petclinic.webapp.integtests.metamodel;
 
+import lombok.val;
+import petclinic.webapp.integtests.WebAppIntegTestAbstract;
+
 import java.io.IOException;
 
 import javax.inject.Inject;
 
+import org.apache.causeway.applib.services.registry.ServiceRegistry;
+import org.apache.causeway.applib.services.swagger.Format;
+import org.apache.causeway.applib.services.swagger.Visibility;
+import 
org.apache.causeway.testing.integtestsupport.applib.swagger.SwaggerExporter;
+import 
org.apache.causeway.viewer.restfulobjects.viewer.CausewayModuleViewerRestfulObjectsViewer;
 import org.junit.jupiter.api.Test;
 import org.springframework.context.annotation.Import;
 import org.springframework.test.annotation.DirtiesContext;
 
-import org.apache.isis.applib.services.registry.ServiceRegistry;
-import org.apache.isis.applib.services.swagger.Format;
-import org.apache.isis.applib.services.swagger.Visibility;
-import org.apache.isis.testing.integtestsupport.applib.swagger.SwaggerExporter;
-import 
org.apache.isis.viewer.restfulobjects.jaxrsresteasy4.IsisModuleViewerRestfulObjectsJaxrsResteasy4;
-
-import lombok.val;
-
-import petclinic.webapp.integtests.WebAppIntegTestAbstract;
-
 @Import({
-        IsisModuleViewerRestfulObjectsJaxrsResteasy4.class
+        CausewayModuleViewerRestfulObjectsViewer.class
 })
 @DirtiesContext
 class SwaggerExport_IntegTest extends WebAppIntegTestAbstract {
diff --git 
a/webapp-tests/src/test/java/petclinic/webapp/integtests/metamodel/ValidateDomainModel_IntegTest.java
 
b/webapp-tests/src/test/java/petclinic/webapp/integtests/metamodel/ValidateDomainModel_IntegTest.java
index 2a36424..7a53580 100644
--- 
a/webapp-tests/src/test/java/petclinic/webapp/integtests/metamodel/ValidateDomainModel_IntegTest.java
+++ 
b/webapp-tests/src/test/java/petclinic/webapp/integtests/metamodel/ValidateDomainModel_IntegTest.java
@@ -4,8 +4,8 @@ import javax.inject.Inject;
 
 import org.junit.jupiter.api.Test;
 
-import org.apache.isis.applib.services.registry.ServiceRegistry;
-import 
org.apache.isis.testing.integtestsupport.applib.validate.DomainModelValidator;
+import org.apache.causeway.applib.services.registry.ServiceRegistry;
+import 
org.apache.causeway.testing.integtestsupport.applib.validate.DomainModelValidator;
 
 import petclinic.webapp.integtests.WebAppIntegTestAbstract;
 
diff --git 
a/webapp-tests/src/test/java/petclinic/webapp/integtests/smoke/Smoke_IntegTest.java
 
b/webapp-tests/src/test/java/petclinic/webapp/integtests/smoke/Smoke_IntegTest.java
index 682b77f..73a0382 100644
--- 
a/webapp-tests/src/test/java/petclinic/webapp/integtests/smoke/Smoke_IntegTest.java
+++ 
b/webapp-tests/src/test/java/petclinic/webapp/integtests/smoke/Smoke_IntegTest.java
@@ -4,12 +4,12 @@ import java.util.List;
 
 import javax.inject.Inject;
 
-import org.apache.isis.applib.services.wrapper.InvalidException;
+import org.apache.causeway.applib.services.wrapper.InvalidException;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 import org.springframework.transaction.annotation.Transactional;
 
-import org.apache.isis.applib.services.xactn.TransactionService;
+import org.apache.causeway.applib.services.xactn.TransactionService;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
diff --git a/webapp-tests/src/test/resources/application-test.yml 
b/webapp-tests/src/test/resources/application-test.yml
index fa32cda..5f04c5f 100644
--- a/webapp-tests/src/test/resources/application-test.yml
+++ b/webapp-tests/src/test/resources/application-test.yml
@@ -1,4 +1,6 @@
-isis:
+causeway:
   persistence:
     schema:
-      auto-create-schemas: "pets"
+      auto-create-schemas:
+      - "pets"
+      - "visits"
diff --git a/webapp/pom.xml b/webapp/pom.xml
index 111d4aa..5383f52 100644
--- a/webapp/pom.xml
+++ b/webapp/pom.xml
@@ -3,7 +3,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <groupId>org.apache.isis.tutorials</groupId>
+        <groupId>org.apache.causeway.tutorials</groupId>
         <artifactId>petclinic</artifactId>
         <version>1.0.0-SNAPSHOT</version>
     </parent>
@@ -63,19 +63,19 @@
 
         <!-- isis -->
         <dependency>
-            <groupId>org.apache.isis.mavendeps</groupId>
-            <artifactId>isis-mavendeps-webapp</artifactId>
+            <groupId>org.apache.causeway.mavendeps</groupId>
+            <artifactId>causeway-mavendeps-webapp</artifactId>
             <type>pom</type>
         </dependency>
 
         <dependency>
-            <groupId>org.apache.isis.security</groupId>
-            <artifactId>isis-security-shiro</artifactId>
+            <groupId>org.apache.causeway.security</groupId>
+            <artifactId>causeway-security-shiro</artifactId>
         </dependency>
 
         <dependency>
-            <groupId>org.apache.isis.persistence</groupId>
-            <artifactId>isis-persistence-jpa-eclipselink</artifactId>
+            <groupId>org.apache.causeway.persistence</groupId>
+            <artifactId>causeway-persistence-jpa-eclipselink</artifactId>
         </dependency>
 
         <dependency>
@@ -84,13 +84,13 @@
         </dependency>
 
         <dependency>
-            <groupId>org.apache.isis.testing</groupId>
-            <artifactId>isis-testing-h2console-ui</artifactId>
+            <groupId>org.apache.causeway.testing</groupId>
+            <artifactId>causeway-testing-h2console-ui</artifactId>
         </dependency>
 
         <dependency>
-            <groupId>org.apache.isis.extensions</groupId>
-            <artifactId>isis-extensions-flyway-impl</artifactId>
+            <groupId>org.apache.causeway.extensions</groupId>
+            <artifactId>causeway-extensions-flyway-impl</artifactId>
         </dependency>
 
         <dependency>
diff --git a/webapp/src/main/java/petclinic/webapp/AppManifest.java 
b/webapp/src/main/java/petclinic/webapp/AppManifest.java
index bf225fa..3e1d9e5 100644
--- a/webapp/src/main/java/petclinic/webapp/AppManifest.java
+++ b/webapp/src/main/java/petclinic/webapp/AppManifest.java
@@ -1,19 +1,20 @@
 package petclinic.webapp;
 
+import 
org.apache.causeway.viewer.graphql.viewer.CausewayModuleViewerGraphqlViewer;
+import 
org.apache.causeway.viewer.restfulobjects.viewer.CausewayModuleViewerRestfulObjectsViewer;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 import org.springframework.context.annotation.PropertySource;
 import org.springframework.context.annotation.PropertySources;
 
-import org.apache.isis.core.config.presets.IsisPresets;
-import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
-import org.apache.isis.extensions.flyway.impl.IsisModuleExtFlywayImpl;
-import 
org.apache.isis.persistence.jpa.eclipselink.IsisModulePersistenceJpaEclipselink;
-import org.apache.isis.security.shiro.IsisModuleSecurityShiro;
-import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
-import org.apache.isis.testing.h2console.ui.IsisModuleTestingH2ConsoleUi;
-import 
org.apache.isis.viewer.restfulobjects.jaxrsresteasy4.IsisModuleViewerRestfulObjectsJaxrsResteasy4;
-import org.apache.isis.viewer.wicket.viewer.IsisModuleViewerWicketViewer;
+import org.apache.causeway.core.config.presets.CausewayPresets;
+import 
org.apache.causeway.core.runtimeservices.CausewayModuleCoreRuntimeServices;
+import org.apache.causeway.extensions.flyway.impl.CausewayModuleExtFlywayImpl;
+import 
org.apache.causeway.persistence.jpa.eclipselink.CausewayModulePersistenceJpaEclipselink;
+import org.apache.causeway.security.shiro.CausewayModuleSecurityShiro;
+import 
org.apache.causeway.testing.fixtures.applib.CausewayModuleTestingFixturesApplib;
+import 
org.apache.causeway.testing.h2console.ui.CausewayModuleTestingH2ConsoleUi;
+import 
org.apache.causeway.viewer.wicket.viewer.CausewayModuleViewerWicketViewer;
 
 import petclinic.webapp.application.ApplicationModule;
 import petclinic.webapp.application.fixture.scenarios.PetClinicDemo;
@@ -22,16 +23,17 @@ import petclinic.webapp.quartz.QuartzModule;
 
 @Configuration
 @Import({
-        IsisModuleCoreRuntimeServices.class,
-        IsisModuleSecurityShiro.class,
-        IsisModulePersistenceJpaEclipselink.class,
-        IsisModuleViewerRestfulObjectsJaxrsResteasy4.class,
-        IsisModuleViewerWicketViewer.class,
+        CausewayModuleCoreRuntimeServices.class,
+        CausewayModuleSecurityShiro.class,
+        CausewayModulePersistenceJpaEclipselink.class,
+        CausewayModuleViewerGraphqlViewer.class,
+        CausewayModuleViewerRestfulObjectsViewer.class,
+        CausewayModuleViewerWicketViewer.class,
 
-        IsisModuleTestingFixturesApplib.class,
-        IsisModuleTestingH2ConsoleUi.class,
+        CausewayModuleTestingFixturesApplib.class,
+        CausewayModuleTestingH2ConsoleUi.class,
 
-        IsisModuleExtFlywayImpl.class,
+        CausewayModuleExtFlywayImpl.class,
 
         ApplicationModule.class,
         CustomModule.class,
@@ -41,7 +43,7 @@ import petclinic.webapp.quartz.QuartzModule;
         PetClinicDemo.class
 })
 @PropertySources({
-        @PropertySource(IsisPresets.DebugDiscovery),
+        @PropertySource(CausewayPresets.DebugDiscovery),
 })
 public class AppManifest {
 }
diff --git a/webapp/src/main/java/petclinic/webapp/PetClinicApp.java 
b/webapp/src/main/java/petclinic/webapp/PetClinicApp.java
index bf1084d..44be5ea 100644
--- a/webapp/src/main/java/petclinic/webapp/PetClinicApp.java
+++ b/webapp/src/main/java/petclinic/webapp/PetClinicApp.java
@@ -5,7 +5,7 @@ import 
org.springframework.boot.autoconfigure.SpringBootApplication;
 import 
org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
 import org.springframework.context.annotation.Import;
 
-import org.apache.isis.core.config.presets.IsisPresets;
+import org.apache.causeway.core.config.presets.CausewayPresets;
 
 @SpringBootApplication
 @Import({
@@ -19,7 +19,7 @@ public class PetClinicApp extends 
SpringBootServletInitializer {
      * entry point by searching for classes having a {@code main(...)}
      */
     public static void main(String[] args) {
-        IsisPresets.prototyping();
+        CausewayPresets.prototyping();
         SpringApplication.run(new Class[] { PetClinicApp.class }, args);
     }
 
diff --git 
a/webapp/src/main/java/petclinic/webapp/application/fixture/scenarios/PetClinicDemo.java
 
b/webapp/src/main/java/petclinic/webapp/application/fixture/scenarios/PetClinicDemo.java
index 78c4889..d2228a7 100644
--- 
a/webapp/src/main/java/petclinic/webapp/application/fixture/scenarios/PetClinicDemo.java
+++ 
b/webapp/src/main/java/petclinic/webapp/application/fixture/scenarios/PetClinicDemo.java
@@ -2,8 +2,8 @@ package petclinic.webapp.application.fixture.scenarios;
 
 import javax.inject.Inject;
 
-import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
-import 
org.apache.isis.testing.fixtures.applib.modules.ModuleWithFixturesService;
+import 
org.apache.causeway.testing.fixtures.applib.fixturescripts.FixtureScript;
+import 
org.apache.causeway.testing.fixtures.applib.modules.ModuleWithFixturesService;
 
 import petclinic.modules.pets.fixture.petowner.PetOwner_persona;
 import petclinic.modules.pets.fixture.pet.Pet_persona;
diff --git 
a/webapp/src/main/java/petclinic/webapp/application/services/health/HealthCheckServiceImpl.java
 
b/webapp/src/main/java/petclinic/webapp/application/services/health/HealthCheckServiceImpl.java
index bcacf03..816f4fc 100644
--- 
a/webapp/src/main/java/petclinic/webapp/application/services/health/HealthCheckServiceImpl.java
+++ 
b/webapp/src/main/java/petclinic/webapp/application/services/health/HealthCheckServiceImpl.java
@@ -5,8 +5,8 @@ import javax.inject.Named;
 
 import org.springframework.stereotype.Service;
 
-import org.apache.isis.applib.services.health.Health;
-import org.apache.isis.applib.services.health.HealthCheckService;
+import org.apache.causeway.applib.services.health.Health;
+import org.apache.causeway.applib.services.health.HealthCheckService;
 
 import petclinic.modules.pets.dom.petowner.PetOwners;
 
diff --git 
a/webapp/src/main/java/petclinic/webapp/application/services/homepage/HomePageViewModel.java
 
b/webapp/src/main/java/petclinic/webapp/application/services/homepage/HomePageViewModel.java
index 7a3bb65..22155af 100644
--- 
a/webapp/src/main/java/petclinic/webapp/application/services/homepage/HomePageViewModel.java
+++ 
b/webapp/src/main/java/petclinic/webapp/application/services/homepage/HomePageViewModel.java
@@ -4,11 +4,12 @@ import java.util.List;
 import java.util.stream.Collectors;
 
 import javax.inject.Inject;
+import javax.inject.Named;
 
-import org.apache.isis.applib.annotation.DomainObject;
-import org.apache.isis.applib.annotation.DomainObjectLayout;
-import org.apache.isis.applib.annotation.HomePage;
-import org.apache.isis.applib.annotation.Nature;
+import org.apache.causeway.applib.annotation.DomainObject;
+import org.apache.causeway.applib.annotation.DomainObjectLayout;
+import org.apache.causeway.applib.annotation.HomePage;
+import org.apache.causeway.applib.annotation.Nature;
 
 import petclinic.modules.pets.dom.pet.Pet;
 import petclinic.modules.pets.dom.pet.PetRepository;
@@ -16,10 +17,8 @@ import petclinic.modules.pets.dom.petowner.PetOwner;
 import petclinic.modules.pets.dom.petowner.PetOwnerRepository;
 import petclinic.modules.visits.dom.visit.VisitRepository;
 
-@DomainObject(
-        nature = Nature.VIEW_MODEL,
-        logicalTypeName = "petclinic.HomePageViewModel"
-        )
+@Named("petclinic.HomePageViewModel")
+@DomainObject(nature = Nature.VIEW_MODEL)
 @HomePage
 @DomainObjectLayout()
 public class HomePageViewModel {
diff --git 
a/webapp/src/main/java/petclinic/webapp/application/services/homepage/HomePageViewModel_bookVisit.java
 
b/webapp/src/main/java/petclinic/webapp/application/services/homepage/HomePageViewModel_bookVisit.java
index bdc1e21..ffd2713 100644
--- 
a/webapp/src/main/java/petclinic/webapp/application/services/homepage/HomePageViewModel_bookVisit.java
+++ 
b/webapp/src/main/java/petclinic/webapp/application/services/homepage/HomePageViewModel_bookVisit.java
@@ -6,9 +6,9 @@ import java.util.List;
 
 import javax.inject.Inject;
 
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.services.factory.FactoryService;
-import org.apache.isis.applib.services.wrapper.WrapperFactory;
+import org.apache.causeway.applib.annotation.Action;
+import org.apache.causeway.applib.services.factory.FactoryService;
+import org.apache.causeway.applib.services.wrapper.WrapperFactory;
 
 import lombok.RequiredArgsConstructor;
 
diff --git 
a/webapp/src/main/java/petclinic/webapp/application/services/homepage/VisitPlusPetOwner.java
 
b/webapp/src/main/java/petclinic/webapp/application/services/homepage/VisitPlusPetOwner.java
index 7ddfdbc..6959ff0 100644
--- 
a/webapp/src/main/java/petclinic/webapp/application/services/homepage/VisitPlusPetOwner.java
+++ 
b/webapp/src/main/java/petclinic/webapp/application/services/homepage/VisitPlusPetOwner.java
@@ -2,17 +2,13 @@ package petclinic.webapp.application.services.homepage;
 
 import java.time.LocalDateTime;
 
+import javax.inject.Named;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
-import org.apache.isis.applib.annotation.DomainObject;
-import org.apache.isis.applib.annotation.DomainObjectLayout;
-import org.apache.isis.applib.annotation.Nature;
-import org.apache.isis.applib.annotation.Projecting;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.Where;
+import org.apache.causeway.applib.annotation.*;
 
 import lombok.Getter;
 import lombok.NoArgsConstructor;
@@ -21,7 +17,8 @@ import petclinic.modules.pets.dom.pet.Pet;
 import petclinic.modules.pets.dom.petowner.PetOwner;
 import petclinic.modules.visits.dom.visit.Visit;
 
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = 
"petclinic.VisitPlusPetOwner")
+@Named("petclinic.VisitPlusPetOwner")
+@DomainObject(nature=Nature.VIEW_MODEL)
 @DomainObjectLayout(named = "Visit")
 @XmlRootElement
 @NoArgsConstructor
@@ -29,10 +26,8 @@ import petclinic.modules.visits.dom.visit.Visit;
 @XmlAccessorType(XmlAccessType.FIELD)
 public class VisitPlusPetOwner {
 
-    @Property(
-            projecting = Projecting.PROJECTED,
-            hidden = Where.EVERYWHERE
-    )
+    @Property(projecting = Projecting.PROJECTED)
+    @PropertyLayout(hidden = Where.EVERYWHERE)
     @Getter
     private Visit visit;
 
diff --git 
a/webapp/src/main/java/petclinic/webapp/custom/restapi/CustomController.java 
b/webapp/src/main/java/petclinic/webapp/custom/restapi/CustomController.java
index 6d8a095..bf94268 100644
--- a/webapp/src/main/java/petclinic/webapp/custom/restapi/CustomController.java
+++ b/webapp/src/main/java/petclinic/webapp/custom/restapi/CustomController.java
@@ -10,10 +10,10 @@ import javax.inject.Inject;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import org.apache.isis.applib.services.iactnlayer.InteractionContext;
-import org.apache.isis.applib.services.iactnlayer.InteractionService;
-import org.apache.isis.applib.services.user.UserMemento;
-import org.apache.isis.applib.services.xactn.TransactionalProcessor;
+import org.apache.causeway.applib.services.iactnlayer.InteractionContext;
+import org.apache.causeway.applib.services.iactnlayer.InteractionService;
+import org.apache.causeway.applib.services.user.UserMemento;
+import org.apache.causeway.applib.services.xactn.TransactionalProcessor;
 
 import lombok.RequiredArgsConstructor;
 
@@ -39,9 +39,11 @@ class CustomController {
             final Callable<T> callable) {
 
         return interactionService.call(
-                
InteractionContext.ofUserWithSystemDefaults(UserMemento.ofName(username)),
-                () -> 
transactionalProcessor.callWithinCurrentTransactionElseCreateNew(callable))
-                .optionalElseFail(); // re-throws exception that has occurred, 
if any
+                    
InteractionContext.ofUserWithSystemDefaults(UserMemento.ofName(username)),
+                    () -> 
transactionalProcessor.callWithinCurrentTransactionElseCreateNew(callable)
+                )
+                .ifFailureFail()
+                .getValue();
     }
 
 }
diff --git a/webapp/src/main/java/petclinic/webapp/quartz/job/SampleJob.java 
b/webapp/src/main/java/petclinic/webapp/quartz/job/SampleJob.java
index 051d71b..a1f4df4 100644
--- a/webapp/src/main/java/petclinic/webapp/quartz/job/SampleJob.java
+++ b/webapp/src/main/java/petclinic/webapp/quartz/job/SampleJob.java
@@ -12,10 +12,10 @@ import org.quartz.JobExecutionContext;
 import org.quartz.JobExecutionException;
 import org.springframework.stereotype.Component;
 
-import org.apache.isis.applib.services.iactnlayer.InteractionContext;
-import org.apache.isis.applib.services.iactnlayer.InteractionService;
-import org.apache.isis.applib.services.user.UserMemento;
-import org.apache.isis.applib.services.xactn.TransactionalProcessor;
+import org.apache.causeway.applib.services.iactnlayer.InteractionContext;
+import org.apache.causeway.applib.services.iactnlayer.InteractionService;
+import org.apache.causeway.applib.services.user.UserMemento;
+import org.apache.causeway.applib.services.xactn.TransactionalProcessor;
 
 import lombok.RequiredArgsConstructor;
 import lombok.extern.log4j.Log4j2;
@@ -48,8 +48,11 @@ public class SampleJob implements Job {
             final Callable<T> callable) {
 
         return interactionService.call(
-                
InteractionContext.ofUserWithSystemDefaults(UserMemento.ofName(username)),
-                () -> 
transactionalProcessor.callWithinCurrentTransactionElseCreateNew(callable))
-                .optionalElseFail(); // re-throws exception that has occurred, 
if any
+                InteractionContext.ofUserWithSystemDefaults(
+                        UserMemento.ofName(username)),
+                        () -> 
transactionalProcessor.callWithinCurrentTransactionElseCreateNew(callable)
+                )
+                .ifFailureFail()
+                .getValue();
     }
 }
diff --git a/webapp/src/main/resources/application-custom.yml 
b/webapp/src/main/resources/application-custom.yml
index ce6cc40..51bcd5b 100644
--- a/webapp/src/main/resources/application-custom.yml
+++ b/webapp/src/main/resources/application-custom.yml
@@ -1,4 +1,4 @@
-isis:
+causeway:
   viewer:
     wicket:
       prompt-style: inline
diff --git a/webapp/src/main/resources/application-dev.yml 
b/webapp/src/main/resources/application-dev.yml
index 9582917..0d6ce0e 100644
--- a/webapp/src/main/resources/application-dev.yml
+++ b/webapp/src/main/resources/application-dev.yml
@@ -1,4 +1,4 @@
-isis:
+causeway:
   testing:
     fixtures:
       initial-script: 
petclinic.webapp.application.fixture.scenarios.PetClinicDemo
diff --git a/webapp/src/main/resources/application.yml 
b/webapp/src/main/resources/application.yml
index 5d1d898..357fb01 100644
--- a/webapp/src/main/resources/application.yml
+++ b/webapp/src/main/resources/application.yml
@@ -3,13 +3,12 @@
 #
 # See also config/application.properties
 #
-isis:
+causeway:
 
   applib:
     annotation:
       action:
-        explicit: true
-        command-publishing: ignore_safe
+        command-publishing: all
         execution-publishing: all
       action-layout:
         css-class:
@@ -23,15 +22,13 @@ isis:
       domain-object:
         editing: false
         entity-change-publishing: all
-
   core:
     meta-model:
       introspector:
         lock-after-full-introspection: true
+        mode: full
       validator:
         allow-deprecated: false
-        no-params-only: true
-        explicit-object-type: true
 
     runtime-services:
       translation:
@@ -39,22 +36,23 @@ isis:
           mode: disabled
 
   viewer:
-    wicket:
+    common:
       application:
         about: PetClinic
-        brand-logo-header: images/apache-isis/logo-48x48.png
-        css: css/application.css
+        brand-logo-signin: images/apache-causeway/logo-banner-591x120.png
+        brand-logo-header: images/apache-causeway/logo-48x48.png
         favicon-url: images/favicon.png
-        js: scripts/application.js
-        menubars-layout-xml: menubars.layout.xml
+        menubars-layout-file: menubars.layout.xml
         name: PetClinic
         # https://stackoverflow.com/a/38983935/56880
         version: @project.version@
-
       credit:
-        - url:  http://isis.apache.org
-          image: images/apache-isis/logo-48x48.png
-          name: Apache Isis
+        - image: images/apache-causeway/logo-65x48.png
+          name: Apache Causeway
+          url: https://causeway.apache.org
+    wicket:
+      css: css/application.css
+      js: scripts/application.js
 
       bookmarked-pages:
         show-chooser: true
@@ -66,6 +64,16 @@ isis:
       themes:
         show-chooser: true
 
+    graphql:
+      api-variant: query_with_mutations_non_spec_compliant
+      authentication:
+        fallback:
+          username: sven
+          roles:
+            - simple-superuser
+            - foo
+            - bar
+
   testing:
     fixtures:
       fixture-scripts-specification:
@@ -98,9 +106,68 @@ spring:
 
   quartz:
     job-store-type: memory
+  graphql:
+    graphiql:
+      enabled: true
+      path: "/graphiql"
 
 management:
   endpoint:
+    auditevents:
+      enabled: false
+    beans:
+      enabled: false
+    caches:
+      enabled: false
+    configprops:
+      enabled: false
+    conditions:
+      enabled: false
+    env:
+      enabled: false
+    flyway:
+      enabled: false
+    heapdump:
+      enabled: false
     health:
       enabled: true
+      probes:
+        enabled: false
+    httptrace:
+      enabled: false
+    info:
+      enabled: false
+    integrationgraph:
+      enabled: false
+    jolokia:
+      enabled: false
+    liquibase:
+      enabled: false
+    logfile:
+      enabled: false
+    loggers:
+      enabled: false
+    metrics:
+      enabled: false
+    prometheus:
+      enabled: false
+    quartz:
+      enabled: false
+    sessions:
+      enabled: false
+    shutdown:
+      enabled: false
+    startup:
+      enabled: false
+    scheduledtasks:
+      enabled: false
+    threaddump:
+      enabled: false
+  endpoints:
+    web:
+      exposure:
+        include:
+          - health
+      discovery:
+        enabled: false
 
diff --git a/webapp/src/main/resources/static/images/apache-isis/logo-48x48.png 
b/webapp/src/main/resources/static/images/apache-causeway/logo-48x48.png
similarity index 100%
rename from webapp/src/main/resources/static/images/apache-isis/logo-48x48.png
rename to webapp/src/main/resources/static/images/apache-causeway/logo-48x48.png
diff --git 
a/webapp/src/main/resources/static/images/apache-causeway/logo-65x48.png 
b/webapp/src/main/resources/static/images/apache-causeway/logo-65x48.png
new file mode 100644
index 0000000..ab90164
Binary files /dev/null and 
b/webapp/src/main/resources/static/images/apache-causeway/logo-65x48.png differ
diff --git 
a/webapp/src/main/resources/static/images/apache-causeway/logo-banner-591x120.png
 
b/webapp/src/main/resources/static/images/apache-causeway/logo-banner-591x120.png
new file mode 100644
index 0000000..544c5de
Binary files /dev/null and 
b/webapp/src/main/resources/static/images/apache-causeway/logo-banner-591x120.png
 differ
diff --git a/webapp/src/main/resources/static/images/apache-causeway/logo.png 
b/webapp/src/main/resources/static/images/apache-causeway/logo.png
new file mode 100644
index 0000000..3d61280
Binary files /dev/null and 
b/webapp/src/main/resources/static/images/apache-causeway/logo.png differ
diff --git a/webapp/src/main/resources/static/images/apache-isis/logo.png 
b/webapp/src/main/resources/static/images/apache-isis/logo.png
deleted file mode 100644
index 5284fe7..0000000
Binary files a/webapp/src/main/resources/static/images/apache-isis/logo.png and 
/dev/null differ
diff --git a/webapp/src/main/resources/static/index.html 
b/webapp/src/main/resources/static/index.html
index f9ed402..1728b16 100644
--- a/webapp/src/main/resources/static/index.html
+++ b/webapp/src/main/resources/static/index.html
@@ -26,6 +26,16 @@
                         viewer is built with <a 
href="http://wicket.apache.org"; target="_blank">Apache Wicket</a>&trade;.
                     </p>
                 </li>
+                <li>
+                    <p>
+                        <b>
+                            <a href="graphiql">GraphQL</a>
+                        </b>
+                    </p>
+                    <p>
+                        provides access to the GraphQL API using the <a 
href="https://github.com/graphql/graphiql";>GraphiQL</a> console.
+                    </p>
+                </li>
                 <li>
                     <p>
                         <b>
@@ -39,7 +49,7 @@
                     <p>
                         The full backend API (at <a 
href="restful/">restful/</a>) renders both simple and also richer
                         hypermedia representations of domain objects, the 
latter conforming to the
-                        <a href="http://restfulobjects.org";  
target="_blank">Restful Objects</a> spec.
+                        <a href="https://www.restfulobjects.org";  
target="_blank">Restful Objects</a> spec.
                     </p>
                 </li>
             </ul>

Reply via email to