All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.fabric8.karaf.checks.internal.BlueprintState Maven / Gradle / Ivy

There is a newer version: 3.0.1
Show newest version
/**
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements. See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 * 

* http://www.apache.org/licenses/LICENSE-2.0 *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.fabric8.karaf.checks.internal; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import io.fabric8.karaf.checks.Check; import org.osgi.framework.Bundle; import org.osgi.service.blueprint.container.BlueprintEvent; import org.osgi.service.blueprint.container.BlueprintListener; public class BlueprintState extends AbstractBundleChecker implements BlueprintListener { private final Map states = new ConcurrentHashMap<>(); public BlueprintState() { bundleContext.registerService(BlueprintListener.class, this, null); } @Override public void blueprintEvent(BlueprintEvent event) { states.put(event.getBundle().getBundleId(), event); } @Override public Check checkBundle(Bundle bundle) { BlueprintEvent event = states.get(bundle.getBundleId()); if (event != null && event.getType() != BlueprintEvent.CREATED && isActive(bundle)) { return new Check("blueprint-state", "Blueprint bundle " + bundle.getBundleId() + " is in state " + getState(event)); } return null; } private String getState(BlueprintEvent blueprintEvent) { switch (blueprintEvent.getType()) { case BlueprintEvent.CREATING: return "CREATING"; case BlueprintEvent.CREATED: return "CREATED"; case BlueprintEvent.DESTROYING: return "DESTROYING"; case BlueprintEvent.DESTROYED: return "DESTROYED"; case BlueprintEvent.FAILURE: return "FAILURE"; case BlueprintEvent.GRACE_PERIOD: return "GRACE_PERIOD"; case BlueprintEvent.WAITING: return "WAITING"; default: return "UNKNOWN"; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy