/** * The contents of this file are subject to the license and copyright * detailed in the LICENSE and NOTICE files at the root of the source * tree and available online at * * http://www.dspace.org/license/ */ package org.dspace.servicemanager.fakeservices; import java.io.Serializable; import java.util.List; import java.util.Map; import org.dspace.kernel.mixins.ConfigChangeListener; import org.dspace.kernel.mixins.InitializedService; import org.dspace.kernel.mixins.ServiceChangeListener; import org.dspace.kernel.mixins.ShutdownService; import org.dspace.services.ConfigurationService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Required; /** * This is just testing a fake service and running it through some paces to see if the lifecycles work * * @author Aaron Zeckoski (azeckoski @ gmail.com) */ public class FakeService1 implements ConfigChangeListener, ServiceChangeListener, InitializedService, ShutdownService, Serializable { private static final long serialVersionUID = 1L; public int triggers = 0; public int getTriggers() { return triggers; } public String something = "aaronz"; public String getSomething() { return something; } public void setSomething(String something) { this.something = something; } public FakeService1() { } public FakeService1(ConfigurationService configurationService) { // for manual construction this.configurationService = configurationService; } private ConfigurationService configurationService; @Autowired @Required public void setConfigurationService(ConfigurationService configurationService) { this.configurationService = configurationService; } public ConfigurationService getConfigurationService() { return configurationService; } /* (non-Javadoc) * @see org.dspace.kernel.mixins.ConfigChangeListener#configurationChanged(java.util.List, java.util.Map) */ public void configurationChanged(List<String> changedSettingNames, Map<String, String> changedSettings) { something = "config:" + changedSettings.get("azeckoski.FakeService1.something"); triggers++; } /* (non-Javadoc) * @see org.dspace.kernel.mixins.ServiceChangeListener#serviceRegistered(java.lang.String, java.lang.Object, java.util.List) */ public void serviceRegistered(String serviceName, Object service, List<Class<?>> implementedTypes) { something = "registered:"+serviceName; triggers++; } /* (non-Javadoc) * @see org.dspace.kernel.mixins.ServiceChangeListener#serviceUnregistered(java.lang.String, java.lang.Object) */ public void serviceUnregistered(String serviceName, Object service) { something = "unregistered:"+serviceName; triggers++; } /* (non-Javadoc) * @see org.dspace.kernel.mixins.InitializedService#init() */ public void init() { something = "init"; triggers = 1; // RESET to 1 } /* (non-Javadoc) * @see org.dspace.kernel.mixins.ShutdownService#shutdown() */ public void shutdown() { something = "shutdown"; triggers++; } /* (non-Javadoc) * @see org.dspace.kernel.mixins.ConfigChangeListener#notifyForConfigNames() */ public String[] notifyForConfigNames() { return null; // ALL } /* (non-Javadoc) * @see org.dspace.kernel.mixins.ServiceChangeListener#notifyForTypes() */ public Class<?>[] notifyForTypes() { return null; // ALL } }