Feature/add size check for resources (#18)

* Removed extra = in newVersion. Added target to release action to use the correct branch (#7) (#8)

Signed-off-by: Knut-Erik Johnsen <abstract@knut-erik.org>

* Removed extra = in newVersion. Added target to release action to use the correct branch (#7) (#8) (#9)

Signed-off-by: Knut-Erik Johnsen <abstract@knut-erik.org>

* Release/1.14 (#12)

* Removed extra = in newVersion. Added target to release action to use the correct branch (#7)

Signed-off-by: Knut-Erik Johnsen <abstract@knut-erik.org>

* Feature/update workflows (#11)

* Removed extra = in newVersion. Added target to release action to use the correct branch

Signed-off-by: Knut-Erik Johnsen <abstract@knut-erik.org>

* Downgraded grpc to same version as the used springboot starter. Added javadoc. Removed componentscan since it's bad practie

Signed-off-by: Knut-Erik Johnsen <abstract@knut-erik.org>

---------

Signed-off-by: Knut-Erik Johnsen <abstract@knut-erik.org>

---------

Signed-off-by: Knut-Erik Johnsen <abstract@knut-erik.org>

* Release/1.15 (#13)

* Removed extra = in newVersion. Added target to release action to use the correct branch (#7) (#8)

Signed-off-by: Knut-Erik Johnsen <abstract@knut-erik.org>

* Release/1.14 (#12)

* Removed extra = in newVersion. Added target to release action to use the correct branch (#7)

Signed-off-by: Knut-Erik Johnsen <abstract@knut-erik.org>

* Feature/update workflows (#11)

* Removed extra = in newVersion. Added target to release action to use the correct branch

Signed-off-by: Knut-Erik Johnsen <abstract@knut-erik.org>

* Downgraded grpc to same version as the used springboot starter. Added javadoc. Removed componentscan since it's bad practie

Signed-off-by: Knut-Erik Johnsen <abstract@knut-erik.org>

---------

Signed-off-by: Knut-Erik Johnsen <abstract@knut-erik.org>

---------

Signed-off-by: Knut-Erik Johnsen <abstract@knut-erik.org>

---------

Signed-off-by: Knut-Erik Johnsen <abstract@knut-erik.org>

* Added range check for extra resources

Signed-off-by: Knut-Erik Johnsen <abstract@knut-erik.org>

---------

Signed-off-by: Knut-Erik Johnsen <abstract@knut-erik.org>
This commit is contained in:
Knut-Erik Johnsen 2024-06-27 14:42:40 +02:00 committed by GitHub
parent a41312e2c8
commit 4a23c6ba53
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 7 additions and 6 deletions

View File

@ -4,7 +4,6 @@ import com.google.protobuf.util.JsonFormat;
import io.crossplane.compositefunctions.protobuf.ResourceSelector;
import io.crossplane.compositefunctions.protobuf.Resources;
import io.crossplane.compositefunctions.starter.exception.CrossplaneUnexpectedItemsException;
import io.crossplane.compositefunctions.starter.exception.CrossplaneUnmarshallException;
import io.fabric8.kubernetes.api.model.HasMetadata;
import io.fabric8.kubernetes.client.utils.Serialization;
@ -31,17 +30,19 @@ public class CrossplaneExtraResourcesService {
public <T> Optional<T> getExtraResource(Map<String, Resources> extraResources, String resourceName, Class<T> clazz) {
return getExtraResources(extraResources, resourceName, 1, clazz).get(0);
List<Optional<T>> resources = getExtraResources(extraResources, resourceName, 1, clazz);
if (resources.isEmpty()) {
return Optional.empty();
}
return resources.get(0);
}
public <T> List<Optional<T>> getExtraResources(Map<String, Resources> extraResources, String resourceName, int expectedResources, Class<T> clazz) {
List<Optional<T>> result = new ArrayList<>();
Resources resources = extraResources.get(resourceName);
if (resources != null ) {
if (resources.getItemsCount() != expectedResources) {
throw new CrossplaneUnexpectedItemsException("Unexpected number of resources. Expected " + expectedResources + " but got " + resources.getItemsCount() + ".");
}
if (resources != null && resources.getItemsCount() == expectedResources) {
for (int i = 0; i < expectedResources; i++) {
try {
logger.debug("We have an extra resource " + clazz.getSimpleName());