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.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: subjectMatterExpertDao
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private SubjectMatterExpertDao subjectMatterExpertDao;
test_class.type: SubjectMatterExpertDao
test_class.var_name: subjectMatterExpertDao
test_class.declarator: subjectMatterExpertServiceImpl
test_class.modifier: @InjectMocks
      private
test_class.original_string: @InjectMocks
      private SubjectMatterExpertServiceImpl subjectMatterExpertServiceImpl;
test_class.type: SubjectMatterExpertServiceImpl
test_class.var_name: subjectMatterExpertServiceImpl
test_class.file: herd-code/herd-service/src/test/java/org/finra/herd/service/impl/SubjectMatterExpertServiceImplTest.java
test_class.identifier: SubjectMatterExpertServiceImplTest
test_case.body: @Test
      public void testGetSubjectMatterExpertMissingSubjectMatterExpertKey()
      {
          // Specify the expected exception.
          expectedException.expect(IllegalArgumentException.class);
          expectedException.expectMessage("A subject matter expert key must be specified.");
  
          // Try to call the method under test.
          subjectMatterExpertServiceImpl.getSubjectMatterExpert(null);
  
          // Verify the external calls.
          verifyNoMoreInteractionsHelper();
      }
test_case.class_method_signature: SubjectMatterExpertServiceImplTest.testGetSubjectMatterExpertMissingSubjectMatterExpertKey()
test_case.full_signature: @Test public void testGetSubjectMatterExpertMissingSubjectMatterExpertKey()
test_case.identifier: testGetSubjectMatterExpertMissingSubjectMatterExpertKey
test_case.invocations: expect expectMessage getSubjectMatterExpert verifyNoMoreInteractionsHelper
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testGetSubjectMatterExpertMissingSubjectMatterExpertKey()
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: subjectMatterExpertDao
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private SubjectMatterExpertDao subjectMatterExpertDao;
focal_class.type: SubjectMatterExpertDao
focal_class.var_name: subjectMatterExpertDao
focal_class.file: herd-code/herd-service/src/main/java/org/finra/herd/service/impl/SubjectMatterExpertServiceImpl.java
focal_class.identifier: SubjectMatterExpertServiceImpl
focal_class.interfaces: implements SubjectMatterExpertService
focal_class.class_method_signature: SubjectMatterExpertServiceImpl.getSubjectMatterExpert(SubjectMatterExpertKey subjectMatterExpertKey)
focal_class.full_signature: @Override public SubjectMatterExpert getSubjectMatterExpert(SubjectMatterExpertKey subjectMatterExpertKey)
focal_class.identifier: getSubjectMatterExpert
focal_class.modifiers: @Override public
focal_class.parameters: (SubjectMatterExpertKey subjectMatterExpertKey)
focal_class.return: SubjectMatterExpert
focal_class.signature: SubjectMatterExpert getSubjectMatterExpert(SubjectMatterExpertKey subjectMatterExpertKey)
focal_class.class_method_signature: SubjectMatterExpertServiceImpl.validateSubjectMatterExpertKey(SubjectMatterExpertKey key)
focal_class.full_signature: private void validateSubjectMatterExpertKey(SubjectMatterExpertKey key)
focal_class.identifier: validateSubjectMatterExpertKey
focal_class.modifiers: private
focal_class.parameters: (SubjectMatterExpertKey key)
focal_class.return: void
focal_class.signature: void validateSubjectMatterExpertKey(SubjectMatterExpertKey key)
focal_method.body: @Override
      public SubjectMatterExpert getSubjectMatterExpert(SubjectMatterExpertKey subjectMatterExpertKey)
      {
          // Validate and trim the subject matter expert key.
          validateSubjectMatterExpertKey(subjectMatterExpertKey);
  
          // Get the information for the subject matter expert.
          SubjectMatterExpertContactDetails subjectMatterExpertContactDetails = subjectMatterExpertDao.getSubjectMatterExpertByKey(subjectMatterExpertKey);
          if (subjectMatterExpertContactDetails == null)
          {
              throw new ObjectNotFoundException(
                  String.format("The subject matter expert with user id \"%s\" does not exist.", subjectMatterExpertKey.getUserId()));
          }
  
          // Create and return the subject matter expert.
          return new SubjectMatterExpert(subjectMatterExpertKey, subjectMatterExpertContactDetails);
      }
focal_method.class_method_signature: SubjectMatterExpertServiceImpl.getSubjectMatterExpert(SubjectMatterExpertKey subjectMatterExpertKey)
focal_method.full_signature: @Override public SubjectMatterExpert getSubjectMatterExpert(SubjectMatterExpertKey subjectMatterExpertKey)
focal_method.identifier: getSubjectMatterExpert
focal_method.invocations: validateSubjectMatterExpertKey getSubjectMatterExpertByKey format getUserId
focal_method.modifiers: @Override public
focal_method.parameters: (SubjectMatterExpertKey subjectMatterExpertKey)
focal_method.return: SubjectMatterExpert
focal_method.signature: SubjectMatterExpert getSubjectMatterExpert(SubjectMatterExpertKey subjectMatterExpertKey)