def check(self):
        """ Checks if all synergy resources are available. """
        PreparationAction.check(self)
        if self._config.has_key('release'):
            self._check_object(str(self._config['release']))
        else:
            raise Exception("'release' property is not defined for %s" % self._config.name)

        for task in self.__get_tasks():
            self._check_object("Task %s" % task)
        for folder in self.__get_folders():
            self._check_object("Folder %s" % folder)
        
        for project in self.__get_subbaselines():
            self._check_object(project)
            
        # checking if the purpose exists
        if self._config.has_key('purpose'):
            session = self.get_session()
            purposes = session.purposes()
            if purposes.has_key(str(self._config['purpose'])):
                _logger.info("Checking purpose '%s'...Ok" % (self._config['purpose']))
            else:
                _logger.info("Checking purpose '%s'...Not Found!" % (self._config['purpose']))
                raise Exception("Could not find purpose %s in the database." % self._config['purpose'])
            
            role = session.role
            co_role = ccm.get_role_for_purpose(session, str(self._config['purpose']))
            _logger.info("Try to switch user to role: %s" % co_role)
            session.role = co_role
            session.role = role
 def __setRole(self, session):
     """ Updating the role of a session. """
     self.__role = session.role
     if self._config.has_key('purpose'):
         co_role = ccm.get_role_for_purpose(session, self._config['purpose'])
         _logger.info("Switching user to role: %s" % co_role)
         session.role = co_role
         _logger.info("Switched user to role: %s" % session._get_role())