/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package jobs; import java.util.HashMap; import java.util.Map; import play.Logger; import play.inject.BeanSource; import play.inject.Injector; import play.jobs.Job; import plugin.StorageOsPlugin; import com.emc.storageos.security.authentication.AuthSvcEndPointLocator; public class DependencyInjectionJob extends Job implements BeanSource { private Map<Class, Object> beans = new HashMap<Class, Object>(); public void doJob() { AuthSvcEndPointLocator authSvcEndPointLocator = null; if (StorageOsPlugin.isEnabled()) { authSvcEndPointLocator = StorageOsPlugin.getInstance().getAuthSvcEndPointLocator(); } else { Logger.info("WARNING - Service Descriptors are unavailable!"); } beans.put(AuthSvcEndPointLocator.class, authSvcEndPointLocator); Injector.inject(this); } public <T> T getBeanOfType(Class<T> clazz) { return (T) beans.get(clazz); } }