diff --git a/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/CollectionCache.java b/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/CollectionCache.java index 90a385976..0901abab2 100644 --- a/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/CollectionCache.java +++ b/network-store-iidm-impl/src/main/java/com/powsybl/network/store/iidm/impl/CollectionCache.java @@ -120,6 +120,7 @@ public List> getCachedResources() { */ public void init() { fullyLoaded = true; + fullyLoadedExtensions = true; } public boolean isFullyLoaded() { diff --git a/network-store-iidm-impl/src/test/java/com/powsybl/network/store/iidm/impl/CollectionCacheTest.java b/network-store-iidm-impl/src/test/java/com/powsybl/network/store/iidm/impl/CollectionCacheTest.java index 499987a00..2b0734b01 100644 --- a/network-store-iidm-impl/src/test/java/com/powsybl/network/store/iidm/impl/CollectionCacheTest.java +++ b/network-store-iidm-impl/src/test/java/com/powsybl/network/store/iidm/impl/CollectionCacheTest.java @@ -334,6 +334,24 @@ public void removeResourceThenGetContainerTest() { assertEquals(1, collectionCache.getContainerResources(NETWORK_UUID, Resource.INITIAL_VARIANT_NUM, "vl1").size()); } + @Test + public void initExtensionsTest() { + assertEquals(Arrays.asList(l1, l2, l3), collectionCache.getResources(NETWORK_UUID, Resource.INITIAL_VARIANT_NUM)); + assertFalse(mockNetworkStoreClient.isExtensionAttributeLoaderCalled()); + assertFalse(mockNetworkStoreClient.isExtensionAttributesLoaderByResourceTypeAndNameCalled()); + assertFalse(mockNetworkStoreClient.isExtensionAttributesLoaderByIdCalled()); + assertFalse(mockNetworkStoreClient.isExtensionAttributesLoaderByResourceTypeCalled()); + collectionCache.init(); // it means we trust cache content and no more server loading + collectionCache.getExtensionAttributes(NETWORK_UUID, Resource.INITIAL_VARIANT_NUM, ResourceType.LOAD, "l1", "activePowerControl"); + collectionCache.getAllExtensionsAttributesByResourceTypeAndExtensionName(NETWORK_UUID, Resource.INITIAL_VARIANT_NUM, ResourceType.LOAD, "activePowerControl"); + collectionCache.getAllExtensionsAttributesByIdentifiableId(NETWORK_UUID, Resource.INITIAL_VARIANT_NUM, ResourceType.LOAD, "l1"); + collectionCache.getAllExtensionsAttributesByResourceType(NETWORK_UUID, Resource.INITIAL_VARIANT_NUM, ResourceType.LOAD); + assertFalse(mockNetworkStoreClient.isExtensionAttributeLoaderCalled()); + assertFalse(mockNetworkStoreClient.isExtensionAttributesLoaderByResourceTypeAndNameCalled()); + assertFalse(mockNetworkStoreClient.isExtensionAttributesLoaderByIdCalled()); + assertFalse(mockNetworkStoreClient.isExtensionAttributesLoaderByResourceTypeCalled()); + } + @Test public void getExtensionAttributesWithResourceNotCachedMustThrow() { PowsyblException exception = assertThrows(PowsyblException.class, () -> collectionCache.getExtensionAttributes(NETWORK_UUID, Resource.INITIAL_VARIANT_NUM, ResourceType.LOAD, "l1", "activePowerControl"));