in modules/frontend/app/configuration/generator/generator/JavaTransformer.service.js [793:848]
static collectPropertiesImports(props) {
const imports = [];
_.forEach(props, (prop) => {
switch (prop.clsName) {
case 'DATA_SOURCE':
imports.push(prop.value.clsName);
break;
case 'PROPERTY':
case 'PROPERTY_CHAR':
case 'PROPERTY_INT':
imports.push('java.io.InputStream', 'java.util.Properties');
break;
case 'BEAN':
imports.push(...this.collectBeanImports(prop.value));
break;
case 'ARRAY':
if (!prop.varArg)
imports.push(prop.typeClsName);
if (this._isBean(prop.typeClsName))
_.forEach(prop.items, (item) => imports.push(...this.collectBeanImports(item)));
if (prop.typeClsName === 'java.lang.Class')
_.forEach(prop.items, (item) => imports.push(item));
break;
case 'COLLECTION':
imports.push(prop.typeClsName);
if (this._isBean(prop.typeClsName)) {
_.forEach(prop.items, (item) => imports.push(...this.collectBeanImports(item)));
imports.push(prop.implClsName);
}
else if (prop.implClsName === 'java.util.ArrayList')
imports.push('java.util.Arrays');
else
imports.push(prop.implClsName);
break;
case 'MAP':
imports.push(...this._collectMapImports(prop));
break;
default:
if (!this.javaTypesNonEnum.nonEnum(prop.clsName))
imports.push(prop.clsName);
}
});
return imports;
}