Changeset 1355

Show
Ignore:
Timestamp:
02/22/08 12:11:41 (7 months ago)
Author:
mikey
Message:

addes support for variants in xml/xsl view engine

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/build/stubbles/MasterXslStarFile.php

    r610 r1355  
    102102        $contents = str_replace('<xsl:import href="copy.xsl"/>', '<xsl:import href="?xsl/copy.xsl"/>', $contents); 
    103103        $contents = str_replace('<xsl:import href="stub.xsl"/>', '<xsl:import href="?xsl/stub.xsl"/>', $contents); 
     104        $contents = str_replace('<xsl:import href="variant.xsl"/>', '<xsl:import href="?xsl/variant.xsl"/>', $contents); 
    104105        return $contents; 
    105106    } 
  • trunk/examples/config/xml/interceptors-xml.xml

    r1219 r1355  
    77    <preInterceptor type="net::stubbles::ioc::stubIOCPreInterceptor" /> 
    88    <preInterceptor type="net::stubbles::ipo::session::resourcemanager::stubSessionResourceManagerPreInterceptor" /> 
     9    <preInterceptor type="net::stubbles::websites::variantmanager::stubVariantsPreInterceptor" /> 
    910  </preInterceptors> 
    1011  <postInterceptors> 
  • trunk/examples/config/xml/variantmanager.xml

    r328 r1355  
    44    xmlns="http://stubbles.net/websites/variantmanager"> 
    55  <variants name="default"> 
    6     <requestParam name="request" title="request" paramName="var" /> 
     6    <requestParam name="request" title="request" paramName="var"/> 
    77    <random name="random1" title="random1" weight="1"> 
    8       <lead name="lead" title="lead" /> 
     8      <lead name="lead" title="lead"/> 
    99    </random> 
    10     <random name="random2" title="random2" weight="2" /> 
     10    <random name="random2" title="random2" weight="2" alias="preferred"/> 
    1111  </variants> 
    1212</xj:configuration> 
  • trunk/src/main/php/net/stubbles/websites/memphis/stubMemphisProcessor.php

    r1327 r1355  
    147147        $this->cache->addCacheVar('page', $pageName); 
    148148        $this->cache->addCacheVar('frame', $frameId); 
    149         $this->cache->addCacheVar('variant', $this->session->getValue('net.stubbles.websites.variantmanager.variant', '')); 
     149        $this->cache->addCacheVar('variant', $this->session->getValue('net.stubbles.websites.variantmanager.variant.name', '')); 
    150150        $sslMode = 'no'; 
    151151        if ($this->isSSL() === true) { 
     
    269269        $this->template->addGlobalVar('PAGE_TITLE', htmlentities($page->getProperty('title'))); 
    270270        $this->template->addGlobalVar('PAGE_NAME', $pageName); 
    271         $this->template->addGlobalVar('VARIANT', $this->session->getValue('net.stubbles.websites.variantmanager.variant', '')); 
     271        $this->template->addGlobalVar('VARIANT', $this->session->getValue('net.stubbles.websites.variantmanager.variant.name', '')); 
     272        $this->template->addGlobalVar('VARIANT_ALIAS', $this->session->getValue('net.stubbles.websites.variantmanager.variant.alias', '')); 
    272273 
    273274        $regexDecorator = new stubRegexFilterDecorator(new stubStringFilter(), '/\/.*(?=\?)|\/.*/'); 
  • trunk/src/main/php/net/stubbles/websites/variantmanager/stubVariantsPreInterceptor.php

    r1301 r1355  
    5656    public function preProcess(stubRequest $request, stubSession $session, stubResponse $response) 
    5757    { 
    58         if ($session->hasValue('net.stubbles.websites.variantmanager.variant') == true) { 
     58        if ($session->hasValue('net.stubbles.websites.variantmanager.variant.name') == true) { 
    5959            return; 
    6060        } 
     
    8181        } 
    8282         
    83         $session->putValue('net.stubbles.websites.variantmanager.variant', $variant->getFullQualifiedName()); 
     83        $session->putValue('net.stubbles.websites.variantmanager.variant.name', $variant->getFullQualifiedName()); 
     84        $session->putValue('net.stubbles.websites.variantmanager.variant.alias', $variant->getAlias()); 
    8485        $expiring   = stubRegistry::getConfig('net.stubbles.websites.variantmanager.cookie.expiring', (86400 * 90)); // 90 days default 
    8586        $cookieURL  = stubRegistry::getConfig('net.stubbles.websites.variantmanager.cookie.url', null); 
  • trunk/src/main/php/net/stubbles/websites/xml/stubXMLProcessor.php

    r1353 r1355  
    139139        $xmlStreamWriter->writeElement('id', array(), $this->session->getId()); 
    140140        $xmlStreamWriter->writeElement('name', array(), stubRegistry::getConfig(stubSession::NAME_REGISTRY_KEY, stubSession::DEFAULT_SESSION_NAME)); 
    141         $xmlStreamWriter->writeElement('isNew', array(), (($this->session->isNew() == true) ? ('true') : ('false'))); 
     141        $xmlStreamWriter->writeElement('isNew', array(), (($this->session->isNew() === true) ? ('true') : ('false'))); 
     142        $xmlStreamWriter->writeStartElement('variant'); 
     143        $xmlStreamWriter->writeElement('name', array(), (string) $this->session->getValue('net.stubbles.websites.variantmanager.variant.name')); 
     144        $xmlStreamWriter->writeElement('alias', array(), (string) $this->session->getValue('net.stubbles.websites.variantmanager.variant.alias')); 
     145        $xmlStreamWriter->writeEndElement();  // end variant 
    142146        $xmlStreamWriter->writeStartElement('token'); 
    143147        $xmlStreamWriter->writeElement('current', array(), $this->session->getCurrentToken()); 
  • trunk/src/main/resources/xsl/master.xsl

    r869 r1355  
    99  <xsl:import href="copy.xsl"/> 
    1010  <xsl:import href="stub.xsl"/> 
    11   <xsl:namespace-alias stylesheet-prefix="ixsl" result-prefix="xsl" /> 
     11  <xsl:import href="variant.xsl"/> 
     12  <xsl:namespace-alias stylesheet-prefix="ixsl" result-prefix="xsl"/> 
    1213 
    1314  <xsl:param name="__path" select="@path"/> 
  • trunk/src/test/php/net/stubbles/websites/memphis/stubMemphisProcessorTestCase.php

    r1270 r1355  
    841841        $this->mockMemphisTemplate->expects($this->at(4)) 
    842842                                  ->method('addGlobalVar') 
     843                                  ->with($this->equalTo('VARIANT_ALIAS'), $this->equalTo(null)); 
     844        $this->mockMemphisTemplate->expects($this->at(5)) 
     845                                  ->method('addGlobalVar') 
    843846                                  ->with($this->equalTo('SERVICE_URL'), $this->equalTo('?processor=jsonrpc')); 
    844         $this->mockMemphisTemplate->expects($this->at(5)) 
     847        $this->mockMemphisTemplate->expects($this->at(6)) 
    845848                                  ->method('addGlobalVar') 
    846849                                  ->with($this->equalTo('SID'), $this->equalTo('sessionid=313')); 
    847         $this->mockMemphisTemplate->expects($this->at(6)) 
     850        $this->mockMemphisTemplate->expects($this->at(7)) 
    848851                                  ->method('addGlobalVar') 
    849852                                  ->with($this->equalTo('SESSION_NAME'), $this->equalTo('sessionid')); 
    850         $this->mockMemphisTemplate->expects($this->at(7)) 
     853        $this->mockMemphisTemplate->expects($this->at(8)) 
    851854                                  ->method('addGlobalVar') 
    852855                                  ->with($this->equalTo('SESSION_ID'), $this->equalTo(313)); 
     
    893896        $this->mockMemphisTemplate->expects($this->at(4)) 
    894897                                  ->method('addGlobalVar') 
     898                                  ->with($this->equalTo('VARIANT_ALIAS'), $this->equalTo('variant')); 
     899        $this->mockMemphisTemplate->expects($this->at(5)) 
     900                                  ->method('addGlobalVar') 
    895901                                  ->with($this->equalTo('SERVICE_URL'), $this->equalTo('?processor=jsonrpc')); 
    896         $this->mockMemphisTemplate->expects($this->at(5)) 
     902        $this->mockMemphisTemplate->expects($this->at(6)) 
    897903                                  ->method('addGlobalVar') 
    898904                                  ->with($this->equalTo('SID'), $this->equalTo('$SID')); 
    899         $this->mockMemphisTemplate->expects($this->at(6)) 
     905        $this->mockMemphisTemplate->expects($this->at(7)) 
    900906                                  ->method('addGlobalVar') 
    901907                                  ->with($this->equalTo('SESSION_NAME'), $this->equalTo('$SESSION_NAME')); 
    902         $this->mockMemphisTemplate->expects($this->at(7)) 
     908        $this->mockMemphisTemplate->expects($this->at(8)) 
    903909                                  ->method('addGlobalVar') 
    904910                                  ->with($this->equalTo('SESSION_ID'), $this->equalTo('$SESSION_ID')); 
    905911        $this->memphisProcessor->setSSL(true); 
    906         $this->mockMemphisTemplate->expects($this->at(8)) 
     912        $this->mockMemphisTemplate->expects($this->at(9)) 
    907913                                  ->method('addGlobalVar') 
    908914                                  ->with($this->equalTo('SSL_MODE'), $this->equalTo('yes')); 
  • trunk/src/test/php/net/stubbles/websites/variantmanager/stubVariantsPreInterceptorProcessTestCase.php

    r1269 r1355  
    119119        $mockNewVariant = $this->getMock('stubVariant'); 
    120120        $mockNewVariant->expects($this->any())->method('getName')->will($this->returnValue('variantName')); 
     121        $mockNewVariant->expects($this->any())->method('getAlias')->will($this->returnValue('variantAlias')); 
    121122        $mockNewVariant->expects($this->any())->method('getFullQualifiedName')->will($this->returnValue('foo:variantName')); 
    122123        $this->mockSession->expects($this->once())->method('hasValue')->will($this->returnValue(false)); 
    123         $this->mockSession->expects($this->once()) 
    124                           ->method('putValue') 
    125                           ->with($this->equalTo('net.stubbles.websites.variantmanager.variant'), 
     124        $this->mockSession->expects($this->at(1)) 
     125                          ->method('putValue') 
     126                          ->with($this->equalTo('net.stubbles.websites.variantmanager.variant.name'), 
    126127                                 $this->equalTo('foo:variantName') 
     128                            ); 
     129        $this->mockSession->expects($this->at(2)) 
     130                          ->method('putValue') 
     131                          ->with($this->equalTo('net.stubbles.websites.variantmanager.variant.alias'), 
     132                                 $this->equalTo('variantAlias') 
    127133                            ); 
    128134        $this->mockResponse->expects($this->once())->method('setCookie'); 
     
    152158        $mockNewVariant = $this->getMock('stubVariant'); 
    153159        $mockNewVariant->expects($this->any())->method('getName')->will($this->returnValue('new')); 
     160        $mockNewVariant->expects($this->any())->method('getAlias')->will($this->returnValue('fresh')); 
    154161        $mockNewVariant->expects($this->any())->method('getFullQualifiedName')->will($this->returnValue('foo:new')); 
    155162        $mockCookieVariant = $this->getMock('stubVariant'); 
    156163        $mockCookieVariant->expects($this->any())->method('getName')->will($this->returnValue('cookie')); 
     164        $mockCookieVariant->expects($this->any())->method('getAlias')->will($this->returnValue('notthatfresh')); 
    157165        $mockCookieVariant->expects($this->any())->method('getFullQualifiedName')->will($this->returnValue('foo:cookie')); 
    158166        $this->mockSession->expects($this->once())->method('hasValue')->will($this->returnValue(false)); 
    159         $this->mockSession->expects($this->once()) 
    160                           ->method('putValue') 
    161                           ->with($this->equalTo('net.stubbles.websites.variantmanager.variant'), 
     167        $this->mockSession->expects($this->at(1)) 
     168                          ->method('putValue') 
     169                          ->with($this->equalTo('net.stubbles.websites.variantmanager.variant.name'), 
    162170                                 $this->equalTo('foo:new') 
     171                            ); 
     172        $this->mockSession->expects($this->at(2)) 
     173                          ->method('putValue') 
     174                          ->with($this->equalTo('net.stubbles.websites.variantmanager.variant.alias'), 
     175                                 $this->equalTo('fresh') 
    163176                            ); 
    164177        $this->mockResponse->expects($this->once())->method('setCookie'); 
     
    190203        $mockNewVariant = $this->getMock('stubVariant'); 
    191204        $mockNewVariant->expects($this->any())->method('getName')->will($this->returnValue('new')); 
     205        $mockNewVariant->expects($this->any())->method('getAlias')->will($this->returnValue('fresh')); 
    192206        $mockNewVariant->expects($this->any())->method('getFullQualifiedName')->will($this->returnValue('foo:new')); 
    193207        $mockCookieVariant = $this->getMock('stubVariant'); 
    194208        $mockCookieVariant->expects($this->any())->method('getName')->will($this->returnValue('cookie')); 
     209        $mockCookieVariant->expects($this->any())->method('getAlias')->will($this->returnValue('notthatfresh')); 
    195210        $mockCookieVariant->expects($this->any())->method('getFullQualifiedName')->will($this->returnValue('foo:cookie')); 
    196211        $this->mockSession->expects($this->once())->method('hasValue')->will($this->returnValue(false)); 
    197         $this->mockSession->expects($this->once()) 
    198                           ->method('putValue') 
    199                           ->with($this->equalTo('net.stubbles.websites.variantmanager.variant'), 
     212        $this->mockSession->expects($this->at(1)) 
     213                          ->method('putValue') 
     214                          ->with($this->equalTo('net.stubbles.websites.variantmanager.variant.name'), 
    200215                                 $this->equalTo('foo:cookie') 
     216                            ); 
     217        $this->mockSession->expects($this->at(2)) 
     218                          ->method('putValue') 
     219                          ->with($this->equalTo('net.stubbles.websites.variantmanager.variant.alias'), 
     220                                 $this->equalTo('notthatfresh') 
    201221                            ); 
    202222        $this->mockResponse->expects($this->once())->method('setCookie'); 
  • trunk/src/test/php/net/stubbles/websites/xml/stubXMLProcessorTestCase.php

    r1256 r1355  
    154154        $this->mockRequest->expects($this->once())->method('hasValue')->will($this->returnValue(false)); 
    155155        $this->mockPageFactory->expects($this->once())->method('getPage')->with($this->equalTo('conf/index')); 
    156         $this->mockXMLStreamWriter->expects($this->exactly(4))->method('writeStartElement'); 
    157         $this->mockXMLStreamWriter->expects($this->exactly(4))->method('writeEndElement'); 
     156        $this->mockXMLStreamWriter->expects($this->exactly(5))->method('writeStartElement'); 
     157        $this->mockXMLStreamWriter->expects($this->exactly(5))->method('writeEndElement'); 
    158158        $this->mockXMLSerializer->expects($this->once())->method('serialize'); 
    159159        $return = $this->xmlProcessor->process(); 
     
    188188        $this->page->addElement($pageElement2); 
    189189        $this->page->addElement($pageElement3); 
    190         $this->mockXMLStreamWriter->expects($this->exactly(4))->method('writeStartElement'); 
    191         $this->mockXMLStreamWriter->expects($this->exactly(4))->method('writeEndElement'); 
     190        $this->mockXMLStreamWriter->expects($this->exactly(5))->method('writeStartElement'); 
     191        $this->mockXMLStreamWriter->expects($this->exactly(5))->method('writeEndElement'); 
    192192        $this->mockXMLSerializer->expects($this->at(0)) 
    193193                                ->method('serialize')