Changeset 57
- Timestamp:
- 04/04/06 22:26:47 (3 years ago)
- Files:
-
- trunk/.classpath (modified) (1 diff)
- trunk/.project (modified) (1 diff)
- trunk/src/main/java/net/schst/XJConf/AttributeDefinition.java (modified) (1 diff)
- trunk/src/main/java/net/schst/XJConf/DefinitionParser.java (modified) (8 diffs)
- trunk/src/main/java/net/schst/XJConf/NamespaceDefinitions.java (modified) (1 diff)
- trunk/src/main/java/net/schst/XJConf/exceptions/InvalidNamespaceDefinitionException.java (added)
- trunk/src/test/java/net/schst/XJConf/tests/DefinitionParserAttributesTestCase.java (added)
- trunk/src/test/java/net/schst/XJConf/tests/DefinitionParserNamespacesTestCase.java (added)
- trunk/src/test/java/net/schst/XJConf/tests/DefinitionParserParseTestCase.java (modified) (1 diff)
- trunk/src/test/java/net/schst/XJConf/tests/DefinitionParserTypesTestCase.java (added)
- trunk/src/test/java/net/schst/XJConf/tests/NamespaceDefinitionTestCase.java (added)
- trunk/src/test/resources/tests/defines/DefinitionParserTypesTestCase.xml (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/.classpath
r56 r57 1 1 <?xml version="1.0" encoding="UTF-8"?> 2 2 <classpath> 3 <classpathentry exported="true" kind="var" path="CLOVER_RUNTIME"/> 3 4 <classpathentry kind="src" path="src/main/java"/> 4 <classpathentry kind="src" path="src/test/java"/> 5 <classpathentry kind="src" path="src/main/resources"/> 6 <classpathentry output="target/test-classes" kind="src" path="src/test/java"/> 7 <classpathentry output="target/test-classes" kind="src" path="src/test/resources"/> 5 8 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> 6 <classpathentry sourcepath="ECLIPSE_HOME/plugins/org.eclipse.jdt.source_3.1.1/src/org.junit_3.8.1/junitsrc.zip" kind="var" path="JUNIT_HOME/junit.jar"/>7 <classpathentry kind="output" path=" build"/>9 <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/> 10 <classpathentry kind="output" path="target/classes"/> 8 11 </classpath> trunk/.project
r18 r57 11 11 </arguments> 12 12 </buildCommand> 13 <buildCommand> 14 <name>com.cenqua.clover.eclipse.cloverjavabuilder</name> 15 <arguments> 16 </arguments> 17 </buildCommand> 13 18 </buildSpec> 14 19 <natures> trunk/src/main/java/net/schst/XJConf/AttributeDefinition.java
r39 r57 19 19 * @author Stephan Schmidt <stephan.schmidt@schlund.de> 20 20 */ 21 public class AttributeDefinition implements Definition {21 public class AttributeDefinition implements Definition { 22 22 23 23 /** trunk/src/main/java/net/schst/XJConf/DefinitionParser.java
r48 r57 1 /*2 * Created on 24.05.20053 */4 1 package net.schst.XJConf; 5 2 … … 11 8 import javax.xml.parsers.SAXParserFactory; 12 9 10 import net.schst.XJConf.exceptions.InvalidNamespaceDefinitionException; 13 11 import net.schst.XJConf.exceptions.InvalidTagDefinitionException; 14 12 import net.schst.XJConf.exceptions.XJConfException; … … 31 29 32 30 /** 31 * Constant for the default namespace 32 */ 33 public final static String DEFAULT_NAMESPACE = "__default"; 34 35 /** 33 36 * The current namespace 34 37 */ 35 private String currentNamespace = "__default";38 private String currentNamespace = DefinitionParser.DEFAULT_NAMESPACE; 36 39 37 40 /** … … 64 67 SAXParser saxParser = factory.newSAXParser(); 65 68 saxParser.parse(file, this); 66 } catch (Exception e) { 69 } catch (XJConfException e) { 70 throw e; 71 } catch (Exception e) { 67 72 throw new XJConfException("Could not read definition file.", e); 68 73 } … … 82 87 SAXParser saxParser = factory.newSAXParser(); 83 88 saxParser.parse(inputStream, this); 84 } catch (Exception e) { 85 throw new XJConfException("Could not read definition file.", e); 86 } 89 } catch (XJConfException e) { 90 throw e; 91 } catch (Exception e) { 92 throw new XJConfException("Could not read definition file.", e); 93 } 87 94 return this.defs; 88 95 } … … 102 109 String uri = atts.getValue("uri"); 103 110 if (uri == null) { 104 throw new Invalid TagDefinitionException("The <namespace> tag is missing the uri attribute.");111 throw new InvalidNamespaceDefinitionException("The <namespace> tag is missing the uri attribute."); 105 112 } 106 113 this.currentNamespace = uri; … … 227 234 228 235 if (qName.equals("namespace")) { 229 this.currentNamespace = "__default";236 this.currentNamespace = DefinitionParser.DEFAULT_NAMESPACE; 230 237 } 231 238 … … 266 273 TagDefinition def = (TagDefinition)this.defStack.pop(); 267 274 268 if (!this.defs. namespaceExists(this.currentNamespace)) {275 if (!this.defs.isNamespaceDefined(this.currentNamespace)) { 269 276 this.defs.addNamespaceDefinition(this.currentNamespace, new NamespaceDefinition(this.currentNamespace)); 270 277 } trunk/src/main/java/net/schst/XJConf/NamespaceDefinitions.java
r34 r57 112 112 } 113 113 } 114 115 public boolean namespaceExists(String namespaceURI) {116 return this.namespaces.containsKey(namespaceURI);117 }118 114 } trunk/src/test/java/net/schst/XJConf/tests/DefinitionParserParseTestCase.java
r56 r57 44 44 defParser.parse(stream); 45 45 } 46 47 /* 48 * Test method for parse with an invalid file name 49 */ 50 public void testParseExceptionString() { 51 DefinitionParser defParser = new DefinitionParser(); 52 try { 53 defParser.parse("invalid-file.xml"); 54 } catch (XJConfException e){ 55 return; 56 } 57 TestCase.fail("Expected XJConf exception because of invalid file."); 58 } 59 46 60 }
