final String value = streamReader.getAttributeValue(i);
LOGGER.debug("**** unexpected data role permission attribute name={0}, value={1}", name.getLocalPart(), value);
}
}
Permission permission = null;
boolean alter = false;
boolean create = false;
boolean delete = false;
boolean execute = false;
boolean read = false;
String resourceName = null;
boolean update = false;
while (streamReader.hasNext()) {
final int eventType = streamReader.next();
if (streamReader.isStartElement()) {
final String elementName = streamReader.getLocalName();
if (VdbLexicon.ManifestIds.RESOURCE_NAME.equals(elementName)) {
resourceName = streamReader.getElementText();
} else if (VdbLexicon.ManifestIds.ALLOW_ALTER.equals(elementName)) {
alter = Boolean.parseBoolean(streamReader.getElementText());
} else if (VdbLexicon.ManifestIds.ALLOW_CREATE.equals(elementName)) {
create = Boolean.parseBoolean(streamReader.getElementText());
} else if (VdbLexicon.ManifestIds.ALLOW_DELETE.equals(elementName)) {
delete = Boolean.parseBoolean(streamReader.getElementText());
} else if (VdbLexicon.ManifestIds.ALLOW_EXECUTE.equals(elementName)) {
execute = Boolean.parseBoolean(streamReader.getElementText());
} else if (VdbLexicon.ManifestIds.ALLOW_READ.equals(elementName)) {
read = Boolean.parseBoolean(streamReader.getElementText());
} else if (VdbLexicon.ManifestIds.ALLOW_UPDATE.equals(elementName)) {
update = Boolean.parseBoolean(streamReader.getElementText());
} else {
LOGGER.debug("**** unexpected data role permission element={0}", elementName);
}
} else if (streamReader.isEndElement() && VdbLexicon.ManifestIds.PERMISSION.equals(
streamReader.getLocalName())) {
if (StringUtil.isBlank(resourceName)) {
throw new Exception(TeiidI18n.missingPermissionResourceName.text());
}
permission = dataRole.new Permission(resourceName);
permission.allowAlter(alter);
permission.allowCreate(create);
permission.allowDelete(delete);
permission.allowExecute(execute);
permission.allowRead(read);
permission.allowUpdate(update);
break;
} else {
if (streamReader.isCharacters()) {
if (!StringUtil.isBlank(streamReader.getText())) {