use of org.apache.ws.commons.schema.XmlSchemaElement in project ddf by codice.
the class FeatureMetacardTypeTest method testFeatureMetacardTypeNonQueryGmlProperty.
@Test
public void testFeatureMetacardTypeNonQueryGmlProperty() {
XmlSchema schema = new XmlSchema();
XmlSchemaElement gmlElement = new XmlSchemaElement(schema, true);
gmlElement.setSchemaType(new XmlSchemaComplexType(schema, false));
gmlElement.setSchemaTypeName(new QName(Wfs10Constants.GML_NAMESPACE, GML));
gmlElement.setName(ELEMENT_NAME_1);
XmlSchemaElement gmlElement2 = new XmlSchemaElement(schema, true);
gmlElement2.setSchemaType(new XmlSchemaComplexType(schema, false));
gmlElement2.setSchemaTypeName(new QName(Wfs10Constants.GML_NAMESPACE, GML));
gmlElement2.setName(ELEMENT_NAME_2);
List<String> nonQueryProps = new ArrayList<String>();
nonQueryProps.add(ELEMENT_NAME_2);
FeatureMetacardType featureMetacardType = new FeatureMetacardType(schema, FEATURE_TYPE, nonQueryProps, Wfs10Constants.GML_NAMESPACE);
assertTrue(featureMetacardType.getGmlProperties().size() == 2);
AttributeDescriptor attrDesc = featureMetacardType.getAttributeDescriptor(prefix(ELEMENT_NAME_1));
assertNotNull(attrDesc);
assertTrue(attrDesc.getType() == BasicTypes.GEO_TYPE);
assertTrue(attrDesc.isIndexed());
AttributeDescriptor attrDesc2 = featureMetacardType.getAttributeDescriptor(prefix(ELEMENT_NAME_2));
assertNotNull(attrDesc2);
assertTrue(attrDesc2.getType() == BasicTypes.GEO_TYPE);
assertFalse(attrDesc2.isIndexed());
}
use of org.apache.ws.commons.schema.XmlSchemaElement in project ddf by codice.
the class FeatureMetacardTypeTest method testfeatureMetacardTypeFindSingleGmlProperty.
@Test
public void testfeatureMetacardTypeFindSingleGmlProperty() {
XmlSchema schema = new XmlSchema();
XmlSchemaElement gmlElement = new XmlSchemaElement(schema, true);
gmlElement.setSchemaType(new XmlSchemaComplexType(schema, false));
gmlElement.setSchemaTypeName(new QName(Wfs10Constants.GML_NAMESPACE, GML));
gmlElement.setName(ELEMENT_NAME_1);
FeatureMetacardType featureMetacardType = new FeatureMetacardType(schema, FEATURE_TYPE, NON_QUERYABLE_PROPS, Wfs10Constants.GML_NAMESPACE);
assertTrue(featureMetacardType.getGmlProperties().size() == 1);
assertAttributeDescriptor(featureMetacardType, ELEMENT_NAME_1, BasicTypes.GEO_TYPE);
}
use of org.apache.ws.commons.schema.XmlSchemaElement in project ddf by codice.
the class FeatureMetacardTypeTest method testFeatureMetacardTypeSingleStringProperty.
@Test
public void testFeatureMetacardTypeSingleStringProperty() {
XmlSchema schema = new XmlSchema();
XmlSchemaElement stringElement = new XmlSchemaElement(schema, true);
stringElement.setSchemaType(new XmlSchemaSimpleType(schema, false));
stringElement.setSchemaTypeName(Constants.XSD_STRING);
stringElement.setName(ELEMENT_NAME_1);
schema.getElements().put(new QName(ELEMENT_NAME_1), stringElement);
FeatureMetacardType featureMetacardType = new FeatureMetacardType(schema, FEATURE_TYPE, NON_QUERYABLE_PROPS, Wfs10Constants.GML_NAMESPACE);
assertTrue(featureMetacardType.getTextualProperties().size() == 1);
assertAttributeDescriptor(featureMetacardType, ELEMENT_NAME_1, BasicTypes.STRING_TYPE);
}
use of org.apache.ws.commons.schema.XmlSchemaElement in project ddf by codice.
the class FeatureMetacardTypeTest method testfeatureMetacardTypeFindFloatProperties.
@Test
public void testfeatureMetacardTypeFindFloatProperties() {
XmlSchema schema = new XmlSchema();
XmlSchemaElement floatElement = new XmlSchemaElement(schema, true);
floatElement.setSchemaType(new XmlSchemaSimpleType(schema, false));
floatElement.setSchemaTypeName(Constants.XSD_FLOAT);
floatElement.setName(ELEMENT_NAME_1);
schema.getElements().put(new QName(ELEMENT_NAME_1), floatElement);
FeatureMetacardType featureMetacardType = new FeatureMetacardType(schema, FEATURE_TYPE, NON_QUERYABLE_PROPS, Wfs10Constants.GML_NAMESPACE);
assertAttributeDescriptor(featureMetacardType, ELEMENT_NAME_1, BasicTypes.FLOAT_TYPE);
}
use of org.apache.ws.commons.schema.XmlSchemaElement in project ddf by codice.
the class FeatureMetacardType method processXmlSchemaParticle.
private void processXmlSchemaParticle(XmlSchemaParticle particle) {
XmlSchemaSequence schemaSequence;
if (particle instanceof XmlSchemaSequence) {
schemaSequence = (XmlSchemaSequence) particle;
List<XmlSchemaSequenceMember> schemaObjectCollection = schemaSequence.getItems();
Iterator<XmlSchemaSequenceMember> iterator = schemaObjectCollection.iterator();
while (iterator.hasNext()) {
Object element = iterator.next();
if (element instanceof XmlSchemaElement) {
XmlSchemaElement innerElement = ((XmlSchemaElement) element);
XmlSchemaType innerEleType = innerElement.getSchemaType();
if (innerEleType instanceof XmlSchemaComplexType) {
processComplexType(innerElement);
} else if (innerEleType instanceof XmlSchemaSimpleType) {
processSimpleType(innerElement);
} else if (innerEleType == null) {
// Check if this is the GML location Property
processGmlType(innerElement);
}
}
}
}
}
Aggregations