test_class.file: oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureDataStoreFactoryTest.java
test_class.identifier: AzureDataStoreFactoryTest
test_case.body: @Test
      public void testStripOsgiPrefix() throws NoSuchFieldException, IllegalAccessException {
          Properties props = new Properties();
          props.setProperty("cacheSize", "I\"123\"");
  
          AzureDataStore ds = AzureDataStoreFactory.createDS("xyz", props);
          assertEquals(123, readLong("cacheSize", AbstractSharedCachingDataStore.class, ds));
      }
test_case.class_method_signature: AzureDataStoreFactoryTest.testStripOsgiPrefix()
test_case.full_signature: @Test public void testStripOsgiPrefix()
test_case.identifier: testStripOsgiPrefix
test_case.invocations: setProperty createDS assertEquals readLong
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testStripOsgiPrefix()
focal_class.declarator: STRIP_VALUE_PATTERN = Pattern.compile("^[TILFDXSCB]?\"(.*)\"\\W*$")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern STRIP_VALUE_PATTERN = Pattern.compile("^[TILFDXSCB]?\"(.*)\"\\W*$");
focal_class.type: Pattern
focal_class.var_name: STRIP_VALUE_PATTERN
focal_class.declarator: props
focal_class.modifier: private final
focal_class.original_string: private final Properties props;
focal_class.type: Properties
focal_class.var_name: props
focal_class.declarator: directory
focal_class.modifier: private final
focal_class.original_string: private final String directory;
focal_class.type: String
focal_class.var_name: directory
focal_class.declarator: tempHomeDir
focal_class.modifier: private final
focal_class.original_string: private final File tempHomeDir;
focal_class.type: File
focal_class.var_name: tempHomeDir
focal_class.declarator: ignoreMissingBlobs
focal_class.modifier: private final
focal_class.original_string: private final boolean ignoreMissingBlobs;
focal_class.type: boolean
focal_class.var_name: ignoreMissingBlobs
focal_class.file: oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureDataStoreFactory.java
focal_class.identifier: AzureDataStoreFactory
focal_class.interfaces: implements BlobStoreFactory
focal_class.class_method_signature: AzureDataStoreFactory.AzureDataStoreFactory(String configuration, String directory, boolean ignoreMissingBlobs)
focal_class.full_signature: public  AzureDataStoreFactory(String configuration, String directory, boolean ignoreMissingBlobs)
focal_class.identifier: AzureDataStoreFactory
focal_class.modifiers: public
focal_class.parameters: (String configuration, String directory, boolean ignoreMissingBlobs)
focal_class.signature:  AzureDataStoreFactory(String configuration, String directory, boolean ignoreMissingBlobs)
focal_class.class_method_signature: AzureDataStoreFactory.create(Closer closer)
focal_class.full_signature: @Override public BlobStore create(Closer closer)
focal_class.identifier: create
focal_class.modifiers: @Override public
focal_class.parameters: (Closer closer)
focal_class.return: BlobStore
focal_class.signature: BlobStore create(Closer closer)
focal_class.class_method_signature: AzureDataStoreFactory.createDS(String directory, Properties props)
focal_class.full_signature: static AzureDataStore createDS(String directory, Properties props)
focal_class.identifier: createDS
focal_class.modifiers: static
focal_class.parameters: (String directory, Properties props)
focal_class.return: AzureDataStore
focal_class.signature: AzureDataStore createDS(String directory, Properties props)
focal_class.class_method_signature: AzureDataStoreFactory.asCloseable(final AzureDataStore store)
focal_class.full_signature: private static Closeable asCloseable(final AzureDataStore store)
focal_class.identifier: asCloseable
focal_class.modifiers: private static
focal_class.parameters: (final AzureDataStore store)
focal_class.return: Closeable
focal_class.signature: Closeable asCloseable(final AzureDataStore store)
focal_class.class_method_signature: AzureDataStoreFactory.stripValue(String value)
focal_class.full_signature: static String stripValue(String value)
focal_class.identifier: stripValue
focal_class.modifiers: static
focal_class.parameters: (String value)
focal_class.return: String
focal_class.signature: String stripValue(String value)
focal_class.class_method_signature: AzureDataStoreFactory.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_method.body: static AzureDataStore createDS(String directory, Properties props) {
          Properties strippedProperties = new Properties();
          Map<String, String> map = Maps.newHashMap();
  
          // Default path value as-per OAK-6632
          if(StringUtils.isEmpty(directory) && !map.containsKey("path")) {
          	directory = System.getProperty("java.io.tmpdir");
          }
            
          for (Object key : new HashSet<>(props.keySet())) {
              String strippedValue = stripValue(props.getProperty((String) key));
  
              strippedProperties.put(key, strippedValue);
              map.put((String) key, strippedValue);
          }
  
          AzureDataStore ds = new AzureDataStore();
          ds.setProperties(strippedProperties);
          ds.setPath(directory);
  
          PropertiesUtil.populate(ds, map, false);
          return ds;
      }
focal_method.class_method_signature: AzureDataStoreFactory.createDS(String directory, Properties props)
focal_method.full_signature: static AzureDataStore createDS(String directory, Properties props)
focal_method.identifier: createDS
focal_method.invocations: newHashMap isEmpty containsKey getProperty keySet stripValue getProperty put put setProperties setPath populate
focal_method.modifiers: static
focal_method.parameters: (String directory, Properties props)
focal_method.return: AzureDataStore
focal_method.signature: AzureDataStore createDS(String directory, Properties props)