Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Licensed 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 org.apache.karaf.cellar.kubernetes;
 
 
 import java.util.Map;
A factory for Kubernetes discovery services.
 
 
     private static String getEnvOrDefault(String varString def) {
         final String val = System.getenv(var);
         return val == null ? def : val;
     }
 
     private static final Logger LOGGER = LoggerFactory.getLogger(KubernetesDiscoveryServiceFactory.class);
 
     private static final String KUBERNETES_POD_LABEL_KEY = "pod.label.key";
     private static final String KUBERNETES_POD_LABEL_VALUE = "pod.label.value";
 
 
     private final BundleContext bundleContext;
 
     public KubernetesDiscoveryServiceFactory(BundleContext bundleContext) {
         this. = bundleContext;
     }
 
     @Override
     public String getName() {
         return "CELLAR KUBERNETES: discovery service factory";
     }
 
     @Override
     public void updated(String pidDictionary propertiesthrows ConfigurationException {
         ServiceRegistration newServiceRegistration = null;
         try {
             if (properties != null) {
                 Properties serviceProperties = new Properties();
                 for (Map.Entry entry : serviceProperties.entrySet()) {
                     Object key = entry.getKey();
                     Object value = entry.getValue();
                     serviceProperties.put(keyvalue);
                 }
 
                 KubernetesDiscoveryService kubernetesDiscoveryService = new KubernetesDiscoveryService();
 
                 String kubernetesHost = getEnvOrDefault("KUBERNETES_RO_SERVICE_HOST""localhost");
                 String kubernetesPort = getEnvOrDefault("KUBERNETES_RO_SERVICE_PORT""8080");
                 String kubernetesPodLabelKey = (Stringproperties.get();
                 String kubernetesPodLabelValue = (Stringproperties.get();
 
                 kubernetesDiscoveryService.setKubernetesHost(kubernetesHost);
                 kubernetesDiscoveryService.setKubernetesPort(kubernetesPort);
                 kubernetesDiscoveryService.setKubernetesPodLabelKey(kubernetesPodLabelKey);
                 kubernetesDiscoveryService.setKubernetesPodLabelValue(kubernetesPodLabelValue);
                 kubernetesDiscoveryService.init();
 
                 newServiceRegistration = .registerService(DiscoveryService.class.getName(), kubernetesDiscoveryService, (DictionaryserviceProperties);
             }
         } finally {
             ServiceRegistration oldServiceRegistration = (newServiceRegistration == null) ? .remove(pid) : .put(pidnewServiceRegistration);
             if (oldServiceRegistration != null) {
                 .debug("CELLAR KUBERNETES: unregister discovery service {}"pid);
                 oldServiceRegistration.unregister();
             }
         }
     }
 
     @Override
     public void deleted(String pid) {
         .debug("CELLAR KUBERNETES: delete discovery service {}"pid);
         ServiceRegistration oldServiceRegistration = .remove(pid);
         if (oldServiceRegistration != null) {
             oldServiceRegistration.unregister();
         }
    }
New to GrepCode? Check out our FAQ X