Author: grobmeier
Date: Mon Aug 31 06:38:24 2009
New Revision: 809468

URL: http://svn.apache.org/viewvc?rev=809468&view=rev
Log:
added renderer configuration test

Modified:
    incubator/log4php/trunk/src/main/php/LoggerHierarchy.php
    incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorIni.php
    incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorXml.php
    incubator/log4php/trunk/src/main/php/renderers/LoggerRendererMap.php
    
incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorIniTest.php
    
incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorXmlTest.php
    incubator/log4php/trunk/src/test/php/configurators/test1.xml
    incubator/log4php/trunk/src/test/php/configurators/test4.properties
    incubator/log4php/trunk/src/test/php/renderers/LoggerRendererMapTest.php

Modified: incubator/log4php/trunk/src/main/php/LoggerHierarchy.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/LoggerHierarchy.php?rev=809468&r1=809467&r2=809468&view=diff
==============================================================================
--- incubator/log4php/trunk/src/main/php/LoggerHierarchy.php (original)
+++ incubator/log4php/trunk/src/main/php/LoggerHierarchy.php Mon Aug 31 
06:38:24 2009
@@ -74,22 +74,11 @@
         */
        public function __construct(LoggerRoot $root) {
                $this->root = $root;
-               // TODO: isn't necessary, access via singleton?'
-//             $this->root->setHierarchy($this);
                $this->setThreshold(LoggerLevel::getLevelAll());
                $this->rendererMap = new LoggerRendererMap();
        }
         
        /**
-        * Add an object renderer for a specific class.
-        * @param string $classToRender
-        * @param LoggerObjectRenderer $or
-        */
-       public function addRenderer($classToRender, $or) {
-               $this->rendererMap->put($classToRender, $or);
-       } 
-       
-       /**
         * This call will clear all logger definitions from the internal 
hashtable.
         */
        public function clear() {
@@ -218,16 +207,6 @@
        }
        
        /**
-        * Used by subclasses to add a renderer to the hierarchy passed as 
parameter.
-        * @param string $renderedClass a LoggerRenderer class name
-        * @param LoggerRenderer $renderer
-        *
-        */
-       public function setRenderer($renderedClass, $renderer) {
-               $this->rendererMap->put($renderedClass, $renderer);
-       }
-       
-       /**
         * set a new threshold level
         *
         * @param LoggerLevel $l

Modified: 
incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorIni.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorIni.php?rev=809468&r1=809467&r2=809468&view=diff
==============================================================================
--- 
incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorIni.php 
(original)
+++ 
incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorIni.php 
Mon Aug 31 06:38:24 2009
@@ -351,9 +351,7 @@
                        } else if(strpos($key, self::RENDERER_PREFIX) === 0) {
                                $renderedClass = substr($key, 
strlen(self::RENDERER_PREFIX));
                                $renderingClass = $value;
-                               if(method_exists($hierarchy, 'addrenderer')) { 
// ?
-                                       
LoggerRendererMap::addRenderer($hierarchy, $renderedClass, $renderingClass);
-                               }
+                               
$hierarchy->getRendererMap()->addRenderer($renderedClass, $renderingClass);
                        }
                }
        }

Modified: 
incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorXml.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorXml.php?rev=809468&r1=809467&r2=809468&view=diff
==============================================================================
--- 
incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorXml.php 
(original)
+++ 
incubator/log4php/trunk/src/main/php/configurators/LoggerConfiguratorXml.php 
Mon Aug 31 06:38:24 2009
@@ -361,12 +361,7 @@
                 $renderingClass  = $this->subst(@$attribs['RENDERINGCLASS']);
         
                 if (!empty($renderedClass) and !empty($renderingClass)) {
-                    $renderer = 
LoggerReflectionUtils::createObject($renderingClass);
-                    if ($renderer === null) {
-                        // LoggerDOMConfigurator::tagOpen() RENDERER cannot 
instantiate '$renderingClass'
-                    } else { 
-                        $this->repository->setRenderer($renderedClass, 
$renderer);
-                    }
+                    
$this->repository->getRendererMap()->addRenderer($renderedClass, 
$renderingClass);
                 }
                 break;
             

Modified: incubator/log4php/trunk/src/main/php/renderers/LoggerRendererMap.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/renderers/LoggerRendererMap.php?rev=809468&r1=809467&r2=809468&view=diff
==============================================================================
--- incubator/log4php/trunk/src/main/php/renderers/LoggerRendererMap.php 
(original)
+++ incubator/log4php/trunk/src/main/php/renderers/LoggerRendererMap.php Mon 
Aug 31 06:38:24 2009
@@ -54,12 +54,12 @@
         * @param string $renderingClassName
         * @static
         */
