/** * Check the Complex Items. * * @throws Exception */ private void checkComplex() throws Exception { XPathComponentHelper xpathHelper = new XPathComponentHelper(); if (this.extension == null) { XMLTestCase.fail("Extension base name is not set."); } String xpath = xpathHelper.xpathComponentName(this.componentName); XMLAssert.assertXpathExists(xpath, this.getXsdSourceDocument()); xpath = xpathHelper.xpathCompExtenBase(this.componentName, this.extension); XMLAssert.assertXpathExists(xpath, this.getXsdSourceDocument()); if (this.sequenceFields.isEmpty() == true && this.choiceSequenceFields.isEmpty() == true) { XMLTestCase.assertTrue(true); } else { // Check all the fields. for (Iterator fields = sequenceFields.iterator(); fields.hasNext(); ) { ComponentField seqField = (ComponentField) fields.next(); xpath = xpathHelper.xpathCompExtElements( this.componentName, this.extension, seqField.getFieldName()); XMLAssert.assertXpathExists(xpath, this.getXsdSourceDocument()); // xpath = xpathHelper.xpathCompExtElementDoc(this.componentName, this.extension, // seqField.getFieldName()); // xmlTest.assertXpathExists(xpath, this.getXsdSourceDocument()); if (seqField.getMinOccurs() != null) { if (seqField.getMinOccurs().equalsIgnoreCase("0")) { xpath = xpathHelper.xpathCompExtElementOptional( this.componentName, this.extension, seqField.getFieldName()); } else { xpath = xpathHelper.xpathCompExtElementMinOccurs( this.componentName, this.extension, seqField.getFieldName(), seqField.getMinOccurs()); } XMLAssert.assertXpathExists(xpath, this.getXsdSourceDocument()); } if (seqField.getMaxOccurs() != null) { xpath = xpathHelper.xpathCompExtElementMaxOccurs( this.componentName, this.extension, seqField.getFieldName(), seqField.getMaxOccurs()); XMLAssert.assertXpathExists(xpath, this.getXsdSourceDocument()); } } } }
/* (non-Javadoc) * @see org.starstandard.oagis90.framework.impl.IComplexType#addChoiceField(java.lang.String, java.lang.String, java.lang.String, java.lang.String) */ public void addChoiceField(String fieldName, String type, String minOccurs, String maxOccurs) { ComponentField addField = new ComponentField(); addField.setFieldName(fieldName); addField.setDataType(type); addField.setMaxOccurs(maxOccurs); addField.setMinOccurs(minOccurs); choiceSequenceFields.add(addField); }
/* (non-Javadoc) * @see org.starstandard.oagis90.framework.impl.IComplexType#addSequenceField(java.lang.String, java.lang.String) */ public void addSequenceField(String fieldName, String type) { ComponentField addField = new ComponentField(); addField.setFieldName(fieldName); addField.setDataType(type); addField.setMaxOccurs(null); addField.setMinOccurs(null); sequenceFields.add(addField); }
private void checkSequence() throws Exception { XPathComponentHelper xpathHelper = new XPathComponentHelper(); if (this.sequenceFields.isEmpty() == true && this.choiceSequenceFields.isEmpty() == true) { XMLTestCase.fail("Component has no fields"); } String xpath = xpathHelper.xpathComponentName(this.componentName); XMLAssert.assertXpathExists(xpath, this.getXsdSourceDocument()); // Check all the fields. for (Iterator fields = sequenceFields.iterator(); fields.hasNext(); ) { ComponentField seqField = (ComponentField) fields.next(); xpath = xpathHelper.xpathCompElement(this.componentName, seqField.getFieldName()); XMLAssert.assertXpathExists(xpath, this.getXsdSourceDocument()); // xpath = xpathHelper.xpathCompElementDoc(this.componentName, seqField.getFieldName()); // xmlTest.assertXpathExists(xpath, this.getXsdSourceDocument()); if (seqField.getMinOccurs() != null) { if (seqField.getMinOccurs().equalsIgnoreCase("0")) { xpath = xpathHelper.xpathCompElementOptional(this.componentName, seqField.getFieldName()); } else { xpath = xpathHelper.xpathCompElementMinOccurs( this.componentName, seqField.getFieldName(), seqField.getMinOccurs()); } XMLAssert.assertXpathExists(xpath, this.getXsdSourceDocument()); } if (seqField.getMaxOccurs() != null) { xpath = xpathHelper.xpathCompElementMaxOccurs( this.componentName, seqField.getFieldName(), seqField.getMaxOccurs()); XMLAssert.assertXpathExists(xpath, this.getXsdSourceDocument()); } } // Check all Choices if (choiceSequenceFields.isEmpty() == false) { for (Iterator fields = choiceSequenceFields.iterator(); fields.hasNext(); ) { ComponentField choiceField = (ComponentField) fields.next(); xpath = xpathHelper.xpathSequenceChoiceSequenceElement( this.componentName, choiceField.getFieldName(), choiceField.getDataType()); XMLAssert.assertXpathExists(xpath, this.getXsdSourceDocument()); // xpath = xpathHelper.xpathSequenceChoiceSequenceElementDoc(this.componentName, // choiceField.getFieldName()); // xmlTest.assertXpathExists(xpath, this.getXsdSourceDocument()); if (choiceField.getMinOccurs() != null) { if (choiceField.getMinOccurs().equalsIgnoreCase("0")) { xpath = xpathHelper.xpathSequenceChoiceSequenceElementOptional( this.componentName, choiceField.getFieldName(), choiceField.getDataType()); } else { xpath = xpathHelper.xpathSequenceChoiceSequenceElementMinOccurs( this.componentName, choiceField.getFieldName(), choiceField.getDataType(), choiceField.getMinOccurs()); } XMLAssert.assertXpathExists(xpath, this.getXsdSourceDocument()); } if (choiceField.getMaxOccurs() != null) { xpath = xpathHelper.xpathSequenceChoiceSequenceElementMaxOccurs( this.componentName, choiceField.getFieldName(), choiceField.getDataType(), choiceField.getMaxOccurs()); XMLAssert.assertXpathExists(xpath, this.getXsdSourceDocument()); } } } }