gbeanInfo = gbeanInfoString;
} else {
gbeanInfo = null;
}
if (gbeanInfo != null && !(name instanceof AbstractName)) {
throw new InvalidGBeanException("A gbean element using the gbeanInfo attribute must be specified using a full AbstractName: name=" + nameString);
}
load = gbean.isLoad();
comment = gbean.getComment();
// attributes
for (Object o : gbean.getAttributeOrReference()) {
if (o instanceof AttributeType) {
AttributeType attr = (AttributeType) o;
String propertyEditor = attr.getPropertyEditor();
if (null != propertyEditor) {
propertyEditors.put(attr.getName(), propertyEditor);
}
if (attr.isNull()) {
setNullAttribute(attr.getName());
} else {
String value;
try {
value = AttributesXmlUtil.extractAttributeValue(attr);
} catch (JAXBException e) {
throw new InvalidGBeanException("Could not extract attribute value from gbean override", e);
} catch (XMLStreamException e) {
throw new InvalidGBeanException("Could not extract attribute value from gbean override", e);
}
if (value == null || value.length() == 0) {
setClearAttribute(attr.getName());
} else {
setAttribute(attr.getName(), value);