github.com/jfrog/jfrog-cli-core/v2@v2.51.0/artifactory/commands/generic/setprops.go (about) 1 package generic 2 3 import ( 4 "github.com/jfrog/jfrog-client-go/utils/errorutils" 5 ) 6 7 type SetPropsCommand struct { 8 PropsCommand 9 } 10 11 func NewSetPropsCommand() *SetPropsCommand { 12 return &SetPropsCommand{} 13 } 14 15 func (setProps *SetPropsCommand) SetPropsCommand(command PropsCommand) *SetPropsCommand { 16 setProps.PropsCommand = command 17 return setProps 18 } 19 20 func (setProps *SetPropsCommand) CommandName() string { 21 return "rt_set_properties" 22 } 23 24 func (setProps *SetPropsCommand) Run() error { 25 serverDetails, err := setProps.ServerDetails() 26 if errorutils.CheckError(err) != nil { 27 return err 28 } 29 servicesManager, err := createPropsServiceManager(setProps.threads, setProps.retries, setProps.retryWaitTimeMilliSecs, serverDetails) 30 if err != nil { 31 return err 32 } 33 34 reader, err := searchItems(setProps.Spec(), servicesManager) 35 if err != nil { 36 return err 37 } 38 defer reader.Close() 39 propsParams := GetPropsParams(reader, setProps.props) 40 success, err := servicesManager.SetProps(propsParams) 41 42 result := setProps.Result() 43 result.SetSuccessCount(success) 44 totalLength, totalLengthErr := reader.Length() 45 result.SetFailCount(totalLength - success) 46 if totalLengthErr != nil { 47 return totalLengthErr 48 } 49 return err 50 }