test_class.declarator: workspaceDispatcher
test_class.modifier: private static
test_class.original_string: private static IWorkspaceDispatcher workspaceDispatcher;
test_class.type: IWorkspaceDispatcher
test_class.var_name: workspaceDispatcher
test_class.declarator: sessionManager
test_class.modifier: private
test_class.original_string: private FileSessionStorage sessionManager;
test_class.type: FileSessionStorage
test_class.var_name: sessionManager
test_class.file: BackEnd/Core/sailfish-core/src/test/java/com/exactpro/sf/services/FileSessionStorageTest.java
test_class.identifier: FileSessionStorageTest
test_case.body: @Test
      public void bTestUpdate() {
  
          sessionManager.putSessionProperty("Test", "changed");
          sessionManager.putSessionProperty("Test2", "new");
      }
test_case.class_method_signature: FileSessionStorageTest.bTestUpdate()
test_case.full_signature: @Test public void bTestUpdate()
test_case.identifier: bTestUpdate
test_case.invocations: putSessionProperty putSessionProperty
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void bTestUpdate()
focal_class.declarator: logger = LoggerFactory.getLogger(getClass().getName() + "@" + Integer.toHexString(hashCode()))
focal_class.modifier: private final
focal_class.original_string: private final Logger logger = LoggerFactory.getLogger(getClass().getName() + "@" + Integer.toHexString(hashCode()));
focal_class.type: Logger
focal_class.var_name: logger
focal_class.declarator: STORAGE = "session_manager_storage.json"
focal_class.modifier: private static final
focal_class.original_string: private static final String STORAGE = "session_manager_storage.json";
focal_class.type: String
focal_class.var_name: STORAGE
focal_class.declarator: jsonReader = new ObjectMapper().readerFor(new MapTypeReference())
focal_class.modifier: private static final
focal_class.original_string: private static final ObjectReader jsonReader = new ObjectMapper().readerFor(new MapTypeReference());
focal_class.type: ObjectReader
focal_class.var_name: jsonReader
focal_class.declarator: jsonWriter = new ObjectMapper().writer()
focal_class.modifier: private static final
focal_class.original_string: private static final ObjectWriter jsonWriter = new ObjectMapper().writer();
focal_class.type: ObjectWriter
focal_class.var_name: jsonWriter
focal_class.declarator: targetStorage
focal_class.modifier: private final
focal_class.original_string: private final File targetStorage;
focal_class.type: File
focal_class.var_name: targetStorage
focal_class.declarator: metadataMap
focal_class.modifier: private final
focal_class.original_string: private final Map<String, TimestampedValue<?>> metadataMap;
focal_class.type: Map<String, TimestampedValue<?>>
focal_class.var_name: metadataMap
focal_class.declarator: lifetimePredicate = new DailyLifetimeInvalidator()
focal_class.modifier: private final
focal_class.original_string: private final Predicate<Long> lifetimePredicate = new DailyLifetimeInvalidator();
focal_class.type: Predicate<Long>
focal_class.var_name: lifetimePredicate
focal_class.file: BackEnd/Core/sailfish-core/src/main/java/com/exactpro/sf/services/FileSessionStorage.java
focal_class.identifier: FileSessionStorage
focal_class.class_method_signature: FileSessionStorage.FileSessionStorage(IWorkspaceDispatcher workspaceDispatcher, String protocol, String sessionId)
focal_class.full_signature: public  FileSessionStorage(IWorkspaceDispatcher workspaceDispatcher, String protocol, String sessionId)
focal_class.identifier: FileSessionStorage
focal_class.modifiers: public
focal_class.parameters: (IWorkspaceDispatcher workspaceDispatcher, String protocol, String sessionId)
focal_class.signature:  FileSessionStorage(IWorkspaceDispatcher workspaceDispatcher, String protocol, String sessionId)
focal_class.class_method_signature: FileSessionStorage.putSessionProperties(Map<String, ?> properties)
focal_class.full_signature: public void putSessionProperties(Map<String, ?> properties)
focal_class.identifier: putSessionProperties
focal_class.modifiers: public
focal_class.parameters: (Map<String, ?> properties)
focal_class.return: void
focal_class.signature: void putSessionProperties(Map<String, ?> properties)
focal_class.class_method_signature: FileSessionStorage.flush()
focal_class.full_signature: public void flush()
focal_class.identifier: flush
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void flush()
focal_class.class_method_signature: FileSessionStorage.readSessionProperty(String key)
focal_class.full_signature: public T readSessionProperty(String key)
focal_class.identifier: readSessionProperty
focal_class.modifiers: public
focal_class.parameters: (String key)
focal_class.return: T
focal_class.signature: T readSessionProperty(String key)
focal_class.class_method_signature: FileSessionStorage.putSessionProperty(String key, T value)
focal_class.full_signature: public void putSessionProperty(String key, T value)
focal_class.identifier: putSessionProperty
focal_class.modifiers: public
focal_class.parameters: (String key, T value)
focal_class.return: void
focal_class.signature: void putSessionProperty(String key, T value)
focal_class.class_method_signature: FileSessionStorage.checkType(Class<?> clazz)
focal_class.full_signature: private boolean checkType(Class<?> clazz)
focal_class.identifier: checkType
focal_class.modifiers: private
focal_class.parameters: (Class<?> clazz)
focal_class.return: boolean
focal_class.signature: boolean checkType(Class<?> clazz)
focal_method.body: public <T> void putSessionProperty(String key, T value) {
  
          if ( value != null && !checkType(value.getClass())) {
              throw new UnsupportedOperationException(value.getClass().getCanonicalName() + " is not supported to store");
          }
  
          metadataMap.put(key, new TimestampedValue<>(value));
      }
focal_method.class_method_signature: FileSessionStorage.putSessionProperty(String key, T value)
focal_method.full_signature: public void putSessionProperty(String key, T value)
focal_method.identifier: putSessionProperty
focal_method.invocations: checkType getClass getCanonicalName getClass put
focal_method.modifiers: public
focal_method.parameters: (String key, T value)
focal_method.return: void
focal_method.signature: void putSessionProperty(String key, T value)