You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by sr...@apache.org on 2023/06/19 11:02:10 UTC
[plc4x] 01/05: feat(plc4go/spi): allow overriding of options by always use the last option found.
This is an automated email from the ASF dual-hosted git repository.
sruehl pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit 89d210f4dda0ba557e8deeb19efe477a85a4eaed
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Mon Jun 19 11:23:53 2023 +0200
feat(plc4go/spi): allow overriding of options by always use the last option found.
---
plc4go/spi/options/Option.go | 36 ++++++++++++++++++------------------
1 file changed, 18 insertions(+), 18 deletions(-)
diff --git a/plc4go/spi/options/Option.go b/plc4go/spi/options/Option.go
index e3dbc9fc48..6dede787b0 100644
--- a/plc4go/spi/options/Option.go
+++ b/plc4go/spi/options/Option.go
@@ -49,7 +49,6 @@ func ExtractCustomLogger(options ...WithOption) (customLogger zerolog.Logger) {
switch option := option.(type) {
case withCustomLogger:
customLogger = option.logger
- return
}
}
return
@@ -66,25 +65,26 @@ func WithReceiveTimeout(timeout time.Duration) WithOption {
}
// ExtractReceiveTimeout to extract the receive-timeout for reading operations. Defaults to 10 seconds
-func ExtractReceiveTimeout(options ...WithOption) time.Duration {
+func ExtractReceiveTimeout(options ...WithOption) (receiveDuration time.Duration) {
+ receiveDuration = 10 * time.Second
for _, option := range options {
switch option := option.(type) {
case withReceiveTimeout:
- return option.timeout
+ receiveDuration = option.timeout
}
}
- return 10 * time.Second
+ return
}
// ExtractPassLoggerToModel to extract the flag indicating that model should be passed to Model
-func ExtractPassLoggerToModel(options ...WithOption) bool {
+func ExtractPassLoggerToModel(options ...WithOption) (passLogger bool) {
for _, option := range options {
switch option := option.(type) {
case withPassLoggerToModel:
- return option.passLogger
+ passLogger = option.passLogger
}
}
- return false
+ return
}
// WithTraceTransactionManagerWorkers enables trace transaction manager workers
@@ -93,14 +93,14 @@ func WithTraceTransactionManagerWorkers(traceWorkers bool) WithOption {
}
// ExtractTransactionManagerWorkers to extract the flag indicating to trace transaction manager workers
-func ExtractTransactionManagerWorkers(options ...WithOption) bool {
+func ExtractTransactionManagerWorkers(options ...WithOption) (traceWorkers bool) {
for _, option := range options {
switch option := option.(type) {
case withTraceTransactionManagerWorkers:
- return option.traceWorkers
+ traceWorkers = option.traceWorkers
}
}
- return false
+ return
}
// WithTraceTransactionManagerTransactions enables trace transaction manager transactions
@@ -109,14 +109,14 @@ func WithTraceTransactionManagerTransactions(traceTransactions bool) WithOption
}
// ExtractTraceTransactionManagerTransactions to extract the flag indicating to trace transaction manager transactions
-func ExtractTraceTransactionManagerTransactions(options ...WithOption) bool {
+func ExtractTraceTransactionManagerTransactions(options ...WithOption) (traceTransactions bool) {
for _, option := range options {
switch option := option.(type) {
case withTraceTransactionManagerTransactions:
- return option.traceTransactions
+ traceTransactions = option.traceTransactions
}
}
- return false
+ return
}
// WithTraceDefaultMessageCodecWorker enables trace default message codec worker
@@ -125,14 +125,14 @@ func WithTraceDefaultMessageCodecWorker(traceWorkers bool) WithOption {
}
// ExtractTraceDefaultMessageCodecWorker to extract the flag indicating to trace default message codec workers
-func ExtractTraceDefaultMessageCodecWorker(options ...WithOption) bool {
+func ExtractTraceDefaultMessageCodecWorker(options ...WithOption) (traceTransactions bool) {
for _, option := range options {
switch option := option.(type) {
case withTraceTransactionManagerTransactions:
- return option.traceTransactions
+ traceTransactions = option.traceTransactions
}
}
- return false
+ return
}
// WithExecutorOptionTracerWorkers sets a flag which extends logging for workers
@@ -145,10 +145,10 @@ func ExtractTracerWorkers(_options ...WithOption) (traceWorkers bool, found bool
for _, option := range _options {
switch option := option.(type) {
case *withTracerExecutorWorkersOption:
- return option.traceWorkers, true
+ traceWorkers, found = option.traceWorkers, true
}
}
- return false, false
+ return
}
// GetLoggerContextForModel returns a log context if the WithPassLoggerToModel WithOption is set