import org.slf4j.LoggerFactory;
/**
- * This class wraps a distributor so that it can be activated as a complete service together with all its api
- * and forwarding handlers.
+ * This class wraps a distributor so that it can be activated as a complete service together with all its api and
+ * forwarding handlers.
*/
public class ApiActivator {
private void startApiRestServer() throws PolicyApiException {
apiParameterGroup.getRestServerParameters().setName(apiParameterGroup.getName());
restServer = new RestServer(apiParameterGroup.getRestServerParameters(), AafApiFilter.class,
- LegacyApiRestController.class,
- ApiRestController.class);
+ LegacyApiRestController.class, ApiRestController.class);
if (!restServer.start()) {
- throw new PolicyApiException(
- "Failed to start api rest server. Check log for more details...");
+ throw new PolicyApiException("Failed to start api rest server. Check log for more details...");
}
}
public void terminate() throws PolicyApiException {
try {
deregisterToParameterService(apiParameterGroup);
- ApiActivator.setAlive(false);
+
+ if (ApiActivator.isAlive()) {
+ ApiActivator.setAlive(false);
+ }
// Stop the api rest server
- restServer.stop();
+ if (restServer.isAlive()) {
+ restServer.stop();
+ }
} catch (final Exception exp) {
throw new PolicyApiException("Policy api service termination failed", exp);
}
* @param apiParameterGroup the api parameter group
*/
public void deregisterToParameterService(final ApiParameterGroup apiParameterGroup) {
- ParameterService.deregister(apiParameterGroup.getName());
+ if (ParameterService.contains(apiParameterGroup.getName())) {
+ ParameterService.deregister(apiParameterGroup.getName());
+ }
}
/**