test_class.file: runtime-management/runtime-management-impl/src/test/java/io/cloudslang/runtime/impl/ExecutionEngineTest.java
test_class.identifier: ExecutionEngineTest
test_case.body: @Test
      public void testMultipleDependencies() {
          String dep1 = "g1:a2:v3";
          String dep2 = "g2:a3:v4";
          String dep3 = "g3:a4:v5";
          Set<String> deps = new HashSet<>();
          deps.add(dep1);
          deps.add(dep2);
          deps.add(dep3);
          String generatedKey = new ExecutionEngine() {}.generatedDependenciesKey(deps);
          assertNotNull(generatedKey);
          assertEquals(dep1 + ";" + dep2 + ";" + dep3 + ";", generatedKey);
      }
test_case.class_method_signature: ExecutionEngineTest.testMultipleDependencies()
test_case.full_signature: @Test public void testMultipleDependencies()
test_case.identifier: testMultipleDependencies
test_case.invocations: add add add generatedDependenciesKey assertNotNull assertEquals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testMultipleDependencies()
focal_class.declarator: NO_DEPENDENCIES_KEY = ""
focal_class.modifier: private static final
focal_class.original_string: private static final String NO_DEPENDENCIES_KEY = "";
focal_class.type: String
focal_class.var_name: NO_DEPENDENCIES_KEY
focal_class.file: runtime-management/runtime-management-impl/src/main/java/io/cloudslang/runtime/impl/ExecutionEngine.java
focal_class.identifier: ExecutionEngine
focal_class.class_method_signature: ExecutionEngine.generatedDependenciesKey(Set<String> dependencies)
focal_class.full_signature: protected String generatedDependenciesKey(Set<String> dependencies)
focal_class.identifier: generatedDependenciesKey
focal_class.modifiers: protected
focal_class.parameters: (Set<String> dependencies)
focal_class.return: String
focal_class.signature: String generatedDependenciesKey(Set<String> dependencies)
focal_method.body: protected String generatedDependenciesKey(Set<String> dependencies) {
          // optimistic - this is java (which has only one dependency) or python with on dependency
          if(dependencies.size() == 1) {
              return dependencies.iterator().next();
          }
          // optimistic - this is old content - no dependencies
          if(dependencies.isEmpty()) {
              return NO_DEPENDENCIES_KEY;
          }
  
          List<String> actionDependencies = new ArrayList<>();
          actionDependencies.addAll(dependencies);
          Collections.sort(actionDependencies);
          StringBuilder sb = new StringBuilder();
          for (String dependency : actionDependencies) {
              sb.append(dependency).append(";");
          }
          return sb.toString();
      }
focal_method.class_method_signature: ExecutionEngine.generatedDependenciesKey(Set<String> dependencies)
focal_method.full_signature: protected String generatedDependenciesKey(Set<String> dependencies)
focal_method.identifier: generatedDependenciesKey
focal_method.invocations: size next iterator isEmpty addAll sort append append toString
focal_method.modifiers: protected
focal_method.parameters: (Set<String> dependencies)
focal_method.return: String
focal_method.signature: String generatedDependenciesKey(Set<String> dependencies)