/** * Retrieves all entity types from underlying data source. * * @return all entity types as a map of EntityType to {@link EntityTypeEntry}. */ @VisibleForTesting Map<String, EntityTypeEntry> retrieveEntityTypeEntries() { final Map<String, EntityTypeEntry> entityTypeEntries = new HashMap<>(50); PreparedStatement pstmt = null; ResultSet rs = null; final String sql = "SELECT * FROM AD_EntityType WHERE IsActive=? ORDER BY AD_EntityType_ID"; final Object[] params = new Object[] {true}; try { pstmt = DB.prepareStatement(sql, ITrx.TRXNAME_None); DB.setParameters(pstmt, params); rs = pstmt.executeQuery(); while (rs.next()) { final EntityTypeEntry entry = loadEntityTypeEntry(rs); entityTypeEntries.put(entry.getEntityType(), entry); } } catch (SQLException e) { throw new DBException(e, sql, params); } finally { DB.close(rs, pstmt); rs = null; pstmt = null; } return entityTypeEntries; }
@Override public boolean isDisplayedInUI(final String entityType) { final EntityTypeEntry entry = getEntityTypeEntryOrNull(entityType); if (entry == null) { return false; } return entry.isDisplayedInUI(); }
@Override public String getModelPackage(final String entityType) { final EntityTypeEntry entry = getEntityTypeEntry(entityType); if (entry == null) { return null; } return entry.getModelPackage(); }
private final EntityTypeEntry loadEntityTypeEntry(final ResultSet rs) throws SQLException { final String entityType = rs.getString(I_AD_EntityType.COLUMNNAME_EntityType); final String modelPackage = rs.getString(I_AD_EntityType.COLUMNNAME_ModelPackage); final String webUIServletListenerClass = rs.getString(I_AD_EntityType.COLUMNNAME_WebUIServletListenerClass); final boolean displayedInUI = DisplayType.toBoolean(rs.getString(I_AD_EntityType.COLUMNNAME_IsDisplayed)); final int adEntityTypeId = rs.getInt(I_AD_EntityType.COLUMNNAME_AD_EntityType_ID); final boolean systemMaintained = adEntityTypeId < MAX_SystemMaintained_AD_EntityType_ID; final EntityTypeEntry entry = EntityTypeEntry.builder() .setEntityType(entityType) .setModelPackage(modelPackage) .setWebUIServletListenerClass(webUIServletListenerClass) .setDisplayedInUI(displayedInUI) .setSystemMaintained(systemMaintained) .build(); return entry; }