}//attributes
continue;
}//config bundle
if (startElement.getName().getLocalPart().equalsIgnoreCase(CUSTOMIZATION_TOKEN)) {
ConfigCustomizationToken token;
String value = null;
String description = null;
String name = null;
String title = null;
String validationExpression = null;
ConfigCustomizationToken.CustomizationType type = ConfigCustomizationToken.CustomizationType.STRING;
TokenTypeDetails tokenTypeDetails = null;
Iterator<Attribute> attributes = startElement.getAttributes();
while (attributes.hasNext()) {
Attribute attribute = attributes.next();
if (attribute.getName().toString().equals(DEFAULT_VALUE)) {
value = attribute.getValue();
} else if (attribute.getName().toString().equals(DESCRIPTION)) {
description = getLocalizedValue(attribute.getValue());
} else if (attribute.getName().toString().equals(NAME)) {
name = attribute.getValue();
} else if (attribute.getName().toString().equals(TITLE)) {
title = getLocalizedValue(attribute.getValue());
} else if (attribute.getName().toString().equals(VALIDATION_EXPRESSION)) {
validationExpression = getLocalizedValue(attribute.getValue());
}
}//attributes
event = eventReader.nextEvent();
while (!event.isStartElement() && !event.isEndElement()) {
event = eventReader.nextEvent();
}
if (event.isStartElement()) {
startElement = event.asStartElement();
// If we have a item element we create a new item
if (startElement.getName().getLocalPart().equalsIgnoreCase(FILE)) {
type = ConfigCustomizationToken.CustomizationType.FILE;
String tokVal = startElement.getAttributeByName(QName.valueOf(MUST_EXIST)).getValue();
FileTypeDetails.FileExistCondition cond = FileTypeDetails.FileExistCondition.NO_OP;
if (tokVal.equalsIgnoreCase("true")) {
cond = FileTypeDetails.FileExistCondition.MUST_EXIST;
} else if (tokVal.equalsIgnoreCase("false")) {
cond = FileTypeDetails.FileExistCondition.MUST_NOT_EXIST;
}
tokenTypeDetails = new FileTypeDetails(cond);
} else if (startElement.getName().getLocalPart().equalsIgnoreCase(PORT)) {
type = ConfigCustomizationToken.CustomizationType.PORT;
tokenTypeDetails = new PortTypeDetails(startElement.getAttributeByName(QName.valueOf(BASE_OFFSET)).getValue());
}
}
token = new ConfigCustomizationToken(name, title, description, value, validationExpression, tokenTypeDetails, type);
//TODO check that ConfigValue is not null
configValue.addCustomizationToken(token);
continue;
}
if (startElement.getName().getLocalPart().equalsIgnoreCase(CONFIGURATION_ELEMENT)) {