/** * * @return PluginQueryExtensionManager */ public static function instance() { if (!self::$instance instanceof PluginQueryExtensionManager) { self::$instance = new self(); } return self::$instance; }
/** * Set up method */ public static function setUpBeforeClass() { self::$baseService = new BaseService(); $sampleQueryExtensionsPath = sfConfig::get('sf_plugins_dir') . '/orangehrmCorePlugin/test/fixtures/sample_query_extensions.yml'; PluginQueryExtensionManager::instance()->setQueryExtensions(sfYaml::load($sampleQueryExtensionsPath)); self::$fixture = sfConfig::get('sf_plugins_dir') . '/orangehrmCorePlugin/test/fixtures/base-service-test-data.yml'; TestDataService::populate(self::$fixture); }
/** * * @param string $serviceName * @param string $methodName * @param mixed $query * @param mixed $parameters * @return mixed * @todo Delegate the operations to a utility class */ public function decorateQuery($serviceName, $methodName, $query, $parameters = array()) { $extensions = PluginQueryExtensionManager::instance()->getQueryExtensions($serviceName, $methodName); if ($query instanceof Doctrine_Query) { return $this->_decorateQuery_DQL($query, $extensions, $parameters); } elseif (is_string($query)) { return $this->_decorateQuery_SQL($query, $extensions, $parameters); } else { // TODO: Warn return $query; } }
/** * Set up method */ protected function setUp() { $this->baseService = new BaseService(); $this->fixture = sfConfig::get('sf_plugins_dir') . '/orangehrmCorePlugin/test/fixtures/sample_query_extensions.yml'; PluginQueryExtensionManager::instance()->setQueryExtensions(sfYaml::load($this->fixture)); }