From 713097d40de3daea54c97903d4bec7954395db9f Mon Sep 17 00:00:00 2001 From: AM1729 Date: Wed, 15 Jul 2026 12:27:44 +0200 Subject: [PATCH] adds some ruleguards while importing STAC resources --- .../org/integratedmodelling/klab/stac/STACValidator.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/adapters/klab.ogc/src/main/java/org/integratedmodelling/klab/stac/STACValidator.java b/adapters/klab.ogc/src/main/java/org/integratedmodelling/klab/stac/STACValidator.java index d87727ed7..3e3f0d6e6 100644 --- a/adapters/klab.ogc/src/main/java/org/integratedmodelling/klab/stac/STACValidator.java +++ b/adapters/klab.ogc/src/main/java/org/integratedmodelling/klab/stac/STACValidator.java @@ -65,6 +65,9 @@ public Builder validate(String urn, URL url, IParameters userData, IMoni JSONObject assetNode; if (userData.contains("asset")) { + if(userData.contains("cog")) { + throw new KlabIllegalArgumentException("STAC asset and cog URL both shouldn't be provided while importing"); + } String requestedAssetId = userData.get("asset", String.class); assetNode = STACCollectionParser.readAssetInformationFromCollection(collectionUrl, collectionData, requestedAssetId); @@ -72,6 +75,10 @@ public Builder validate(String urn, URL url, IParameters userData, IMoni if (!userData.contains("jsonValue")) { throw new KlabIllegalArgumentException("Both jsonSelector and jsonValue must be provided"); } + + if(userData.contains("cog")) { + throw new KlabIllegalArgumentException("jsonSelector and jsonValue shouldn't be provided along with cog URL while importing"); + } Predicate predicate = STACPathExpression.STACAssetPredicate .fromKongJsonObject(userData.get("jsonSelector", String.class), userData.get("jsonValue", String.class));