Skip to content

Commit f22b712

Browse files
authored
Merge pull request #523 from Axway-API-Management-Plus/methodlevelscope
Methodlevelscope
2 parents 07f414d + 615bf80 commit f22b712

File tree

10 files changed

+529
-138
lines changed

10 files changed

+529
-138
lines changed

modules/apim-adapter/src/main/java/com/axway/apim/api/specification/APISpecification.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,4 +182,8 @@ public APISpecification setFilterConfig(APISpecificationFilter filterConfig) {
182182
this.filterConfig = filterConfig;
183183
return this;
184184
}
185+
186+
public ObjectMapper getMapper() {
187+
return mapper;
188+
}
185189
}

modules/apis/src/main/java/com/axway/apim/api/export/impl/ExportHelper.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public void saveAPILocally(ObjectMapper mapper, ExportAPI exportAPI, String conf
6262
throw new AppException("Backend API Definition is not available for the API : " + exportAPI.getName() + ", hence use the option -useFEAPIDefinition to export API", ErrorCode.BACKEND_API_DEF_NA);
6363
return;
6464
}
65-
writeSpec(mapper, apiDef, exportAPI, localFolder);
65+
writeSpec(apiDef, exportAPI, localFolder);
6666
Image image = exportAPI.getAPIImage();
6767
if (image != null && (!EnvironmentProperties.PRINT_CONFIG_CONSOLE)) {
6868
writeBytesToFile(image.getImageContent(), localFolder + File.separator + image.getBaseFilename());
@@ -143,22 +143,23 @@ private void storePrivateCerts(File localFolder, List<AuthenticationProfile> aut
143143
}
144144
}
145145

146-
public void writeSpec(ObjectMapper mapper, APISpecification apiDef, ExportAPI exportAPI, File localFolder) throws AppException {
146+
public void writeSpec(APISpecification apiDef, ExportAPI exportAPI, File localFolder) throws AppException {
147147
String targetFile = null;
148148
try {
149149
if (!(apiDef instanceof WSDLSpecification && EnvironmentProperties.RETAIN_BACKEND_URL) && (!EnvironmentProperties.PRINT_CONFIG_CONSOLE)) {
150150
String fileName = Utils.replaceSpecialChars(exportAPI.getName());
151151
String fileExtension = apiDef.getAPIDefinitionType().getFileExtension();
152-
if(apiDef instanceof Swagger2xSpecification || apiDef instanceof OAS3xSpecification){
152+
if (apiDef instanceof Swagger2xSpecification || apiDef instanceof OAS3xSpecification) {
153+
ObjectMapper mapper = apiDef.getMapper();
153154
if (mapper.getFactory() instanceof YAMLFactory) {
154-
fileExtension = APISpecification.APISpecType.SWAGGER_API_20_YAML.getFileExtension();
155-
}else {
156-
fileExtension = APISpecification.APISpecType.SWAGGER_API_20.getFileExtension();
155+
fileExtension = APISpecification.APISpecType.SWAGGER_API_20_YAML.getFileExtension();
156+
} else {
157+
fileExtension = APISpecification.APISpecType.SWAGGER_API_20.getFileExtension();
157158
}
158159
targetFile = localFolder.getCanonicalPath() + "/" + fileName + fileExtension;
159160
Object spec = mapper.readValue(apiDef.getApiSpecificationContent(), Object.class);
160161
mapper.writerWithDefaultPrettyPrinter().writeValue(new File(targetFile), spec);
161-
}else {
162+
} else {
162163
targetFile = localFolder.getCanonicalPath() + "/" + fileName + fileExtension;
163164
writeBytesToFile(apiDef.getApiSpecificationContent(), targetFile);
164165
}

modules/spectoconfig/src/main/java/com/axway/apim/config/APIConfig.java

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22

33
import com.axway.apim.api.API;
44
import com.axway.apim.api.model.*;
5-
import com.axway.apim.config.model.APISecurity;
65
import com.fasterxml.jackson.annotation.JsonIgnore;
76
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
87

9-
import java.util.*;
8+
import java.util.Collections;
9+
import java.util.HashMap;
10+
import java.util.List;
11+
import java.util.Map;
1012

1113
@JsonPropertyOrder({"name", "path", "state", "version", "organization", "apiSpecification", "summary", "descriptionType", "descriptionManual", "vhost", "remoteHost",
1214
"backendBasepath", "image", "inboundProfiles", "outboundProfiles", "securityProfiles", "authenticationProfiles", "tags", "customProperties",
@@ -16,12 +18,10 @@ public class APIConfig {
1618
public static final String DEFAULT = "_default";
1719
private final API api;
1820
private final String apiDefinition;
19-
private final Map<String, Object> securityProfiles;
2021

21-
public APIConfig(API api, String apiDefinition, Map<String, Object> securityProfiles) {
22+
public APIConfig(API api, String apiDefinition) {
2223
this.api = api;
2324
this.apiDefinition = apiDefinition;
24-
this.securityProfiles = securityProfiles;
2525
}
2626

2727
public Map<String, OutboundProfile> getOutboundProfiles() {
@@ -46,15 +46,8 @@ public Map<String, OutboundProfile> getOutboundProfiles() {
4646
}
4747

4848

49-
public List<Map<String, Object>> getSecurityProfiles() {
50-
if (securityProfiles.size() == 1) {
51-
List<APISecurity> apiSecurities = (List<APISecurity>) securityProfiles.get("devices");
52-
if (apiSecurities.get(0).getType().equals(DeviceType.passThrough.getName()))
53-
return Collections.emptyList();
54-
}
55-
List<Map<String, Object>> list = new ArrayList<>();
56-
list.add(securityProfiles);
57-
return list;
49+
public List<SecurityProfile> getSecurityProfiles() {
50+
return api.getSecurityProfiles();
5851
}
5952

6053
public String getPath() {

0 commit comments

Comments
 (0)