test_class.declarator: DISPLAY_NAME_FIELD_WITH_EXTRA_SPACES = DISPLAY_NAME_FIELD + "    "
test_class.modifier: private static final
test_class.original_string: private static final String DISPLAY_NAME_FIELD_WITH_EXTRA_SPACES = DISPLAY_NAME_FIELD + "    ";
test_class.type: String
test_class.var_name: DISPLAY_NAME_FIELD_WITH_EXTRA_SPACES
test_class.declarator: EXTERNAL_INTERFACE_NAME_WITH_EXTRA_SPACES = EXTERNAL_INTERFACE + "    "
test_class.modifier: private static final
test_class.original_string: private static final String EXTERNAL_INTERFACE_NAME_WITH_EXTRA_SPACES = EXTERNAL_INTERFACE + "    ";
test_class.type: String
test_class.var_name: EXTERNAL_INTERFACE_NAME_WITH_EXTRA_SPACES
test_class.declarator: EXTERNAL_INTERFACE_KEY = new ExternalInterfaceKey()
      {{
          setExternalInterfaceName(EXTERNAL_INTERFACE);
      }}
test_class.modifier: private static final
test_class.original_string: private static final ExternalInterfaceKey EXTERNAL_INTERFACE_KEY = new ExternalInterfaceKey()
      {{
          setExternalInterfaceName(EXTERNAL_INTERFACE);
      }};
test_class.type: ExternalInterfaceKey
test_class.var_name: EXTERNAL_INTERFACE_KEY
test_class.declarator: EXTERNAL_INTERFACE_KEY_WITH_EXTRA_SPACES_IN_NAME = new ExternalInterfaceKey()
      {{
          setExternalInterfaceName(EXTERNAL_INTERFACE_NAME_WITH_EXTRA_SPACES);
      }}
test_class.modifier: private static final
test_class.original_string: private static final ExternalInterfaceKey EXTERNAL_INTERFACE_KEY_WITH_EXTRA_SPACES_IN_NAME = new ExternalInterfaceKey()
      {{
          setExternalInterfaceName(EXTERNAL_INTERFACE_NAME_WITH_EXTRA_SPACES);
      }};
test_class.type: ExternalInterfaceKey
test_class.var_name: EXTERNAL_INTERFACE_KEY_WITH_EXTRA_SPACES_IN_NAME
test_class.declarator: EXTERNAL_INTERFACE_CREATE_REQUEST = new ExternalInterfaceCreateRequest()
      {{
          setExternalInterfaceKey(EXTERNAL_INTERFACE_KEY);
          setDisplayName(DISPLAY_NAME_FIELD);
      }}
test_class.modifier: private static final
test_class.original_string: private static final ExternalInterfaceCreateRequest EXTERNAL_INTERFACE_CREATE_REQUEST = new ExternalInterfaceCreateRequest()
      {{
          setExternalInterfaceKey(EXTERNAL_INTERFACE_KEY);
          setDisplayName(DISPLAY_NAME_FIELD);
      }};
test_class.type: ExternalInterfaceCreateRequest
test_class.var_name: EXTERNAL_INTERFACE_CREATE_REQUEST
test_class.declarator: EXTERNAL_INTERFACE_CREATE_REQUEST_WITH_EXTRA_SPACES_IN_NAME = new ExternalInterfaceCreateRequest()
      {{
          setExternalInterfaceKey(EXTERNAL_INTERFACE_KEY_WITH_EXTRA_SPACES_IN_NAME);
          setDisplayName(DISPLAY_NAME_FIELD);
      }}
test_class.modifier: private static final
test_class.original_string: private static final ExternalInterfaceCreateRequest EXTERNAL_INTERFACE_CREATE_REQUEST_WITH_EXTRA_SPACES_IN_NAME = new ExternalInterfaceCreateRequest()
      {{
          setExternalInterfaceKey(EXTERNAL_INTERFACE_KEY_WITH_EXTRA_SPACES_IN_NAME);
          setDisplayName(DISPLAY_NAME_FIELD);
      }};
