Skip to content

Commit 4595f55

Browse files
committed
refactor: use slices.Contains to simplify code
Signed-off-by: keeghcet <[email protected]>
1 parent d8f6bbb commit 4595f55

File tree

10 files changed

+29
-65
lines changed

10 files changed

+29
-65
lines changed

core/chaincode/platforms/util/writer.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
"os"
1515
"path"
1616
"path/filepath"
17+
"slices"
1718
"strings"
1819
"time"
1920

@@ -37,10 +38,8 @@ func WriteFolderToTarPackage(tw *tar.Writer, srcPath string, excludeDirs []strin
3738
}
3839

3940
if info.Mode().IsDir() {
40-
for _, excluded := range append(excludeDirs, ".git") {
41-
if info.Name() == excluded {
42-
return filepath.SkipDir
43-
}
41+
if slices.Contains(append(excludeDirs, ".git"), info.Name()) {
42+
return filepath.SkipDir
4443
}
4544
return nil
4645
}

core/container/externalbuilder/externalbuilder.go

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
"os/exec"
1515
"path/filepath"
1616
"regexp"
17+
"slices"
1718
"time"
1819

1920
"github.com/hyperledger/fabric-lib-go/common/flogging"
@@ -410,18 +411,9 @@ func (b *Builder) NewCommand(name string, args ...string) *exec.Cmd {
410411

411412
func appendDefaultPropagateEnvironment(propagateEnvironment []string) []string {
412413
for _, variable := range DefaultPropagateEnvironment {
413-
if !contains(propagateEnvironment, variable) {
414+
if !slices.Contains(propagateEnvironment, variable) {
414415
propagateEnvironment = append(propagateEnvironment, variable)
415416
}
416417
}
417418
return propagateEnvironment
418419
}
419-
420-
func contains(propagateEnvironment []string, key string) bool {
421-
for _, variable := range propagateEnvironment {
422-
if key == variable {
423-
return true
424-
}
425-
}
426-
return false
427-
}

core/ledger/kvledger/coll_elg_notifier.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,11 +129,11 @@ func (n *collElgNotifier) elgEnabledCollNames(ledgerID string,
129129

130130
// elgEnabled returns true if the peer is not eligible for a collection as per 'existingPolicy' and is eligible as per 'postCommitPolicy'
131131
func (n *collElgNotifier) elgEnabled(ledgerID string, existingPolicy, postCommitPolicy *peer.CollectionPolicyConfig) (bool, error) {
132-
existingMember, err := n.membershipInfoProvider.AmMemberOf(ledgerID, existingPolicy)
133-
if err != nil || existingMember {
134-
return false, err
132+
existingMember := n.membershipInfoProvider.AmMemberOf(ledgerID, existingPolicy)
133+
if existingMember {
134+
return false, nil
135135
}
136-
return n.membershipInfoProvider.AmMemberOf(ledgerID, postCommitPolicy)
136+
return n.membershipInfoProvider.AmMemberOf(ledgerID, postCommitPolicy), nil
137137
}
138138

139139
func extractPublicUpdates(stateUpdates ledger.StateUpdates) map[string][]*kvrwset.KVWrite {

core/ledger/kvledger/pause_resume_test.go

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ SPDX-License-Identifier: Apache-2.0
77
package kvledger
88

99
import (
10+
"slices"
1011
"testing"
1112

1213
"github.com/hyperledger/fabric-protos-go-apiv2/common"
@@ -115,7 +116,7 @@ func assertLedgerStatus(t *testing.T, provider *Provider, genesisBlocks []*commo
115116
require.NoError(t, err)
116117
require.Len(t, activeLedgerIDs, numLedgers-len(pausedLedgers))
117118
for i := 0; i < numLedgers; i++ {
118-
if !contains(pausedLedgers, i) {
119+
if !slices.Contains(pausedLedgers, i) {
119120
require.Contains(t, activeLedgerIDs, constructTestLedgerID(i))
120121
}
121122
}
@@ -124,19 +125,10 @@ func assertLedgerStatus(t *testing.T, provider *Provider, genesisBlocks []*commo
124125
m, err := s.getLedgerMetadata(constructTestLedgerID(i))
125126
require.NoError(t, err)
126127
require.NotNil(t, m)
127-
if contains(pausedLedgers, i) {
128+
if slices.Contains(pausedLedgers, i) {
128129
require.Equal(t, msgs.Status_INACTIVE, m.GetStatus())
129130
} else {
130131
require.Equal(t, msgs.Status_ACTIVE, m.GetStatus())
131132
}
132133
}
133134
}
134-
135-
func contains(slice []int, val int) bool {
136-
for _, item := range slice {
137-
if item == val {
138-
return true
139-
}
140-
}
141-
return false
142-
}

core/ledger/kvledger/tests/env.go

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"fmt"
1111
"os"
1212
"path/filepath"
13+
"slices"
1314
"testing"
1415
"time"
1516

@@ -315,15 +316,10 @@ type membershipInfoProvider struct {
315316
myOrgMSPID string
316317
}
317318

318-
func (p *membershipInfoProvider) AmMemberOf(channelName string, collectionPolicyConfig *peer.CollectionPolicyConfig) (bool, error) {
319+
func (p *membershipInfoProvider) AmMemberOf(channelName string, collectionPolicyConfig *peer.CollectionPolicyConfig) bool {
319320
members := convertFromMemberOrgsPolicy(collectionPolicyConfig)
320321
fmt.Printf("members = %s\n", members)
321-
for _, m := range members {
322-
if m == p.myOrgMSPID {
323-
return true, nil
324-
}
325-
}
326-
return false, nil
322+
return slices.Contains(members, p.myOrgMSPID)
327323
}
328324

329325
func (p *membershipInfoProvider) MyImplicitCollectionName() string {

core/ledger/kvledger/txmgmt/statedb/commontests/test_common.go

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ package commontests
88

99
import (
1010
"fmt"
11+
"slices"
1112
"strings"
1213
"testing"
1314

@@ -1072,7 +1073,7 @@ func TestDataExportImport(
10721073
verifyExportImport := func(destDBName string, skipNamespaces stringset) {
10731074
fullScanItr, err := sourceDB.GetFullScanIterator(
10741075
func(ns string) bool {
1075-
return skipNamespaces.contains(ns)
1076+
return slices.Contains(skipNamespaces, ns)
10761077
},
10771078
)
10781079
require.NoError(t, err)
@@ -1162,19 +1163,10 @@ func CreateTestData(t *testing.T, db statedb.VersionedDB, ns string, numKeys int
11621163

11631164
type stringset []string
11641165

1165-
func (s stringset) contains(str string) bool {
1166-
for _, element := range s {
1167-
if element == str {
1168-
return true
1169-
}
1170-
}
1171-
return false
1172-
}
1173-
11741166
func (s stringset) minus(toMinus stringset) stringset {
11751167
var final stringset
11761168
for _, element := range s {
1177-
if toMinus.contains(element) {
1169+
if slices.Contains(toMinus, element) {
11781170
continue
11791171
}
11801172
final = append(final, element)

core/ledger/kvledger/txmgmt/statedb/statecouchdb/cache.go

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ package statecouchdb
99
import (
1010
"github.com/VictoriaMetrics/fastcache"
1111
"google.golang.org/protobuf/proto"
12+
"slices"
1213
)
1314

1415
var keySep = []byte{0x00}
@@ -45,10 +46,8 @@ func newCache(usrCacheSizeMBs int, sysNamespaces []string) *cache {
4546
// Namespace can be of two types: system namespace (such as lscc) and user
4647
// namespace (all user's chaincode states).
4748
func (c *cache) enabled(namespace string) bool {
48-
for _, ns := range c.sysNamespaces {
49-
if namespace == ns {
50-
return true
51-
}
49+
if slices.Contains(c.sysNamespaces, namespace) {
50+
return true
5251
}
5352
return c.usrCache != nil
5453
}
@@ -152,10 +151,8 @@ func (c *cache) Reset() {
152151
}
153152

154153
func (c *cache) getCache(namespace string) *fastcache.Cache {
155-
for _, ns := range c.sysNamespaces {
156-
if namespace == ns {
157-
return c.sysCache
158-
}
154+
if slices.Contains(c.sysNamespaces, namespace) {
155+
return c.sysCache
159156
}
160157
return c.usrCache
161158
}

core/ledger/ledger_interface.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -732,7 +732,7 @@ type ChaincodeLifecycleDetails struct {
732732
// a member of a collection. Gossip module is expected to provide the dependency to ledger
733733
type MembershipInfoProvider interface {
734734
// AmMemberOf checks whether the current peer is a member of the given collection
735-
AmMemberOf(channelName string, collectionPolicyConfig *peer.CollectionPolicyConfig) (bool, error)
735+
AmMemberOf(channelName string, collectionPolicyConfig *peer.CollectionPolicyConfig) bool
736736
// MyImplicitCollectionName returns the name of the implicit collection for the current peer
737737
MyImplicitCollectionName() string
738738
}

core/ledger/pvtdatastorage/snapshot_data_importer.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -185,10 +185,7 @@ func (i *eligibilityAndBTLCache) loadDataFor(namespace string) error {
185185

186186
for _, collection := range collections {
187187
staticCollection := collection.GetStaticCollectionConfig()
188-
eligible, err := i.membershipProvider.AmMemberOf(i.ledgerID, staticCollection.MemberOrgsPolicy)
189-
if err != nil {
190-
return err
191-
}
188+
eligible := i.membershipProvider.AmMemberOf(i.ledgerID, staticCollection.MemberOrgsPolicy)
192189
key := nsColl{
193190
ns: namespace,
194191
coll: staticCollection.Name,

core/transientstore/store.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ package transientstore
88

99
import (
1010
"path/filepath"
11+
"slices"
1112

1213
"github.com/hyperledger/fabric-lib-go/common/flogging"
1314
"github.com/hyperledger/fabric-protos-go-apiv2/ledger/rwset"
@@ -156,11 +157,9 @@ func (provider *storeProvider) markStorageForDelete(ledgerID string) error {
156157
}
157158

158159
// don't update if the storage is already marked for deletion.
159-
for _, l := range marked.List {
160-
if ledgerID == l {
161-
logger.Infow("Transient storage was already marked for delete", "ledgerID", ledgerID)
162-
return nil
163-
}
160+
if slices.Contains(marked.List, ledgerID) {
161+
logger.Infow("Transient storage was already marked for delete", "ledgerID", ledgerID)
162+
return nil
164163
}
165164

166165
marked.List = append(marked.List, ledgerID)

0 commit comments

Comments
 (0)