test_class.declarator: executorFactory
test_class.modifier: private
test_class.original_string: private ValidationExecutorFactory executorFactory;
test_class.type: ValidationExecutorFactory
test_class.var_name: executorFactory
test_class.declarator: validator1
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private Validator validator1;
test_class.type: Validator
test_class.var_name: validator1
test_class.declarator: validator2
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private Validator validator2;
test_class.type: Validator
test_class.var_name: validator2
test_class.declarator: validator3
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private Validator validator3;
test_class.type: Validator
test_class.var_name: validator3
test_class.declarator: validatorFactory1
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ValidatorFactory validatorFactory1;
test_class.type: ValidatorFactory
test_class.var_name: validatorFactory1
test_class.declarator: validatorFactory2
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ValidatorFactory validatorFactory2;
test_class.type: ValidatorFactory
test_class.var_name: validatorFactory2
test_class.declarator: validatorFactory3
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ValidatorFactory validatorFactory3;
test_class.type: ValidatorFactory
test_class.var_name: validatorFactory3
test_class.declarator: context
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ValidationContext context;
test_class.type: ValidationContext
test_class.var_name: context
test_class.declarator: validatorsSettings
test_class.modifier: private
test_class.original_string: private Map<String, ValidatorSettings> validatorsSettings;
test_class.type: Map<String, ValidatorSettings>
test_class.var_name: validatorsSettings
test_class.declarator: validatorFactories
test_class.original_string: List<ValidatorFactory> validatorFactories;
test_class.type: List<ValidatorFactory>
test_class.var_name: validatorFactories
test_class.file: vault-validation/src/test/java/org/apache/jackrabbit/vault/validation/ValidationExecutorFactoryTest.java
test_class.identifier: ValidationExecutorFactoryTest
test_case.body: @Test
      public void testOrderOfValidators() throws ParserConfigurationException, SAXException {
          // first validate order
          ValidationExecutor executor =  executorFactory.createValidationExecutor(context, true, true, validatorsSettings);
          if (executor == null) {
              throw new IllegalStateException("Could not create validation executor!");
          }
          Map<String, Validator> actualValidators = executor.getAllValidatorsById();
          Map<String, Validator> expectedValidators = new LinkedHashMap<>();
          expectedValidators.put("id1", validator1);
          expectedValidators.put("id2", validator2);
          expectedValidators.put("id3", validator3);
          Assert.assertEquals(expectedValidators.toString(), actualValidators.toString());
          Assert.assertThat(actualValidators.keySet(), Matchers.contains("id1", "id2", "id3"));
          // the reinstantiate with a different order
          Collections.shuffle(validatorFactories);
          executorFactory = new ValidationExecutorFactory(validatorFactories);
          executor =  executorFactory.createValidationExecutor(context, true, true, validatorsSettings);
          if (executor == null) {
              throw new IllegalStateException("Could not create validation executor!");
          }
          actualValidators = executor.getAllValidatorsById();
          // the returned validators should still have the same order
          Assert.assertEquals(expectedValidators.toString(), actualValidators.toString());
          Assert.assertThat(actualValidators.keySet(), Matchers.contains("id1", "id2", "id3"));
      }
