Changeset 267
- Timestamp:
- 02/15/07 00:59:48 (1 year ago)
- Files:
-
- trunk/config/xml/pages/conf/index.xml (modified) (1 diff)
- trunk/config/xml/pages/memphis/index.xml (modified) (1 diff)
- trunk/config/xml/pages/txt/main_index.xml (modified) (1 diff)
- trunk/src/main/php/_test/TestXMLPageElement.php (modified) (2 diffs)
- trunk/src/main/php/net/stubbles/websites/memphis/stubMemphisPage.php (deleted)
- trunk/src/main/php/net/stubbles/websites/memphis/stubMemphisPageElement.php (modified) (2 diffs)
- trunk/src/main/php/net/stubbles/websites/memphis/stubMemphisPageFactory.php (deleted)
- trunk/src/main/php/net/stubbles/websites/memphis/stubMemphisPageProcessor.php (modified) (6 diffs)
- trunk/src/main/php/net/stubbles/websites/memphis/stubSimpleHTMLMemphisPageElement.php (modified) (4 diffs)
- trunk/src/main/php/net/stubbles/websites/stubBasePageElement.php (added)
- trunk/src/main/php/net/stubbles/websites/stubPage.php (added)
- trunk/src/main/php/net/stubbles/websites/stubPageElement.php (added)
- trunk/src/main/php/net/stubbles/websites/stubPageFactory.php (added)
- trunk/src/main/php/net/stubbles/websites/xml/stubXMLPage.php (deleted)
- trunk/src/main/php/net/stubbles/websites/xml/stubXMLPageElement.php (modified) (1 diff)
- trunk/src/main/php/net/stubbles/websites/xml/stubXMLPageFactory.php (deleted)
- trunk/src/main/php/net/stubbles/websites/xml/stubXMLProcessor.php (modified) (5 diffs)
- trunk/src/main/resources/xjconf/websites-memphis.xml (deleted)
- trunk/src/main/resources/xjconf/websites-xml.xml (deleted)
- trunk/src/main/resources/xjconf/websites.xml (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/config/xml/pages/conf/index.xml
r264 r267 2 2 <xj:configuration 3 3 xmlns:xj="http://xjconf.net/XJConf" 4 xmlns="http://stubbles.net/websites /xml">4 xmlns="http://stubbles.net/websites"> 5 5 <page> 6 <skin>default</skin> 7 <element type="_test.TestXMLPageElement" /> 6 <properties> 7 <property name="skin">default</property> 8 </properties> 9 <element type="_test.TestXMLPageElement" name="Test" /> 8 10 </page> 9 11 </xj:configuration> trunk/config/xml/pages/memphis/index.xml
r263 r267 2 2 <xj:configuration 3 3 xmlns:xj="http://xjconf.net/XJConf" 4 xmlns="http://stubbles.net/websites /memphis">5 <page title="Home">6 < element source="static/index.html" type="net.stubbles.websites.memphis.stubSimpleHTMLMemphisPageElement" />4 xmlns="http://stubbles.net/websites"> 5 <page> 6 <memphisElement source="static/index.html" type="net.stubbles.websites.memphis.stubSimpleHTMLMemphisPageElement" /> 7 7 </page> 8 8 </xj:configuration> trunk/config/xml/pages/txt/main_index.xml
r264 r267 21 21 <stub:lang name="en_UK">Das ist ein "british english" Text.</stub:lang> 22 22 </stub:langselect> 23 <div><p><ixsl:value-of select="/document/ foo" /></p></div>23 <div><p><ixsl:value-of select="/document/Test/foo" /></p></div> 24 24 <p>foo</p> 25 25 </part> trunk/src/main/php/_test/TestXMLPageElement.php
r264 r267 2 2 /** 3 3 * Example class for a xml page element. 4 * 4 * 5 5 * @author Frank Kleine <mikey@stubbles.net> 6 6 * @package stubbles 7 7 * @subpackage websites_xml 8 8 */ 9 stubClassLoader::load('net.stubbles.websites.xml.stubXMLPageElement'); 9 stubClassLoader::load('net.stubbles.websites.stubBasePageElement', 10 'net.stubbles.websites.xml.stubXMLPageElement' 11 ); 10 12 /** 11 13 * Example class for a xml page element. 12 * 14 * 13 15 * @package stubbles 14 16 * @subpackage websites_xml 15 17 */ 16 class TestXMLPageElement extends stubBase Object implements stubXMLPageElement18 class TestXMLPageElement extends stubBasePageElement implements stubXMLPageElement 17 19 { 18 20 /** … … 24 26 * @param stubXMLStreamWriter $document the document to write the result as xml into 25 27 */ 26 public function process(stubRequest $request, stubSession $session, stubResponse $response , stubXMLStreamWriter $document)28 public function process(stubRequest $request, stubSession $session, stubResponse $response) 27 29 { 28 $document->writeElement('foo', array(),'Hello World!');30 return array('foo' => 'Hello World!'); 29 31 } 30 32 } trunk/src/main/php/net/stubbles/websites/memphis/stubMemphisPageElement.php
r263 r267 2 2 /** 3 3 * Interface for a memphis page element. 4 * 4 * 5 5 * @author Frank Kleine <mikey@stubbles.net> 6 6 * @package stubbles 7 7 * @subpackage websites_memphis 8 8 */ 9 stubClassLoader::load('net.stubbles.ipo.request.stubRequest', 10 'net.stubbles.ipo.session.stubSession', 11 'net.stubbles.ipo.response.stubBaseResponse' 12 ); 9 stubClassLoader::load('net.stubbles.websites.stubPageElement'); 13 10 /** 14 11 * Interface for a memphis page element. 15 * 12 * 16 13 * @package stubbles 17 14 * @subpackage websites_memphis 18 15 */ 19 interface stubMemphisPageElement 16 interface stubMemphisPageElement extends stubPageElement 20 17 { 21 18 /** … … 25 22 */ 26 23 public function setSource($source); 27 24 28 25 /** 29 26 * returns the source of the element 30 * 27 * 31 28 * @return string 32 29 */ 33 30 public function getSource(); 34 35 /**36 * processes the page element37 *38 * Please note that an element should catch all exceptions and wrap them39 * into the response!40 *41 * @param stubRequest $request the request data42 * @param stubSession $session current session43 * @param stubResponse $response contains response data44 */45 public function process(stubRequest $request, stubSession $session, stubResponse $response);46 31 } 47 32 ?> trunk/src/main/php/net/stubbles/websites/memphis/stubMemphisPageProcessor.php
r263 r267 2 2 /** 3 3 * Processor for memphis pages. 4 * 4 * 5 5 * @author Frank Kleine <mikey@stubbles.net> 6 6 * @package stubbles … … 11 11 'net.stubbles.ipo.session.stubSession', 12 12 'net.stubbles.ipo.response.stubBaseResponse', 13 'net.stubbles.websites. memphis.stubMemphisPageFactory'13 'net.stubbles.websites.stubPageFactory' 14 14 ); 15 15 /** 16 16 * Processor for memphis pages. 17 * 17 * 18 18 * @package stubbles 19 19 * @subpackage websites_memphis … … 42 42 * the factory that creates the page instance 43 43 * 44 * @var stub MemphisPageFactory44 * @var stubPageFactory 45 45 */ 46 46 protected $pageFactory; 47 47 48 48 /** 49 49 * constructor … … 57 57 $this->session = $session; 58 58 $this->response = new stubBaseResponse(); 59 $this->pageFactory = new stub MemphisPageFactory(stubXJConfLoader::getInstance());59 $this->pageFactory = new stubPageFactory(stubXJConfLoader::getInstance()); 60 60 } 61 61 62 62 /** 63 63 * processes the request 64 * 64 * 65 65 * @return stubProcessor 66 66 */ … … 75 75 $pageName = 'index'; 76 76 } 77 77 78 78 try { 79 79 $page = $this->pageFactory->getPage(stubConfig::getConfigPath() . '/xml/pages/memphis/' . $pageName . '.xml'); … … 82 82 return $this; 83 83 } 84 85 $page->process($this->request, $this->session, $this->response); 84 85 $elements = $page->getElements(); 86 foreach ($elements as $name => $element) { 87 $element->process($this->request, $this->session, $this->response); 88 } 89 86 90 return $this; 87 91 } 88 92 89 93 /** 90 94 * returns the created response trunk/src/main/php/net/stubbles/websites/memphis/stubSimpleHTMLMemphisPageElement.php
r263 r267 2 2 /** 3 3 * Class that represents an page element. 4 * 4 * 5 5 * @author Frank Kleine <mikey@stubbles.net> 6 6 * @package stubbles 7 7 * @subpackage websites_memphis 8 8 */ 9 stubClassLoader::load('net.stubbles.ipo.request.stubRequest', 10 'net.stubbles.ipo.session.stubSession', 11 'net.stubbles.ipo.response.stubBaseResponse', 9 stubClassLoader::load('net.stubbles.websites.stubBasePageElement', 12 10 'net.stubbles.websites.memphis.stubMemphisPageElement' 13 11 ); 14 12 /** 15 13 * Class that represents an page element. 16 * 14 * 17 15 * @package stubbles 18 16 * @subpackage websites_memphis 19 17 */ 20 class stubSimpleHTMLMemphisPageElement extends stubBase Object implements stubMemphisPageElement18 class stubSimpleHTMLMemphisPageElement extends stubBasePageElement implements stubMemphisPageElement 21 19 { 22 20 /** … … 26 24 */ 27 25 protected $source = ''; 28 26 29 27 /** 30 28 * set the source of the element … … 36 34 $this->source = $source; 37 35 } 38 36 39 37 /** 40 38 * returns the source of the element 41 * 39 * 42 40 * @return string 43 41 */ … … 46 44 return $source; 47 45 } 48 46 49 47 /** 50 48 * processes the page element trunk/src/main/php/net/stubbles/websites/xml/stubXMLPageElement.php
r266 r267 2 2 /** 3 3 * Interface for a xml page element. 4 * 4 * 5 5 * @author Frank Kleine <mikey@stubbles.net> 6 6 * @package stubbles 7 7 * @subpackage websites_xml 8 8 */ 9 stubClassLoader::load('net.stubbles.ipo.request.stubRequest', 10 'net.stubbles.ipo.session.stubSession', 11 'net.stubbles.ipo.response.stubBaseResponse' 12 ); 9 stubClassLoader::load('net.stubbles.websites.stubPageElement'); 13 10 /** 14 11 * Interface for a xml page element. 15 * 12 * 16 13 * @package stubbles 17 14 * @subpackage websites_xml 18 15 */ 19 interface stubXMLPageElement 16 interface stubXMLPageElement extends stubPageElement 20 17 { 21 /** 22 * processes the page element 23 * 24 * @param stubRequest $request the request data 25 * @param stubSession $session current session 26 * @param stubResponse $response contains response data 27 * @param stubXMLStreamWriter $document the document to write the result as xml into 28 */ 29 public function process(stubRequest $request, stubSession $session, stubResponse $response, stubXMLStreamWriter $document); 18 // intentionally empty 30 19 } 31 20 ?> trunk/src/main/php/net/stubbles/websites/xml/stubXMLProcessor.php
r264 r267 2 2 /** 3 3 * Default processor delivered by stubbles. 4 * 4 * 5 5 * @author Frank Kleine <mikey@stubbles.net> 6 6 * @package stubbles … … 11 11 'net.stubbles.ipo.session.stubSession', 12 12 'net.stubbles.ipo.response.stubBaseResponse', 13 'net.stubbles.websites. xml.stubXMLPageFactory',13 'net.stubbles.websites.stubPageFactory', 14 14 'net.stubbles.util.validators.stubRegexValidator', 15 'net.stubbles.xml.stubDomXMLStreamWriter' 15 'net.stubbles.xml.stubDomXMLStreamWriter', 16 'net.stubbles.xml.serializer.stubXMLSerializer' 16 17 ); 17 18 /** 18 19 * Default processor delivered by stubbles. 19 * 20 * 20 21 * @package stubbles 21 22 * @subpackage websites_xml 22 23 * @todo use a stubXMLStreamWriterFactory to create a stubXMLStreamWriter 23 * @todo think about how to get the skin information from 24 * @todo think about how to get the skin information from 24 25 * stubXMLPageDocument into the stubXMLPagePostInterceptor 25 26 */ … … 44 45 */ 45 46 protected $response; 46 47 47 48 /** 48 49 * constructor … … 57 58 $this->response = new stubBaseResponse(); 58 59 } 59 60 60 61 /** 61 62 * processes the request 62 * 63 * 63 64 * @return stubProcessor 64 65 * @todo think about putting default values into the result document … … 74 75 $pageName = 'index'; 75 76 } 76 77 77 78 $xmlStreamWriter = new stubDomXMLStreamWriter(); 78 79 $xmlStreamWriter->writeStartElement('document'); 79 80 $xmlPageFactory = new stubXMLPageFactory(stubXJConfLoader::getInstance()); 81 $page = $xmlPageFactory->getPage(stubConfig::getConfigPath() . '/xml/pages/conf/' . $pageName . '.xml'); 82 $page->process($this->request, $this->session, $this->response, $xmlStreamWriter); 83 80 $xmlSerializer = new stubXMLSerializer(); 81 82 $pageFactory = new stubPageFactory(stubXJConfLoader::getInstance()); 83 $page = $pageFactory->getPage(stubConfig::getConfigPath() . '/xml/pages/conf/' . $pageName . '.xml'); 84 $elements = $page->getElements(); 85 foreach ($elements as $name => $element) { 86 $data = $element->process($this->request, $this->session, $this->response); 87 $xmlSerializer->serialize($data, $xmlStreamWriter, array(stubXMLSerializer::OPT_ROOT_TAG => $name)); 88 } 89 90 84 91 $xmlStreamWriter->writeEndElement(); // end document 85 92 $this->response->replaceData($xmlStreamWriter->asXML()); 86 93 87 94 return $this; 88 95 } 89 96 90 97 /** 91 98 * returns the created response
