Skip to content

Commit c127115

Browse files
committed
add disclaimer
1 parent 88c34df commit c127115

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

srv/src/main/java/my/bookshop/handlers/HierarchyHandler.java

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,18 @@
4242
import static cds.gen.adminservice.AdminService_.GENRE_HIERARCHY;
4343

4444
@Component
45-
@Profile("default")
45+
@Profile("default") // non-HANA
4646
@ServiceName(AdminService_.CDS_NAME)
47+
/**
48+
* On HANA, requests for GenreHierarchy are handled generically.
49+
*
50+
* This handler is only in effect when running with the `default` profile on
51+
* H2. It is a stand-in for non-HANA until the CAP Java runtime can also handle
52+
* requests for hierarchies on non-HANA databases.
53+
*
54+
* The handler is neither functionally complete nor correct for all requests. It
55+
* is not intended as a blue-print for custom code.
56+
*/
4757
public class HierarchyHandler implements EventHandler {
4858

4959
private final PersistenceService db;
@@ -202,7 +212,7 @@ private List<GenreHierarchy> topLevels(CqnTopLevelsTransformation topLevels, Cqn
202212

203213
private List<GenreHierarchy> topLevelsLimit(CqnTopLevelsTransformation topLevels, CqnPredicate filter) {
204214
long limit = topLevels.levels();
205-
Map <Integer, GenreHierarchy> lookup = new HashMap<>();
215+
Map<Integer, GenreHierarchy> lookup = new HashMap<>();
206216
Map<Object, Long> expandLevels = topLevels.expandLevels();
207217

208218
CqnSelect getRoots = Select.from(GENRE_HIERARCHY).where(gh -> gh.parent_ID().isNull().and(filter));
@@ -230,10 +240,9 @@ private List<GenreHierarchy> topLevelsLimit(CqnTopLevelsTransformation topLevels
230240

231241
if (!expandLevels.isEmpty()) {
232242
List<Integer> expandedIds = expandLevels.keySet().stream().map(key -> (Integer) key).toList();
233-
CqnSelect expandedCQN = Select.from(AdminService_.GENRE_HIERARCHY).where(gh ->
234-
CQL.and(filter,
243+
CqnSelect expandedCQN = Select.from(AdminService_.GENRE_HIERARCHY).where(gh -> CQL.and(filter,
235244
CQL.or(gh.ID().in(expandedIds), gh.parent_ID().in(expandedIds))));
236-
245+
237246
List<GenreHierarchy> expanded = db.run(expandedCQN).listOf(GenreHierarchy.class);
238247
expanded.forEach(gh -> {
239248
if (!lookup.keySet().contains(gh.getId())) {

0 commit comments

Comments
 (0)