Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
package com.seeq.api;
import com.seeq.ApiException;
import com.seeq.ApiClient;
import com.seeq.Configuration;
import com.seeq.model.*;
import com.seeq.Pair;
import javax.ws.rs.core.GenericType;
import javax.ws.rs.ProcessingException;
import com.seeq.model.ConditionMonitorNotificationConfigurationInputV1;
import com.seeq.model.ConditionNotificationOutputListV1;
import com.seeq.model.NotificationConfigurationOutputV1;
import com.seeq.model.ReportNotificationConfigurationInputV1;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class NotificationConfigurationsApi {
private ApiClient apiClient;
private long retryTimeout = 5_000; // Default of 5 seconds
public NotificationConfigurationsApi() {
this(Configuration.getDefaultApiClient());
}
public NotificationConfigurationsApi(ApiClient apiClient) {
this.apiClient = apiClient;
}
public void setRetryTimeout(long retryTimeout) {
this.retryTimeout = retryTimeout;
}
public long getRetryTimeout() {
return this.retryTimeout;
}
public ApiClient getApiClient() {
return apiClient;
}
public void setApiClient(ApiClient apiClient) {
this.apiClient = apiClient;
}
/**
* Delete a notification configuration
*
* @param id The Seeq ID of the notifiable item (required)
* @throws ApiException if fails to make API call
*/
public void deleteNotificationConfiguration(String id) throws ApiException {
deleteNotificationConfigurationWithHttpInfo(id);
}
/**
* Delete a notification configuration
*
* @param id The Seeq ID of the notifiable item (required)
* @throws ApiException if fails to make API call
*/
public void deleteNotificationConfigurationWithHttpInfo(String id) throws ApiException {
Map localVarHeaderParams = new HashMap();
deleteNotificationConfigurationWithHeadersAndHttpInfo(id, localVarHeaderParams);
}
/**
* Delete a notification configuration
*
* @param id The Seeq ID of the notifiable item (required)
* @param customHeaders a map with custom headers for the HTTP request (required)
* @throws ApiException if fails to make API call
*/
public void deleteNotificationConfigurationWithHeadersAndHttpInfo(String id, Map customHeaders) throws ApiException {
Object localVarPostBody = null;
// verify the required parameter 'id' is set
if (id == null) {
throw new ApiException(400, "Missing the required parameter 'id' when calling deleteNotificationConfiguration");
}
// create path and map variables
String localVarPath = "/notification-configurations/{id}"
.replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));
// query params
List localVarQueryParams = new ArrayList();
Map localVarHeaderParams = new HashMap();
Map localVarFormParams = new HashMap();
final String[] localVarAccepts = {
"application/vnd.seeq.v1+json"
};
final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
final String[] localVarContentTypes = {
};
final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
String[] localVarAuthNames = new String[] { "api_key" };
localVarHeaderParams.putAll(customHeaders);
long apiClientInvocationTime = System.currentTimeMillis();
while(true) {
try {
apiClient.invokeAPIWithHttpInfo(localVarPath, "DELETE", localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, null);
return;
// Possible exceptions:
// ===================
// * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
// during conversion of the response entity data to an instance of a particular Java type).
// * ProcessingException - in case the request processing or subsequent I/O operation fails.
// * WebApplicationException - in case the response status code of the response returned by the server is not
// successful and the specified response type is not Response.
// * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
// in ApiException(s)
} catch (ApiException | ProcessingException e) {
if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
continue;
}
}
throw e;
}
} // while
}
/**
* Get a list of condition notifications
*
* @param creatorIds Filter items to only those created by the specified user IDs (optional)
* @param nameSearch Filter the items to those whose name match any part of the specified string (optional)
* @param workbookSearch Filter the items to those whose condition are scoped to workbooks that match any part of the specified string (optional)
* @param conditionIds Filter items to only those that are monitoring one of the specified conditions as specified by the list of IDs (optional)
* @param enabledFilter Filter items by their enabled status (optional)
* @param offset Whether to filter items to only users who are enabled. (optional, default to 0)
* @param limit The pagination limit, the total number of items that will be returned in this page of results (optional, default to 40)
* @param sortField Order the items by either name or createdAt (optional, default to Name)
* @param sortAsc Sorts the sort field in ascending order when true and descending when false (optional, default to true)
* @return ConditionNotificationOutputListV1
* @throws ApiException if fails to make API call
*/
public ConditionNotificationOutputListV1 getConditionNotifications(List creatorIds, String nameSearch, String workbookSearch, List conditionIds, Boolean enabledFilter, Integer offset, Integer limit, String sortField, Boolean sortAsc) throws ApiException {
ApiClient.ApiResponse localVarResponse = getConditionNotificationsWithHttpInfo(creatorIds, nameSearch, workbookSearch, conditionIds, enabledFilter, offset, limit, sortField, sortAsc);
return localVarResponse != null ? localVarResponse.getData() : null;
}
/**
* Get a list of condition notifications
*
* @param creatorIds Filter items to only those created by the specified user IDs (optional)
* @param nameSearch Filter the items to those whose name match any part of the specified string (optional)
* @param workbookSearch Filter the items to those whose condition are scoped to workbooks that match any part of the specified string (optional)
* @param conditionIds Filter items to only those that are monitoring one of the specified conditions as specified by the list of IDs (optional)
* @param enabledFilter Filter items by their enabled status (optional)
* @param offset Whether to filter items to only users who are enabled. (optional, default to 0)
* @param limit The pagination limit, the total number of items that will be returned in this page of results (optional, default to 40)
* @param sortField Order the items by either name or createdAt (optional, default to Name)
* @param sortAsc Sorts the sort field in ascending order when true and descending when false (optional, default to true)
* @throws ApiException if fails to make API call
*/
public ApiClient.ApiResponse getConditionNotificationsWithHttpInfo(List creatorIds, String nameSearch, String workbookSearch, List conditionIds, Boolean enabledFilter, Integer offset, Integer limit, String sortField, Boolean sortAsc) throws ApiException {
Map localVarHeaderParams = new HashMap();
return getConditionNotificationsWithHeadersAndHttpInfo(creatorIds, nameSearch, workbookSearch, conditionIds, enabledFilter, offset, limit, sortField, sortAsc, localVarHeaderParams);
}
/**
* Get a list of condition notifications
*
* @param creatorIds Filter items to only those created by the specified user IDs (optional)
* @param nameSearch Filter the items to those whose name match any part of the specified string (optional)
* @param workbookSearch Filter the items to those whose condition are scoped to workbooks that match any part of the specified string (optional)
* @param conditionIds Filter items to only those that are monitoring one of the specified conditions as specified by the list of IDs (optional)
* @param enabledFilter Filter items by their enabled status (optional)
* @param offset Whether to filter items to only users who are enabled. (optional, default to 0)
* @param limit The pagination limit, the total number of items that will be returned in this page of results (optional, default to 40)
* @param sortField Order the items by either name or createdAt (optional, default to Name)
* @param sortAsc Sorts the sort field in ascending order when true and descending when false (optional, default to true)
* @param customHeaders a map with custom headers for the HTTP request (required)
* @throws ApiException if fails to make API call
*/
public ApiClient.ApiResponse getConditionNotificationsWithHeadersAndHttpInfo(List creatorIds, String nameSearch, String workbookSearch, List conditionIds, Boolean enabledFilter, Integer offset, Integer limit, String sortField, Boolean sortAsc, Map customHeaders) throws ApiException {
Object localVarPostBody = null;
// create path and map variables
String localVarPath = "/notification-configurations/condition-monitors";
// query params
List localVarQueryParams = new ArrayList();
Map localVarHeaderParams = new HashMap();
Map localVarFormParams = new HashMap();
localVarQueryParams.addAll(apiClient.parameterToPairs("multi", "creatorIds", creatorIds));
localVarQueryParams.addAll(apiClient.parameterToPairs("", "nameSearch", nameSearch));
localVarQueryParams.addAll(apiClient.parameterToPairs("", "workbookSearch", workbookSearch));
localVarQueryParams.addAll(apiClient.parameterToPairs("multi", "conditionIds", conditionIds));
localVarQueryParams.addAll(apiClient.parameterToPairs("", "enabledFilter", enabledFilter));
localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));
localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));
localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortField", sortField));
localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortAsc", sortAsc));
final String[] localVarAccepts = {
"application/vnd.seeq.v1+json"
};
final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
final String[] localVarContentTypes = {
};
final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
String[] localVarAuthNames = new String[] { "api_key" };
localVarHeaderParams.putAll(customHeaders);
long apiClientInvocationTime = System.currentTimeMillis();
while(true) {
try {
GenericType localVarReturnType = new GenericType() {};
return apiClient.invokeAPIWithHttpInfo(localVarPath, "GET", localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
// Possible exceptions:
// ===================
// * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
// during conversion of the response entity data to an instance of a particular Java type).
// * ProcessingException - in case the request processing or subsequent I/O operation fails.
// * WebApplicationException - in case the response status code of the response returned by the server is not
// successful and the specified response type is not Response.
// * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
// in ApiException(s)
} catch (ApiException | ProcessingException e) {
if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
continue;
}
}
throw e;
}
} // while
}
/**
* Get a notification configuration
*
* @param id The Seeq ID of the notifiable item (required)
* @return NotificationConfigurationOutputV1
* @throws ApiException if fails to make API call
*/
public NotificationConfigurationOutputV1 getNotificationConfiguration(String id) throws ApiException {
ApiClient.ApiResponse localVarResponse = getNotificationConfigurationWithHttpInfo(id);
return localVarResponse != null ? localVarResponse.getData() : null;
}
/**
* Get a notification configuration
*
* @param id The Seeq ID of the notifiable item (required)
* @throws ApiException if fails to make API call
*/
public ApiClient.ApiResponse getNotificationConfigurationWithHttpInfo(String id) throws ApiException {
Map localVarHeaderParams = new HashMap();
return getNotificationConfigurationWithHeadersAndHttpInfo(id, localVarHeaderParams);
}
/**
* Get a notification configuration
*
* @param id The Seeq ID of the notifiable item (required)
* @param customHeaders a map with custom headers for the HTTP request (required)
* @throws ApiException if fails to make API call
*/
public ApiClient.ApiResponse getNotificationConfigurationWithHeadersAndHttpInfo(String id, Map customHeaders) throws ApiException {
Object localVarPostBody = null;
// verify the required parameter 'id' is set
if (id == null) {
throw new ApiException(400, "Missing the required parameter 'id' when calling getNotificationConfiguration");
}
// create path and map variables
String localVarPath = "/notification-configurations/{id}"
.replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));
// query params
List localVarQueryParams = new ArrayList();
Map localVarHeaderParams = new HashMap();
Map localVarFormParams = new HashMap();
final String[] localVarAccepts = {
"application/vnd.seeq.v1+json"
};
final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
final String[] localVarContentTypes = {
};
final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
String[] localVarAuthNames = new String[] { "api_key" };
localVarHeaderParams.putAll(customHeaders);
long apiClientInvocationTime = System.currentTimeMillis();
while(true) {
try {
GenericType localVarReturnType = new GenericType() {};
return apiClient.invokeAPIWithHttpInfo(localVarPath, "GET", localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
// Possible exceptions:
// ===================
// * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
// during conversion of the response entity data to an instance of a particular Java type).
// * ProcessingException - in case the request processing or subsequent I/O operation fails.
// * WebApplicationException - in case the response status code of the response returned by the server is not
// successful and the specified response type is not Response.
// * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
// in ApiException(s)
} catch (ApiException | ProcessingException e) {
if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
continue;
}
}
throw e;
}
} // while
}
/**
* Create or update a notification configuration on a condition monitor
*
* @param id The Seeq ID of the condition monitor (required)
* @param body (required)
* @return NotificationConfigurationOutputV1
* @throws ApiException if fails to make API call
*/
public NotificationConfigurationOutputV1 setNotificationConfigurationForConditionMonitor(String id, ConditionMonitorNotificationConfigurationInputV1 body) throws ApiException {
ApiClient.ApiResponse localVarResponse = setNotificationConfigurationForConditionMonitorWithHttpInfo(id, body);
return localVarResponse != null ? localVarResponse.getData() : null;
}
/**
* Create or update a notification configuration on a condition monitor
*
* @param id The Seeq ID of the condition monitor (required)
* @param body (required)
* @throws ApiException if fails to make API call
*/
public ApiClient.ApiResponse setNotificationConfigurationForConditionMonitorWithHttpInfo(String id, ConditionMonitorNotificationConfigurationInputV1 body) throws ApiException {
Map localVarHeaderParams = new HashMap();
return setNotificationConfigurationForConditionMonitorWithHeadersAndHttpInfo(id, body, localVarHeaderParams);
}
/**
* Create or update a notification configuration on a condition monitor
*
* @param id The Seeq ID of the condition monitor (required)
* @param body (required)
* @param customHeaders a map with custom headers for the HTTP request (required)
* @throws ApiException if fails to make API call
*/
public ApiClient.ApiResponse setNotificationConfigurationForConditionMonitorWithHeadersAndHttpInfo(String id, ConditionMonitorNotificationConfigurationInputV1 body, Map customHeaders) throws ApiException {
Object localVarPostBody = body;
// verify the required parameter 'id' is set
if (id == null) {
throw new ApiException(400, "Missing the required parameter 'id' when calling setNotificationConfigurationForConditionMonitor");
}
// verify the required parameter 'body' is set
if (body == null) {
throw new ApiException(400, "Missing the required parameter 'body' when calling setNotificationConfigurationForConditionMonitor");
}
// create path and map variables
String localVarPath = "/notification-configurations/condition-monitors/{id}"
.replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));
// query params
List localVarQueryParams = new ArrayList();
Map localVarHeaderParams = new HashMap();
Map localVarFormParams = new HashMap();
final String[] localVarAccepts = {
"application/vnd.seeq.v1+json"
};
final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
final String[] localVarContentTypes = {
"application/vnd.seeq.v1+json"
};
final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
String[] localVarAuthNames = new String[] { "api_key" };
localVarHeaderParams.putAll(customHeaders);
long apiClientInvocationTime = System.currentTimeMillis();
while(true) {
try {
GenericType localVarReturnType = new GenericType() {};
return apiClient.invokeAPIWithHttpInfo(localVarPath, "POST", localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
// Possible exceptions:
// ===================
// * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
// during conversion of the response entity data to an instance of a particular Java type).
// * ProcessingException - in case the request processing or subsequent I/O operation fails.
// * WebApplicationException - in case the response status code of the response returned by the server is not
// successful and the specified response type is not Response.
// * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
// in ApiException(s)
} catch (ApiException | ProcessingException e) {
if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
continue;
}
}
throw e;
}
} // while
}
/**
* Create or update a notification configuration on a report
*
* @param id The Seeq ID of the report (required)
* @param body (required)
* @return NotificationConfigurationOutputV1
* @throws ApiException if fails to make API call
*/
public NotificationConfigurationOutputV1 setNotificationConfigurationForReport(String id, ReportNotificationConfigurationInputV1 body) throws ApiException {
ApiClient.ApiResponse localVarResponse = setNotificationConfigurationForReportWithHttpInfo(id, body);
return localVarResponse != null ? localVarResponse.getData() : null;
}
/**
* Create or update a notification configuration on a report
*
* @param id The Seeq ID of the report (required)
* @param body (required)
* @throws ApiException if fails to make API call
*/
public ApiClient.ApiResponse setNotificationConfigurationForReportWithHttpInfo(String id, ReportNotificationConfigurationInputV1 body) throws ApiException {
Map localVarHeaderParams = new HashMap();
return setNotificationConfigurationForReportWithHeadersAndHttpInfo(id, body, localVarHeaderParams);
}
/**
* Create or update a notification configuration on a report
*
* @param id The Seeq ID of the report (required)
* @param body (required)
* @param customHeaders a map with custom headers for the HTTP request (required)
* @throws ApiException if fails to make API call
*/
public ApiClient.ApiResponse setNotificationConfigurationForReportWithHeadersAndHttpInfo(String id, ReportNotificationConfigurationInputV1 body, Map customHeaders) throws ApiException {
Object localVarPostBody = body;
// verify the required parameter 'id' is set
if (id == null) {
throw new ApiException(400, "Missing the required parameter 'id' when calling setNotificationConfigurationForReport");
}
// verify the required parameter 'body' is set
if (body == null) {
throw new ApiException(400, "Missing the required parameter 'body' when calling setNotificationConfigurationForReport");
}
// create path and map variables
String localVarPath = "/notification-configurations/reports/{id}"
.replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));
// query params
List localVarQueryParams = new ArrayList();
Map localVarHeaderParams = new HashMap();
Map localVarFormParams = new HashMap();
final String[] localVarAccepts = {
"application/vnd.seeq.v1+json"
};
final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
final String[] localVarContentTypes = {
"application/vnd.seeq.v1+json"
};
final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
String[] localVarAuthNames = new String[] { "api_key" };
localVarHeaderParams.putAll(customHeaders);
long apiClientInvocationTime = System.currentTimeMillis();
while(true) {
try {
GenericType localVarReturnType = new GenericType() {};
return apiClient.invokeAPIWithHttpInfo(localVarPath, "POST", localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
// Possible exceptions:
// ===================
// * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
// during conversion of the response entity data to an instance of a particular Java type).
// * ProcessingException - in case the request processing or subsequent I/O operation fails.
// * WebApplicationException - in case the response status code of the response returned by the server is not
// successful and the specified response type is not Response.
// * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
// in ApiException(s)
} catch (ApiException | ProcessingException e) {
if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
continue;
}
}
throw e;
}
} // while
}
/**
* Unsubscribe the current user from the notification on the specified item
*
* @param id The ID of the item to unsubscribe from (required)
* @throws ApiException if fails to make API call
*/
public void unsubscribeFromItem(String id) throws ApiException {
unsubscribeFromItemWithHttpInfo(id);
}
/**
* Unsubscribe the current user from the notification on the specified item
*
* @param id The ID of the item to unsubscribe from (required)
* @throws ApiException if fails to make API call
*/
public void unsubscribeFromItemWithHttpInfo(String id) throws ApiException {
Map localVarHeaderParams = new HashMap();
unsubscribeFromItemWithHeadersAndHttpInfo(id, localVarHeaderParams);
}
/**
* Unsubscribe the current user from the notification on the specified item
*
* @param id The ID of the item to unsubscribe from (required)
* @param customHeaders a map with custom headers for the HTTP request (required)
* @throws ApiException if fails to make API call
*/
public void unsubscribeFromItemWithHeadersAndHttpInfo(String id, Map customHeaders) throws ApiException {
Object localVarPostBody = null;
// verify the required parameter 'id' is set
if (id == null) {
throw new ApiException(400, "Missing the required parameter 'id' when calling unsubscribeFromItem");
}
// create path and map variables
String localVarPath = "/notification-configurations/unsubscribe/{id}"
.replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));
// query params
List localVarQueryParams = new ArrayList();
Map localVarHeaderParams = new HashMap();
Map localVarFormParams = new HashMap();
final String[] localVarAccepts = {
"application/vnd.seeq.v1+json"
};
final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
final String[] localVarContentTypes = {
};
final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
String[] localVarAuthNames = new String[] { "api_key" };
localVarHeaderParams.putAll(customHeaders);
long apiClientInvocationTime = System.currentTimeMillis();
while(true) {
try {
apiClient.invokeAPIWithHttpInfo(localVarPath, "DELETE", localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, null);
return;
// Possible exceptions:
// ===================
// * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
// during conversion of the response entity data to an instance of a particular Java type).
// * ProcessingException - in case the request processing or subsequent I/O operation fails.
// * WebApplicationException - in case the response status code of the response returned by the server is not
// successful and the specified response type is not Response.
// * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
// in ApiException(s)
} catch (ApiException | ProcessingException e) {
if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
continue;
}
}
throw e;
}
} // while
}
}