test_case.class_method_signature: ValidationExecutorFactoryTest.testOrderOfValidators()
test_case.full_signature: @Test public void testOrderOfValidators()
test_case.identifier: testOrderOfValidators
test_case.invocations: createValidationExecutor getAllValidatorsById put put put assertEquals toString toString assertThat keySet contains shuffle createValidationExecutor getAllValidatorsById assertEquals toString toString assertThat keySet contains
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testOrderOfValidators()
focal_class.declarator: validatorFactories
focal_class.modifier: final
focal_class.original_string: final List<ValidatorFactory> validatorFactories;
focal_class.type: List<ValidatorFactory>
focal_class.var_name: validatorFactories
focal_class.declarator: log = LoggerFactory.getLogger(ValidationExecutorFactory.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger log = LoggerFactory.getLogger(ValidationExecutorFactory.class);
focal_class.type: Logger
focal_class.var_name: log
focal_class.file: vault-validation/src/main/java/org/apache/jackrabbit/vault/validation/ValidationExecutorFactory.java
focal_class.identifier: ValidationExecutorFactory
focal_class.class_method_signature: ValidationExecutorFactory.ValidationExecutorFactory(ClassLoader classLoader)
focal_class.full_signature: public  ValidationExecutorFactory(ClassLoader classLoader)
focal_class.identifier: ValidationExecutorFactory
focal_class.modifiers: public
focal_class.parameters: (ClassLoader classLoader)
focal_class.signature:  ValidationExecutorFactory(ClassLoader classLoader)
focal_class.class_method_signature: ValidationExecutorFactory.ValidationExecutorFactory(Iterable<ValidatorFactory> validatorFactoriesUnsorted)
focal_class.full_signature:   ValidationExecutorFactory(Iterable<ValidatorFactory> validatorFactoriesUnsorted)
focal_class.identifier: ValidationExecutorFactory
focal_class.parameters: (Iterable<ValidatorFactory> validatorFactoriesUnsorted)
focal_class.signature:  ValidationExecutorFactory(Iterable<ValidatorFactory> validatorFactoriesUnsorted)
focal_class.class_method_signature: ValidationExecutorFactory.createValidationExecutor(@NotNull ValidationContext context, boolean isSubPackage, boolean enforceSubpackageValidation, Map<String, ? extends ValidatorSettings> validatorSettingsById)
focal_class.full_signature: public @Nullable ValidationExecutor createValidationExecutor(@NotNull ValidationContext context, boolean isSubPackage, boolean enforceSubpackageValidation, Map<String, ? extends ValidatorSettings> validatorSettingsById)
focal_class.identifier: createValidationExecutor
focal_class.modifiers: public @Nullable
focal_class.parameters: (@NotNull ValidationContext context, boolean isSubPackage, boolean enforceSubpackageValidation, Map<String, ? extends ValidatorSettings> validatorSettingsById)
focal_class.return: ValidationExecutor
focal_class.signature: ValidationExecutor createValidationExecutor(@NotNull ValidationContext context, boolean isSubPackage, boolean enforceSubpackageValidation, Map<String, ? extends ValidatorSettings> validatorSettingsById)
focal_class.class_method_signature: ValidationExecutorFactory.createValidators(@NotNull ValidationContext context, boolean isSubPackage, boolean enforceSubpackageValidation, Map<String, ? extends ValidatorSettings> validatorSettingsById)
focal_class.full_signature: private @NotNull Map<String, Validator> createValidators(@NotNull ValidationContext context, boolean isSubPackage, boolean enforceSubpackageValidation, Map<String, ? extends ValidatorSettings> validatorSettingsById)
focal_class.identifier: createValidators
focal_class.modifiers: private @NotNull
focal_class.parameters: (@NotNull ValidationContext context, boolean isSubPackage, boolean enforceSubpackageValidation, Map<String, ? extends ValidatorSettings> validatorSettingsById)
focal_class.return: Map<String, Validator>
focal_class.signature: Map<String, Validator> createValidators(@NotNull ValidationContext context, boolean isSubPackage, boolean enforceSubpackageValidation, Map<String, ? extends ValidatorSettings> validatorSettingsById)
focal_method.body: public @Nullable ValidationExecutor createValidationExecutor(@NotNull ValidationContext context, boolean isSubPackage, boolean enforceSubpackageValidation, Map<String, ? extends ValidatorSettings> validatorSettingsById) {
          Map<String, Validator> validatorsById = createValidators(context, isSubPackage, enforceSubpackageValidation, validatorSettingsById != null ? validatorSettingsById : Collections.emptyMap());
          if (validatorsById.isEmpty()) {
              return null;
          }
          return new ValidationExecutor(validatorsById);
      }
focal_method.class_method_signature: ValidationExecutorFactory.createValidationExecutor(@NotNull ValidationContext context, boolean isSubPackage, boolean enforceSubpackageValidation, Map<String, ? extends ValidatorSettings> validatorSettingsById)
focal_method.full_signature: public @Nullable ValidationExecutor createValidationExecutor(@NotNull ValidationContext context, boolean isSubPackage, boolean enforceSubpackageValidation, Map<String, ? extends ValidatorSettings> validatorSettingsById)
focal_method.identifier: createValidationExecutor
focal_method.invocations: createValidators emptyMap isEmpty
focal_method.modifiers: public @Nullable
focal_method.parameters: (@NotNull ValidationContext context, boolean isSubPackage, boolean enforceSubpackageValidation, Map<String, ? extends ValidatorSettings> validatorSettingsById)
focal_method.return: ValidationExecutor
focal_method.signature: ValidationExecutor createValidationExecutor(@NotNull ValidationContext context, boolean isSubPackage, boolean enforceSubpackageValidation, Map<String, ? extends ValidatorSettings> validatorSettingsById)