Support updated data types in service import
[sdc.git] / catalog-model / src / main / java / org / openecomp / sdc / be / model / cache / ApplicationDataTypeCache.java
index 0b4d02a..338bbe1 100644 (file)
@@ -198,6 +198,21 @@ public class ApplicationDataTypeCache implements ApplicationCache<DataTypeDefini
             readWriteLock.readLock().unlock();
         }
     }
+    
+    public void reload(final String model, final String uniqueId) {
+        final Either<DataTypeDefinition, JanusGraphOperationStatus> dataTypeDefEither = propertyOperation.getDataTypeByUid(uniqueId);
+        if (dataTypeDefEither.isLeft()) {
+            DataTypeDefinition dataTypeDef = dataTypeDefEither.left().value();
+            if (getDataTypeDefinitionMapByModel(model).containsKey(dataTypeDef.getName())) {
+                try {
+                    readWriteLock.readLock().lock();
+                    getDataTypeDefinitionMapByModel(model).put(dataTypeDef.getName(), dataTypeDef);
+                } finally {
+                    readWriteLock.readLock().unlock();
+                }
+            }
+        }
+    }
 
     private Map<String, DataTypeDefinition> getDataTypeDefinitionMapByModel(final String model) {
         return dataTypesByModelCacheMap.containsKey(model) ? dataTypesByModelCacheMap.get(model) : new HashMap<>();