tree b1ab6c5d17cb181e3f0c318e5f38a0d04b0b0c22
parent 7c70b61d8510ce5c79246f21e9a0bb8cfd452439
author Kirk Lund <klund@apache.org> 1571848920 -0700
committer GitHub <noreply@github.com> 1571848920 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJdsILYCRBK7hj4Ov3rIwAAdHIIAIM6wOHeh/n8WzF/8gK9eX7M
 qJgHAa/zAshp4jHF8l5lYD5XawMGOKEo3S5rbtx58RKIQ55eHvfSxFXqBS8wtiCB
 UW9owjfEVc6tXX3k3C+LieC87VPa1wo/Lee1cEO4YYq7ItdXr4HRBhQDXR/REYZJ
 5iImsV787aAmPDLGzPA6FzmJvG7hXaIqPhXI4Y8Min65Mw+P9hRUQl3HBcfs7jXE
 JrOd1UfM4f+oH+68pC/kIz+DVv5lRxOh7Br5J+EQFaMkStt8SDF7l+mlwx4pXRgo
 AzbU2OAqOkccaCJJXyMq8n4l9I3UOhFtpr8WPzY3+0gKVz+irnuiUfx40Vitv18=
 =rORR
 -----END PGP SIGNATURE-----
 

GEODE-7330: Prevent RegionDestroyedException in FederatingManager (#4193)

* GEODE-7330: Prevent RegionDestroyedException in FederatingManager

Cleanup management classes:
* Reduce method and field visibility as much as possible
* Remove unnecessary uses of this
* Reorder fields and methods based on visibility and other modifiers
* Use @VisibleForTesting annotation
* Fixup formatting and variable names

Make all FederatingManager fields final:
* Remove field setters for tests
* Introduce FederatingManagerFactory
* Add FederatingManagerFactory system property for tests to
  SystemManagementService
* Inject all FederatingManager fields via constructor
* Use Geode APIs in MBeanFederationErrorPathDUnitTest

Rename MBeanFederationErrorHandlingDistributedTest:
* Rename MBeanFederationErrorPathDUnitTest as
  MBeanFederationErrorHandlingDistributedTest