mirror of https://github.com/apache/cloudstack.git
CLOUDSTACK-3748:AddS3Cmd NPE.
This commit is contained in:
parent
a2f1d23378
commit
9f3f13f70a
|
|
@ -60,7 +60,7 @@ public class AddImageStoreCmd extends BaseCmd {
|
|||
|
||||
|
||||
@Parameter(name=ApiConstants.DETAILS, type=CommandType.MAP, description="the details for the image store. Example: details[0].key=accesskey&details[0].value=s389ddssaa&details[1].key=secretkey&details[1].value=8dshfsss")
|
||||
private Map<String, String> details;
|
||||
private Map details;
|
||||
|
||||
|
||||
|
||||
|
|
@ -81,19 +81,19 @@ public class AddImageStoreCmd extends BaseCmd {
|
|||
return zoneId;
|
||||
}
|
||||
|
||||
public Map<String, String> getDetails() {
|
||||
Map<String, String> detailsMap = null;
|
||||
if (details != null && !details.isEmpty()) {
|
||||
detailsMap = new HashMap<String, String>();
|
||||
Collection<?> props = details.values();
|
||||
Iterator<?> iter = props.iterator();
|
||||
while (iter.hasNext()) {
|
||||
HashMap<String, String> detail = (HashMap<String, String>) iter.next();
|
||||
String key = detail.get("key");
|
||||
String value = detail.get("value");
|
||||
detailsMap.put(key, value);
|
||||
}
|
||||
}
|
||||
public Map<String, String> getDetails() {
|
||||
Map<String, String> detailsMap = null;
|
||||
if (details != null && !details.isEmpty()) {
|
||||
detailsMap = new HashMap<String, String>();
|
||||
Collection<?> props = details.values();
|
||||
Iterator<?> iter = props.iterator();
|
||||
while (iter.hasNext()) {
|
||||
HashMap<String, String> detail = (HashMap<String, String>) iter.next();
|
||||
String key = detail.get("key");
|
||||
String value = detail.get("value");
|
||||
detailsMap.put(key, value);
|
||||
}
|
||||
}
|
||||
return detailsMap;
|
||||
}
|
||||
|
||||
|
|
@ -139,10 +139,10 @@ public class AddImageStoreCmd extends BaseCmd {
|
|||
ImageStore result = _storageService.discoverImageStore(this);
|
||||
ImageStoreResponse storeResponse = null;
|
||||
if (result != null ) {
|
||||
storeResponse = _responseGenerator.createImageStoreResponse(result);
|
||||
storeResponse.setResponseName(getCommandName());
|
||||
storeResponse.setObjectName("imagestore");
|
||||
this.setResponseObject(storeResponse);
|
||||
storeResponse = _responseGenerator.createImageStoreResponse(result);
|
||||
storeResponse.setResponseName(getCommandName());
|
||||
storeResponse.setObjectName("imagestore");
|
||||
this.setResponseObject(storeResponse);
|
||||
} else {
|
||||
throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to add secondary storage");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -94,25 +94,30 @@ public final class AddS3Cmd extends BaseCmd {
|
|||
ServerApiException, ConcurrentOperationException, ResourceAllocationException,
|
||||
NetworkRuleConflictException {
|
||||
|
||||
AddImageStoreCmd cmd = new AddImageStoreCmd();
|
||||
AddImageStoreCmd cmd = new AddImageStoreCmd() {
|
||||
@Override
|
||||
public Map<String, String> getDetails() {
|
||||
Map<String, String> dm = new HashMap<String, String>();
|
||||
dm.put(ApiConstants.S3_ACCESS_KEY, getAccessKey());
|
||||
dm.put(ApiConstants.S3_SECRET_KEY, getSecretKey());
|
||||
dm.put(ApiConstants.S3_END_POINT, getEndPoint());
|
||||
dm.put(ApiConstants.S3_BUCKET_NAME, getBucketName());
|
||||
if (getHttpsFlag() != null) {
|
||||
dm.put(ApiConstants.S3_HTTPS_FLAG, getHttpsFlag().toString());
|
||||
}
|
||||
if (getConnectionTimeout() != null) {
|
||||
dm.put(ApiConstants.S3_CONNECTION_TIMEOUT, getConnectionTimeout().toString());
|
||||
}
|
||||
if (getMaxErrorRetry() != null) {
|
||||
dm.put(ApiConstants.S3_MAX_ERROR_RETRY, getMaxErrorRetry().toString());
|
||||
}
|
||||
if (getSocketTimeout() != null) {
|
||||
dm.put(ApiConstants.S3_SOCKET_TIMEOUT, getSocketTimeout().toString());
|
||||
}
|
||||
return dm;
|
||||
}
|
||||
};
|
||||
cmd.setProviderName("S3");
|
||||
Map<String, String> details = new HashMap<String, String>();
|
||||
details.put(ApiConstants.S3_ACCESS_KEY, this.getAccessKey());
|
||||
details.put(ApiConstants.S3_SECRET_KEY, this.getSecretKey());
|
||||
details.put(ApiConstants.S3_END_POINT, this.getEndPoint());
|
||||
details.put(ApiConstants.S3_BUCKET_NAME, this.getBucketName());
|
||||
if (this.getHttpsFlag() != null) {
|
||||
details.put(ApiConstants.S3_HTTPS_FLAG, this.getHttpsFlag().toString());
|
||||
}
|
||||
if (this.getConnectionTimeout() != null) {
|
||||
details.put(ApiConstants.S3_CONNECTION_TIMEOUT, this.getConnectionTimeout().toString());
|
||||
}
|
||||
if (this.getMaxErrorRetry() != null) {
|
||||
details.put(ApiConstants.S3_MAX_ERROR_RETRY, this.getMaxErrorRetry().toString());
|
||||
}
|
||||
if (this.getSocketTimeout() != null) {
|
||||
details.put(ApiConstants.S3_SOCKET_TIMEOUT, this.getSocketTimeout().toString());
|
||||
}
|
||||
|
||||
try{
|
||||
ImageStore result = _storageService.discoverImageStore(cmd);
|
||||
|
|
@ -123,7 +128,7 @@ public final class AddS3Cmd extends BaseCmd {
|
|||
storeResponse.setObjectName("secondarystorage");
|
||||
this.setResponseObject(storeResponse);
|
||||
} else {
|
||||
throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to add secondary storage");
|
||||
throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to add S3 secondary storage");
|
||||
}
|
||||
} catch (DiscoveryException ex) {
|
||||
s_logger.warn("Exception: ", ex);
|
||||
|
|
|
|||
Loading…
Reference in New Issue