summaryrefslogtreecommitdiff
path: root/DAnCE/dance/NodeManager/NodeManager_Impl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'DAnCE/dance/NodeManager/NodeManager_Impl.cpp')
-rw-r--r--DAnCE/dance/NodeManager/NodeManager_Impl.cpp247
1 files changed, 0 insertions, 247 deletions
diff --git a/DAnCE/dance/NodeManager/NodeManager_Impl.cpp b/DAnCE/dance/NodeManager/NodeManager_Impl.cpp
deleted file mode 100644
index d32976c8c31..00000000000
--- a/DAnCE/dance/NodeManager/NodeManager_Impl.cpp
+++ /dev/null
@@ -1,247 +0,0 @@
-#include "NodeManager_Impl.h"
-#include "ace/iosfwd.h"
-#include "dance/Logger/Log_Macros.h"
-#include "ace/OS_Memory.h"
-
-#include "dance/DAnCE_PropertiesC.h"
-#include "dance/LocalityManager/Scheduler/Plugin_Manager.h"
-#include "dance/LocalityManager/Handler/Plugin_Conf.h"
-
-#ifdef GEN_OSTREAM_OPS
-#include <iostream>
-#include <sstream>
-#endif /* GEN_OSTREAM_OPS */
-
-namespace DAnCE
-{
- NodeManager_Impl::NodeManager_Impl(CORBA::ORB_ptr orb,
- PortableServer::POA_ptr poa,
- DAnCE::ArtifactInstallation_ptr installer,
- const char* name,
- std::string config_file,
- const PROPERTY_MAP &properties)
- : orb_ (CORBA::ORB::_duplicate (orb)),
- poa_ (PortableServer::POA::_duplicate (poa)),
- installer_ (DAnCE::ArtifactInstallation::_duplicate (installer)),
- name_ (name),
- properties_ (properties.current_size ())
- {
- DANCE_TRACE ( "NodeManager_Impl::NodeManager_Impl");
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_INFO, DLINFO
- ACE_TEXT("NodeManager_impl::NodeManager_impl has been created\n")));
-
- PROPERTY_MAP::const_iterator i = properties.begin ();
- while (!i.done ())
- {
- DANCE_DEBUG (DANCE_LOG_MAJOR_DEBUG_INFO,
- (LM_TRACE, DLINFO
- ACE_TEXT("NodeManager_Impl::NodeManager_Impl - ")
- ACE_TEXT("Binding property %C provided by caller.\n"), i->key ().c_str ()));
- this->properties_.bind (i->key (), i->item ());
- i.advance ();
- }
-
- ::Deployment::Properties prop;
- ::DAnCE::Utility::build_property_sequence (prop, properties);
- PLUGIN_MANAGER::instance ()->set_configuration (prop);
- PLUGIN_MANAGER::instance ()->set_orb (this->orb_);
-
- Plugin_Configurator conf;
-
- if (config_file.c_str ())
- {
- DANCE_DEBUG (DANCE_LOG_MINOR_EVENT,
- (LM_DEBUG, DLINFO
- ACE_TEXT ("NodeManager_Impl::NodeManager_Impl - ")
- ACE_TEXT ("Loading plugin file <%C>\n"),
- config_file.c_str ()));
- conf.load_from_text_file (ACE_TEXT_CHAR_TO_TCHAR (config_file.c_str ()));
- }
- else
- DANCE_ERROR (DANCE_LOG_WARNING,
- (LM_WARNING, DLINFO
- ACE_TEXT ("NodeManager_Impl::NodeManager_Impl - ")
- ACE_TEXT ("Warning: No plugin configuration file found.\n")));
- }
-
- NodeManager_Impl::~NodeManager_Impl()
- {
- DANCE_TRACE ("NodeManager_Impl::~NodeManager_Impl()");
- for (TManagers::iterator iter = this->managers_.begin();
- iter != this->managers_.end();
- ++iter)
- {
- try
- {
- PortableServer::ObjectId_var id = this->poa_->servant_to_id ( (*iter).int_id_);
- DANCE_TRACE_LOG (DANCE_LOG_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("NodeManager_impl::~NodeManager_impl - Deactivating NodeApplicationManager %C\n"),
- (*iter).ext_id_.c_str ()));
- this->poa_->deactivate_object (id.in());
- DANCE_TRACE_LOG (DANCE_LOG_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("NodeManager_impl::~NodeManager_impl - deleting NodeApplicationManager\n")));
- delete (*iter).int_id_;
- DANCE_TRACE_LOG (DANCE_LOG_TRACE,
- (LM_DEBUG, DLINFO
- ACE_TEXT("NodeManager_impl::~NodeManager_impl - NodeApplicationManager deleted\n")));
- }
- catch (...)
- {
- DANCE_ERROR (DANCE_LOG_NONFATAL_ERROR,
- (LM_WARNING, DLINFO
- ACE_TEXT("NodeManager_impl::~NodeManager_impl - Caught exception while removing ")
- ACE_TEXT("NodeApplicationManager %C\n"), (*iter).ext_id_.c_str ()));
- }
- }
-
- PLUGIN_MANAGER::close ();
- }
-
- void
- NodeManager_Impl::joinDomain (const ::Deployment::Domain & /*theDomain*/,
- ::Deployment::TargetManager_ptr /*manager*/,
- ::Deployment::Logger_ptr /*log*/,
- ::CORBA::Long /*updateInterval*/)
- {
- DANCE_TRACE ("NodeManager_Impl::joinDomain");
- DANCE_DEBUG (DANCE_LOG_NONFATAL_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("NodeManager_Impl::joinDomain - ")
- ACE_TEXT("joinDomain not implemented\n")));
- throw CORBA::NO_IMPLEMENT ();
- }
-
- void
- NodeManager_Impl::leaveDomain ()
- {
- DANCE_TRACE ("NodeManager_Impl::leaveDomain");
- DANCE_DEBUG (DANCE_LOG_NONFATAL_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("NodeManager_Impl::leaveDomain - ")
- ACE_TEXT("leave not implemented\n")));
- throw CORBA::NO_IMPLEMENT ();
- }
-
- ::Deployment::NodeApplicationManager_ptr
- NodeManager_Impl::preparePlan (const ::Deployment::DeploymentPlan & plan,
- ::Deployment::ResourceCommitmentManager_ptr /*resourceCommitment*/)
- {
- DANCE_TRACE ( "NodeManager_Impl::preparePlan");
-
- DANCE_DEBUG (DANCE_LOG_MINOR_EVENT,
- (LM_DEBUG, DLINFO
- ACE_TEXT("NodeManager_impl::preparePlan - ")
- ACE_TEXT("started for node %C and plan %C\n"),
- this->name_.c_str(), plan.UUID.in()));
-
-#ifdef GEN_OSTREAM_OPS
- if (DAnCE_debug_level >= DANCE_LOG_DETAILED_TRACE)
- {
- std::ostringstream plan_stream;
- plan_stream << plan << std::endl;
- DANCE_TRACE_LOG (DANCE_LOG_DETAILED_TRACE,
- (LM_TRACE, DLINFO "NodeManager_impl::preparePlan - %C",
- plan_stream.str ().c_str ()));
- }
-#endif /* GEN_OSTREAM_OPS */
-
- // resourceCommitment will be used on next development stage
- if (0 == this->managers_.find (plan.UUID.in()))
- {
- // What should we do here if we already have application for this plan?
- // Probably it is mistake because we should previously call destroyApplication
- // before performe relaunching of application
- DANCE_ERROR (DANCE_LOG_TERMINAL_ERROR,
- (LM_ERROR, DLINFO ACE_TEXT("NodeManager_impl::preparePlan - ")
- ACE_TEXT("ApplicationManager for UUID %C already exists\n"),
- plan.UUID.in ()));
- throw ::Deployment::PlanError(plan.UUID.in (),
- "Plan with same UUID already exists");
- }
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("NodeManager_impl::preparePlan - creating NodeApplicationManager...\n")));
- NodeApplicationManager_Impl* manager = 0;
- ACE_NEW_THROW_EX (manager,
- NodeApplicationManager_Impl (this->orb_.in(),
- this->poa_.in(),
- this->installer_. in (),
- this->name_,
- this->properties_),
- CORBA::NO_MEMORY());
- Safe_NodeApplicationManager_Impl safe_manager (manager);
-
- DANCE_DEBUG (DANCE_LOG_MAJOR_EVENT,
- (LM_TRACE, DLINFO
- ACE_TEXT("NodeManager_impl::preparePlan - ")
- ACE_TEXT ("invoking preparePlan on NodeApplicationManager...\n")));
- manager->preparePlan (plan);
-
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("NodeManager_impl::preparePlan - activating NodeApplicationManager...\n")));
- PortableServer::ObjectId_var id = this->poa_->activate_object (manager);
- CORBA::Object_var nam = this->poa_->id_to_reference (id.in());
-
- // There is an idea to check if plan.UUID really exists
- this->managers_.bind (plan.UUID.in(), safe_manager._retn ());
-
- // narrow should return a nil reference if it fails.
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_INFO, DLINFO
- ACE_TEXT("NodeManager_impl::preparePlan - ")
- ACE_TEXT ("NodeApplicationManager for plan %C completed\n"),
- plan.UUID.in ()));
- return Deployment::NodeApplicationManager::_narrow (nam.in ());
- }
-
- void
- NodeManager_Impl::destroyManager (::Deployment::NodeApplicationManager_ptr appManager)
- {
- DANCE_TRACE ("NodeManager_Impl::destroyManager");
-
- for (TManagers::iterator iter = this->managers_.begin();
- iter != this->managers_.end();
- ++iter)
- {
- if (appManager->_is_equivalent (this->poa_->servant_to_reference ( (*iter).int_id_)))
- {
- PortableServer::ObjectId_var id = this->poa_->reference_to_id (appManager);
- this->poa_->deactivate_object (id.in());
- DANCE_TRACE_LOG (DANCE_LOG_DETAILED_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("NodeManager_impl::destroyManager - deleting NodeApplicationManager\n")));
- delete (*iter).int_id_;
- DANCE_TRACE_LOG (DANCE_LOG_DETAILED_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("NodeManager_impl::destroyManager - NodeApplicationManager deleted\n")));
- this->managers_.unbind ( (*iter).ext_id_);
- DANCE_TRACE_LOG (DANCE_LOG_DETAILED_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("NodeManager_impl::destroyManager - finished\n")));
- return;
- }
- }
-
- DANCE_ERROR (DANCE_LOG_TERMINAL_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("NodeManager_impl::destroyManager - ")
- ACE_TEXT("correponding NodeApplicationManager cannot be found\n")));
- throw ::Deployment::InvalidReference();
- }
-
- ::Deployment::Resources *
- NodeManager_Impl::getDynamicResources ()
- {
- DANCE_TRACE ( "NodeManager_Impl::getDynamicResources ()");
- DANCE_DEBUG (DANCE_LOG_NONFATAL_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("NodeManager_Impl::getDynamicResources - ")
- ACE_TEXT("getDynamicResources not implemented\n")));
- throw CORBA::NO_IMPLEMENT ();
- }
-} //DAnCE
-