test_class.declarator: storage = new StorageAdapter() {
          private final Map<String, String> store = new HashMap<>();
  
          @Override
          public void setItem(String key, String data) {
              store.put(key, data);
          }
  
          @Override
          public String getItem(String key) {
              return store.get(key);
          }
      }
test_class.modifier: private final
test_class.original_string: private final StorageAdapter storage = new StorageAdapter() {
          private final Map<String, String> store = new HashMap<>();
  
          @Override
          public void setItem(String key, String data) {
              store.put(key, data);
          }
  
          @Override
          public String getItem(String key) {
              return store.get(key);
          }
      };
test_class.type: StorageAdapter
test_class.var_name: storage
test_class.declarator: helper = new ColumnVisibilityConfigHelper(storage)
test_class.modifier: private final
test_class.original_string: private final ColumnVisibilityConfigHelper helper = new ColumnVisibilityConfigHelper(storage);
test_class.type: ColumnVisibilityConfigHelper
test_class.var_name: helper
test_class.file: gae-studio/gae-studio-client/src/test/java/com/arcbees/gaestudio/client/application/visualizer/columnfilter/ColumnVisibilityConfigHelperTest.java
test_class.identifier: ColumnVisibilityConfigHelperTest
test_case.body: @Test
      public void get_unexistingColumn_returnsDefaultVisibilityAndStoresDefaultVisibility() {
          assertEquals(DEFAULT_COLUMN_VISIBILITY, helper.getColumnVisibility("appId", "ns", "kind", "col"));
  
          // we assert that getting a non-exiting column writes the default value to the store
          String key = COLUMN_VISIBILITY_CONFIG + "$appId$ns$kind$col";
          String item = storage.getItem(key);
          assertEquals(DEFAULT_COLUMN_VISIBILITY, Boolean.valueOf(item));
      }
test_case.class_method_signature: ColumnVisibilityConfigHelperTest.get_unexistingColumn_returnsDefaultVisibilityAndStoresDefaultVisibility()
test_case.full_signature: @Test public void get_unexistingColumn_returnsDefaultVisibilityAndStoresDefaultVisibility()
test_case.identifier: get_unexistingColumn_returnsDefaultVisibilityAndStoresDefaultVisibility
test_case.invocations: assertEquals getColumnVisibility getItem assertEquals valueOf
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void get_unexistingColumn_returnsDefaultVisibilityAndStoresDefaultVisibility()
focal_class.declarator: DEFAULT_COLUMN_VISIBILITY = true
focal_class.modifier: static final
focal_class.original_string: static final boolean DEFAULT_COLUMN_VISIBILITY = true;
focal_class.type: boolean
focal_class.var_name: DEFAULT_COLUMN_VISIBILITY
focal_class.declarator: COLUMN_VISIBILITY_CONFIG = "column_visibility_config"
focal_class.modifier: static final
focal_class.original_string: static final String COLUMN_VISIBILITY_CONFIG = "column_visibility_config";
focal_class.type: String
focal_class.var_name: COLUMN_VISIBILITY_CONFIG
focal_class.declarator: storage
focal_class.modifier: private final
focal_class.original_string: private final StorageAdapter storage;
focal_class.type: StorageAdapter
focal_class.var_name: storage
focal_class.file: gae-studio/gae-studio-client/src/main/java/com/arcbees/gaestudio/client/application/visualizer/columnfilter/ColumnVisibilityConfigHelper.java
focal_class.identifier: ColumnVisibilityConfigHelper
focal_class.class_method_signature: ColumnVisibilityConfigHelper.ColumnVisibilityConfigHelper(
              StorageAdapter storage)
focal_class.full_signature: @Inject  ColumnVisibilityConfigHelper(
              StorageAdapter storage)
focal_class.identifier: ColumnVisibilityConfigHelper
focal_class.modifiers: @Inject
focal_class.parameters: (
              StorageAdapter storage)
focal_class.signature:  ColumnVisibilityConfigHelper(
              StorageAdapter storage)
focal_class.class_method_signature: ColumnVisibilityConfigHelper.setColumnVisible(String appId, String namespace, String kind, String columnName, boolean visible)
focal_class.full_signature: public void setColumnVisible(String appId, String namespace, String kind, String columnName, boolean visible)
focal_class.identifier: setColumnVisible
focal_class.modifiers: public
focal_class.parameters: (String appId, String namespace, String kind, String columnName, boolean visible)
focal_class.return: void
focal_class.signature: void setColumnVisible(String appId, String namespace, String kind, String columnName, boolean visible)
focal_class.class_method_signature: ColumnVisibilityConfigHelper.getColumnVisibility(String appId, String namespace, String kind, String columnName)
focal_class.full_signature: public boolean getColumnVisibility(String appId, String namespace, String kind, String columnName)
focal_class.identifier: getColumnVisibility
focal_class.modifiers: public
focal_class.parameters: (String appId, String namespace, String kind, String columnName)
focal_class.return: boolean
focal_class.signature: boolean getColumnVisibility(String appId, String namespace, String kind, String columnName)
focal_class.class_method_signature: ColumnVisibilityConfigHelper.generateKindKey(String appId, String namespace, String kind, String columnName)
focal_class.full_signature: private String generateKindKey(String appId, String namespace, String kind, String columnName)
focal_class.identifier: generateKindKey
focal_class.modifiers: private
focal_class.parameters: (String appId, String namespace, String kind, String columnName)
focal_class.return: String
focal_class.signature: String generateKindKey(String appId, String namespace, String kind, String columnName)
focal_method.body: public boolean getColumnVisibility(String appId, String namespace, String kind, String columnName) {
          String kindKey = generateKindKey(appId, namespace, kind, columnName);
          String item = storage.getItem(kindKey);
  
          boolean visibility;
  
          if (Strings.isNullOrEmpty(item)) {
              visibility = DEFAULT_COLUMN_VISIBILITY;
              setColumnVisible(appId, namespace, kind, columnName, visibility);
          } else {
              visibility = Boolean.valueOf(item);
          }
  
          return visibility;
      }
focal_method.class_method_signature: ColumnVisibilityConfigHelper.getColumnVisibility(String appId, String namespace, String kind, String columnName)
focal_method.full_signature: public boolean getColumnVisibility(String appId, String namespace, String kind, String columnName)
focal_method.identifier: getColumnVisibility
focal_method.invocations: generateKindKey getItem isNullOrEmpty setColumnVisible valueOf
focal_method.modifiers: public
focal_method.parameters: (String appId, String namespace, String kind, String columnName)
focal_method.return: boolean
focal_method.signature: boolean getColumnVisibility(String appId, String namespace, String kind, String columnName)