diff --git a/deploy_mediaconch/add_dnx_mappings/add_dnx_mappings.pl b/deploy_mediaconch/add_dnx_mappings/add_dnx_mappings.pl index 08b1d557ae941c8a7c9562b9bf763f0aebcb94b2..ec078b0b072c833e3ffce264949e1b826a3c4516 100644 --- a/deploy_mediaconch/add_dnx_mappings/add_dnx_mappings.pl +++ b/deploy_mediaconch/add_dnx_mappings/add_dnx_mappings.pl @@ -222,7 +222,6 @@ sub add_dnx_property ($dnx_property, $dnx_description) { } sub join_dnx_property_to_classification_group ($dnx_property) { - say "try to join dnx property"; $driver->get("$protocol://$host:${ui_port}/mng/action/pageAction.page_xml.page_classification_list.xml.do?pageViewMode=Edit&pageBean.currentUserMode=GLOBAL&menuKey=com.exlibris.dps.wrk.general.menu.Preservation.AdvancedPreservationActivities.mngLibraryGLOBAL.mngLibraryHeader.Classifications.InnerMenu&menuKey=com.exlibris.dps.wrk.general.menu.Preservation.AdvancedPreservationActivities.mngLibraryGLOBAL.mngLibraryHeader.Classifications.InnerMenu&backUrl="); $driver->pause(); $driver->find_element("find0.0", "id")->clear; @@ -238,20 +237,7 @@ sub join_dnx_property_to_classification_group ($dnx_property) { $driver->pause(); } -sub extractors_add_mapping ($dnx_property, $mediainfo_property) { - say "try to add extractor mapping"; - # go to custom extractor page (local format library) - $driver->get("$protocol://$host:${ui_port}//mng/action/pageAction.page_xml.page_extractors_list.xml.do?pageBean.deploymentMode=BUNDLED&pageViewMode=Edit&pageBean.currentUserMode=LOCAL&RenewBean=true&menuKey=com.exlibris.dps.wrk.general.menu.Preservation.AdvancedPreservationActivities.mngLibraryLOCAL.mngLibraryHeader.Extractors.InnerMenu&menuKey=com.exlibris.dps.wrk.general.menu.Preservation.AdvancedPreservationActivities.mngLibraryLOCAL.mngLibraryHeader.Extractors.InnerMenu&backUrl="); - $driver->pause(); - $driver->find_element("Custom", "link")->click; - # filter by plugin name - $driver->find_element("find1.0", "id")->clear; - $driver->find_element("find1.0", "id")->send_keys($plugin_name); - $driver->find_element("pagesections1widgetList0hdListsearchValue2_button", "id")->click; - $driver->find_element("//li[contains(.,'Name')]", "xpath")->click; - $driver->find_element("go", "name")->click; - # add 1 plugin mapping - $driver->find_element("Edit", "link")->click; +sub add_single_dnx_mapping ($dnx_property, $mediainfo_property) { $driver->find_element("Add Mapping", "link")->click; $driver->find_element("pageBeancurrentMappingextractorProperty_input", "id")->clear; $driver->find_element("pageBeancurrentMappingextractorProperty_button", "id")->click; @@ -269,6 +255,31 @@ sub extractors_add_mapping ($dnx_property, $mediainfo_property) { $driver->pause(); $driver->find_element("page.buttons.operation", "name")->click; $driver->pause(); + # cancel (go back) if already mapped + if ($driver->find_element_by_xpath("//ul[contains(.,'is already mapped to DNX Property')]")) { + $driver->find_element("Cancel", "link_text")->click; + } +} + +sub add_dnx_mappings_to_extractor { + # go to custom extractor page (local format library) + $driver->get("$protocol://$host:${ui_port}/mng/action/pageAction.page_xml.page_extractors_list.xml.do?pageBean.deploymentMode=BUNDLED&pageViewMode=Edit&pageBean.currentUserMode=LOCAL&RenewBean=true&menuKey=com.exlibris.dps.wrk.general.menu.Preservation.AdvancedPreservationActivities.mngLibraryLOCAL.mngLibraryHeader.Extractors.InnerMenu&menuKey=com.exlibris.dps.wrk.general.menu.Preservation.AdvancedPreservationActivities.mngLibraryLOCAL.mngLibraryHeader.Extractors.InnerMenu&backUrl="); + $driver->pause(); + $driver->find_element("Custom", "link")->click; + # filter by plugin name + $driver->find_element("find1.0", "id")->clear; + $driver->find_element("find1.0", "id")->send_keys($plugin_name); + $driver->find_element("pagesections1widgetList0hdListsearchValue2_button", "id")->click; + $driver->find_element("//li[contains(.,'Name')]", "xpath")->click; + $driver->find_element("go", "name")->click; + # add plugin mappings + $driver->find_element("Edit", "link")->click; + $driver->find_element("paginationSelect_button", "id")->click; + $driver->find_element("//li[contains(.,'20 Records')]", "xpath")->click; # limit displayed records + foreach my $mediainfo_property (sort keys %mediainfo2dnx) { + my $dnx_property = $mediainfo2dnx{ $mediainfo_property }; + add_single_dnx_mapping($dnx_property, $mediainfo_property); + } } # startup info @@ -309,11 +320,8 @@ foreach my $mediainfo_property (sort keys %mediainfo2dnx) { } # add mapping -printf colored("Step 5 of 7: extractors add mapping \n", 'bold green'); -foreach my $mediainfo_property (sort keys %mediainfo2dnx) { - my $dnx_property = $mediainfo2dnx{ $mediainfo_property }; - extractors_add_mapping($dnx_property, $mediainfo_property); -} +printf colored("Step 5 of 7: add dnx mappings to extractor \n", 'bold green'); +add_dnx_mappings_to_extractor(); # change to local format library printf colored("Step 6 of 7: change to local format library \n", 'bold green');