test_class.type: ExternalInterfaceCreateRequest
test_class.var_name: EXTERNAL_INTERFACE_CREATE_REQUEST_WITH_EXTRA_SPACES_IN_NAME
test_class.declarator: EXTERNAL_INTERFACE_UPDATE_REQUEST = new ExternalInterfaceUpdateRequest()
      {{
          setDisplayName(DISPLAY_NAME_FIELD);
          setDescription(DESCRIPTION);
      }}
test_class.modifier: private static final
test_class.original_string: private static final ExternalInterfaceUpdateRequest EXTERNAL_INTERFACE_UPDATE_REQUEST = new ExternalInterfaceUpdateRequest()
      {{
          setDisplayName(DISPLAY_NAME_FIELD);
          setDescription(DESCRIPTION);
      }};
test_class.type: ExternalInterfaceUpdateRequest
test_class.var_name: EXTERNAL_INTERFACE_UPDATE_REQUEST
test_class.declarator: EXTERNAL_INTERFACE_UPDATE_REQUEST_WITH_EXTRA_SPACES_IN_DISPLAY_NAME =
          new ExternalInterfaceUpdateRequest()
          {{
              setDisplayName(DISPLAY_NAME_FIELD_WITH_EXTRA_SPACES);
              setDescription(DESCRIPTION);
          }}
test_class.modifier: private static final
test_class.original_string: private static final ExternalInterfaceUpdateRequest EXTERNAL_INTERFACE_UPDATE_REQUEST_WITH_EXTRA_SPACES_IN_DISPLAY_NAME =
          new ExternalInterfaceUpdateRequest()
          {{
              setDisplayName(DISPLAY_NAME_FIELD_WITH_EXTRA_SPACES);
              setDescription(DESCRIPTION);
          }};
test_class.type: ExternalInterfaceUpdateRequest
test_class.var_name: EXTERNAL_INTERFACE_UPDATE_REQUEST_WITH_EXTRA_SPACES_IN_DISPLAY_NAME
test_class.declarator: EXTERNAL_INTERFACE_ENTITY = new ExternalInterfaceEntity()
      {{
          setCode(EXTERNAL_INTERFACE);
          setCreatedBy(CREATED_BY);
          setUpdatedBy(CREATED_BY);
          setCreatedOn(new Timestamp(CREATED_ON.getMillisecond()));
      }}
test_class.modifier: private static final
test_class.original_string: private static final ExternalInterfaceEntity EXTERNAL_INTERFACE_ENTITY = new ExternalInterfaceEntity()
      {{
          setCode(EXTERNAL_INTERFACE);
          setCreatedBy(CREATED_BY);
          setUpdatedBy(CREATED_BY);
          setCreatedOn(new Timestamp(CREATED_ON.getMillisecond()));
      }};
test_class.type: ExternalInterfaceEntity
test_class.var_name: EXTERNAL_INTERFACE_ENTITY
test_class.declarator: ALL_EXTERNAL_INTERFACE_NAMES = Arrays.asList(EXTERNAL_INTERFACE, EXTERNAL_INTERFACE_2, EXTERNAL_INTERFACE_3)
test_class.modifier: private static final
test_class.original_string: private static final List<String> ALL_EXTERNAL_INTERFACE_NAMES = Arrays.asList(EXTERNAL_INTERFACE, EXTERNAL_INTERFACE_2, EXTERNAL_INTERFACE_3);
test_class.type: List<String>
test_class.var_name: ALL_EXTERNAL_INTERFACE_NAMES
test_class.declarator: externalInterfaceService
test_class.modifier: @InjectMocks
      private
test_class.original_string: @InjectMocks
      private ExternalInterfaceServiceImpl externalInterfaceService;
test_class.type: ExternalInterfaceServiceImpl
test_class.var_name: externalInterfaceService
test_class.declarator: alternateKeyHelper
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private AlternateKeyHelper alternateKeyHelper;
test_class.type: AlternateKeyHelper
test_class.var_name: alternateKeyHelper
test_class.declarator: externalInterfaceDao
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ExternalInterfaceDao externalInterfaceDao;
test_class.type: ExternalInterfaceDao
test_class.var_name: externalInterfaceDao
test_class.declarator: externalInterfaceDaoHelper
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ExternalInterfaceDaoHelper externalInterfaceDaoHelper;
test_class.type: ExternalInterfaceDaoHelper
test_class.var_name: externalInterfaceDaoHelper
test_class.declarator: expectedException = ExpectedException.none()
test_class.modifier: @Rule
      public
