/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.milipede.storage.layer.internal; import org.milipede.storage.layer.AccountControllerManagerService; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.milipede.storage.layer.Controllable; import org.osgi.framework.ServiceReference; /** * * @author gurkerl */ public class AccountControllerManager implements AccountControllerManagerService { Map<String, Controllable> controllers = new HashMap<String, Controllable>(); void activate() { for (Controllable controller : controllers.values()) { if (controller.isStable()) { controller.doControl(); } else { System.out.println(controller + "is not stable"); } } } public void bind(ServiceReference reference) { System.out.println("ReferenceListener, service bound: " + reference); controllers.put((String) reference.getProperty("provider"), (Controllable) (reference)); } public void unbind(ServiceReference reference) { System.out.println("ReferenceListener, service unbound: " + reference); controllers.remove((String) reference.getProperty("provider")); } public String toString() { return "ReferenceListener"; } }