in modules/frontend/app/configuration/generator/generator/SpringTransformer.service.js [188:265]
static _setProperties(sb, bean) {
_.forEach(bean.properties, (prop, idx) => {
switch (prop.clsName) {
case 'DATA_SOURCE':
const valAttr = prop.name === 'dataSource' ? 'ref' : 'value';
sb.append(`<property name="${prop.name}" ${valAttr}="${prop.id}"/>`);
break;
case 'EVENT_TYPES':
sb.startBlock(`<property name="${prop.name}">`);
if (prop.eventTypes.length === 1) {
const evtGrp = _.head(prop.eventTypes);
sb.append(`<util:constant static-field="${evtGrp.class}.${evtGrp.label}"/>`);
}
else {
sb.startBlock('<list>');
_.forEach(prop.eventTypes, (evtGrp, ix) => {
ix > 0 && sb.emptyLine();
sb.append(`<!-- EventType.${evtGrp.label} -->`);
_.forEach(evtGrp.events, (event) =>
sb.append(`<util:constant static-field="${evtGrp.class}.${event}"/>`));
});
sb.endBlock('</list>');
}
sb.endBlock('</property>');
break;
case 'ARRAY':
case 'PATH_ARRAY':
case 'COLLECTION':
this._setCollection(sb, prop);
break;
case 'MAP':
sb.startBlock(`<property name="${prop.name}">`);
this._constructMap(sb, prop);
sb.endBlock('</property>');
break;
case 'java.util.Properties':
sb.startBlock(`<property name="${prop.name}">`);
sb.startBlock('<props>');
_.forEach(prop.entries, (entry) => {
sb.append(`<prop key="${entry.name}">${entry.value}</prop>`);
});
sb.endBlock('</props>');
sb.endBlock('</property>');
break;
case 'BEAN':
sb.startBlock(`<property name="${prop.name}">`);
this.appendBean(sb, prop.value);
sb.endBlock('</property>');
break;
default:
sb.append(`<property name="${prop.name}" value="${this._toObject(prop.clsName, prop.value)}"/>`);
}
this._emptyLineIfNeeded(sb, bean.properties, idx);
});
return sb;
}