test_class.declarator: LOGGER = LoggerFactory.getLogger(MultiRepositoryManagerTest.class)
test_class.modifier: protected static final
test_class.original_string: protected static final Logger LOGGER = LoggerFactory.getLogger(MultiRepositoryManagerTest.class);
test_class.type: Logger
test_class.var_name: LOGGER
test_class.declarator: workspaceRepositoryRoot
test_class.modifier: static
test_class.original_string: static String workspaceRepositoryRoot;
test_class.type: String
test_class.var_name: workspaceRepositoryRoot
test_class.file: org.eclipse.winery.repository/src/test/java/org/eclipse/winery/repository/backend/filebased/MultiRepositoryManagerTest.java
test_class.identifier: MultiRepositoryManagerTest
test_case.body: @Test
      public void testMultiRepositoryCreation() {
          ArrayList<RepositoryProperties> repositoryList = new ArrayList<>();
          repositoryList.add(new RepositoryProperties("mainTestRepository",
              "https://github.com/winery/mulit-repo-test"));
          MultiRepositoryManager multiRepositoryManager = new MultiRepositoryManager();
          multiRepositoryManager.initializeRepositoryListForMultiRepositoryAndReconfigureFactory(repositoryList);
          assertTrue(RepositoryFactory.getRepository() instanceof MultiRepository);
      }
test_case.class_method_signature: MultiRepositoryManagerTest.testMultiRepositoryCreation()
test_case.full_signature: @Test public void testMultiRepositoryCreation()
test_case.identifier: testMultiRepositoryCreation
test_case.invocations: add initializeRepositoryListForMultiRepositoryAndReconfigureFactory assertTrue getRepository
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testMultiRepositoryCreation()
focal_class.declarator: LOGGER = LoggerFactory.getLogger(MultiRepositoryManager.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOGGER = LoggerFactory.getLogger(MultiRepositoryManager.class);
focal_class.type: Logger
focal_class.var_name: LOGGER
focal_class.file: org.eclipse.winery.repository/src/main/java/org/eclipse/winery/repository/backend/filebased/MultiRepositoryManager.java
focal_class.identifier: MultiRepositoryManager
focal_class.class_method_signature: MultiRepositoryManager.initializeRepositoryListForMultiRepositoryAndReconfigureFactory(List<RepositoryProperties> repositoryList)
focal_class.full_signature:  void initializeRepositoryListForMultiRepositoryAndReconfigureFactory(List<RepositoryProperties> repositoryList)
focal_class.identifier: initializeRepositoryListForMultiRepositoryAndReconfigureFactory
focal_class.parameters: (List<RepositoryProperties> repositoryList)
focal_class.return: void
focal_class.signature: void initializeRepositoryListForMultiRepositoryAndReconfigureFactory(List<RepositoryProperties> repositoryList)
focal_class.class_method_signature: MultiRepositoryManager.isMultiRepositoryFileStuctureEstablished(Path repoPath)
focal_class.full_signature:  boolean isMultiRepositoryFileStuctureEstablished(Path repoPath)
focal_class.identifier: isMultiRepositoryFileStuctureEstablished
focal_class.parameters: (Path repoPath)
focal_class.return: boolean
focal_class.signature: boolean isMultiRepositoryFileStuctureEstablished(Path repoPath)
focal_class.class_method_signature: MultiRepositoryManager.createMultiRepositoryFileStructure(Path oldPath, Path newPath)
focal_class.full_signature:  void createMultiRepositoryFileStructure(Path oldPath, Path newPath)
focal_class.identifier: createMultiRepositoryFileStructure
focal_class.parameters: (Path oldPath, Path newPath)
focal_class.return: void
focal_class.signature: void createMultiRepositoryFileStructure(Path oldPath, Path newPath)
focal_class.class_method_signature: MultiRepositoryManager.getRepositoriesAsList()
focal_class.full_signature: public List<RepositoryProperties> getRepositoriesAsList()
focal_class.identifier: getRepositoriesAsList
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<RepositoryProperties>
focal_class.signature: List<RepositoryProperties> getRepositoriesAsList()
focal_class.class_method_signature: MultiRepositoryManager.addRepositoryToFile(List<RepositoryProperties> repositories)
focal_class.full_signature: public void addRepositoryToFile(List<RepositoryProperties> repositories)
focal_class.identifier: addRepositoryToFile
focal_class.modifiers: public
focal_class.parameters: (List<RepositoryProperties> repositories)
focal_class.return: void
focal_class.signature: void addRepositoryToFile(List<RepositoryProperties> repositories)
focal_method.body: void initializeRepositoryListForMultiRepositoryAndReconfigureFactory(List<RepositoryProperties> repositoryList) {
          ObjectMapper objectMapper = new ObjectMapper();
          File repositoryConfiguration = new File(Environments.getInstance().getRepositoryConfig().getRepositoryRoot(), Filename.FILENAME_JSON_REPOSITORIES);
          if (!repositoryConfiguration.exists()) {
              try {
                  Files.createFile(repositoryConfiguration.toPath());
                  objectMapper.enable(SerializationFeature.INDENT_OUTPUT);
                  objectMapper.writeValue(repositoryConfiguration, repositoryList);
              } catch (IOException exception) {
                  exception.printStackTrace();
              }
              createMultiRepositoryFileStructure(Paths.get(Environments.getInstance().getRepositoryConfig().getRepositoryRoot()),
                  Paths.get(Environments.getInstance().getRepositoryConfig().getRepositoryRoot(), Constants.DEFAULT_LOCAL_REPO_NAME));
          }
          try {
              RepositoryFactory.reconfigure();
          } catch (Exception e) {
              LOGGER.debug("Error reconfiguring the RepositoryFactory.", e);
          }
      }
focal_method.class_method_signature: MultiRepositoryManager.initializeRepositoryListForMultiRepositoryAndReconfigureFactory(List<RepositoryProperties> repositoryList)
focal_method.full_signature:  void initializeRepositoryListForMultiRepositoryAndReconfigureFactory(List<RepositoryProperties> repositoryList)
focal_method.identifier: initializeRepositoryListForMultiRepositoryAndReconfigureFactory
focal_method.invocations: getRepositoryRoot getRepositoryConfig getInstance exists createFile toPath enable writeValue printStackTrace createMultiRepositoryFileStructure get getRepositoryRoot getRepositoryConfig getInstance get getRepositoryRoot getRepositoryConfig getInstance reconfigure debug
focal_method.parameters: (List<RepositoryProperties> repositoryList)
focal_method.return: void
focal_method.signature: void initializeRepositoryListForMultiRepositoryAndReconfigureFactory(List<RepositoryProperties> repositoryList)