(c flags.FlagContext)
| 84 | } |
| 85 | |
| 86 | func (cmd *CopySource) Execute(c flags.FlagContext) error { |
| 87 | sourceAppName := c.Args()[0] |
| 88 | targetAppName := c.Args()[1] |
| 89 | |
| 90 | targetOrg := c.String("o") |
| 91 | targetSpace := c.String("s") |
| 92 | |
| 93 | if targetOrg != "" && targetSpace == "" { |
| 94 | return errors.New(T("Please provide the space within the organization containing the target application")) |
| 95 | } |
| 96 | |
| 97 | _, err := cmd.authRepo.RefreshAuthToken() |
| 98 | if err != nil { |
| 99 | return err |
| 100 | } |
| 101 | |
| 102 | sourceApp, err := cmd.appRepo.Read(sourceAppName) |
| 103 | if err != nil { |
| 104 | return err |
| 105 | } |
| 106 | |
| 107 | var targetOrgName, targetSpaceName, spaceGUID, copyStr string |
| 108 | var spaceFields models.SpaceFields |
| 109 | if targetOrg != "" && targetSpace != "" { |
| 110 | spaceFields, err = cmd.findSpaceFields(targetOrg, targetSpace) |
| 111 | spaceGUID = spaceFields.GUID |
| 112 | if err != nil { |
| 113 | return err |
| 114 | } |
| 115 | |
| 116 | targetOrgName = targetOrg |
| 117 | targetSpaceName = spaceFields.Name |
| 118 | } else if targetSpace != "" { |
| 119 | var space models.Space |
| 120 | space, err = cmd.spaceRepo.FindByName(targetSpace) |
| 121 | if err != nil { |
| 122 | return err |
| 123 | } |
| 124 | spaceGUID = space.GUID |
| 125 | targetOrgName = cmd.config.OrganizationFields().Name |
| 126 | targetSpaceName = space.Name |
| 127 | } else { |
| 128 | spaceGUID = cmd.config.SpaceFields().GUID |
| 129 | targetOrgName = cmd.config.OrganizationFields().Name |
| 130 | targetSpaceName = cmd.config.SpaceFields().Name |
| 131 | } |
| 132 | |
| 133 | copyStr = buildCopyString(sourceAppName, targetAppName, targetOrgName, targetSpaceName, cmd.config.Username()) |
| 134 | |
| 135 | targetApp, err := cmd.appRepo.ReadFromSpace(targetAppName, spaceGUID) |
| 136 | if err != nil { |
| 137 | return err |
| 138 | } |
| 139 | |
| 140 | cmd.ui.Say(copyStr) |
| 141 | cmd.ui.Say(T("Note: this may take some time")) |
| 142 | cmd.ui.Say("") |
| 143 |
nothing calls this directly
no test coverage detected