test_class.original_string: @Rule
      public ExpectedException expectedException = ExpectedException.none();
test_class.type: ExpectedException
test_class.var_name: expectedException
test_class.file: herd-code/herd-service/src/test/java/org/finra/herd/service/impl/ExternalInterfaceServiceImplTest.java
test_class.identifier: ExternalInterfaceServiceImplTest
test_case.body: @Test
      public void testCreateExternalInterface()
      {
          when(externalInterfaceDao.getExternalInterfaceByName(EXTERNAL_INTERFACE)).thenReturn(null);
          when(alternateKeyHelper.validateStringParameter(anyString(), anyString(), anyString())).thenReturn(EXTERNAL_INTERFACE);
          when(alternateKeyHelper.validateStringParameter(anyString(), anyString())).thenReturn(DISPLAY_NAME_FIELD);
          when(externalInterfaceDao.saveAndRefresh(any(ExternalInterfaceEntity.class))).thenReturn(EXTERNAL_INTERFACE_ENTITY);
  
          ExternalInterfaceKey externalInterfaceKey = new ExternalInterfaceKey(EXTERNAL_INTERFACE);
          ExternalInterfaceCreateRequest externalInterfaceCreateRequest =
              new ExternalInterfaceCreateRequest(externalInterfaceKey, DISPLAY_NAME_FIELD, DESCRIPTION);
  
          ExternalInterface externalInterface = externalInterfaceService.createExternalInterface(externalInterfaceCreateRequest);
          assertEquals(EXTERNAL_INTERFACE, externalInterface.getExternalInterfaceKey().getExternalInterfaceName());
  
          verify(alternateKeyHelper).validateStringParameter("An", "external interface name", EXTERNAL_INTERFACE);
          verify(alternateKeyHelper).validateStringParameter("display name", DISPLAY_NAME_FIELD);
          verify(externalInterfaceDao).getExternalInterfaceByName(EXTERNAL_INTERFACE);
          verify(externalInterfaceDao).saveAndRefresh(any(ExternalInterfaceEntity.class));
  
          verifyNoMoreInteractionsHelper();
      }
