Skip to content

Commit

Permalink
fix: find api accross all environments in dynamic properties updater
Browse files Browse the repository at this point in the history
  • Loading branch information
a-cordier authored and gaetanmaisse committed Apr 14, 2023
1 parent 8c9788f commit 0d6e4f1
Showing 1 changed file with 7 additions and 16 deletions.
Expand Up @@ -26,6 +26,7 @@
import io.gravitee.rest.api.model.permissions.RoleScope;
import io.gravitee.rest.api.model.permissions.SystemRole;
import io.gravitee.rest.api.service.ApiService;
import io.gravitee.rest.api.service.common.ExecutionContext;
import io.gravitee.rest.api.service.common.GraviteeContext;
import io.gravitee.rest.api.service.converter.ApiConverter;
import io.gravitee.rest.api.service.exceptions.TechnicalManagementException;
Expand Down Expand Up @@ -97,7 +98,9 @@ protected Maybe<Collection<DynamicProperty>> handle() {

private void update(Collection<DynamicProperty> dynamicProperties) {
// Get latest changes
ApiEntity latestApi = apiService.findById(GraviteeContext.getExecutionContext(), api.getId());
ExecutionContext executionContext = GraviteeContext.getExecutionContext();
ExecutionContext lookupContext = new ExecutionContext(executionContext.getOrganizationId(), null);
ApiEntity latestApi = apiService.findById(lookupContext, api.getId());

List<Property> properties = (latestApi.getProperties() != null)
? latestApi.getProperties().getProperties()
Expand Down Expand Up @@ -137,18 +140,12 @@ private void update(Collection<DynamicProperty> dynamicProperties) {
}
latestApi.setProperties(apiProperties);

boolean isSync = apiService.isSynchronized(GraviteeContext.getExecutionContext(), api.getId());
boolean isSync = apiService.isSynchronized(executionContext, api.getId());

// Update API
try {
LOGGER.debug("[{}] Updating API", latestApi.getId());
apiService.update(
GraviteeContext.getExecutionContext(),
latestApi.getId(),
apiConverter.toUpdateApiEntity(latestApi),
false,
false
);
apiService.update(executionContext, latestApi.getId(), apiConverter.toUpdateApiEntity(latestApi), false, false);
LOGGER.debug("[{}] API has been updated", latestApi.getId());
} catch (TechnicalManagementException e) {
LOGGER.error(
Expand All @@ -165,13 +162,7 @@ private void update(Collection<DynamicProperty> dynamicProperties) {
LOGGER.debug("[{}] Property change detected, API is about to be deployed", api.getId());
ApiDeploymentEntity deployEntity = new ApiDeploymentEntity();
deployEntity.setDeploymentLabel("Dynamic properties sync");
apiService.deploy(
GraviteeContext.getExecutionContext(),
latestApi.getId(),
"dynamic-property-updater",
EventType.PUBLISH_API,
deployEntity
);
apiService.deploy(executionContext, latestApi.getId(), "dynamic-property-updater", EventType.PUBLISH_API, deployEntity);
LOGGER.debug("[{}] API as been deployed", api.getId());
}
}
Expand Down

0 comments on commit 0d6e4f1

Please sign in to comment.