use of org.hisp.dhis.dxf2.metadata.sync.exception.RemoteServerUnavailableException in project dhis2-core by dhis2.
the class MetadataVersionDelegate method getDhisHttpResponse.
// ----------------------------------------------------------------------------------------
// Private Methods
// ----------------------------------------------------------------------------------------
private DhisHttpResponse getDhisHttpResponse(String url, int timeout) {
AvailabilityStatus remoteServerAvailable = synchronizationManager.isRemoteServerAvailable();
if (!(remoteServerAvailable.isAvailable())) {
String message = remoteServerAvailable.getMessage();
log.error(message);
throw new RemoteServerUnavailableException(message);
}
String username = metadataSystemSettingService.getRemoteInstanceUserName();
String password = metadataSystemSettingService.getRemoteInstancePassword();
log.info("Remote server metadata version URL: " + url + ", username: " + username);
DhisHttpResponse dhisHttpResponse;
try {
dhisHttpResponse = HttpUtils.httpGET(url, true, username, password, null, timeout, true);
} catch (Exception e) {
String message = "Exception occurred while trying to make the GET call to URL: " + url;
log.error(message, e);
throw new MetadataVersionServiceException(message, e);
}
return dhisHttpResponse;
}
use of org.hisp.dhis.dxf2.metadata.sync.exception.RemoteServerUnavailableException in project dhis2-core by dhis2.
the class MetadataSyncController method metadataSync.
@PreAuthorize("hasRole('ALL') or hasRole('F_METADATA_MANAGE')")
@GetMapping
public ResponseEntity<? extends WebMessageResponse> metadataSync(HttpServletRequest request, HttpServletResponse response) throws MetadataSyncException, BadRequestException, MetadataImportConflictException, OperationNotAllowedException {
MetadataSyncParams syncParams;
MetadataSyncSummary metadataSyncSummary = null;
synchronized (metadataSyncService) {
try {
syncParams = metadataSyncService.getParamsFromMap(contextService.getParameterValuesMap());
} catch (RemoteServerUnavailableException exception) {
throw new MetadataSyncException(exception.getMessage(), exception);
} catch (MetadataSyncServiceException serviceException) {
throw new BadRequestException("Error in parsing inputParams " + serviceException.getMessage(), serviceException);
}
try {
boolean isSyncRequired = metadataSyncService.isSyncRequired(syncParams);
if (isSyncRequired) {
metadataSyncSummary = metadataSyncService.doMetadataSync(syncParams);
validateSyncSummaryResponse(metadataSyncSummary);
} else {
throw new MetadataImportConflictException("Version already exists in system and hence not starting the sync.");
}
} catch (MetadataSyncImportException importerException) {
throw new MetadataSyncException("Runtime exception occurred while doing import: " + importerException.getMessage());
} catch (MetadataSyncServiceException serviceException) {
throw new MetadataSyncException("Exception occurred while doing metadata sync: " + serviceException.getMessage());
} catch (DhisVersionMismatchException versionMismatchException) {
throw new OperationNotAllowedException("Exception occurred while doing metadata sync: " + versionMismatchException.getMessage());
}
}
return new ResponseEntity<MetadataSyncSummary>(metadataSyncSummary, HttpStatus.OK);
}
Aggregations