/*******************************************************************************
* Copyright (c) 2011, 2016 Eurotech and/or its affiliates
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Eurotech
*******************************************************************************/
package org.eclipse.kura.emulator.clock;
import java.util.Date;
import java.util.Map;
import org.eclipse.kura.KuraException;
import org.eclipse.kura.clock.ClockService;
import org.eclipse.kura.configuration.ConfigurableComponent;
import org.osgi.service.component.ComponentContext;
import org.osgi.service.event.EventAdmin;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ClockServiceImpl implements ConfigurableComponent, ClockService {
private static final Logger s_logger = LoggerFactory.getLogger(ClockServiceImpl.class);
@SuppressWarnings("unused")
private ComponentContext m_ctx;
@SuppressWarnings("unused")
private EventAdmin m_eventAdmin;
@SuppressWarnings("unused")
private Map<String, Object> m_properties;
// ----------------------------------------------------------------
//
// Dependencies
//
// ----------------------------------------------------------------
public void setEventAdmin(EventAdmin eventAdmin) {
this.m_eventAdmin = eventAdmin;
}
public void unsetEventAdmin(EventAdmin eventAdmin) {
this.m_eventAdmin = null;
}
// ----------------------------------------------------------------
//
// Activation APIs
//
// ----------------------------------------------------------------
protected void activate(ComponentContext componentContext) {
s_logger.info("Activate. Current Time: {}", new Date());
// save the bundle context
this.m_ctx = componentContext;
}
protected void deactivate(ComponentContext componentContext) {
s_logger.info("Deactivate...");
}
public void updated(Map<String, Object> properties) {
s_logger.info("Updated...");
try {
// save the properties
this.m_properties = properties;
} catch (Throwable t) {
s_logger.error("Error updating ClockService Configuration", t);
}
}
// ----------------------------------------------------------------
//
// Master Client Management APIs
//
// ----------------------------------------------------------------
@Override
public Date getLastSync() throws KuraException {
return new Date();
}
}