1- package my .bookshop .handlers ;
1+ package my .bookshop .handlers . hierarchy ;
22
33import static cds .gen .catalogservice .CatalogService_ .GENRE_HIERARCHY ;
44
3737import com .sap .cds .services .handler .annotations .ServiceName ;
3838import com .sap .cds .services .persistence .PersistenceService ;
3939
40- import cds .gen .adminservice .AdminService_ ;
4140import cds .gen .catalogservice .CatalogService_ ;
4241import cds .gen .catalogservice .GenreHierarchy ;
4342import cds .gen .catalogservice .GenreHierarchy_ ;
4443
4544@ Component
4645@ Profile ("default" ) // non-HANA
47- @ ServiceName ({ CatalogService_ .CDS_NAME , AdminService_ . CDS_NAME } )
46+ @ ServiceName (CatalogService_ .CDS_NAME )
4847/**
4948 * On HANA, requests for GenreHierarchy are handled generically.
5049 *
5554 * The handler is neither functionally complete nor correct for all requests. It
5655 * is not intended as a blue-print for custom code.
5756 */
58- public class HierarchyHandler implements EventHandler {
57+ public class HierarchyReadOnlyHandler implements EventHandler {
5958
6059 private final PersistenceService db ;
6160
62- HierarchyHandler (PersistenceService db ) {
61+ HierarchyReadOnlyHandler (PersistenceService db ) {
6362 this .db = db ;
6463 }
6564
66- @ Before (event = CqnService .EVENT_READ )
65+ @ Before (event = CqnService .EVENT_READ , entity = GenreHierarchy_ . CDS_NAME )
6766 public void readGenreHierarchy (CdsReadEventContext event ) {
6867 List <CqnTransformation > trafos = event .getCqn ().transformations ();
6968 List <GenreHierarchy > result = null ;
@@ -72,12 +71,6 @@ public void readGenreHierarchy(CdsReadEventContext event) {
7271 return ;
7372 }
7473
75- // Fallback for draft-enabled scenario: plain table
76- if (cds .gen .adminservice .GenreHierarchy_ .CDS_NAME .equals (event .getTarget ().getQualifiedName ())) {
77- event .setResult (db .run (Select .from (cds .gen .adminservice .GenreHierarchy_ .class )));
78- return ;
79- }
80-
8174 if (getTopLevels (trafos ) instanceof CqnTopLevelsTransformation topLevels ) {
8275 result = topLevels (topLevels , CQL .TRUE );
8376 } else if (trafos .get (0 ) instanceof CqnDescendantsTransformation descendants ) {
0 commit comments