mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
Folder logic "mixed" (#5413)
* Folder logic "mixed" Introduces a new folder logic named `mixed` which combines `prefix` and `full`. The root package name will be used as prefix for all sub-packages but the package names are *not* concatenated recursively. This will allow for using significantly logic package names. Also includes several new unit tests especially for nested packages which had not been tested before. Closes #5410 Todo: Update docs * Add constant * Add options to UI Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
parent
6e927e63c5
commit
f712eb17a5
|
@ -106,7 +106,15 @@ CLASS zcl_abapgit_folder_logic IMPLEMENTATION.
|
||||||
* ZZZ_something. This will define the folder name in the zip file to be "something",
|
* ZZZ_something. This will define the folder name in the zip file to be "something",
|
||||||
* similarily with online projects. Alternatively change to FULL folder logic
|
* similarily with online projects. Alternatively change to FULL folder logic
|
||||||
lv_message = 'PREFIX: Unexpected package naming (' && iv_package && ')'
|
lv_message = 'PREFIX: Unexpected package naming (' && iv_package && ')'
|
||||||
&& 'you might switch to FULL folder logic'.
|
&& 'you might switch the folder logic'.
|
||||||
|
zcx_abapgit_exception=>raise( lv_message ).
|
||||||
|
ENDIF.
|
||||||
|
WHEN zif_abapgit_dot_abapgit=>c_folder_logic-mixed.
|
||||||
|
lv_len = strlen( iv_top ).
|
||||||
|
|
||||||
|
IF iv_package(lv_len) <> iv_top.
|
||||||
|
lv_message = 'MIXED: Unexpected package naming (' && iv_package && ')'
|
||||||
|
&& 'you might switch the folder logic'.
|
||||||
zcx_abapgit_exception=>raise( lv_message ).
|
zcx_abapgit_exception=>raise( lv_message ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
WHEN OTHERS.
|
WHEN OTHERS.
|
||||||
|
@ -150,6 +158,7 @@ CLASS zcl_abapgit_folder_logic IMPLEMENTATION.
|
||||||
lv_new TYPE string,
|
lv_new TYPE string,
|
||||||
lv_path TYPE string,
|
lv_path TYPE string,
|
||||||
lv_absolute_name TYPE string,
|
lv_absolute_name TYPE string,
|
||||||
|
lv_folder_logic TYPE string,
|
||||||
lt_unique_package_names TYPE HASHED TABLE OF devclass WITH UNIQUE KEY table_line.
|
lt_unique_package_names TYPE HASHED TABLE OF devclass WITH UNIQUE KEY table_line.
|
||||||
|
|
||||||
lv_length = strlen( io_dot->get_starting_folder( ) ).
|
lv_length = strlen( io_dot->get_starting_folder( ) ).
|
||||||
|
@ -179,7 +188,8 @@ CLASS zcl_abapgit_folder_logic IMPLEMENTATION.
|
||||||
WHILE lv_path CA '/'.
|
WHILE lv_path CA '/'.
|
||||||
SPLIT lv_path AT '/' INTO lv_new lv_path.
|
SPLIT lv_path AT '/' INTO lv_new lv_path.
|
||||||
|
|
||||||
CASE io_dot->get_folder_logic( ).
|
lv_folder_logic = io_dot->get_folder_logic( ).
|
||||||
|
CASE lv_folder_logic.
|
||||||
WHEN zif_abapgit_dot_abapgit=>c_folder_logic-full.
|
WHEN zif_abapgit_dot_abapgit=>c_folder_logic-full.
|
||||||
lv_absolute_name = lv_new.
|
lv_absolute_name = lv_new.
|
||||||
TRANSLATE lv_absolute_name USING '#/'.
|
TRANSLATE lv_absolute_name USING '#/'.
|
||||||
|
@ -188,14 +198,16 @@ CLASS zcl_abapgit_folder_logic IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
WHEN zif_abapgit_dot_abapgit=>c_folder_logic-prefix.
|
WHEN zif_abapgit_dot_abapgit=>c_folder_logic-prefix.
|
||||||
CONCATENATE rv_package '_' lv_new INTO lv_absolute_name.
|
CONCATENATE rv_package '_' lv_new INTO lv_absolute_name.
|
||||||
|
WHEN zif_abapgit_dot_abapgit=>c_folder_logic-mixed.
|
||||||
|
CONCATENATE iv_top '_' lv_new INTO lv_absolute_name.
|
||||||
WHEN OTHERS.
|
WHEN OTHERS.
|
||||||
ASSERT 0 = 1.
|
zcx_abapgit_exception=>raise( |Invalid folder logic: { lv_folder_logic }| ).
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
|
|
||||||
TRANSLATE lv_absolute_name TO UPPER CASE.
|
TRANSLATE lv_absolute_name TO UPPER CASE.
|
||||||
|
|
||||||
IF strlen( lv_absolute_name ) > 30.
|
IF strlen( lv_absolute_name ) > 30.
|
||||||
zcx_abapgit_exception=>raise( |Package { lv_absolute_name } exceeds ABAP 30-characters-name limit| ).
|
zcx_abapgit_exception=>raise( |Package { lv_absolute_name } exceeds ABAP 30-characters name limit| ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
rv_package = lv_absolute_name.
|
rv_package = lv_absolute_name.
|
||||||
|
|
|
@ -47,6 +47,57 @@ CLASS ltcl_folder_logic_helper IMPLEMENTATION.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
CLASS ltcl_folder_logic_package DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
|
||||||
|
|
||||||
|
PUBLIC SECTION.
|
||||||
|
INTERFACES: zif_abapgit_sap_package.
|
||||||
|
|
||||||
|
ENDCLASS.
|
||||||
|
|
||||||
|
CLASS ltcl_folder_logic_package IMPLEMENTATION.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_sap_package~list_subpackages.
|
||||||
|
RETURN.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_sap_package~list_superpackages.
|
||||||
|
RETURN.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_sap_package~read_parent.
|
||||||
|
rv_parentcl = '$TOP_FOO'.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_sap_package~create_child.
|
||||||
|
RETURN.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_sap_package~exists.
|
||||||
|
rv_bool = abap_true.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_sap_package~are_changes_recorded_in_tr_req.
|
||||||
|
RETURN.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_sap_package~get_transport_type.
|
||||||
|
RETURN.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_sap_package~get_transport_layer.
|
||||||
|
RETURN.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_sap_package~create.
|
||||||
|
RETURN.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_sap_package~create_local.
|
||||||
|
RETURN.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS ltcl_folder_logic DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
|
CLASS ltcl_folder_logic DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
@ -60,9 +111,15 @@ CLASS ltcl_folder_logic DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHOR
|
||||||
setup,
|
setup,
|
||||||
prefix1 FOR TESTING RAISING zcx_abapgit_exception,
|
prefix1 FOR TESTING RAISING zcx_abapgit_exception,
|
||||||
prefix2 FOR TESTING RAISING zcx_abapgit_exception,
|
prefix2 FOR TESTING RAISING zcx_abapgit_exception,
|
||||||
|
prefix3 FOR TESTING RAISING zcx_abapgit_exception,
|
||||||
prefix_error1 FOR TESTING RAISING zcx_abapgit_exception,
|
prefix_error1 FOR TESTING RAISING zcx_abapgit_exception,
|
||||||
|
mixed1 FOR TESTING RAISING zcx_abapgit_exception,
|
||||||
|
mixed2 FOR TESTING RAISING zcx_abapgit_exception,
|
||||||
|
mixed3 FOR TESTING RAISING zcx_abapgit_exception,
|
||||||
|
mixed_error1 FOR TESTING RAISING zcx_abapgit_exception,
|
||||||
full1 FOR TESTING RAISING zcx_abapgit_exception,
|
full1 FOR TESTING RAISING zcx_abapgit_exception,
|
||||||
full2 FOR TESTING RAISING zcx_abapgit_exception.
|
full2 FOR TESTING RAISING zcx_abapgit_exception,
|
||||||
|
full3 FOR TESTING RAISING zcx_abapgit_exception.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
@ -77,7 +134,7 @@ CLASS ltcl_folder_logic IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD zif_abapgit_sap_package~read_parent.
|
METHOD zif_abapgit_sap_package~read_parent.
|
||||||
rv_parentcl = '$TOP'.
|
rv_parentcl = c_top.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD zif_abapgit_sap_package~create_child.
|
METHOD zif_abapgit_sap_package~create_child.
|
||||||
|
@ -110,7 +167,11 @@ CLASS ltcl_folder_logic IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD setup.
|
METHOD setup.
|
||||||
|
|
||||||
zcl_abapgit_injector=>set_sap_package( iv_package = '$TOP'
|
DATA lo_top_foo TYPE REF TO ltcl_folder_logic_package.
|
||||||
|
|
||||||
|
CREATE OBJECT lo_top_foo.
|
||||||
|
|
||||||
|
zcl_abapgit_injector=>set_sap_package( iv_package = c_top
|
||||||
ii_sap_package = me ).
|
ii_sap_package = me ).
|
||||||
|
|
||||||
zcl_abapgit_injector=>set_sap_package( iv_package = '$TOP_FOO'
|
zcl_abapgit_injector=>set_sap_package( iv_package = '$TOP_FOO'
|
||||||
|
@ -119,6 +180,13 @@ CLASS ltcl_folder_logic IMPLEMENTATION.
|
||||||
zcl_abapgit_injector=>set_sap_package( iv_package = '$FOOBAR'
|
zcl_abapgit_injector=>set_sap_package( iv_package = '$FOOBAR'
|
||||||
ii_sap_package = me ).
|
ii_sap_package = me ).
|
||||||
|
|
||||||
|
" Add sub-packages of $TOP_FOO
|
||||||
|
zcl_abapgit_injector=>set_sap_package( iv_package = '$TOP_BAR'
|
||||||
|
ii_sap_package = lo_top_foo ).
|
||||||
|
|
||||||
|
zcl_abapgit_injector=>set_sap_package( iv_package = '$TOP_FOO_BAR'
|
||||||
|
ii_sap_package = lo_top_foo ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD prefix1.
|
METHOD prefix1.
|
||||||
|
@ -139,6 +207,15 @@ CLASS ltcl_folder_logic IMPLEMENTATION.
|
||||||
iv_path = '/src/foo/' ).
|
iv_path = '/src/foo/' ).
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD prefix3.
|
||||||
|
ltcl_folder_logic_helper=>test(
|
||||||
|
iv_starting = c_src
|
||||||
|
iv_top = c_top
|
||||||
|
iv_logic = zif_abapgit_dot_abapgit=>c_folder_logic-prefix
|
||||||
|
iv_package = '$TOP_FOO_BAR'
|
||||||
|
iv_path = '/src/foo/bar/' ).
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD prefix_error1.
|
METHOD prefix_error1.
|
||||||
* PREFIX mode, top package is $TOP, so all subpackages should be named $TOP_something
|
* PREFIX mode, top package is $TOP, so all subpackages should be named $TOP_something
|
||||||
TRY.
|
TRY.
|
||||||
|
@ -153,6 +230,47 @@ CLASS ltcl_folder_logic IMPLEMENTATION.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD mixed1.
|
||||||
|
ltcl_folder_logic_helper=>test(
|
||||||
|
iv_starting = c_src
|
||||||
|
iv_top = c_top
|
||||||
|
iv_logic = zif_abapgit_dot_abapgit=>c_folder_logic-mixed
|
||||||
|
iv_package = c_top
|
||||||
|
iv_path = c_src ).
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD mixed2.
|
||||||
|
ltcl_folder_logic_helper=>test(
|
||||||
|
iv_starting = c_src
|
||||||
|
iv_top = c_top
|
||||||
|
iv_logic = zif_abapgit_dot_abapgit=>c_folder_logic-mixed
|
||||||
|
iv_package = '$TOP_FOO'
|
||||||
|
iv_path = '/src/foo/' ).
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD mixed3.
|
||||||
|
ltcl_folder_logic_helper=>test(
|
||||||
|
iv_starting = c_src
|
||||||
|
iv_top = c_top
|
||||||
|
iv_logic = zif_abapgit_dot_abapgit=>c_folder_logic-mixed
|
||||||
|
iv_package = '$TOP_BAR'
|
||||||
|
iv_path = '/src/foo/bar/' ).
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD mixed_error1.
|
||||||
|
* MIXED mode, top package is $TOP, so all subpackages should be named $TOP_something
|
||||||
|
TRY.
|
||||||
|
ltcl_folder_logic_helper=>test(
|
||||||
|
iv_starting = c_src
|
||||||
|
iv_top = c_top
|
||||||
|
iv_logic = zif_abapgit_dot_abapgit=>c_folder_logic-mixed
|
||||||
|
iv_package = '$FOOBAR'
|
||||||
|
iv_path = '/src/' ).
|
||||||
|
cl_abap_unit_assert=>fail( 'Error expected' ).
|
||||||
|
CATCH zcx_abapgit_exception ##NO_HANDLER.
|
||||||
|
ENDTRY.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD full1.
|
METHOD full1.
|
||||||
ltcl_folder_logic_helper=>test(
|
ltcl_folder_logic_helper=>test(
|
||||||
iv_starting = c_src
|
iv_starting = c_src
|
||||||
|
@ -171,6 +289,15 @@ CLASS ltcl_folder_logic IMPLEMENTATION.
|
||||||
iv_path = '/src/top_foo/' ).
|
iv_path = '/src/top_foo/' ).
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD full3.
|
||||||
|
ltcl_folder_logic_helper=>test(
|
||||||
|
iv_starting = c_src
|
||||||
|
iv_top = c_top
|
||||||
|
iv_logic = zif_abapgit_dot_abapgit=>c_folder_logic-full
|
||||||
|
iv_package = '$TOP_BAR'
|
||||||
|
iv_path = '/src/top_foo/top_bar/' ).
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS ltcl_folder_logic_namespaces DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
|
CLASS ltcl_folder_logic_namespaces DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
|
||||||
|
@ -186,6 +313,8 @@ CLASS ltcl_folder_logic_namespaces DEFINITION FOR TESTING RISK LEVEL HARMLESS DU
|
||||||
setup,
|
setup,
|
||||||
prefix1 FOR TESTING RAISING zcx_abapgit_exception,
|
prefix1 FOR TESTING RAISING zcx_abapgit_exception,
|
||||||
prefix2 FOR TESTING RAISING zcx_abapgit_exception,
|
prefix2 FOR TESTING RAISING zcx_abapgit_exception,
|
||||||
|
mixed1 FOR TESTING RAISING zcx_abapgit_exception,
|
||||||
|
mixed2 FOR TESTING RAISING zcx_abapgit_exception,
|
||||||
full1 FOR TESTING RAISING zcx_abapgit_exception,
|
full1 FOR TESTING RAISING zcx_abapgit_exception,
|
||||||
full2 FOR TESTING RAISING zcx_abapgit_exception.
|
full2 FOR TESTING RAISING zcx_abapgit_exception.
|
||||||
|
|
||||||
|
@ -235,7 +364,7 @@ CLASS ltcl_folder_logic_namespaces IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD setup.
|
METHOD setup.
|
||||||
|
|
||||||
zcl_abapgit_injector=>set_sap_package( iv_package = '/TEST/TOOLS'
|
zcl_abapgit_injector=>set_sap_package( iv_package = c_top
|
||||||
ii_sap_package = me ).
|
ii_sap_package = me ).
|
||||||
|
|
||||||
zcl_abapgit_injector=>set_sap_package( iv_package = '/TEST/T1'
|
zcl_abapgit_injector=>set_sap_package( iv_package = '/TEST/T1'
|
||||||
|
@ -266,6 +395,24 @@ CLASS ltcl_folder_logic_namespaces IMPLEMENTATION.
|
||||||
iv_path = '/src/t1/' ).
|
iv_path = '/src/t1/' ).
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD mixed1.
|
||||||
|
ltcl_folder_logic_helper=>test(
|
||||||
|
iv_starting = c_src
|
||||||
|
iv_top = c_top
|
||||||
|
iv_logic = zif_abapgit_dot_abapgit=>c_folder_logic-mixed
|
||||||
|
iv_package = c_top
|
||||||
|
iv_path = c_src ).
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD mixed2.
|
||||||
|
ltcl_folder_logic_helper=>test(
|
||||||
|
iv_starting = c_src
|
||||||
|
iv_top = c_top
|
||||||
|
iv_logic = zif_abapgit_dot_abapgit=>c_folder_logic-mixed
|
||||||
|
iv_package = '/TEST/TOOLS_T1'
|
||||||
|
iv_path = '/src/t1/' ).
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD full1.
|
METHOD full1.
|
||||||
ltcl_folder_logic_helper=>test(
|
ltcl_folder_logic_helper=>test(
|
||||||
iv_starting = c_src
|
iv_starting = c_src
|
||||||
|
|
|
@ -23,6 +23,7 @@ INTERFACE zif_abapgit_dot_abapgit PUBLIC.
|
||||||
BEGIN OF c_folder_logic,
|
BEGIN OF c_folder_logic,
|
||||||
prefix TYPE string VALUE 'PREFIX',
|
prefix TYPE string VALUE 'PREFIX',
|
||||||
full TYPE string VALUE 'FULL',
|
full TYPE string VALUE 'FULL',
|
||||||
|
mixed TYPE string VALUE 'MIXED',
|
||||||
END OF c_folder_logic .
|
END OF c_folder_logic .
|
||||||
|
|
||||||
ENDINTERFACE.
|
ENDINTERFACE.
|
||||||
|
|
|
@ -113,6 +113,9 @@ CLASS zcl_abapgit_gui_page_addofflin IMPLEMENTATION.
|
||||||
)->option(
|
)->option(
|
||||||
iv_label = 'Full'
|
iv_label = 'Full'
|
||||||
iv_value = zif_abapgit_dot_abapgit=>c_folder_logic-full
|
iv_value = zif_abapgit_dot_abapgit=>c_folder_logic-full
|
||||||
|
)->option(
|
||||||
|
iv_label = 'Mixed'
|
||||||
|
iv_value = zif_abapgit_dot_abapgit=>c_folder_logic-mixed
|
||||||
)->checkbox(
|
)->checkbox(
|
||||||
iv_name = c_id-main_lang_only
|
iv_name = c_id-main_lang_only
|
||||||
iv_label = 'Serialize Main Language Only'
|
iv_label = 'Serialize Main Language Only'
|
||||||
|
@ -148,12 +151,11 @@ CLASS zcl_abapgit_gui_page_addofflin IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
IF io_form_data->get( c_id-folder_logic ) <> zif_abapgit_dot_abapgit=>c_folder_logic-prefix
|
IF io_form_data->get( c_id-folder_logic ) <> zif_abapgit_dot_abapgit=>c_folder_logic-prefix
|
||||||
AND io_form_data->get( c_id-folder_logic ) <> zif_abapgit_dot_abapgit=>c_folder_logic-full.
|
AND io_form_data->get( c_id-folder_logic ) <> zif_abapgit_dot_abapgit=>c_folder_logic-full
|
||||||
|
AND io_form_data->get( c_id-folder_logic ) <> zif_abapgit_dot_abapgit=>c_folder_logic-mixed.
|
||||||
ro_validation_log->set(
|
ro_validation_log->set(
|
||||||
iv_key = c_id-folder_logic
|
iv_key = c_id-folder_logic
|
||||||
iv_val = |Invalid folder logic { io_form_data->get( c_id-folder_logic )
|
iv_val = |Invalid folder logic { io_form_data->get( c_id-folder_logic ) }| ).
|
||||||
}. Must be { zif_abapgit_dot_abapgit=>c_folder_logic-prefix
|
|
||||||
} or { zif_abapgit_dot_abapgit=>c_folder_logic-full } | ).
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
|
@ -125,6 +125,9 @@ CLASS zcl_abapgit_gui_page_addonline IMPLEMENTATION.
|
||||||
)->option(
|
)->option(
|
||||||
iv_label = 'Full'
|
iv_label = 'Full'
|
||||||
iv_value = zif_abapgit_dot_abapgit=>c_folder_logic-full
|
iv_value = zif_abapgit_dot_abapgit=>c_folder_logic-full
|
||||||
|
)->option(
|
||||||
|
iv_label = 'Mixed'
|
||||||
|
iv_value = zif_abapgit_dot_abapgit=>c_folder_logic-mixed
|
||||||
)->text(
|
)->text(
|
||||||
iv_name = c_id-display_name
|
iv_name = c_id-display_name
|
||||||
iv_label = 'Display Name'
|
iv_label = 'Display Name'
|
||||||
|
@ -180,12 +183,11 @@ CLASS zcl_abapgit_gui_page_addonline IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
IF io_form_data->get( c_id-folder_logic ) <> zif_abapgit_dot_abapgit=>c_folder_logic-prefix
|
IF io_form_data->get( c_id-folder_logic ) <> zif_abapgit_dot_abapgit=>c_folder_logic-prefix
|
||||||
AND io_form_data->get( c_id-folder_logic ) <> zif_abapgit_dot_abapgit=>c_folder_logic-full.
|
AND io_form_data->get( c_id-folder_logic ) <> zif_abapgit_dot_abapgit=>c_folder_logic-full
|
||||||
|
AND io_form_data->get( c_id-folder_logic ) <> zif_abapgit_dot_abapgit=>c_folder_logic-mixed.
|
||||||
ro_validation_log->set(
|
ro_validation_log->set(
|
||||||
iv_key = c_id-folder_logic
|
iv_key = c_id-folder_logic
|
||||||
iv_val = |Invalid folder logic { io_form_data->get( c_id-folder_logic )
|
iv_val = |Invalid folder logic { io_form_data->get( c_id-folder_logic ) }| ).
|
||||||
}. Must be { zif_abapgit_dot_abapgit=>c_folder_logic-prefix
|
|
||||||
} or { zif_abapgit_dot_abapgit=>c_folder_logic-full } | ).
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
|
@ -49,6 +49,7 @@ CLASS zcl_abapgit_gui_page_ex_pckage DEFINITION
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS zcl_abapgit_gui_page_ex_pckage IMPLEMENTATION.
|
CLASS zcl_abapgit_gui_page_ex_pckage IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
|
@ -71,6 +72,22 @@ CLASS zcl_abapgit_gui_page_ex_pckage IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD export_package.
|
||||||
|
DATA lv_package TYPE devclass.
|
||||||
|
DATA lv_folder_logic TYPE string.
|
||||||
|
DATA lv_main_lang_only TYPE abap_bool.
|
||||||
|
|
||||||
|
lv_package = mo_form_data->get( c_id-package ).
|
||||||
|
lv_folder_logic = mo_form_data->get( c_id-folder_logic ).
|
||||||
|
lv_main_lang_only = mo_form_data->get( c_id-main_lang_only ).
|
||||||
|
|
||||||
|
zcl_abapgit_zip=>export_package(
|
||||||
|
iv_package = lv_package
|
||||||
|
iv_folder_logic = lv_folder_logic
|
||||||
|
iv_main_lang_only = lv_main_lang_only ).
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD get_form_schema.
|
METHOD get_form_schema.
|
||||||
ro_form = zcl_abapgit_html_form=>create( iv_form_id = 'export-package-to-files' ).
|
ro_form = zcl_abapgit_html_form=>create( iv_form_id = 'export-package-to-files' ).
|
||||||
|
|
||||||
|
@ -91,6 +108,9 @@ CLASS zcl_abapgit_gui_page_ex_pckage IMPLEMENTATION.
|
||||||
)->option(
|
)->option(
|
||||||
iv_label = 'Full'
|
iv_label = 'Full'
|
||||||
iv_value = zif_abapgit_dot_abapgit=>c_folder_logic-full
|
iv_value = zif_abapgit_dot_abapgit=>c_folder_logic-full
|
||||||
|
)->option(
|
||||||
|
iv_label = 'Mixed'
|
||||||
|
iv_value = zif_abapgit_dot_abapgit=>c_folder_logic-mixed
|
||||||
)->checkbox(
|
)->checkbox(
|
||||||
iv_name = c_id-main_lang_only
|
iv_name = c_id-main_lang_only
|
||||||
iv_label = 'Serialize Main Language Only'
|
iv_label = 'Serialize Main Language Only'
|
||||||
|
@ -105,17 +125,6 @@ CLASS zcl_abapgit_gui_page_ex_pckage IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_gui_renderable~render.
|
|
||||||
gui_services( )->register_event_handler( me ).
|
|
||||||
|
|
||||||
CREATE OBJECT ri_html TYPE zcl_abapgit_html.
|
|
||||||
|
|
||||||
ri_html->add( mo_form->render(
|
|
||||||
io_values = mo_form_data
|
|
||||||
io_validation_log = mo_validation_log ) ).
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_gui_event_handler~on_event.
|
METHOD zif_abapgit_gui_event_handler~on_event.
|
||||||
mo_form_data = mo_form_util->normalize( ii_event->form_data( ) ).
|
mo_form_data = mo_form_util->normalize( ii_event->form_data( ) ).
|
||||||
|
|
||||||
|
@ -150,18 +159,13 @@ CLASS zcl_abapgit_gui_page_ex_pckage IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD export_package.
|
METHOD zif_abapgit_gui_renderable~render.
|
||||||
DATA lv_package TYPE devclass.
|
gui_services( )->register_event_handler( me ).
|
||||||
DATA lv_folder_logic TYPE string.
|
|
||||||
DATA lv_main_lang_only TYPE abap_bool.
|
|
||||||
|
|
||||||
lv_package = mo_form_data->get( c_id-package ).
|
CREATE OBJECT ri_html TYPE zcl_abapgit_html.
|
||||||
lv_folder_logic = mo_form_data->get( c_id-folder_logic ).
|
|
||||||
lv_main_lang_only = mo_form_data->get( c_id-main_lang_only ).
|
|
||||||
|
|
||||||
zcl_abapgit_zip=>export_package(
|
ri_html->add( mo_form->render(
|
||||||
iv_package = lv_package
|
io_values = mo_form_data
|
||||||
iv_folder_logic = lv_folder_logic
|
io_validation_log = mo_validation_log ) ).
|
||||||
iv_main_lang_only = lv_main_lang_only ).
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -136,6 +136,9 @@ CLASS zcl_abapgit_gui_page_sett_repo IMPLEMENTATION.
|
||||||
)->option(
|
)->option(
|
||||||
iv_label = 'Full'
|
iv_label = 'Full'
|
||||||
iv_value = zif_abapgit_dot_abapgit=>c_folder_logic-full
|
iv_value = zif_abapgit_dot_abapgit=>c_folder_logic-full
|
||||||
|
)->option(
|
||||||
|
iv_label = 'Mixed'
|
||||||
|
iv_value = zif_abapgit_dot_abapgit=>c_folder_logic-mixed
|
||||||
)->text(
|
)->text(
|
||||||
iv_name = c_id-starting_folder
|
iv_name = c_id-starting_folder
|
||||||
iv_label = 'Starting Folder'
|
iv_label = 'Starting Folder'
|
||||||
|
|
Loading…
Reference in New Issue
Block a user