-       public static function addRenderer($repository, $renderedClassName, 
$renderingClassName) {
+       public function addRenderer($renderedClassName, $renderingClassName) {
                $renderer = 
LoggerReflectionUtils::createObject($renderingClassName);
                if($renderer == null) {
                        return;
                } else {
-                       $repository->setRenderer($renderedClassName, $renderer);
+                       $this->put($renderedClassName, $renderer);
                }
        }
 
@@ -142,7 +142,7 @@
         * @param string $class
         * @param LoggerRendererObject $or
         */
-       public function put($class, $or) {
+       private function put($class, $or) {
                $this->map[strtolower($class)] = $or;
        }
        

Modified: 
incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorIniTest.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorIniTest.php?rev=809468&r1=809467&r2=809468&view=diff
==============================================================================
--- 
incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorIniTest.php
 (original)
+++ 
incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorIniTest.php
 Mon Aug 31 06:38:24 2009
@@ -23,6 +23,18 @@
  * @link       http://logging.apache.org/log4php
  */
 
+class Fruit {
+    public $test1 = 'test1';
+    public $test2 = 'test2';
+    public $test3 = 'test3';
+}
+
+class FruitRenderer extends LoggerRendererObject {
+    public function doRender($o) {
+               return $o->test1.','.$o->test2.','.$o->test3;
+       }
+}
+
 class LoggerConfiguratorIniTest extends PHPUnit_Framework_TestCase {
         
        protected function setUp() {
@@ -113,4 +125,13 @@
                $e = LoggerLevel::getLevelWarn();
                self::assertEquals($e,$threshold);
        }
+       
+       public function testRenderer() {
+               Logger::configure('configurators/test4.properties');
+               Logger::initialize();
+               $hierarchy = Logger::getHierarchy();
+               $map = $hierarchy->getRendererMap();
+               $clazz = $map->getByClassName('Fruit');
+               self::assertTrue($clazz instanceof FruitRenderer);
+       }
 }

Modified: 
incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorXmlTest.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorXmlTest.php?rev=809468&r1=809467&r2=809468&view=diff
==============================================================================
--- 
incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorXmlTest.php
 (original)
+++ 
incubator/log4php/trunk/src/test/php/configurators/LoggerConfiguratorXmlTest.php
 Mon Aug 31 06:38:24 2009
@@ -22,6 +22,17 @@
  * @version    SVN: $Id$
  * @link       http://logging.apache.org/log4php
  */
+class Fruit2 {
+    public $test1 = 'test1';
+    public $test2 = 'test2';
+    public $test3 = 'test3';
+}
+
+class FruitRenderer2 extends LoggerRendererObject {
+    public function doRender($o) {
+               return $o->test1.','.$o->test2.','.$o->test3;
+       }
+}
 
 class LoggerConfiguratorXmlTest extends PHPUnit_Framework_TestCase {
         
@@ -78,5 +89,10 @@
                self::assertTrue($threshold instanceof LoggerLevel);
                $e = LoggerLevel::getLevelWarn();
                self::assertEquals($e,$threshold);
+               
+               $hierarchy = Logger::getHierarchy();
+               $map = $hierarchy->getRendererMap();
+               $clazz = $map->getByClassName('Fruit2');
+               self::assertTrue($clazz instanceof FruitRenderer2);
        }
 }

Modified: incubator/log4php/trunk/src/test/php/configurators/test1.xml
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/test/php/configurators/test1.xml?rev=809468&r1=809467&r2=809468&view=diff
==============================================================================
--- incubator/log4php/trunk/src/test/php/configurators/test1.xml (original)
+++ incubator/log4php/trunk/src/test/php/configurators/test1.xml Mon Aug 31 
06:38:24 2009
@@ -17,6 +17,7 @@
 
 -->
 <log4php:configuration xmlns:log4php="http://logging.apache.org/log4php/"; 
threshold="WARN">
+       <renderer renderedClass="Fruit2" renderingClass="FruitRenderer2" />
     <appender threshold="WARN" name="default" class="LoggerAppenderEcho">
         <layout class="LoggerLayoutSimple"/>
     </appender>

Modified: incubator/log4php/trunk/src/test/php/configurators/test4.properties
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/test/php/configurators/test4.properties?rev=809468&r1=809467&r2=809468&view=diff
==============================================================================
--- incubator/log4php/trunk/src/test/php/configurators/test4.properties 
(original)
+++ incubator/log4php/trunk/src/test/php/configurators/test4.properties Mon Aug 
31 06:38:24 2009
@@ -13,6 +13,8 @@
 ; See the License for the specific language governing permissions and
 ; limitations under the License.
 ;
+log4php.renderer.Fruit=FruitRenderer
+
 log4php.appender.default = LoggerAppenderEcho
 log4php.appender.default.layout = LoggerLayoutSimple
 log4php.appender.default.threshold = WARN

Modified: 
incubator/log4php/trunk/src/test/php/renderers/LoggerRendererMapTest.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/test/php/renderers/LoggerRendererMapTest.php?rev=809468&r1=809467&r2=809468&view=diff
==============================================================================
--- incubator/log4php/trunk/src/test/php/renderers/LoggerRendererMapTest.php 
(original)
+++ incubator/log4php/trunk/src/test/php/renderers/LoggerRendererMapTest.php 
Mon Aug 31 06:38:24 2009
@@ -28,7 +28,7 @@
        public function testAddRenderer() {
                $hierarchy = Logger::getHierarchy();
                //print_r($hierarchy);
-               LoggerRendererMap::addRenderer($hierarchy, 'string', 
'LoggerRendererDefault');
+               $hierarchy->getRendererMap()->addRenderer('string', 
'LoggerRendererDefault');
                //print_r($hierarchy);
                self::markTestIncomplete();
        }


Reply via email to