Changeset 439
- Timestamp:
- 03/29/07 15:24:51 (2 years ago)
- Files:
-
- trunk/src/main/php/net/stubbles/ipo/interceptors/stubInterceptorXJConfInitializer.php (modified) (1 diff)
- trunk/src/main/php/net/stubbles/rdbms/stubDatabaseInitializer.php (modified) (1 diff)
- trunk/src/main/php/net/stubbles/util/log/stubLoggerXJConfFactory.php (modified) (1 diff)
- trunk/src/main/php/net/stubbles/util/stubRegistryXJConfInitializer.php (modified) (1 diff)
- trunk/src/main/php/net/stubbles/util/xjconf/stubXJConfFacade.php (modified) (6 diffs)
- trunk/src/main/php/net/stubbles/websites/processors/stubProcessorResolverXJConfFactory.php (modified) (1 diff)
- trunk/src/main/php/net/stubbles/websites/stubXJConfPageFactory.php (modified) (1 diff)
- trunk/src/main/php/net/stubbles/websites/variantmanager/stubXJConfVariantFactory.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/main/php/net/stubbles/ipo/interceptors/stubInterceptorXJConfInitializer.php
r437 r439 64 64 { 65 65 $xjconf = new stubXJConfFacade(array('http://stubbles.net/ipo/interceptors' => stubXJConfLoader::getInstance())); 66 $xjconf-> setDefinitionFile(stubFactory::getResourceURI('xjconf/interceptors.xml'));66 $xjconf->parseAndAddDefinition(stubFactory::getResourceURI('xjconf/interceptors.xml')); 67 67 $xjconf->enableXIncludes(); 68 68 $xjconf->parse($this->configFile); trunk/src/main/php/net/stubbles/rdbms/stubDatabaseInitializer.php
r437 r439 28 28 { 29 29 $xjconf = new stubXJConfFacade(array('http://stubbles.net/rdbms' => stubXJConfLoader::getInstance())); 30 $xjconf-> setDefinitionFile(stubFactory::getResourceURI('xjconf/rdbms.xml'));30 $xjconf->parseAndAddDefinition(stubFactory::getResourceURI('xjconf/rdbms.xml')); 31 31 $xjconf->enableXIncludes(); 32 32 $xjconf->parse($configFile); trunk/src/main/php/net/stubbles/util/log/stubLoggerXJConfFactory.php
r437 r439 29 29 { 30 30 $xjconf = new stubXJConfFacade(array('http://stubbles.net/util/log' => stubXJConfLoader::getInstance())); 31 $xjconf-> setDefinitionFile(stubFactory::getResourceURI('xjconf/logging.xml'));31 $xjconf->parseAndAddDefinition(stubFactory::getResourceURI('xjconf/logging.xml')); 32 32 $configExtension = new stubConfigXJConfExtension(); 33 33 $xjconf->addExtension($configExtension); trunk/src/main/php/net/stubbles/util/stubRegistryXJConfInitializer.php
r437 r439 53 53 { 54 54 $xjconf = new stubXJConfFacade(array('http://stubbles.net/util/registry' => stubXJConfLoader::getInstance())); 55 $xjconf-> setDefinitionFile(stubFactory::getResourceURI('xjconf/registry.xml'));55 $xjconf->parseAndAddDefinition(stubFactory::getResourceURI('xjconf/registry.xml')); 56 56 $xjconf->enableXIncludes(); 57 57 $xjconf->parse($this->configFile); trunk/src/main/php/net/stubbles/util/xjconf/stubXJConfFacade.php
r437 r439 12 12 ); 13 13 /** 14 * Facade for XJConf s.14 * Facade for XJConf. 15 15 * 16 16 * @package stubbles … … 24 24 * @var array<string,XJConfClassLoader> 25 25 */ 26 protected $classLoaders = array(); 27 /** 28 * file that contains the xml definitions 29 * 30 * @var string 31 */ 32 protected $definitionFile; 26 protected $classLoaders = array(); 33 27 /** 34 28 * list of extensions to use … … 36 30 * @var array<string,Extension> 37 31 */ 38 protected $extensions = array(); 32 protected $extensions = array(); 33 /** 34 * list of namespace definitions to merge with default one 35 * 36 * @var array<NamespaceDefinition> 37 */ 38 protected $namespaceDefinitions = array(); 39 39 /** 40 40 * the definition parser … … 59 59 $this->classLoaders = $classLoaders; 60 60 } 61 62 /** 63 * sets the definition file to parse 64 * 65 * @param string $definitionFile name of the file that contains the definitions 66 */ 67 public function setDefinitionFile($definitionFile) 68 { 69 $this->definitionFile = $definitionFile; 70 } 71 61 72 62 /** 73 63 * add an extension that handles all tags in given namespace … … 96 86 97 87 /** 88 * add a namespace definition 89 * 90 * @param NamespaceDefinition $namespaceDefinition 91 */ 92 public function addNamespaceDefinition(NamespaceDefinition $namespaceDefinition) 93 { 94 $this->namespaceDefinitions[$namespaceDefinition->getNamespaceURI()] = $namespaceDefinition; 95 } 96 97 /** 98 * add a namespace definition 99 * 100 * @param NamespaceDefinitions $namespaceDefinitions 101 */ 102 public function addNamespaceDefinitions(NamespaceDefinitions $namespaceDefinitions) 103 { 104 $this->namespaceDefinitions = array_merge($this->namespaceDefinitions, $namespaceDefinitions->getDefinedNamespaces()); 105 } 106 107 /** 108 * parses a definition and returns the namespace definitions 109 * 110 * @param string $definitionFile 111 * @return NamespaceDefinitions 112 */ 113 public function parseDefinition($definitionFile) 114 { 115 if (null == $this->definitionParser) { 116 $this->definitionParser = new DefinitionParser($this->classLoaders); 117 } 118 119 return $this->definitionParser->parse($definitionFile); 120 } 121 122 /** 123 * parses a definition file and adds its definitions 124 * 125 * @param string $definitionFile 126 */ 127 public function parseAndAddDefinition($definitionFile) 128 { 129 $this->addNamespaceDefinitions($this->parseDefinition($definitionFile)); 130 } 131 132 /** 98 133 * parses a given file and creates the data structure described in this file 99 134 * … … 103 138 public function parse($filename) 104 139 { 105 if (null == $this->definitionParser) { 106 $this->definitionParser = new DefinitionParser($this->classLoaders); 107 $this->xmlParser = new XmlParser(); 140 if (null == $this->xmlParser) { 141 $this->xmlParser = new XmlParser(); 108 142 } 109 143 110 $this->xmlParser->setTagDefinitions($this->definitionParser->parse($this->definitionFile)); 144 $namespaceDefinitions = new NamespaceDefinitions(); 145 foreach ($this->namespaceDefinitions as $namespaceURI => $namespaceDefintion) { 146 $namespaceDefinitions->addNamespaceDefinition($namespaceURI, $namespaceDefintion); 147 } 148 $this->xmlParser->setTagDefinitions($namespaceDefinitions); 111 149 foreach ($this->extensions as $namespace => $extension) { 112 $this->xmlParser->addExtension($extension, $namespace);150 $this->xmlParser->addExtension($extension, $namespace); 113 151 } 114 152 trunk/src/main/php/net/stubbles/websites/processors/stubProcessorResolverXJConfFactory.php
r401 r439 59 59 { 60 60 $xjconf = new stubXJConfFacade(array('http://stubbles.net/websites' => stubXJConfLoader::getInstance())); 61 $xjconf-> setDefinitionFile(stubFactory::getResourceURI('xjconf/processors.xml'));61 $xjconf->parseAndAddDefinition(stubFactory::getResourceURI('xjconf/processors.xml')); 62 62 $xjconf->parse($this->configFile); 63 63 $this->resolver = $xjconf->getConfigValue('resolver'); trunk/src/main/php/net/stubbles/websites/stubXJConfPageFactory.php
r386 r439 34 34 if (null == self::$xjconf) { 35 35 self::$xjconf = new stubXJConfFacade(array('http://stubbles.net/websites' => stubXJConfLoader::getInstance())); 36 self::$xjconf-> setDefinitionFile(stubFactory::getResourceURI('xjconf/websites.xml'));36 self::$xjconf->parseAndAddDefinition(stubFactory::getResourceURI('xjconf/websites.xml')); 37 37 } 38 38 } trunk/src/main/php/net/stubbles/websites/variantmanager/stubXJConfVariantFactory.php
r386 r439 29 29 { 30 30 $xjconf = new stubXJConfFacade(array('http://stubbles.net/websites/variantmanager' => stubXJConfLoader::getInstance())); 31 $xjconf-> setDefinitionFile(stubFactory::getResourceURI('xjconf/variantmanager.xml'));31 $xjconf->parseAndAddDefinition(stubFactory::getResourceURI('xjconf/variantmanager.xml')); 32 32 33 33 if (null == $configFile) {
