test_class.declarator: thrown = ExpectedException.none()
test_class.modifier: @Rule
  	public final
test_class.original_string: @Rule
  	public final ExpectedException thrown = ExpectedException.none();
test_class.type: ExpectedException
test_class.var_name: thrown
test_class.declarator: settingsService
test_class.modifier: private
test_class.original_string: private SettingsService settingsService;
test_class.type: SettingsService
test_class.var_name: settingsService
test_class.declarator: encryptorProviderService
test_class.modifier: private
test_class.original_string: private EncryptorProviderService encryptorProviderService;
test_class.type: EncryptorProviderService
test_class.var_name: encryptorProviderService
test_class.declarator: encryptorService
test_class.modifier: private
test_class.original_string: private EncryptorService encryptorService;
test_class.type: EncryptorService
test_class.var_name: encryptorService
test_class.declarator: encryptorListener = mock(EncryptorListener.class)
test_class.modifier: private final
test_class.original_string: private final EncryptorListener encryptorListener = mock(EncryptorListener.class);
test_class.type: EncryptorListener
test_class.var_name: encryptorListener
test_class.declarator: settings = new AtomicReference<>()
test_class.modifier: private final
test_class.original_string: private final AtomicReference<Settings> settings = new AtomicReference<>();
test_class.type: AtomicReference<Settings>
test_class.var_name: settings
test_class.file: services/src/test/java/com/greensopinion/finance/services/encryption/EncryptorServiceTest.java
test_class.identifier: EncryptorServiceTest
test_case.body: @Test
  	public void reconfigure() {
  		encryptorService.configure("1234");
  
  		InOrder order = inOrder(encryptorProviderService, settingsService);
  		order.verify(encryptorProviderService).setEncryptor(any(Encryptor.class));
  		order.verify(settingsService).update(any());
  
  		assertTrue(settings.get().getEncryptorSettings().validateMasterPassword("1234"));
  
  		encryptorService.reconfigure("5678");
  
  		order = inOrder(encryptorProviderService, settingsService, encryptorListener);
  		order.verify(encryptorListener).aboutToChangeEncryptor();
  		order.verify(encryptorProviderService).setEncryptor(any(Encryptor.class));
  		order.verify(settingsService).update(any());
  		order.verify(encryptorListener).encryptorChanged();
  
  		assertTrue(settings.get().getEncryptorSettings().validateMasterPassword("5678"));
  	}
test_case.class_method_signature: EncryptorServiceTest.reconfigure()
test_case.full_signature: @Test public void reconfigure()
test_case.identifier: reconfigure
test_case.invocations: configure inOrder setEncryptor verify any update verify any assertTrue validateMasterPassword getEncryptorSettings get reconfigure inOrder aboutToChangeEncryptor verify setEncryptor verify any update verify any encryptorChanged verify assertTrue validateMasterPassword getEncryptorSettings get
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void reconfigure()
focal_class.declarator: settingsService
focal_class.modifier: private final
focal_class.original_string: private final SettingsService settingsService;
focal_class.type: SettingsService
focal_class.var_name: settingsService
focal_class.declarator: encryptorProviderService
focal_class.modifier: private final
focal_class.original_string: private final EncryptorProviderService encryptorProviderService;
focal_class.type: EncryptorProviderService
focal_class.var_name: encryptorProviderService
focal_class.declarator: configurationLock = new Object()
focal_class.modifier: private final
focal_class.original_string: private final Object configurationLock = new Object();
focal_class.type: Object
focal_class.var_name: configurationLock
focal_class.declarator: encryptorListener
focal_class.modifier: private final
focal_class.original_string: private final EncryptorListener encryptorListener;
focal_class.type: EncryptorListener
focal_class.var_name: encryptorListener
focal_class.file: services/src/main/java/com/greensopinion/finance/services/encryption/EncryptorService.java
focal_class.identifier: EncryptorService
focal_class.class_method_signature: EncryptorService.EncryptorService(SettingsService settingsService, EncryptorProviderService encryptorProviderService,
  			EncryptorListener encryptorListener)
focal_class.full_signature: @Inject public  EncryptorService(SettingsService settingsService, EncryptorProviderService encryptorProviderService,
  			EncryptorListener encryptorListener)
focal_class.identifier: EncryptorService
focal_class.modifiers: @Inject public
focal_class.parameters: (SettingsService settingsService, EncryptorProviderService encryptorProviderService,
  			EncryptorListener encryptorListener)
focal_class.signature:  EncryptorService(SettingsService settingsService, EncryptorProviderService encryptorProviderService,
  			EncryptorListener encryptorListener)
focal_class.class_method_signature: EncryptorService.isConfigured()
focal_class.full_signature: public boolean isConfigured()
focal_class.identifier: isConfigured
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isConfigured()
focal_class.class_method_signature: EncryptorService.isInitialized()
focal_class.full_signature: public boolean isInitialized()
focal_class.identifier: isInitialized
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isInitialized()
focal_class.class_method_signature: EncryptorService.reconfigure(String newMasterPassword)
focal_class.full_signature: public void reconfigure(String newMasterPassword)
focal_class.identifier: reconfigure
focal_class.modifiers: public
focal_class.parameters: (String newMasterPassword)
focal_class.return: void
focal_class.signature: void reconfigure(String newMasterPassword)
focal_class.class_method_signature: EncryptorService.configure(String masterPassword)
focal_class.full_signature: public void configure(String masterPassword)
focal_class.identifier: configure
focal_class.modifiers: public
focal_class.parameters: (String masterPassword)
focal_class.return: void
focal_class.signature: void configure(String masterPassword)
focal_class.class_method_signature: EncryptorService.checkMasterPassword(String masterPassword)
focal_class.full_signature: private void checkMasterPassword(String masterPassword)
focal_class.identifier: checkMasterPassword
focal_class.modifiers: private
focal_class.parameters: (String masterPassword)
focal_class.return: void
focal_class.signature: void checkMasterPassword(String masterPassword)
focal_class.class_method_signature: EncryptorService.setMasterPassword(String masterPassword)
focal_class.full_signature: private void setMasterPassword(String masterPassword)
focal_class.identifier: setMasterPassword
focal_class.modifiers: private
focal_class.parameters: (String masterPassword)
focal_class.return: void
focal_class.signature: void setMasterPassword(String masterPassword)
focal_class.class_method_signature: EncryptorService.initialize(String masterPassword)
focal_class.full_signature: public void initialize(String masterPassword)
focal_class.identifier: initialize
focal_class.modifiers: public
focal_class.parameters: (String masterPassword)
focal_class.return: void
focal_class.signature: void initialize(String masterPassword)
focal_method.body: public void reconfigure(String newMasterPassword) {
  		checkMasterPassword(newMasterPassword);
  		synchronized (configurationLock) {
  			checkState(isConfigured(), "Encryption must be configured to reset the master password");
  			checkState(isInitialized(), "Encryption must be initialized to reset the master password");
  
  			encryptorListener.aboutToChangeEncryptor();
  			setMasterPassword(newMasterPassword);
  			encryptorListener.encryptorChanged();
  		}
  	}
focal_method.class_method_signature: EncryptorService.reconfigure(String newMasterPassword)
focal_method.full_signature: public void reconfigure(String newMasterPassword)
focal_method.identifier: reconfigure
focal_method.invocations: checkMasterPassword checkState isConfigured checkState isInitialized aboutToChangeEncryptor setMasterPassword encryptorChanged
focal_method.modifiers: public
focal_method.parameters: (String newMasterPassword)
focal_method.return: void
focal_method.signature: void reconfigure(String newMasterPassword)