Changeset 565
- Timestamp:
- 04/19/07 18:43:32 (1 year ago)
- Files:
-
- trunk/config/xml/pages/conf/index.xml (modified) (1 diff)
- trunk/config/xml/pages/txt/main_index.xml (modified) (1 diff)
- trunk/docroot/xml.php (modified) (1 diff)
- trunk/src/main/php/_test/CurrentTimeXMLPageElement.php (added)
- trunk/src/main/php/net/stubbles/websites/xml/stubXMLPageElementCachingDecorator.php (added)
- trunk/src/main/php/net/stubbles/websites/xml/stubXMLPageElementDecorator.php (added)
- trunk/src/main/php/net/stubbles/websites/xml/stubXMLProcessor.php (modified) (1 diff)
- trunk/src/main/resources/xjconf/websites.xml (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/config/xml/pages/conf/index.xml
r267 r565 7 7 <property name="skin">default</property> 8 8 </properties> 9 <element type="_test.TestXMLPageElement" name="Test" /> 9 <xmlElement type="_test.TestXMLPageElement" name="Test" /> 10 11 <xmlElementCachingDecorator lifetime="60"> 12 <xmlElement type="_test.CurrentTimeXMLPageElement" name="cached" /> 13 </xmlElementCachingDecorator> 14 <xmlElement type="_test.CurrentTimeXMLPageElement" name="uncached" /> 10 15 </page> 11 16 </xj:configuration> trunk/config/xml/pages/txt/main_index.xml
r338 r565 27 27 <stub:item type="text" name="bar"/> 28 28 </stub:itemframe> 29 </stub:form> 29 </stub:form> 30 31 <h1>Example for decorators</h1> 32 Element without cache : <ixsl:value-of select="document/uncached/currentTime"/><br/> 33 Element decorated with cache (1 minute) : <ixsl:value-of select="document/cached/currentTime"/><br/> 30 34 </part> 31 35 32 36 <part name="foo.bar">Formularelement</part> 33 37 </parts> trunk/docroot/xml.php
r474 r565 1 1 <?php 2 2 require '../config/php/config.php'; 3 require '../lib/stubbles.php'; 4 stubClassLoader::load('net.stubbles.websites.xml.stubXMLProcessor', 5 'net.stubbles.websites.xml.stubXMLPostInterceptor', 6 'net.stubbles.websites.xml.stubShowLastXMLInterceptor', 7 'net.stubbles.websites.stubPageXJConfFactory', 8 'net.stubbles.ipo.request.stubWebRequest', 9 'net.stubbles.ipo.request.filters.stubAbstractFilter', 10 'net.stubbles.ipo.request.stubRequestValueError', 11 'net.stubbles.ipo.session.stubPHPSession', 12 'net.stubbles.ipo.response.stubBaseResponse' 3 require '../src/main/php/net/stubbles/stubClassLoader.php'; 4 require '../lib/starReader.php'; 5 6 stubClassLoader::load('net.stubbles.websites.stubFrontController', 7 'net.stubbles.ipo.interceptors.stubInterceptorXJConfInitializer', 8 'net.stubbles.websites.processors.stubProcessorResolverXJConfFactory', 9 'net.stubbles.util.stubRegistryXJConfInitializer' 13 10 ); 14 class TestFilter extends stubAbstractFilter 15 { 16 public function execute($value) 17 { 18 throw new stubFilterException(new stubRequestValueError('foo', array('de_DE' => 'Dies ist eine deutsche Fehlermeldung', 'en_EN' => 'This is an english error message'))); 19 } 20 } 11 21 12 class Bootstrap 22 13 { 23 14 public static function main() 24 { 25 $request = new stubWebRequest(); 26 $session = new stubPHPSession($request, 'stubSID'); 27 $response = new stubBaseResponse(); 28 $preInterceptor = new stubShowLastXMLInterceptor(); 29 $preInterceptor->preProcess($request, $session, $response); 30 if ($request->isCancelled() == true) { 31 $response->send(); 32 return; 33 } 34 $request->getFilteredValue(new TestFilter(), 'foo_bar'); 35 $request->getFilteredValue(new TestFilter(), 'foo_bar'); 36 $pageFactory = new stubPageXJConfFactory(stubXJConfLoader::getInstance()); 37 $processor = new stubXMLProcessor($request, $session, $response, $pageFactory); 38 $response = $processor->process()->getResponse(); 39 $preInterceptor->postProcess($request, $session, $response); 40 $postInterceptor = new stubXMLPostInterceptor(); 41 $postInterceptor->postProcess($request, $session, $response); 42 $response->send(); 15 { 16 $controller = new stubFrontController(new stubRegistryXJConfInitializer(), 17 new stubInterceptorXJConfInitializer(), 18 new stubProcessorResolverXJConfFactory()); 19 $controller->process(); 43 20 } 44 21 } trunk/src/main/php/net/stubbles/websites/xml/stubXMLProcessor.php
r404 r565 54 54 $prefixRequest = new stubRequestPrefixDecorator($this->request, ''); 55 55 $formValues = array(); 56 57 56 58 foreach ($elements as $name => $element) { 57 59 $prefixRequest->setPrefix($name); trunk/src/main/resources/xjconf/websites.xml
r267 r565 12 12 </abstractTag> 13 13 <abstractTag extends="element" name="xmlElement" abstractType="net.stubbles.websites.xml.stubXMLPageElement" concreteTypeAttribute="type" setter="addElement" /> 14 15 <!-- Decorators --> 16 <abstractTag name="xmlElementDecorator" abstractType="net.stubbles.websites.xml.stubXMLPageElement" concreteTypeAttribute="type" setter="addElement"> 17 <constructor> 18 <child name="xmlElement"/> 19 </constructor> 20 </abstractTag> 21 22 <tag name="xmlElementCachingDecorator" type="net.stubbles.websites.xml.stubXMLPageElementCachingDecorator" setter="addElement"> 23 <attribute name="lifetime" type="int"/> 24 <constructor> 25 <child name="xmlElement"/> 26 </constructor> 27 </tag> 28 14 29 </namespace> 15 30 </defines>
