public Object resourceAction(String type, ApiRequest request, ResourceManager next) { if ("remove".equalsIgnoreCase(request.getAction())) { validateSnapshotRemove(request); } return super.resourceAction(type, request, next); }
@Override public Object resourceAction(String type, ApiRequest request, ResourceManager next) { if (request.getAction().equals(ServiceConstants.ACTION_SERVICE_SET_SERVICE_LINKS)) { validateServices(Long.valueOf(request.getId()), request); } return super.resourceAction(type, request, next); }
@Override public Object resourceAction(String type, ApiRequest request, ResourceManager next) { if (request.getAction().equalsIgnoreCase("remove")) { validateIfCertificateInUse(request.getId()); } return super.resourceAction(type, request, next); } }
@Override public Object resourceAction(String type, ApiRequest request, ResourceManager next) { if (ACTIONS.contains(request.getAction())) { validateInUse(type, request.getId(), request, next); } return super.resourceAction(type, request, next); }
@Override public Object resourceAction(String type, ApiRequest request, ResourceManager next) { if (ACTIONS.contains(request.getAction())) { validateInUse(type, request.getId(), request, next); } return super.resourceAction(type, request, next); }
@Override public Object resourceAction(String type, ApiRequest request, ResourceManager next) { if (ACTIONS.containsKey(request.getAction())) { Map<String, Object> data = CollectionUtils.toMap(request.getRequestObject()); validateAction(Long.valueOf(request.getId()), request.getAction(), data); } return super.resourceAction(type, request, next); }
@Override public Object resourceAction(String type, ApiRequest request, ResourceManager next) { if (request.getAction().equals(ServiceConstants.ACTION_SERVICE_UPGRADE)) { Service service = objectManager.loadResource(Service.class, request.getId()); ServiceUpgrade upgrade = jsonMapper.convertValue(request.getRequestObject(), ServiceUpgrade.class); ServiceUpgradeStrategy strategy = upgrade.getStrategy(); if (strategy == null) { ValidationErrorCodes.throwValidationError(ValidationErrorCodes.MISSING_REQUIRED, "Upgrade strategy needs to be set"); } processInServiceUpgradeStrategy(request, service, upgrade, strategy); } return super.resourceAction(type, request, next); }
@Override public Object resourceAction(String type, ApiRequest request, ResourceManager next) { if (!request.getAction().equalsIgnoreCase(ACTION_REVERT) && !request.getAction().equalsIgnoreCase(ACTION_RESTORE)) { return super.resourceAction(type, request, next); return super.resourceAction(type, request, next);
@Override public Object resourceAction(String type, ApiRequest request, ResourceManager next) { if (request.getAction().equals(ServiceConstants.ACTION_SERVICE_ROLLBACK)) { Service service = objectManager.loadResource(Service.class, request.getId()); ServiceUpgrade upgrade = DataAccessor.field(service, ServiceConstants.FIELD_UPGRADE, jsonMapper, ServiceUpgrade.class); if (upgrade != null && upgrade.getInServiceStrategy() != null) { InServiceUpgradeStrategy strategy = upgrade.getInServiceStrategy(); if (strategy.getPreviousLaunchConfig() != null || strategy.getPreviousSecondaryLaunchConfigs() != null) { ServiceDiscoveryUtil.upgradeServiceConfigs(service, strategy, true); } objectManager.persist(service); } } return super.resourceAction(type, request, next); } }
@Override public Object resourceAction(String type, ApiRequest request, ResourceManager next) { if (request.getAction().equals(ServiceConstants.ACTION_SERVICE_RESTART)) { Service service = objectManager.loadResource(Service.class, request.getId()); ServiceRestart restart = jsonMapper.convertValue(request.getRequestObject(), ServiceRestart.class); RollingRestartStrategy strategy = restart.getRollingRestartStrategy(); if (strategy == null) { ValidationErrorCodes.throwValidationError(ValidationErrorCodes.MISSING_REQUIRED, "Restart strategy needs to be set"); } Map<Long, Long> instanceToStartCount = new HashMap<>(); for (Instance instance : exposeMapDao.listServiceManagedInstances(service)) { instanceToStartCount.put(instance.getId(), instance.getStartCount()); } strategy.setInstanceToStartCount(instanceToStartCount); restart.setRollingRestartStrategy(strategy); request.setRequestObject(jsonMapper.writeValueAsMap(restart)); objectManager.persist(service); } return super.resourceAction(type, request, next); } }