diff options
author | Abdullah Sowayan <sowayan@users.noreply.github.com> | 2007-03-18 22:23:37 +0000 |
---|---|---|
committer | Abdullah Sowayan <sowayan@users.noreply.github.com> | 2007-03-18 22:23:37 +0000 |
commit | 06a34455bd98b1379cc69bbc5b2cf085e0fc0d9b (patch) | |
tree | 8815ce3b3a85c3c4285429295f338e00ea4497f4 /CIAO/tools/Config_Handlers/Package_Handlers/test.cpp | |
parent | d66fcc9b4aaec8e88eeb83fc578fdf8a3cc963de (diff) | |
download | ATCD-Static_RT_DAnCE.tar.gz |
Diffstat (limited to 'CIAO/tools/Config_Handlers/Package_Handlers/test.cpp')
-rw-r--r-- | CIAO/tools/Config_Handlers/Package_Handlers/test.cpp | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/CIAO/tools/Config_Handlers/Package_Handlers/test.cpp b/CIAO/tools/Config_Handlers/Package_Handlers/test.cpp new file mode 100644 index 00000000000..6812dc20114 --- /dev/null +++ b/CIAO/tools/Config_Handlers/Package_Handlers/test.cpp @@ -0,0 +1,113 @@ +// $Id$ + +#include <iostream> + +#include "Deployment.hpp" +#include "PCD_Handler.h" +#include "DAnCE/Deployment/Deployment_Packaging_DataC.h" +#include "SID_Handler.h" +#include "ace/Get_Opt.h" +#include "Utils/XML_Helper.h" +#include "tao/ORB.h" +#include "Utils/Exceptions.h" + +static const char *input_file = "BasicSP.cdp"; + + +static int +parse_args (int argc, char *argv[]) +{ + ACE_Get_Opt get_opts (argc, argv, "i:"); + + int c; + + while ((c = get_opts ()) != -1) + switch (c) + { + case 'i': + input_file = get_opts.opt_arg (); + break; + case '?': + default: + ACE_ERROR_RETURN ((LM_ERROR, + "usage: %s " + "-i <input file> " + "\n", + argv [0]), + -1); + } + // Indicates sucessful parsing of the command-line + return 0; +} + +// Check to see if SRD was imported. +void check_srd (const Deployment::DeploymentPlan &); + +using namespace CIAO::Config_Handlers; + + +int main (int argc, char *argv[]) +{ + try + { + + if (parse_args (argc, argv) != 0) + return 1; + + // Initialize an ORB so Any will work + CORBA::ORB_ptr orb = CORBA::ORB_init (argc, argv); + ACE_UNUSED_ARG (orb); + + + if (xercesc::DOMDocument *doc = XML_HELPER->create_dom (input_file)) + { + + ::Deployment::PackageConfiguration idl_pc; + { + // //Read in the XSC type structure from the DOMDocument + //PackageConfiguration pc = packageConfiguration (doc); + //std::cerr << "XML to XSC conversion succeeded. Converting to IDL...\n"; + + //Convert the XSC to an IDL datatype + Packaging::PCD_Handler::package_config (input_file, idl_pc); + std::cout << "Instance document import succeeded. Dumping contents to file\n"; + } + + // Clear SID_Handler's IDREF Table + Packaging::SID_Handler::IDREF.unbind_refs (); + + std::cerr << "Performing IDL->XSC transformation...\n"; + + PackageConfiguration out_pc (Packaging::PCD_Handler::package_config (idl_pc)); + + //Create a new DOMDocument for writing the XSC into XML + xercesc::DOMDocument* the_xsc (XML_HELPER->create_dom("Deployment:packageConfiguration", + "http://www.omg.org/Deployment")); + + //Serialize the XSC into a DOMDocument + packageConfiguration(out_pc, the_xsc); + + + //Write it to test.xml + XML_HELPER->write_DOM(the_xsc, "test.xml"); + + //Cleanliness is next to Godliness + delete doc; + } + + std::cout << "Test completed!\n"; + } + catch (CIAO::Config_Handlers::Plan_Error &excep) + { + std::cerr << "Plan Error exception caught: " << excep.reason_ << std::endl; + } + catch (CIAO::Config_Handlers::Config_Error &excep) + { + std::cerr << "Config Error " << excep.name_ << ": " << excep.error_ << std::endl; + } + + + return 0; +} + + |