diff --git a/api/v1alpha1/nifidataflow_types.go b/api/v1alpha1/nifidataflow_types.go index 9fdb3479e..a29fb4b40 100644 --- a/api/v1alpha1/nifidataflow_types.go +++ b/api/v1alpha1/nifidataflow_types.go @@ -187,3 +187,17 @@ func (d *NifiDataflowSpec) GetParentProcessGroupID(rootProcessGroupId string) st } return d.ParentProcessGroupID } + +func (p *FlowPosition) GetX() int64 { + if p.X == nil || *p.X == 0 { + return 1 + } + return *p.X +} + +func (p *FlowPosition) GetY() int64 { + if p.Y == nil || *p.Y == 0 { + return 1 + } + return *p.Y +} diff --git a/pkg/clientwrappers/dataflow/dataflow.go b/pkg/clientwrappers/dataflow/dataflow.go index 26fdf8ef2..e028ee5a4 100644 --- a/pkg/clientwrappers/dataflow/dataflow.go +++ b/pkg/clientwrappers/dataflow/dataflow.go @@ -215,8 +215,8 @@ func isVersioningChanged( // isPostionChanged check if the position of the process group is out of sync. func isPostionChanged(flow *v1alpha1.NifiDataflow, pgFlowEntity *nigoapi.ProcessGroupEntity) bool { return flow.Spec.FlowPosition != nil && - ((flow.Spec.FlowPosition.X != nil && float64(*flow.Spec.FlowPosition.X) != pgFlowEntity.Component.Position.X) || - (flow.Spec.FlowPosition.Y != nil && float64(*flow.Spec.FlowPosition.Y) != pgFlowEntity.Component.Position.Y)) + ((flow.Spec.FlowPosition.X != nil && float64(flow.Spec.FlowPosition.GetX()) != pgFlowEntity.Component.Position.X) || + (flow.Spec.FlowPosition.Y != nil && float64(flow.Spec.FlowPosition.GetY()) != pgFlowEntity.Component.Position.Y)) } // SyncDataflow implements the logic to sync a NifiDataflow with the deployed flow. @@ -280,13 +280,13 @@ func SyncDataflow( if flow.Spec.FlowPosition == nil || flow.Spec.FlowPosition.X == nil { xPos = pGEntity.Component.Position.X } else { - xPos = float64(*flow.Spec.FlowPosition.X) + xPos = float64(flow.Spec.FlowPosition.GetX()) } if flow.Spec.FlowPosition == nil || flow.Spec.FlowPosition.Y == nil { yPos = pGEntity.Component.Position.Y } else { - yPos = float64(*flow.Spec.FlowPosition.Y) + yPos = float64(flow.Spec.FlowPosition.GetY()) } pGEntity.Component.Position = &nigoapi.PositionDto{ @@ -738,13 +738,13 @@ func updateProcessGroupEntity( if flow.Spec.FlowPosition == nil || flow.Spec.FlowPosition.X == nil { xPos = float64(1) } else { - xPos = float64(*flow.Spec.FlowPosition.X) + xPos = float64(flow.Spec.FlowPosition.GetX()) } if flow.Spec.FlowPosition == nil || flow.Spec.FlowPosition.Y == nil { yPos = float64(1) } else { - yPos = float64(*flow.Spec.FlowPosition.Y) + yPos = float64(flow.Spec.FlowPosition.GetY()) } }