Skip to content

Commit 529b912

Browse files
committed
Upgrade go-hsdp-api to improve DICOM JSON struct rendering
Signed-off-by: Andy Lo-A-Foe <andy.loafoe@gmail.com>
1 parent 0745540 commit 529b912

4 files changed

Lines changed: 62 additions & 34 deletions

File tree

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ require (
1919
github.com/mitchellh/go-testing-interface v1.14.1 // indirect
2020
github.com/philips-labs/ferrite v0.1.2
2121
github.com/philips-labs/siderite v0.11.0
22-
github.com/philips-software/go-hsdp-api v0.43.1-0.20210920075300-79a003d866e2
22+
github.com/philips-software/go-hsdp-api v0.44.0
2323
github.com/pkg/errors v0.9.1
2424
github.com/robfig/cron/v3 v3.0.1
2525
github.com/stretchr/testify v1.7.0

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -945,8 +945,8 @@ github.com/philips-software/gautocloud-connectors v0.4.0/go.mod h1:k5VG78BLnDI75
945945
github.com/philips-software/go-hsdp-api v0.20.0/go.mod h1:agJtsgjb1W4xq5cVUdk06uUVETKO1nKZAZJ4Y1Dumg4=
946946
github.com/philips-software/go-hsdp-api v0.38.1-0.20210428141703-9f4371331e80/go.mod h1:vzZX4kCmgVwuJcAmd75Yeh/tNu1dNnBRbyau7CFWsuQ=
947947
github.com/philips-software/go-hsdp-api v0.42.2/go.mod h1:8/X/HGcmxfWMicqeVADZWwmPLGLA8hbqLr22w+ku5qE=
948-
github.com/philips-software/go-hsdp-api v0.43.1-0.20210920075300-79a003d866e2 h1:C5RITe4gIAwZO34PLAGpoqH9J5YjlFN3icQKxmvP1rc=
949-
github.com/philips-software/go-hsdp-api v0.43.1-0.20210920075300-79a003d866e2/go.mod h1:g30qx/PUOGEd6/1zf4/Ym+EV6sbpNc+kmofmH2j09A4=
948+
github.com/philips-software/go-hsdp-api v0.44.0 h1:qJqVy3zYIPH23pHCp/uiGXhkQuB0Ar+loxyn2haClT8=
949+
github.com/philips-software/go-hsdp-api v0.44.0/go.mod h1:g30qx/PUOGEd6/1zf4/Ym+EV6sbpNc+kmofmH2j09A4=
950950
github.com/philips-software/go-hsdp-signer v1.3.0 h1:Si1voDE/GHzthmxpasPdntbu8aUW6EYJfI6gHVf7BCc=
951951
github.com/philips-software/go-hsdp-signer v1.3.0/go.mod h1:/QehZ/+Aks2t1TFpjhF/7ZSB8PJIIJHzLc03rOqwLw0=
952952
github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc=

hsdp/resource_dicom_gateway_config.go

Lines changed: 58 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -212,12 +212,16 @@ func setSCPConfig(scpConfig dicom.SCPConfig, d *schema.ResourceData) error {
212212
storeService["is_secure"] = scpConfig.SecureNetworkConnection.IsSecure
213213
if secure {
214214
storeService["port"] = scpConfig.SecureNetworkConnection.Port
215-
storeService["pdu_length"] = scpConfig.SecureNetworkConnection.AdvancedSettings.PDULength
216-
storeService["artim_timeout"] = scpConfig.SecureNetworkConnection.AdvancedSettings.ArtimTimeOut
215+
if scpConfig.SecureNetworkConnection.AdvancedSettings != nil {
216+
storeService["pdu_length"] = scpConfig.SecureNetworkConnection.AdvancedSettings.PDULength
217+
storeService["artim_timeout"] = scpConfig.SecureNetworkConnection.AdvancedSettings.ArtimTimeout
218+
}
217219
} else {
218220
storeService["port"] = scpConfig.UnSecureNetworkConnection.Port
219-
storeService["pdu_length"] = scpConfig.UnSecureNetworkConnection.AdvancedSettings.PDULength
220-
storeService["artim_timeout"] = scpConfig.UnSecureNetworkConnection.AdvancedSettings.ArtimTimeOut
221+
if scpConfig.UnSecureNetworkConnection.AdvancedSettings != nil {
222+
storeService["pdu_length"] = scpConfig.UnSecureNetworkConnection.AdvancedSettings.PDULength
223+
storeService["artim_timeout"] = scpConfig.UnSecureNetworkConnection.AdvancedSettings.ArtimTimeout
224+
}
221225
}
222226
// Add applications
223227
a := &schema.Set{F: resourceMetricsThresholdHash}
@@ -282,22 +286,34 @@ func getSCPConfig(d *schema.ResourceData) (*dicom.SCPConfig, error) {
282286
if port == 0 {
283287
port = 105
284288
}
285-
scpConfig.SecureNetworkConnection.IsSecure = true
286-
scpConfig.SecureNetworkConnection.Port = port
287-
scpConfig.SecureNetworkConnection.AdvancedSettings.ArtimTimeOut = artimTimeout
288-
scpConfig.SecureNetworkConnection.AdvancedSettings.AssociationIdleTimeOut = associationIdleIimeout
289-
scpConfig.SecureNetworkConnection.AdvancedSettings.PDULength = pduLength
290-
scpConfig.SecureNetworkConnection.CertificateInfo.ID = certificateID
291-
scpConfig.SecureNetworkConnection.AuthenticateClientCertificate = authenticateClientCertificate
289+
scpConfig.SecureNetworkConnection = &dicom.NetworkConnection{
290+
IsSecure: true,
291+
Port: port,
292+
AuthenticateClientCertificate: authenticateClientCertificate,
293+
AdvancedSettings: &dicom.AdvancedSettings{
294+
ArtimTimeout: artimTimeout,
295+
AssociationIdleTimeout: associationIdleIimeout,
296+
PDULength: pduLength,
297+
},
298+
}
299+
if certificateID != "" {
300+
scpConfig.SecureNetworkConnection.CertificateInfo = &dicom.CertificateInfo{
301+
ID: certificateID,
302+
}
303+
}
292304
} else {
293305
if port == 0 {
294306
port = 104
295307
}
296-
scpConfig.UnSecureNetworkConnection.IsSecure = false
297-
scpConfig.UnSecureNetworkConnection.Port = port
298-
scpConfig.UnSecureNetworkConnection.AdvancedSettings.ArtimTimeOut = artimTimeout
299-
scpConfig.UnSecureNetworkConnection.AdvancedSettings.AssociationIdleTimeOut = associationIdleIimeout
300-
scpConfig.UnSecureNetworkConnection.AdvancedSettings.PDULength = pduLength
308+
scpConfig.UnSecureNetworkConnection = &dicom.NetworkConnection{
309+
IsSecure: false,
310+
Port: port,
311+
AdvancedSettings: &dicom.AdvancedSettings{
312+
ArtimTimeout: artimTimeout,
313+
AssociationIdleTimeout: associationIdleIimeout,
314+
PDULength: pduLength,
315+
},
316+
}
301317
}
302318
if as, ok := mVi["application_entity"].(*schema.Set); ok {
303319
aL := as.List()
@@ -307,7 +323,7 @@ func getSCPConfig(d *schema.ResourceData) (*dicom.SCPConfig, error) {
307323
AllowAny: app["allow_any"].(bool),
308324
AeTitle: app["ae_title"].(string),
309325
OrganizationID: app["organization_id"].(string),
310-
AdditionalSettings: dicom.AdditionalSettings{
326+
AdditionalSettings: &dicom.AdditionalSettings{
311327
ServiceTimeout: app["service_timeout"].(int),
312328
},
313329
})
@@ -338,22 +354,34 @@ func getQueryRetrieveConfig(d *schema.ResourceData) (*dicom.SCPConfig, error) {
338354
if port == 0 {
339355
port = 109
340356
}
341-
queryRetrieveConfig.SecureNetworkConnection.IsSecure = true
342-
queryRetrieveConfig.SecureNetworkConnection.Port = port
343-
queryRetrieveConfig.SecureNetworkConnection.AdvancedSettings.ArtimTimeOut = artimTimeout
344-
queryRetrieveConfig.SecureNetworkConnection.AdvancedSettings.AssociationIdleTimeOut = associationIdleIimeout
345-
queryRetrieveConfig.SecureNetworkConnection.AdvancedSettings.PDULength = pduLength
346-
queryRetrieveConfig.SecureNetworkConnection.AuthenticateClientCertificate = authenticateClientCertificate
347-
queryRetrieveConfig.SecureNetworkConnection.CertificateInfo.ID = certificateID
357+
queryRetrieveConfig.SecureNetworkConnection = &dicom.NetworkConnection{
358+
IsSecure: true,
359+
Port: port,
360+
AuthenticateClientCertificate: authenticateClientCertificate,
361+
AdvancedSettings: &dicom.AdvancedSettings{
362+
ArtimTimeout: artimTimeout,
363+
AssociationIdleTimeout: associationIdleIimeout,
364+
PDULength: pduLength,
365+
},
366+
}
367+
if certificateID != "" {
368+
queryRetrieveConfig.SecureNetworkConnection.CertificateInfo = &dicom.CertificateInfo{
369+
ID: certificateID,
370+
}
371+
}
348372
} else {
349373
if port == 0 {
350374
port = 108
351375
}
352-
queryRetrieveConfig.UnSecureNetworkConnection.IsSecure = true
353-
queryRetrieveConfig.UnSecureNetworkConnection.Port = port
354-
queryRetrieveConfig.UnSecureNetworkConnection.AdvancedSettings.ArtimTimeOut = artimTimeout
355-
queryRetrieveConfig.UnSecureNetworkConnection.AdvancedSettings.AssociationIdleTimeOut = associationIdleIimeout
356-
queryRetrieveConfig.UnSecureNetworkConnection.AdvancedSettings.PDULength = pduLength
376+
queryRetrieveConfig.UnSecureNetworkConnection = &dicom.NetworkConnection{
377+
IsSecure: false,
378+
Port: port,
379+
AdvancedSettings: &dicom.AdvancedSettings{
380+
ArtimTimeout: artimTimeout,
381+
AssociationIdleTimeout: associationIdleIimeout,
382+
PDULength: pduLength,
383+
},
384+
}
357385
}
358386
if as, ok := mVi["application_entity"].(*schema.Set); ok {
359387
aL := as.List()
@@ -363,7 +391,7 @@ func getQueryRetrieveConfig(d *schema.ResourceData) (*dicom.SCPConfig, error) {
363391
AllowAny: app["allow_any"].(bool),
364392
AeTitle: app["ae_title"].(string),
365393
OrganizationID: app["organization_id"].(string),
366-
AdditionalSettings: dicom.AdditionalSettings{
394+
AdditionalSettings: &dicom.AdditionalSettings{
367395
ServiceTimeout: app["service_timeout"].(int),
368396
},
369397
})

hsdp/resource_dicom_remote_node.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ func resourceDICOMRemoteNodeCreate(ctx context.Context, d *schema.ResourceData,
166166
networkConnection.Port = mVi["port"].(int)
167167
networkConnection.NetworkTimeout = mVi["network_timeout"].(int)
168168
networkConnection.AdvancedSettings.PDULength = mVi["pdu_length"].(int)
169-
networkConnection.AdvancedSettings.ArtimTimeOut = mVi["association_idle_timeout"].(int)
169+
networkConnection.AdvancedSettings.ArtimTimeout = mVi["association_idle_timeout"].(int)
170170
}
171171
node.NetworkConnection = networkConnection
172172
}

0 commit comments

Comments
 (0)