diff options
Diffstat (limited to 'TAO/CIAO/DAnCE/Plan_Launcher/Plan_Launcher.cpp')
-rw-r--r-- | TAO/CIAO/DAnCE/Plan_Launcher/Plan_Launcher.cpp | 281 |
1 files changed, 0 insertions, 281 deletions
diff --git a/TAO/CIAO/DAnCE/Plan_Launcher/Plan_Launcher.cpp b/TAO/CIAO/DAnCE/Plan_Launcher/Plan_Launcher.cpp deleted file mode 100644 index ab0ea432153..00000000000 --- a/TAO/CIAO/DAnCE/Plan_Launcher/Plan_Launcher.cpp +++ /dev/null @@ -1,281 +0,0 @@ -// $Id$ -#include "Plan_Launcher_Impl.h" - -#include "ace/OS.h" -#include "ace/Get_Opt.h" -#include <iostream> - -#include "Interfaces/ExecutionManagerC.h" - -namespace CIAO -{ - namespace Plan_Launcher - { - // deployment plan URL - const char* package_url = 0; - const char* new_package_url = 0; - const char* plan_uuid = 0; - bool use_naming = false; - const char* ior_file = "file://em.ior"; - const char* dap_ior_filename = 0; - const char* dap_ior = 0; - - enum mode_type { - pl_mode_start, - pl_mode_interactive, - pl_mode_stop_by_dam, - pl_mode_stop_by_uuid, - pl_mode_redeployment - }; - - // default mode - mode_type mode = pl_mode_interactive; - - static void - usage (const ACE_TCHAR* program) - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("[(%P|%t) Executor] Usage: %s\n") - ACE_TEXT ("-p <PACKAGE_URI>\n") - ACE_TEXT ("-k <EXECUTION_MANAGER_IOR>") - ACE_TEXT (" : Default file://em.ior\n") - ACE_TEXT ("-n : Use naming service to fetch") - ACE_TEXT (" Execution Manager IOR Alternative to -k\n") - ACE_TEXT ("-t <PLAN_UUID>\n") - ACE_TEXT ("-o <DOMAIN_APPLICATION_MANAGER_IOR_OUTPUT_FILE>\n") - ACE_TEXT ("-i <DOMAIN_APPLICATION_MANAGER_IOR_FOR_INPUT>\n") - ACE_TEXT ("-r <NEW_PLAN_DESCRIPTOR_FOR_REDEPLOYMENT>\n") - ACE_TEXT ("-h : Show this usage information\n"), - program)); - } - - static bool - parse_args (int argc, - ACE_TCHAR *argv[]) - { - ACE_Get_Opt get_opt (argc, - argv, - ACE_TEXT ("p:nk:t:o:i:r:h")); - int c; - - while ((c = get_opt ()) != EOF) - { - switch (c) - { - case 'p': - package_url = get_opt.opt_arg (); - break; - case 'n': - use_naming = true; - break; - case 'k': - ior_file = get_opt.opt_arg (); - break; - case 'o': - dap_ior_filename = get_opt.opt_arg (); - mode = pl_mode_start; - break; - case 'i': - dap_ior = get_opt.opt_arg (); - mode = pl_mode_stop_by_dam; - break; - case 't': - plan_uuid = get_opt.opt_arg (); - mode = pl_mode_stop_by_uuid; - break; - case 'r': - new_package_url = get_opt.opt_arg (); - mode = pl_mode_redeployment; - break; - case 'h': - default: - usage(argv[0]); - return false; - } - } - - if ((mode != pl_mode_stop_by_dam) && - (mode != pl_mode_stop_by_uuid) && - (package_url == 0) && - (new_package_url ==0)) - { - usage (argv[0]); - return false; - } - - return true; - } - - static ::Deployment::DomainApplicationManager_ptr - read_dap_ior (CORBA::ORB_ptr orb - ACE_ENV_ARG_DECL) - { - CORBA::Object_var obj = orb->string_to_object (dap_ior - ACE_ENV_ARG_PARAMETER); - return - Deployment::DomainApplicationManager::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - } - - static int - write_dap_ior (CORBA::ORB_ptr orb, - ::Deployment::DomainApplicationManager_ptr dap - ACE_ENV_ARG_DECL) - { - CORBA::String_var ior = orb->object_to_string (dap); - - FILE* ior_output_file = ACE_OS::fopen (dap_ior_filename, "w"); - - if (ior_output_file) - { - ACE_OS::fprintf (ior_output_file, "%s", ior.in ()); - ACE_OS::fclose (ior_output_file); - - return 0; - } - - return -1; - } - - static int - run_main_implementation (int argc, char *argv[]) - { - ACE_DECLARE_NEW_CORBA_ENV; - - ACE_TRY - { - CORBA::ORB_var orb = - CORBA::ORB_init (argc, - argv, - "" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (parse_args (argc, argv) == false) - return -1; - - - Plan_Launcher_i launcher; - - if (!launcher.init (use_naming ? 0 : ior_file, - orb.in ())) - { - ACE_ERROR ((LM_ERROR, "(%P|%t) Plan_Launcher: Error initializing the EM.\n")); - return -1; - } - - ::Deployment::DomainApplicationManager_var dapp_mgr; - - if (mode == pl_mode_start || mode == pl_mode_interactive) // initial deployment - { - const char* uuid = launcher.launch_plan (package_url); - - if (uuid == 0) - { - ACE_ERROR ((LM_ERROR, "(%P|%t) Plan_Launcher: Error launching plan\n")); - return -1; - } - - ACE_DEBUG ((LM_DEBUG, "Plan_Launcher returned UUID is %s\n", uuid)); - dapp_mgr = launcher.get_dam (uuid); - - // Write out DAM ior if requested - if (mode == pl_mode_start) - write_dap_ior (orb.in (), dapp_mgr.in ()); - else // if (pl_mode_interactive) - { - ACE_DEBUG ((LM_DEBUG, - "Press <Enter> to tear down application\n")); - char dummy [256]; - std::cin.getline (dummy, 256); - - // Tear down the assembly - ACE_DEBUG ((LM_DEBUG, - "Plan_Launcher: destroy the application.....")); - if (! launcher.teardown_plan (uuid)) - ACE_DEBUG ((LM_DEBUG, - "(%P|%t) CIAO_PlanLauncher:tear down assembly failed: " - "unkonw plan uuid.\n")); - } - } - else if (mode == pl_mode_redeployment && new_package_url != 0) // do redeployment - { - ACE_DEBUG ((LM_DEBUG, - "Plan_Launcher: reconfigure application assembly.....")); - const char* uuid = launcher.re_launch_plan (new_package_url); - - if (uuid == 0) - { - ACE_ERROR ((LM_ERROR, "(%P|%t) Plan_Launcher: Error re-launching plan\n")); - return -1; - } - } - else if (mode == pl_mode_stop_by_dam) // tear down by DAM - { - dapp_mgr = read_dap_ior (orb.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (CORBA::is_nil (dapp_mgr.in ())) - { - ACE_DEBUG ((LM_DEBUG, - "(%P|%t) CIAO_PlanLauncher:tear down assembly failed: " - "nil DomainApplicationManager reference\n")); - return -1; - } - - // Tear down the assembly - ACE_DEBUG ((LM_DEBUG, - "Plan_Launcher: destroy the application.....")); - launcher.teardown_plan (dapp_mgr.in ()); - } - else if (mode == pl_mode_stop_by_uuid) // tear down by plan_uuid - { - // Tear down the assembly - ACE_DEBUG ((LM_DEBUG, - "Plan_Launcher: destroy the application.....")); - if (! launcher.teardown_plan (plan_uuid)) - ACE_DEBUG ((LM_DEBUG, - "(%P|%t) CIAO_PlanLauncher:tear down assembly failed: " - "unkonw plan uuid.\n")); - } - - orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (Plan_Launcher_i::Deployment_Failure, ex) - { - ACE_ERROR ((LM_ERROR, - "Deployment failed. Plan_Launcher exiting.\n")); - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "(%P|%t) Plan_Launcher: "); - - return -1; - } - ACE_CATCHALL - { - ACE_ERROR ((LM_ERROR, - "(%P|%t) Plan_Launcher: Unknown exception.\n")); - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - - return 0; - } - } -} - -using namespace CIAO::Plan_Launcher; - -int -ACE_TMAIN (int argc, - ACE_TCHAR *argv[]) -{ - //ACE_DEBUG ((LM_DEBUG, "NEW PLAN LAUNCHER\n")); - - return run_main_implementation (argc, argv); -} |