5252import static org .finos .waltz .common .Checks .checkNotNull ;
5353import static org .finos .waltz .common .DateTimeUtilities .nowUtc ;
5454import static org .finos .waltz .common .DateTimeUtilities .toLocalDateTime ;
55- import static org .finos .waltz .model .EntityKind .DATA_TYPE ;
56- import static org .finos .waltz .model .EntityKind .PHYSICAL_SPECIFICATION ;
5755import static org .finos .waltz .model .EntityReference .mkRef ;
56+ import static org .finos .waltz .schema .Tables .DATA_TYPE ;
5857import static org .finos .waltz .schema .tables .LogicalFlowDecorator .LOGICAL_FLOW_DECORATOR ;
5958import static org .finos .waltz .schema .tables .PhysicalFlow .PHYSICAL_FLOW ;
6059import static org .finos .waltz .schema .tables .PhysicalSpecDataType .PHYSICAL_SPEC_DATA_TYPE ;
@@ -65,8 +64,8 @@ public class PhysicalSpecDecoratorDao extends DataTypeDecoratorDao {
6564 public static final RecordMapper <? super Record , DataTypeDecorator > TO_DOMAIN_MAPPER = r -> {
6665 PhysicalSpecDataTypeRecord record = r .into (PHYSICAL_SPEC_DATA_TYPE );
6766 return ImmutableDataTypeDecorator .builder ()
68- .decoratorEntity (mkRef (DATA_TYPE , record .getDataTypeId ()))
69- .entityReference (mkRef (PHYSICAL_SPECIFICATION ,record .getSpecificationId ()))
67+ .decoratorEntity (mkRef (EntityKind . DATA_TYPE , record .getDataTypeId (), r . get ( DATA_TYPE . NAME )))
68+ .entityReference (mkRef (EntityKind . PHYSICAL_SPECIFICATION ,record .getSpecificationId ()))
7069 .provenance (record .getProvenance ())
7170 .lastUpdatedAt (toLocalDateTime (record .getLastUpdatedAt ()))
7271 .lastUpdatedBy (record .getLastUpdatedBy ())
@@ -102,7 +101,9 @@ public PhysicalSpecDecoratorDao(DSLContext dsl) {
102101 public DataTypeDecorator getByEntityIdAndDataTypeId (long specId , long dataTypeId ) {
103102 return dsl
104103 .select (PHYSICAL_SPEC_DATA_TYPE .fields ())
104+ .select (DATA_TYPE .NAME )
105105 .from (PHYSICAL_SPEC_DATA_TYPE )
106+ .innerJoin (DATA_TYPE ).on (PHYSICAL_SPEC_DATA_TYPE .DATA_TYPE_ID .eq (DATA_TYPE .ID ))
106107 .where (PHYSICAL_SPEC_DATA_TYPE .SPECIFICATION_ID .eq (specId ))
107108 .and (PHYSICAL_SPEC_DATA_TYPE .DATA_TYPE_ID .eq (dataTypeId ))
108109 .fetchOne (TO_DOMAIN_MAPPER );
@@ -113,7 +114,9 @@ public DataTypeDecorator getByEntityIdAndDataTypeId(long specId, long dataTypeId
113114 public List <DataTypeDecorator > findByEntityId (long specId ) {
114115 return dsl
115116 .select (PHYSICAL_SPEC_DATA_TYPE .fields ())
117+ .select (DATA_TYPE .NAME )
116118 .from (PHYSICAL_SPEC_DATA_TYPE )
119+ .innerJoin (DATA_TYPE ).on (PHYSICAL_SPEC_DATA_TYPE .DATA_TYPE_ID .eq (DATA_TYPE .ID ))
117120 .where (PHYSICAL_SPEC_DATA_TYPE .SPECIFICATION_ID .eq (specId ))
118121 .fetch (TO_DOMAIN_MAPPER );
119122 }
@@ -124,32 +127,33 @@ public List<DataTypeDecorator> findByEntityIdSelector(Select<Record1<Long>> spec
124127 Optional <EntityKind > entityKind ) {
125128 return dsl
126129 .select (PHYSICAL_SPEC_DATA_TYPE .fields ())
130+ .select (DATA_TYPE .NAME )
127131 .from (PHYSICAL_SPEC_DATA_TYPE )
132+ .innerJoin (DATA_TYPE ).on (PHYSICAL_SPEC_DATA_TYPE .DATA_TYPE_ID .eq (DATA_TYPE .ID ))
128133 .where (PHYSICAL_SPEC_DATA_TYPE .SPECIFICATION_ID .in (specIdSelector ))
129134 .fetch (TO_DOMAIN_MAPPER );
130135 }
131136
132137
133138 @ Override
134139 public List <DataTypeDecorator > findByAppIdSelector (Select <Record1 <Long >> appIdSelector ) {
135- throw new UnsupportedOperationException ("method not supported for " + PHYSICAL_SPECIFICATION .prettyName ());
140+ throw new UnsupportedOperationException ("method not supported for " + EntityKind . PHYSICAL_SPECIFICATION .prettyName ());
136141 }
137142
138143 @ Override
139144 public Set <DataTypeDecorator > findByFlowIdSelector (Select <Record1 <Long >> flowIdSelector ) {
140- throw new UnsupportedOperationException ("method not supported for " + PHYSICAL_SPECIFICATION .prettyName ());
145+ throw new UnsupportedOperationException ("method not supported for " + EntityKind . PHYSICAL_SPECIFICATION .prettyName ());
141146 }
142147
143-
144148 @ Override
145149 public List <DataTypeDecorator > findByDataTypeIdSelector (Select <Record1 <Long >> dataTypeIdSelector ) {
146- throw new UnsupportedOperationException ("method not supported for " + PHYSICAL_SPECIFICATION .prettyName ());
150+ throw new UnsupportedOperationException ("method not supported for " + EntityKind . PHYSICAL_SPECIFICATION .prettyName ());
147151 }
148152
149153
150154 @ Override
151155 public Set <DataTypeDecorator > findByFlowIds (Collection <Long > flowIds ) {
152- throw new UnsupportedOperationException ("method not supported for " + PHYSICAL_SPECIFICATION .prettyName ());
156+ throw new UnsupportedOperationException ("method not supported for " + EntityKind . PHYSICAL_SPECIFICATION .prettyName ());
153157 }
154158
155159
@@ -204,7 +208,7 @@ public List<DataTypeUsageCharacteristics> findDatatypeUsageCharacteristics(Entit
204208
205209 @ Override
206210 public Set <DataTypeDecorator > findByLogicalFlowIdSelector (Select <Record1 <Long >> flowIdSelector ) {
207- throw new UnsupportedOperationException ("method not supported for " + PHYSICAL_SPECIFICATION .prettyName ());
211+ throw new UnsupportedOperationException ("method not supported for " + EntityKind . PHYSICAL_SPECIFICATION .prettyName ());
208212 }
209213
210214
@@ -234,17 +238,17 @@ public int rippleDataTypesToLogicalFlows() {
234238 SelectConditionStep <Record7 <Long , String , Long , String , String , Timestamp , String >> qry = DSL
235239 .selectDistinct (
236240 PHYSICAL_FLOW .LOGICAL_FLOW_ID ,
237- DSL .val (DATA_TYPE .name ()),
241+ DSL .val (EntityKind . DATA_TYPE .name ()),
238242 PHYSICAL_SPEC_DATA_TYPE .DATA_TYPE_ID ,
239243 DSL .val (AuthoritativenessRatingValue .NO_OPINION .value ()),
240244 DSL .val ("waltz" ),
241245 DSL .val (Timestamp .valueOf (nowUtc ())),
242246 DSL .val ("admin" ))
243247 .from (PHYSICAL_SPEC_DATA_TYPE )
244- .innerJoin (Tables . DATA_TYPE )
245- .on (PHYSICAL_SPEC_DATA_TYPE .DATA_TYPE_ID .eq (Tables . DATA_TYPE .ID )
246- .and (Tables . DATA_TYPE .UNKNOWN .isFalse ()
247- .and (Tables . DATA_TYPE .DEPRECATED .isFalse ())))
248+ .innerJoin (DATA_TYPE )
249+ .on (PHYSICAL_SPEC_DATA_TYPE .DATA_TYPE_ID .eq (DATA_TYPE .ID )
250+ .and (DATA_TYPE .UNKNOWN .isFalse ()
251+ .and (DATA_TYPE .DEPRECATED .isFalse ())))
248252 .innerJoin (Tables .PHYSICAL_SPECIFICATION )
249253 .on (PHYSICAL_SPEC_DATA_TYPE .SPECIFICATION_ID .eq (Tables .PHYSICAL_SPECIFICATION .ID )
250254 .and (Tables .PHYSICAL_SPECIFICATION .IS_REMOVED .isFalse ()))
@@ -259,7 +263,7 @@ public int rippleDataTypesToLogicalFlows() {
259263 .leftJoin (LOGICAL_FLOW_DECORATOR )
260264 .on (LOGICAL_FLOW_DECORATOR .LOGICAL_FLOW_ID .eq (Tables .LOGICAL_FLOW .ID )
261265 .and (LOGICAL_FLOW_DECORATOR .DECORATOR_ENTITY_ID .eq (PHYSICAL_SPEC_DATA_TYPE .DATA_TYPE_ID ))
262- .and (LOGICAL_FLOW_DECORATOR .DECORATOR_ENTITY_KIND .eq (DATA_TYPE .name ())))
266+ .and (LOGICAL_FLOW_DECORATOR .DECORATOR_ENTITY_KIND .eq (EntityKind . DATA_TYPE .name ())))
263267 .where (LOGICAL_FLOW_DECORATOR .LOGICAL_FLOW_ID .isNull ());
264268
265269 return dsl
0 commit comments