Author: bhofmann
Date: Wed Aug 18 07:31:06 2010
New Revision: 986586

URL: http://svn.apache.org/viewvc?rev=986586&view=rev
Log:
PHP: Further dependency injection for MakeRequestHandler, MakeRequest, 
ContainerConfig 

http://codereview.appspot.com/1974043/

Modified:
    shindig/trunk/php/config/container.php
    shindig/trunk/php/src/gadgets/GadgetContext.php
    shindig/trunk/php/src/gadgets/MakeRequestHandler.php
    shindig/trunk/php/src/gadgets/ProxyBase.php
    shindig/trunk/php/src/gadgets/servlet/MakeRequestServlet.php
    shindig/trunk/php/src/social/service/DataRequestHandler.php
    shindig/trunk/php/src/social/service/HttpHandler.php
    shindig/trunk/php/src/social/service/SystemHandler.php

Modified: shindig/trunk/php/config/container.php
URL: 
http://svn.apache.org/viewvc/shindig/trunk/php/config/container.php?rev=986586&r1=986585&r2=986586&view=diff
==============================================================================
--- shindig/trunk/php/config/container.php (original)
+++ shindig/trunk/php/config/container.php Wed Aug 18 07:31:06 2010
@@ -153,7 +153,10 @@ $shindigConfig = array(
   'gadget_spec_class' => 'GadgetSpec',
   'substitution_class' => 'Substitutions',
   'proxy_handler' => 'ProxyHandler',
-  
+  'makerequest_handler' => 'MakeRequestHandler',
+  'makerequest_class' => 'MakeRequest',
+  'container_config_class' => 'ContainerConfig',
+
   // Caching back-end's to use. Shindig ships with CacheStorageFile, 
CacheStorageApc and CacheStorageMemcache support
   // The data cache is primarily used for remote content (proxied files, 
gadget spec, etc)
   // and the feature_cache is used to cache the parsed features xml structure 
and javascript

