37
37
import eu .solven .adhoc .measure .AdhocMeasureBag ;
38
38
import eu .solven .adhoc .measure .IAdhocMeasureBag ;
39
39
import eu .solven .adhoc .measure .model .IMeasure ;
40
- import eu .solven .adhoc .query .AdhocQuery ;
41
40
import eu .solven .adhoc .query .IQueryOption ;
42
41
import eu .solven .adhoc .query .cube .IAdhocQuery ;
43
42
import eu .solven .adhoc .storage .ITabularView ;
53
52
*/
54
53
@ Value
55
54
@ Builder
56
- public class AdhocSchemaForApi {
55
+ public class AdhocSchema implements IAdhocSchema {
57
56
@ Builder .Default
58
57
final IAdhocQueryEngine engine = AdhocQueryEngine .builder ().build ();
59
58
@@ -63,7 +62,7 @@ public class AdhocSchemaForApi {
63
62
64
63
final Map <String , IAdhocCubeWrapper > nameToCube = new ConcurrentHashMap <>();
65
64
66
- final Map <String , IAdhocQuery > nameToQuery = new ConcurrentHashMap <>();
65
+ // final Map<String, IAdhocQuery> nameToQuery = new ConcurrentHashMap<>();
67
66
68
67
public void registerCube (String cubeName , String tableName , String measuresName ) {
69
68
AdhocCubeWrapper cube = AdhocCubeWrapper .builder ()
@@ -76,8 +75,9 @@ public void registerCube(String cubeName, String tableName, String measuresName)
76
75
nameToCube .put (cubeName , cube );
77
76
}
78
77
79
- public EntrypointSchemaMetadata getMetadata () {
80
- EntrypointSchemaMetadata .EntrypointSchemaMetadataBuilder metadata = EntrypointSchemaMetadata .builder ();
78
+ @ Override
79
+ public EndpointSchemaMetadata getMetadata () {
80
+ EndpointSchemaMetadata .EndpointSchemaMetadataBuilder metadata = EndpointSchemaMetadata .builder ();
81
81
82
82
nameToCube .forEach ((name , cube ) -> {
83
83
CubeSchemaMetadataBuilder cubeSchema = CubeSchemaMetadata .builder ();
@@ -97,13 +97,14 @@ public EntrypointSchemaMetadata getMetadata() {
97
97
metadata .table (name , ColumnarMetadata .from (table .getColumns ()));
98
98
});
99
99
100
- nameToQuery .forEach ((name , query ) -> {
101
- metadata .query (name , AdhocQuery .edit (query ).build ());
102
- });
100
+ // nameToQuery.forEach((name, query) -> {
101
+ // metadata.query(name, AdhocQuery.edit(query).build());
102
+ // });
103
103
104
104
return metadata .build ();
105
105
}
106
106
107
+ @ Override
107
108
public ITabularView execute (String cube , IAdhocQuery query , Set <? extends IQueryOption > options ) {
108
109
return nameToCube .get (cube ).execute (query , options );
109
110
}
@@ -122,7 +123,16 @@ public void registerMeasure(String measureBagName, IMeasure measure) {
122
123
measureBag .addMeasure (measure );
123
124
}
124
125
125
- public void registerQuery (String name , IAdhocQuery query ) {
126
- nameToQuery .put (name , query );
126
+ public Set <?> getCoordinates (ColumnIdentifier columnId ) {
127
+ if (columnId .isCubeElseTable ()) {
128
+ nameToCube .get (columnId .getHolder ()).getCoordinates (columnId .getColumn ());
129
+ } else {
130
+
131
+ }
132
+ return Set .of ();
127
133
}
134
+
135
+ // public void registerQuery(String name, IAdhocQuery query) {
136
+ // nameToQuery.put(name, query);
137
+ // }
128
138
}
0 commit comments