test_case.class_method_signature: ExternalInterfaceServiceImplTest.testCreateExternalInterface()
test_case.full_signature: @Test public void testCreateExternalInterface()
test_case.identifier: testCreateExternalInterface
test_case.invocations: thenReturn when getExternalInterfaceByName thenReturn when validateStringParameter anyString anyString anyString thenReturn when validateStringParameter anyString anyString thenReturn when saveAndRefresh any createExternalInterface assertEquals getExternalInterfaceName getExternalInterfaceKey validateStringParameter verify validateStringParameter verify getExternalInterfaceByName verify saveAndRefresh verify any verifyNoMoreInteractionsHelper
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testCreateExternalInterface()
focal_class.declarator: alternateKeyHelper
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private AlternateKeyHelper alternateKeyHelper;
focal_class.type: AlternateKeyHelper
focal_class.var_name: alternateKeyHelper
focal_class.declarator: externalInterfaceDao
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private ExternalInterfaceDao externalInterfaceDao;
focal_class.type: ExternalInterfaceDao
focal_class.var_name: externalInterfaceDao
focal_class.declarator: externalInterfaceDaoHelper
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private ExternalInterfaceDaoHelper externalInterfaceDaoHelper;
focal_class.type: ExternalInterfaceDaoHelper
focal_class.var_name: externalInterfaceDaoHelper
focal_class.file: herd-code/herd-service/src/main/java/org/finra/herd/service/impl/ExternalInterfaceServiceImpl.java
focal_class.identifier: ExternalInterfaceServiceImpl
focal_class.interfaces: implements ExternalInterfaceService
focal_class.class_method_signature: ExternalInterfaceServiceImpl.createExternalInterface(ExternalInterfaceCreateRequest request)
focal_class.full_signature: @Override public ExternalInterface createExternalInterface(ExternalInterfaceCreateRequest request)
focal_class.identifier: createExternalInterface
focal_class.modifiers: @Override public
focal_class.parameters: (ExternalInterfaceCreateRequest request)
focal_class.return: ExternalInterface
focal_class.signature: ExternalInterface createExternalInterface(ExternalInterfaceCreateRequest request)
focal_class.class_method_signature: ExternalInterfaceServiceImpl.getExternalInterface(ExternalInterfaceKey externalInterfaceKey)
focal_class.full_signature: @Override public ExternalInterface getExternalInterface(ExternalInterfaceKey externalInterfaceKey)
focal_class.identifier: getExternalInterface
focal_class.modifiers: @Override public
focal_class.parameters: (ExternalInterfaceKey externalInterfaceKey)
focal_class.return: ExternalInterface
focal_class.signature: ExternalInterface getExternalInterface(ExternalInterfaceKey externalInterfaceKey)
focal_class.class_method_signature: ExternalInterfaceServiceImpl.deleteExternalInterface(ExternalInterfaceKey externalInterfaceKey)
focal_class.full_signature: @Override public ExternalInterface deleteExternalInterface(ExternalInterfaceKey externalInterfaceKey)
focal_class.identifier: deleteExternalInterface
focal_class.modifiers: @Override public
focal_class.parameters: (ExternalInterfaceKey externalInterfaceKey)
focal_class.return: ExternalInterface
focal_class.signature: ExternalInterface deleteExternalInterface(ExternalInterfaceKey externalInterfaceKey)
focal_class.class_method_signature: ExternalInterfaceServiceImpl.getExternalInterfaces()
focal_class.full_signature: @Override public ExternalInterfaceKeys getExternalInterfaces()
focal_class.identifier: getExternalInterfaces
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: ExternalInterfaceKeys
focal_class.signature: ExternalInterfaceKeys getExternalInterfaces()
focal_class.class_method_signature: ExternalInterfaceServiceImpl.updateExternalInterface(ExternalInterfaceKey externalInterfaceKey, ExternalInterfaceUpdateRequest request)
focal_class.full_signature: @Override public ExternalInterface updateExternalInterface(ExternalInterfaceKey externalInterfaceKey, ExternalInterfaceUpdateRequest request)
focal_class.identifier: updateExternalInterface
focal_class.modifiers: @Override public
focal_class.parameters: (ExternalInterfaceKey externalInterfaceKey, ExternalInterfaceUpdateRequest request)
focal_class.return: ExternalInterface
focal_class.signature: ExternalInterface updateExternalInterface(ExternalInterfaceKey externalInterfaceKey, ExternalInterfaceUpdateRequest request)
focal_class.class_method_signature: ExternalInterfaceServiceImpl.validateExternalInterfaceCreateRequest(ExternalInterfaceCreateRequest request)
focal_class.full_signature:  void validateExternalInterfaceCreateRequest(ExternalInterfaceCreateRequest request)
focal_class.identifier: validateExternalInterfaceCreateRequest
focal_class.parameters: (ExternalInterfaceCreateRequest request)
focal_class.return: void
focal_class.signature: void validateExternalInterfaceCreateRequest(ExternalInterfaceCreateRequest request)
focal_class.class_method_signature: ExternalInterfaceServiceImpl.validateExternalInterfaceUpdateRequest(ExternalInterfaceUpdateRequest request)
focal_class.full_signature:  void validateExternalInterfaceUpdateRequest(ExternalInterfaceUpdateRequest request)
focal_class.identifier: validateExternalInterfaceUpdateRequest
focal_class.parameters: (ExternalInterfaceUpdateRequest request)
focal_class.return: void
focal_class.signature: void validateExternalInterfaceUpdateRequest(ExternalInterfaceUpdateRequest request)
focal_class.class_method_signature: ExternalInterfaceServiceImpl.validateAndTrimExternalInterfaceKey(ExternalInterfaceKey externalInterfaceKey)
focal_class.full_signature:  void validateAndTrimExternalInterfaceKey(ExternalInterfaceKey externalInterfaceKey)
focal_class.identifier: validateAndTrimExternalInterfaceKey
focal_class.parameters: (ExternalInterfaceKey externalInterfaceKey)
focal_class.return: void
focal_class.signature: void validateAndTrimExternalInterfaceKey(ExternalInterfaceKey externalInterfaceKey)
focal_class.class_method_signature: ExternalInterfaceServiceImpl.createExternalInterfaceEntity(ExternalInterfaceCreateRequest request)
focal_class.full_signature: private ExternalInterfaceEntity createExternalInterfaceEntity(ExternalInterfaceCreateRequest request)
focal_class.identifier: createExternalInterfaceEntity
focal_class.modifiers: private
focal_class.parameters: (ExternalInterfaceCreateRequest request)
focal_class.return: ExternalInterfaceEntity
focal_class.signature: ExternalInterfaceEntity createExternalInterfaceEntity(ExternalInterfaceCreateRequest request)
focal_class.class_method_signature: ExternalInterfaceServiceImpl.createExternalInterfaceFromEntity(ExternalInterfaceEntity externalInterfaceEntity)
focal_class.full_signature: private ExternalInterface createExternalInterfaceFromEntity(ExternalInterfaceEntity externalInterfaceEntity)
focal_class.identifier: createExternalInterfaceFromEntity
focal_class.modifiers: private
focal_class.parameters: (ExternalInterfaceEntity externalInterfaceEntity)
focal_class.return: ExternalInterface
focal_class.signature: ExternalInterface createExternalInterfaceFromEntity(ExternalInterfaceEntity externalInterfaceEntity)
focal_class.class_method_signature: ExternalInterfaceServiceImpl.updateExternalInterfaceEntity(ExternalInterfaceEntity externalInterfaceEntity, ExternalInterfaceUpdateRequest request)
focal_class.full_signature: private void updateExternalInterfaceEntity(ExternalInterfaceEntity externalInterfaceEntity, ExternalInterfaceUpdateRequest request)
focal_class.identifier: updateExternalInterfaceEntity
focal_class.modifiers: private
focal_class.parameters: (ExternalInterfaceEntity externalInterfaceEntity, ExternalInterfaceUpdateRequest request)
focal_class.return: void
focal_class.signature: void updateExternalInterfaceEntity(ExternalInterfaceEntity externalInterfaceEntity, ExternalInterfaceUpdateRequest request)
focal_method.body: @Override
      public ExternalInterface createExternalInterface(ExternalInterfaceCreateRequest request)
      {
          // Perform the validation.
          validateExternalInterfaceCreateRequest(request);
  
          // Ensure an external interface with the specified external interface name doesn't already exist.
          ExternalInterfaceEntity externalInterfaceEntity =
              externalInterfaceDao.getExternalInterfaceByName(request.getExternalInterfaceKey().getExternalInterfaceName());
          if (externalInterfaceEntity != null)
          {
              throw new AlreadyExistsException(String
                  .format("Unable to create external interface \"%s\" because it already exists.", request.getExternalInterfaceKey().getExternalInterfaceName()));
          }
  
          // Create an external interface entity from the request information.
          externalInterfaceEntity = createExternalInterfaceEntity(request);
  
          // Persist the new entity.
          externalInterfaceEntity = externalInterfaceDao.saveAndRefresh(externalInterfaceEntity);
  
          // Create and return the external interface object from the persisted entity.
          return createExternalInterfaceFromEntity(externalInterfaceEntity);
      }
focal_method.class_method_signature: ExternalInterfaceServiceImpl.createExternalInterface(ExternalInterfaceCreateRequest request)
focal_method.full_signature: @Override public ExternalInterface createExternalInterface(ExternalInterfaceCreateRequest request)
focal_method.identifier: createExternalInterface
focal_method.invocations: validateExternalInterfaceCreateRequest getExternalInterfaceByName getExternalInterfaceName getExternalInterfaceKey format getExternalInterfaceName getExternalInterfaceKey createExternalInterfaceEntity saveAndRefresh createExternalInterfaceFromEntity
focal_method.modifiers: @Override public
focal_method.parameters: (ExternalInterfaceCreateRequest request)
focal_method.return: ExternalInterface
focal_method.signature: ExternalInterface createExternalInterface(ExternalInterfaceCreateRequest request)