Modified: shindig/trunk/php/src/gadgets/GadgetContext.php
URL: 
http://svn.apache.org/viewvc/shindig/trunk/php/src/gadgets/GadgetContext.php?rev=986586&r1=986585&r2=986586&view=diff
==============================================================================
--- shindig/trunk/php/src/gadgets/GadgetContext.php (original)
+++ shindig/trunk/php/src/gadgets/GadgetContext.php Wed Aug 18 07:31:06 2010
@@ -133,7 +133,8 @@ class GadgetContext {
   }
 
   protected function instanceContainerConfig() {
-    return new ContainerConfig(Config::get('container_path'));
+    $containerConfigClass = Config::get('container_config_class');
+    return new $containerConfigClass(Config::get('container_path'));
   }
 
   public function getContainer() {

Modified: shindig/trunk/php/src/gadgets/MakeRequestHandler.php
URL: 
http://svn.apache.org/viewvc/shindig/trunk/php/src/gadgets/MakeRequestHandler.php?rev=986586&r1=986585&r2=986586&view=diff
==============================================================================
--- shindig/trunk/php/src/gadgets/MakeRequestHandler.php (original)
+++ shindig/trunk/php/src/gadgets/MakeRequestHandler.php Wed Aug 18 07:31:06 
2010
@@ -35,7 +35,8 @@ class MakeRequestHandler extends ProxyBa
    */
   public function __construct(GadgetContext $context) {
     $this->context = $context;
-    $this->makeRequest = new MakeRequest();
+    $makeRequestClass = Config::get('makerequest_class');
+    $this->makeRequest = new $makeRequestClass();
   }
 
   /**

Modified: shindig/trunk/php/src/gadgets/ProxyBase.php
URL: 
http://svn.apache.org/viewvc/shindig/trunk/php/src/gadgets/ProxyBase.php?rev=986586&r1=986585&r2=986586&view=diff
==============================================================================
--- shindig/trunk/php/src/gadgets/ProxyBase.php (original)
+++ shindig/trunk/php/src/gadgets/ProxyBase.php Wed Aug 18 07:31:06 2010
@@ -34,7 +34,8 @@ class ProxyBase {
     if (isset($makeRequest)) {
       $this->makeRequest = $makeRequest;
     } else {
-      $this->makeRequest = new MakeRequest();
+      $makeRequestClass = Config::get('makerequest_class');
+      $this->makeRequest = new $makeRequestClass();
     }
   }
 

Modified: shindig/trunk/php/src/gadgets/servlet/MakeRequestServlet.php
URL: 
http://svn.apache.org/viewvc/shindig/trunk/php/src/gadgets/servlet/MakeRequestServlet.php?rev=986586&r1=986585&r2=986586&view=diff
==============================================================================
--- shindig/trunk/php/src/gadgets/servlet/MakeRequestServlet.php (original)
+++ shindig/trunk/php/src/gadgets/servlet/MakeRequestServlet.php Wed Aug 18 
07:31:06 2010
@@ -37,7 +37,8 @@ class MakeRequestServlet extends HttpSer
       $contextClass = Config::get('gadget_context_class');
       $context = new $contextClass('GADGET');
       $makeRequestParams = MakeRequestOptions::fromCurrentRequest();
-      $makeRequestHandler = new MakeRequestHandler($context);
+      $makeRequestHandlerClass = Config::get('makerequest_handler');
+      $makeRequestHandler = new $makeRequestHandlerClass($context);
       $makeRequestHandler->fetchJson($makeRequestParams);
     } catch (MakeRequestParameterException $e) {
       // Something was misconfigured in the request

Modified: shindig/trunk/php/src/social/service/DataRequestHandler.php
URL: 
http://svn.apache.org/viewvc/shindig/trunk/php/src/social/service/DataRequestHandler.php?rev=986586&r1=986585&r2=986586&view=diff
==============================================================================
--- shindig/trunk/php/src/social/service/DataRequestHandler.php (original)
+++ shindig/trunk/php/src/social/service/DataRequestHandler.php Wed Aug 18 
07:31:06 2010
@@ -95,7 +95,8 @@ abstract class DataRequestHandler {
     $contextClass = Config::get('gadget_context_class');
     $context = new $contextClass('GADGET');
     $container = $context->getContainer();
-    $containerConfig = new ContainerConfig(Config::get('container_path'));
+    $containerConfigClass = Config::get('container_config_class');
+    $containerConfig = new 
$containerConfigClass(Config::get('container_path'));
     $config = $containerConfig->getConfig($container, 'gadgets.features');
     $version = $this->getOpenSocialVersion($config);
     $supportedFields = $config[$version]['supportedFields'];

Modified: shindig/trunk/php/src/social/service/HttpHandler.php
URL: 
http://svn.apache.org/viewvc/shindig/trunk/php/src/social/service/HttpHandler.php?rev=986586&r1=986585&r2=986586&view=diff
==============================================================================
--- shindig/trunk/php/src/social/service/HttpHandler.php (original)
+++ shindig/trunk/php/src/social/service/HttpHandler.php Wed Aug 18 07:31:06 
2010
@@ -48,7 +48,8 @@ class HttpHandler extends DataRequestHan
       // here from RequestItem->RpcRequestItem, but PHP doesn't seem to
       // complain.  
       $options = MakeRequestOptions::fromRpcRequestItem($requestItem);
-      $makeRequest = new MakeRequest();
+      $makeRequestClass = Config::get('makerequest_class');
+      $makeRequest = new $makeRequestClass();
       $contextClass = Config::get('gadget_context_class');
       $context = new $contextClass('GADGET');
       $response = $makeRequest->fetch($context, $options);

Modified: shindig/trunk/php/src/social/service/SystemHandler.php
URL: 
http://svn.apache.org/viewvc/shindig/trunk/php/src/social/service/SystemHandler.php?rev=986586&r1=986585&r2=986586&view=diff
==============================================================================
--- shindig/trunk/php/src/social/service/SystemHandler.php (original)
+++ shindig/trunk/php/src/social/service/SystemHandler.php Wed Aug 18 07:31:06 
2010
@@ -56,8 +56,9 @@ class SystemHandler extends DataRequestH
   }
 
   public function handleListMethods(RequestItem $request) {
-       $containerConfig = new ContainerConfig(Config::get('container_path'));
-       $gadgetConfig = $containerConfig->getConfig('default', 
'gadgets.features');
+    $containerConfigClass = Config::get('container_config_class');
+    $containerConfig = new 
$containerConfigClass(Config::get('container_path'));
+    $gadgetConfig = $containerConfig->getConfig('default', 'gadgets.features');
     if (! isset($gadgetConfig['osapi.services']) || 
count($gadgetConfig['osapi.services']) == 1) {
       // this should really be set in config/container.js, but if not, we 
build a complete default set so at least most of it works out-of-the-box
       $gadgetConfig['osapi.services'] = array(
@@ -79,6 +80,6 @@ class SystemHandler extends DataRequestH
               'http.head', 'http.get', 'http.put',
               'http.post', 'http.delete'));
     }
-         return $gadgetConfig['osapi.services'];
+    return $gadgetConfig['osapi.services'];
   }
 }


Reply via email to