/******************************************************************************* * 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.web.shared.model; import java.util.Map; public class GwtWifiNetInterfaceConfig extends GwtNetInterfaceConfig { private static final long serialVersionUID = -7509149975400963837L; private GwtWifiConfig m_adhocWifiConfig; private GwtWifiConfig m_stationWifiConfig; private GwtWifiConfig m_accessPointWifiConfig; public GwtWifiNetInterfaceConfig() { super(); m_adhocWifiConfig = new GwtWifiConfig(); m_stationWifiConfig = new GwtWifiConfig(); m_accessPointWifiConfig = new GwtWifiConfig(); setWirelessMode(GwtWifiWirelessMode.netWifiWirelessModeStation.name()); } public GwtWifiNetInterfaceConfig(GwtWifiConfig adhocConfig, GwtWifiConfig stationConfig, GwtWifiConfig accessPointConfig) { super(); m_adhocWifiConfig = adhocConfig; m_stationWifiConfig = stationConfig; m_accessPointWifiConfig = accessPointConfig; setWirelessMode(GwtWifiWirelessMode.netWifiWirelessModeStation.name()); } public void setAdhocWifiConfig(GwtWifiConfig adhocConfig) { m_adhocWifiConfig = adhocConfig; } public void setAdhocWifiConfig(Map<String, Object> properties) { m_adhocWifiConfig = new GwtWifiConfig(); m_adhocWifiConfig.setProperties(properties); } public GwtWifiConfig getAdhocWifiConfig() { return m_adhocWifiConfig; } public Map<String, Object> getAdhocWifiConfigProps() { return m_adhocWifiConfig.getProperties(); } public void setStationWifiConfig(GwtWifiConfig stationConfig) { m_stationWifiConfig = stationConfig; } public void setStationWifiConfig(Map<String, Object> properties) { m_stationWifiConfig = new GwtWifiConfig(); m_stationWifiConfig.setProperties(properties); } public GwtWifiConfig getStationWifiConfig() { return m_stationWifiConfig; } public Map<String, Object> getStationWifiConfigProps() { return m_stationWifiConfig.getProperties(); } public void setAccessPointWifiConfig(GwtWifiConfig accessPointConfig) { m_accessPointWifiConfig = accessPointConfig; } public void setAccessPointWifiConfig (Map<String, Object> properties) { m_accessPointWifiConfig = new GwtWifiConfig(); m_accessPointWifiConfig.setProperties(properties); } public GwtWifiConfig getAccessPointWifiConfig() { return m_accessPointWifiConfig; } public Map<String, Object> getAccessPointWifiConfigProps() { return m_accessPointWifiConfig.getProperties(); } public void setWifiConfig(GwtWifiConfig wifiConfig) { GwtWifiWirelessMode wifiMode = wifiConfig.getWirelessModeEnum(); if(wifiMode.equals(GwtWifiWirelessMode.netWifiWirelessModeAccessPoint)) { setAccessPointWifiConfig(wifiConfig); } else if(wifiMode.equals(GwtWifiWirelessMode.netWifiWirelessModeAdHoc)) { setAdhocWifiConfig(wifiConfig); } else if(wifiMode.equals(GwtWifiWirelessMode.netWifiWirelessModeStation)) { setStationWifiConfig(wifiConfig); } } public GwtWifiConfig getActiveWifiConfig() { GwtWifiWirelessMode wifiMode = getWirelessModeEnum(); GwtWifiConfig activeConfig = null; if(wifiMode.equals(GwtWifiWirelessMode.netWifiWirelessModeAccessPoint)) { activeConfig = m_accessPointWifiConfig; } else if(wifiMode.equals(GwtWifiWirelessMode.netWifiWirelessModeAdHoc)) { activeConfig = m_adhocWifiConfig; } else if(wifiMode.equals(GwtWifiWirelessMode.netWifiWirelessModeStation)) { activeConfig = m_stationWifiConfig; } return activeConfig; } public void setWirelessMode(String wirelessMode) { set("wirelessMode", wirelessMode); } public String getWirelessMode() { return get("wirelessMode"); } public GwtWifiWirelessMode getWirelessModeEnum() { return GwtWifiWirelessMode.valueOf(getWirelessMode()); } @Override public boolean equals(Object o) { if(!(o instanceof GwtWifiNetInterfaceConfig)) { return false; } if(super.equals(o) == false) { return false; } GwtWifiNetInterfaceConfig other = (GwtWifiNetInterfaceConfig) o; if(compare(getActiveWifiConfig(), other.getActiveWifiConfig()) == false) { return false; } return true; } private boolean compare(Object obj1, Object obj2) { if(obj1 == null) { if(obj2 != null) { return false; } } else { return obj1.equals(obj2); } return true; } }