Skip to content

Commit de30a25

Browse files
committed
Operations: better javadoc for delete, stricter parsing of identities
1 parent ba4fcf0 commit de30a25

3 files changed

Lines changed: 10 additions & 4 deletions

File tree

gcloud-java-compute/src/main/java/com/google/gcloud/compute/Compute.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1092,7 +1092,8 @@ public static OperationListOption fields(OperationField... fields) {
10921092
Page<Operation> listZoneOperations(String zone, OperationListOption... options);
10931093

10941094
/**
1095-
* Deletes the requested operation.
1095+
* Deletes the requested operation. Delete is only possible for operations that have completed
1096+
* their execution. Any attempt to delete a running operation will fail.
10961097
*
10971098
* @return {@code true} if operation was deleted, {@code false} if it was not found
10981099
* @throws ComputeException upon failure

gcloud-java-compute/src/main/java/com/google/gcloud/compute/ComputeImpl.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -542,8 +542,10 @@ public com.google.api.services.compute.model.Operation call() {
542542
ZoneOperationId zoneOperationId = (ZoneOperationId) operationId;
543543
return computeRpc.getZoneOperation(zoneOperationId.zone(),
544544
zoneOperationId.operation(), optionsMap);
545-
default:
545+
case GLOBAL:
546546
return computeRpc.getGlobalOperation(operationId.operation(), optionsMap);
547+
default:
548+
throw new IllegalArgumentException("Unexpected operation identity type");
547549
}
548550
}
549551
}, options().retryParams(), EXCEPTION_HANDLER);
@@ -670,8 +672,10 @@ public Boolean call() {
670672
ZoneOperationId zoneOperationId = (ZoneOperationId) operation;
671673
return computeRpc.deleteZoneOperation(zoneOperationId.zone(),
672674
zoneOperationId.operation());
673-
default:
675+
case GLOBAL:
674676
return computeRpc.deleteGlobalOperation(operation.operation());
677+
default:
678+
throw new IllegalArgumentException("Unexpected operation identity type");
675679
}
676680
}
677681
}, options().retryParams(), EXCEPTION_HANDLER);

gcloud-java-compute/src/main/java/com/google/gcloud/compute/Operation.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -692,7 +692,8 @@ public Operation reload(Compute.OperationOption... options) throws ComputeExcept
692692
}
693693

694694
/**
695-
* Deletes this operation.
695+
* Deletes this operation. Delete is only possible for operations that have completed their
696+
* execution. Any attempt to delete a running operation will fail.
696697
*
697698
* @return {@code true} if operation was deleted, {@code false} if it was not found
698699
* @throws ComputeException upon failure

0 commit comments

Comments
 (0)