Skip to content

Commit a3b7bba

Browse files
author
Chris Wiechmann
committed
Merge branch 'develop' into test-with-7.7-20200130
2 parents 343dfd2 + e7f2575 commit a3b7bba

4 files changed

Lines changed: 21 additions & 3 deletions

File tree

modules/apis/src/main/java/com/axway/apim/apiimport/APIImportManager.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.axway.apim.apiimport.actions.CreateNewAPI;
99
import com.axway.apim.apiimport.actions.RecreateToUpdateAPI;
1010
import com.axway.apim.apiimport.actions.UpdateExistingAPI;
11+
import com.axway.apim.apiimport.lib.APIImportParams;
1112
import com.axway.apim.lib.APIPropertiesExport;
1213
import com.axway.apim.lib.CommandParameters;
1314
import com.axway.apim.lib.errorHandling.AppException;
@@ -29,7 +30,7 @@ public class APIImportManager {
2930
* @throws AppException is the desired state can't be replicated into the API-Manager.
3031
*/
3132
public void applyChanges(APIChangeState changeState) throws AppException {
32-
CommandParameters commands = CommandParameters.getInstance();
33+
APIImportParams commands = APIImportParams.getInstance();
3334
if(!APIManagerAdapter.hasAdminAccount() && changeState.isAdminAccountNeeded() ) {
3435
if(commands.allowOrgAdminsToPublish()) {
3536
LOG.debug("Desired API-State set to published using OrgAdmin account only. Going to create a publish request. "
@@ -47,6 +48,10 @@ public void applyChanges(APIChangeState changeState) throws AppException {
4748
CreateNewAPI createAPI = new CreateNewAPI();
4849
createAPI.execute(changeState, false);
4950
// Otherwise an existing API exists
51+
} else if(commands.isForceUpdate()) {
52+
LOG.info("Re-Creating API as the ForceUpdate flag is set");
53+
RecreateToUpdateAPI recreate = new RecreateToUpdateAPI();
54+
recreate.execute(changeState);
5055
} else {
5156
if(!changeState.hasAnyChanges()) {
5257
APIPropertiesExport.getInstance().setProperty("feApiId", changeState.getActualAPI().getId());

modules/apis/src/main/java/com/axway/apim/apiimport/lib/APIImportCLIOptions.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@ public APIImportCLIOptions(String[] args) throws ParseException {
6969
option.setRequired(false);
7070
option.setArgName("APIDetails.properties");
7171
options.addOption(option);
72+
73+
option = new Option("forceUpdate", "If set, the API is Re-Created even if the Desired- and Actual-State are equal.");
74+
option.setRequired(false);
75+
options.addOption(option);
7276
}
7377

7478
@Override

modules/apis/src/main/java/com/axway/apim/apiimport/lib/APIImportParams.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,13 @@ public boolean isUseFEAPIDefinition() {
2626
if(getValue("useFEAPIDefinition")==null) return false;
2727
return Boolean.parseBoolean(getValue("useFEAPIDefinition"));
2828
}
29+
30+
public boolean isForceUpdate() {
31+
try {
32+
if(hasOption("forceUpdate")) {
33+
return true;
34+
}
35+
} catch (Exception ignore) {}
36+
return false;
37+
}
2938
}

modules/apis/src/test/java/com/axway/apim/test/organizations/IgnoreClientOrgsTestIT.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ public void run() {
2121
description("This test makes sure, no organizations have been granted permission.");
2222

2323
variable("apiNumber", RandomNumberFunction.getRandomNumber(3, true));
24-
variable("apiPath", "/grant_invalid_org-api-${apiNumber}");
25-
variable("apiName", "Grant to invalid orgs API-${apiNumber}");
24+
variable("apiPath", "/ignore_client_orgs-api-${apiNumber}");
25+
variable("apiName", "Ignore Client orgs API-${apiNumber}");
2626

2727
variable("testOrgName", "Org without permission ${apiNumber}");
2828

0 commit comments

Comments
 (0)