/*******************************************************************************
* 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.client.network;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.eclipse.kura.web.client.messages.Messages;
import org.eclipse.kura.web.client.util.Constants;
import org.eclipse.kura.web.client.util.FormUtils;
import org.eclipse.kura.web.client.util.MessageUtils;
import org.eclipse.kura.web.shared.model.GwtModemAuthType;
import org.eclipse.kura.web.shared.model.GwtModemInterfaceConfig;
import org.eclipse.kura.web.shared.model.GwtNetInterfaceConfig;
import org.eclipse.kura.web.shared.model.GwtSession;
import com.allen_sauer.gwt.log.client.Log;
import com.extjs.gxt.ui.client.Style.Scroll;
import com.extjs.gxt.ui.client.event.BaseEvent;
import com.extjs.gxt.ui.client.event.ComponentEvent;
import com.extjs.gxt.ui.client.event.Events;
import com.extjs.gxt.ui.client.event.Listener;
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
import com.extjs.gxt.ui.client.widget.Component;
import com.extjs.gxt.ui.client.widget.ComponentPlugin;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
import com.extjs.gxt.ui.client.widget.form.Field;
import com.extjs.gxt.ui.client.widget.form.FieldSet;
import com.extjs.gxt.ui.client.widget.form.FormPanel;
import com.extjs.gxt.ui.client.widget.form.LabelField;
import com.extjs.gxt.ui.client.widget.form.NumberField;
import com.extjs.gxt.ui.client.widget.form.Radio;
import com.extjs.gxt.ui.client.widget.form.RadioGroup;
import com.extjs.gxt.ui.client.widget.form.SimpleComboBox;
import com.extjs.gxt.ui.client.widget.form.SimpleComboValue;
import com.extjs.gxt.ui.client.widget.form.TextField;
import com.extjs.gxt.ui.client.widget.form.Validator;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
import com.extjs.gxt.ui.client.widget.layout.FormData;
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.Element;
public class ModemConfigTab extends LayoutContainer
{
private static final Messages MSGS = GWT.create(Messages.class);
private final ToolTipBox toolTipField = new ToolTipBox("275px", "66px");
private final String defaultToolTip = "Mouse over enabled items on the left to see help text.";
private final Map<String, String> defaultDialString = new HashMap<String, String>();
@SuppressWarnings("unused")
private GwtSession m_currentSession;
private boolean m_dirty;
private boolean m_initialized;
private GwtModemInterfaceConfig m_selectNetIfConfig;
private FormPanel m_formPanel;
private LabelField m_modemModel;
private LabelField m_networkTechnologies;
//private SimpleComboBox<String> m_networkTechCombo;
private LabelField m_connectionType;
private TextField<String> m_modemIdField;
private NumberField m_ifaceNumField;
private TextField<String> m_dialStringField;
private TextField<String> m_apnField;
private SimpleComboBox<String> m_authTypeCombo;
private TextField<String> m_usernameField;
private TextField<String> m_passwordField;
private NumberField m_resetTimeoutField;
private Radio m_persistRadioTrue;
private Radio m_persistRadioFalse;
private RadioGroup m_persistRadioGroup;
private NumberField m_maxFailField;
private NumberField m_idleField;
private TextField<String> m_activeFilterField;
private NumberField m_lcpEchoIntervalField;
private NumberField m_lcpEchoFailureField;
private ComponentPlugin m_dirtyPlugin;
private class MouseOverListener implements Listener<BaseEvent> {
private String html;
public MouseOverListener(String html) {
this.html = html;
}
public void handleEvent(BaseEvent be) {
toolTipField.setText(html);
}
}
public ModemConfigTab(GwtSession currentSession)
{
m_currentSession = currentSession;
m_dirty = true;
m_initialized = false;
defaultDialString.put("HE910", "atd*99***1#");
defaultDialString.put("DE910", "atd#777");
final ModemConfigTab theTab = this;
m_dirtyPlugin = new ComponentPlugin() {
public void init(Component component) {
component.addListener(Events.Change, new Listener<ComponentEvent>() {
public void handleEvent(ComponentEvent be) {
FormUtils.addDirtyFieldIcon(be.getComponent());
theTab.fireEvent(Events.Change);
}
});
}
};
}
public void setNetInterface(GwtNetInterfaceConfig netIfConfig)
{
m_dirty = true;
if(netIfConfig instanceof GwtModemInterfaceConfig) {
m_selectNetIfConfig = (GwtModemInterfaceConfig) netIfConfig;
}
}
public void getUpdatedNetInterface(GwtNetInterfaceConfig updatedNetIf)
{
GwtModemInterfaceConfig updatedModemNetIf = (GwtModemInterfaceConfig) updatedNetIf;
// note - status is set in tcp/ip tab
if (m_formPanel != null) {
updatedModemNetIf.setPppNum(m_ifaceNumField.getValue().intValue());
String modemId = (m_modemIdField.getValue() != null) ? m_modemIdField.getValue() : "";
updatedModemNetIf.setModemId(modemId);
String dialString = (m_dialStringField.getValue() != null) ? m_dialStringField.getValue() : "";
updatedModemNetIf.setDialString(dialString);
String apn = (m_apnField.getValue() != null) ? m_apnField.getValue() : "";
updatedModemNetIf.setApn(apn);
String authValue = m_authTypeCombo.getSimpleValue();
for (GwtModemAuthType auth : GwtModemAuthType.values()) {
if (MessageUtils.get(auth.name()).equals(authValue)) {
updatedModemNetIf.setAuthType(auth);
}
}
if(updatedModemNetIf.getAuthType() != GwtModemAuthType.netModemAuthNONE) {
String username = (m_usernameField.getValue() != null) ? m_usernameField.getValue() : "";
updatedModemNetIf.setUsername(username);
String password = (m_passwordField.getValue() != null) ? m_passwordField.getValue() : "";
updatedModemNetIf.setPassword(password);
}
updatedModemNetIf.setResetTimeout(m_resetTimeoutField.getValue().intValue());
updatedModemNetIf.setPersist(m_persistRadioTrue.getValue().booleanValue());
updatedModemNetIf.setMaxFail(m_maxFailField.getValue().intValue());
updatedModemNetIf.setIdle(m_idleField.getValue().intValue());
String activeFilter = (m_activeFilterField.getValue() != null) ? m_activeFilterField.getValue() : "";
updatedModemNetIf.setActiveFilter(activeFilter);
updatedModemNetIf.setLcpEchoInterval(m_lcpEchoIntervalField.getValue().intValue());
updatedModemNetIf.setLcpEchoFailure(m_lcpEchoFailureField.getValue().intValue());
} else {
if(m_selectNetIfConfig != null) {
Log.debug("Modem config tab not yet rendered, using original values");
updatedModemNetIf.setPppNum(m_selectNetIfConfig.getPppNum());
updatedModemNetIf.setModemId(m_selectNetIfConfig.getModemId());
updatedModemNetIf.setDialString(m_selectNetIfConfig.getDialString());
updatedModemNetIf.setApn(m_selectNetIfConfig.getApn());
updatedModemNetIf.setAuthType(m_selectNetIfConfig.getAuthType());
updatedModemNetIf.setUsername(m_selectNetIfConfig.getUsername());
updatedModemNetIf.setPassword(m_selectNetIfConfig.getPassword());
updatedModemNetIf.setResetTimeout(m_selectNetIfConfig.getResetTimeout());
updatedModemNetIf.setPersist(m_selectNetIfConfig.isPersist());
updatedModemNetIf.setMaxFail(m_selectNetIfConfig.getMaxFail());
updatedModemNetIf.setIdle(m_selectNetIfConfig.getIdle());
updatedModemNetIf.setActiveFilter(m_selectNetIfConfig.getActiveFilter());
updatedModemNetIf.setLcpEchoInterval(m_selectNetIfConfig.getLcpEchoInterval());
updatedModemNetIf.setLcpEchoFailure(m_selectNetIfConfig.getLcpEchoFailure());
}
}
}
public boolean isValid() {
if (m_formPanel != null) {
for (Field<?> field : m_formPanel.getFields()) {
if (!field.isValid()) {
return false;
}
}
}
return true;
}
public boolean isDirty() {
if (m_formPanel == null) {
return false;
}
List<Field<?>> fields = m_formPanel.getFields();
for (int i=0; i<fields.size(); i++) {
if (fields.get(i) instanceof Field) {
Field<?> field = (Field<?>) fields.get(i);
if (field.isDirty()) {
return true;
}
}
}
return false;
}
protected void onRender(Element parent, int index)
{
Log.debug("ModemConfigTab - onRender()");
super.onRender(parent, index);
setLayout(new FitLayout());
setId("network-modem");
FormData formData = new FormData();
formData.setWidth(250);
m_formPanel = new FormPanel();
m_formPanel.setFrame(false);
m_formPanel.setBodyBorder(false);
m_formPanel.setHeaderVisible(false);
m_formPanel.setLayout(new FlowLayout());
m_formPanel.setStyleAttribute("min-width", "775px");
m_formPanel.setStyleAttribute("padding-left", "30px");
FieldSet fieldSet = new FieldSet();
FormLayout layoutAccount = new FormLayout();
layoutAccount.setLabelWidth(Constants.LABEL_WIDTH_FORM);
fieldSet.setLayout(layoutAccount);
fieldSet.setBorders(false);
//
// Tool Tip Box
//
toolTipField.setText(defaultToolTip);
fieldSet.add(toolTipField);
//
// Modem Model
//
m_modemModel = new LabelField();
m_modemModel.setName("modemModel");
m_modemModel.setFieldLabel(MSGS.netModemModel());
m_modemModel.addPlugin(m_dirtyPlugin);
m_modemModel.setStyleAttribute("margin-top", Constants.LABEL_MARGIN_TOP_SEPARATOR);
fieldSet.add(m_modemModel, formData);
//
// Network Technology
//
m_networkTechnologies = new LabelField();
m_networkTechnologies.setName("networkTechnologies");
m_networkTechnologies.setFieldLabel(MSGS.netModemNetworkTechnology());
m_networkTechnologies.addPlugin(m_dirtyPlugin);
fieldSet.add(m_networkTechnologies, formData);
/*
m_networkTechCombo = new SimpleComboBox<String>();
m_networkTechCombo.setName("networkTech");
m_networkTechCombo.setFieldLabel(MSGS.netModemNetworkTechnology());
m_networkTechCombo.setEditable(false);
m_networkTechCombo.setTypeAhead(true);
m_networkTechCombo.setTriggerAction(TriggerAction.ALL);
m_networkTechCombo.add(MSGS.unknown());
m_networkTechCombo.setSimpleValue(MSGS.unknown());
m_networkTechCombo.addSelectionChangedListener( new SelectionChangedListener<SimpleComboValue<String>>() {
@Override
public void selectionChanged(SelectionChangedEvent<SimpleComboValue<String>> se) {
refreshForm();
}
});
m_networkTechCombo.addListener(Events.OnMouseOver, new MouseOverListener(MSGS.netModemToolTipNetworkTechnology()));
m_networkTechCombo.addStyleName("kura-combobox");
m_networkTechCombo.addPlugin(m_dirtyPlugin);
fieldSet.add(m_networkTechCombo, formData);
*/
//
// Service Type
//
m_connectionType = new LabelField();
m_connectionType.setName("serviceType");
m_connectionType.setFieldLabel(MSGS.netModemConnectionType());
m_connectionType.addPlugin(m_dirtyPlugin);
fieldSet.add(m_connectionType, formData);
//
// Modem Identifier
//
m_modemIdField = new TextField<String>();
m_modemIdField.setAllowBlank(true);
m_modemIdField.setName("modemId");
m_modemIdField.setFieldLabel(MSGS.netModemIdentifier());
m_modemIdField.addPlugin(m_dirtyPlugin);
m_modemIdField.setStyleAttribute("margin-top", Constants.LABEL_MARGIN_TOP_SEPARATOR);
m_modemIdField.addListener(Events.OnMouseOver, new MouseOverListener(MSGS.netModemToolTipModemIndentifier()));
m_modemIdField.addStyleName("kura-textfield");
fieldSet.add(m_modemIdField, formData);
//
// Interface number
//
m_ifaceNumField = new NumberField();
m_ifaceNumField.setAllowBlank(false);
m_ifaceNumField.setName("ifaceNum");
m_ifaceNumField.setFieldLabel(MSGS.netModemInterfaceNum());
m_ifaceNumField.addListener(Events.OnMouseOver, new MouseOverListener(MSGS.netModemToolTipModemInterfaceNumber()));
m_ifaceNumField.addPlugin(m_dirtyPlugin);
m_ifaceNumField.setValidator( new Validator() {
public String validate(Field<?> field, String value) {
int val = Integer.parseInt(value);
if (val < 0) {
return MSGS.netModemInvalidInterfaceNum();
}
return null;
}
});
fieldSet.add(m_ifaceNumField, formData);
//
// Dial String
//
m_dialStringField = new TextField<String>();
m_dialStringField.setName("dialString");
m_dialStringField.setFieldLabel(MSGS.netModemDialString());
String dialString = "";
String model = "";
if (m_selectNetIfConfig != null) {
model = m_selectNetIfConfig.getModel();
if (model != null && model.length() > 0) {
if (model.contains("HE910")) {
dialString = defaultDialString.get("HE910");
}
else if (model.contains("DE910")) {
dialString = defaultDialString.get("DE910");
}
else {
dialString ="";
}
}
}
if (dialString.equals("")) {
m_dialStringField.addListener(Events.OnMouseOver, new MouseOverListener(MSGS.netModemToolTipDialStringDefault()));
}
else {
m_dialStringField.addListener(Events.OnMouseOver, new MouseOverListener(MSGS.netModemToolTipDialString(dialString)));
}
m_dialStringField.addStyleName("kura-textfield");
m_dialStringField.setAllowBlank(false);
m_dialStringField.addPlugin(m_dirtyPlugin);
fieldSet.add(m_dialStringField, formData);
//
// APN
//
m_apnField = new TextField<String>();
m_apnField.setName("apn");
m_apnField.setFieldLabel(MSGS.netModemAPN());
m_apnField.addListener(Events.OnMouseOver, new MouseOverListener(MSGS.netModemToolTipApn()));
m_apnField.addStyleName("kura-textfield");
if (m_selectNetIfConfig != null) {
for (String techType : m_selectNetIfConfig.getNetworkTechnology()) {
if (techType.equals("HSPA") || techType.equals("HSDPA")
|| techType.equals("UMTS")
|| techType.equals("GSM_GPRS")) {
m_apnField.setAllowBlank(false);
break;
}
}
}
m_apnField.addPlugin(m_dirtyPlugin);
fieldSet.add(m_apnField, formData);
//
// Auth Type
//
m_authTypeCombo = new SimpleComboBox<String>();
m_authTypeCombo.setName("authTypeCombo");
m_authTypeCombo.setFieldLabel(MSGS.netModemAuthType());
m_authTypeCombo.setEditable(false);
m_authTypeCombo.setTypeAhead(true);
m_authTypeCombo.setTriggerAction(TriggerAction.ALL);
for (GwtModemAuthType auth : GwtModemAuthType.values()) {
m_authTypeCombo.add(MessageUtils.get(auth.name()));
}
m_authTypeCombo.setSimpleValue(MessageUtils.get(GwtModemAuthType.netModemAuthNONE.name()));
m_authTypeCombo.addSelectionChangedListener( new SelectionChangedListener<SimpleComboValue<String>>() {
@Override
public void selectionChanged(SelectionChangedEvent<SimpleComboValue<String>> se) {
refreshForm();
}
});
m_authTypeCombo.addListener(Events.OnMouseOver, new MouseOverListener(MSGS.netModemToolTipAuthentication()));
m_authTypeCombo.addStyleName("kura-combobox");
m_authTypeCombo.addPlugin(m_dirtyPlugin);
m_authTypeCombo.setStyleAttribute("margin-top", Constants.LABEL_MARGIN_TOP_SEPARATOR);
fieldSet.add(m_authTypeCombo, formData);
//
// Username
//
m_usernameField = new TextField<String>();
m_usernameField.setAllowBlank(true);
m_usernameField.setName("username");
m_usernameField.setFieldLabel(MSGS.netModemUsername());
m_usernameField.addListener(Events.OnMouseOver, new MouseOverListener(MSGS.netModemToolTipUsername()));
m_usernameField.addStyleName("kura-textfield");
m_usernameField.addPlugin(m_dirtyPlugin);
fieldSet.add(m_usernameField, formData);
//
// Password
//
m_passwordField = new TextField<String>();
m_passwordField.setAllowBlank(true);
m_passwordField.setPassword(true);
m_passwordField.setName("password");
m_passwordField.setFieldLabel(MSGS.netModemPassword());
m_passwordField.addListener(Events.OnMouseOver, new MouseOverListener(MSGS.netModemToolTipPassword()));
m_passwordField.addStyleName("kura-textfield");
m_passwordField.addPlugin(m_dirtyPlugin);
fieldSet.add(m_passwordField, formData);
// reset timeout
m_resetTimeoutField = new NumberField();
m_resetTimeoutField.setAllowBlank(false);
m_resetTimeoutField.setName("resetTimeout");
m_resetTimeoutField.setFieldLabel(MSGS.netModemResetTimeout());
m_resetTimeoutField.addListener(Events.OnMouseOver, new MouseOverListener(MSGS.netModemToolTipResetTimeout()));
m_resetTimeoutField.addPlugin(m_dirtyPlugin);
m_resetTimeoutField.setStyleAttribute("margin-top", Constants.LABEL_MARGIN_TOP_SEPARATOR);
m_resetTimeoutField.setValidator( new Validator() {
public String validate(Field<?> field, String value) {
int val = Integer.parseInt(value);
if ((val < 0) || (val == 1)) {
return MSGS.netModemInvalidResetTimeout();
}
return null;
}
});
fieldSet.add(m_resetTimeoutField, formData);
m_persistRadioTrue = new Radio();
m_persistRadioTrue.setBoxLabel(MSGS.trueLabel());
m_persistRadioTrue.setItemId("true");
m_persistRadioTrue.addListener(Events.OnMouseOver, new MouseOverListener(MSGS.netModemToolTipPersist()));
m_persistRadioFalse = new Radio();
m_persistRadioFalse.setBoxLabel(MSGS.falseLabel());
m_persistRadioFalse.setItemId("false");
m_persistRadioFalse.addListener(Events.OnMouseOver, new MouseOverListener(MSGS.netModemToolTipPersist()));
m_persistRadioGroup = new RadioGroup();
m_persistRadioGroup.setName("modemPersist");
m_persistRadioGroup.setFieldLabel(MSGS.netModemPersist());
m_persistRadioGroup.add(m_persistRadioTrue);
m_persistRadioGroup.add(m_persistRadioFalse);
m_persistRadioGroup.addPlugin(m_dirtyPlugin);
m_persistRadioGroup.setStyleAttribute("margin-top", Constants.LABEL_MARGIN_TOP_SEPARATOR);
fieldSet.add(m_persistRadioGroup, formData);
// maxfail
m_maxFailField = new NumberField();
m_maxFailField.setAllowBlank(false);
m_maxFailField.setName("modemMaxFail");
m_maxFailField.setFieldLabel(MSGS.netModemMaxFail());
m_maxFailField.addListener(Events.OnMouseOver, new MouseOverListener(MSGS.netModemToolTipMaxFail()));
m_maxFailField.addPlugin(m_dirtyPlugin);
m_maxFailField.setValidator( new Validator() {
public String validate(Field<?> field, String value) {
int val = Integer.parseInt(value);
if (val <= 0) {
return MSGS.netModemInvalidMaxFail();
}
return null;
}
});
fieldSet.add(m_maxFailField, formData);
// idle
m_idleField = new NumberField();
m_idleField.setAllowBlank(false);
m_idleField.setName("modemIdle");
m_idleField.setFieldLabel(MSGS.netModemIdle());
m_idleField.addListener(Events.OnMouseOver, new MouseOverListener(MSGS.netModemToolTipIdle()));
m_idleField.addPlugin(m_dirtyPlugin);
m_idleField.setValidator( new Validator() {
public String validate(Field<?> field, String value) {
int val = Integer.parseInt(value);
if (val < 0) {
return MSGS.netModemInvalidIdle();
}
return null;
}
});
fieldSet.add(m_idleField, formData);
// active-filter
m_activeFilterField = new TextField<String>();
m_activeFilterField.setAllowBlank(true);
m_activeFilterField.setName("active-filter");
m_activeFilterField.setFieldLabel(MSGS.netModemActiveFilter());
m_activeFilterField.addListener(Events.OnMouseOver, new MouseOverListener(MSGS.netModemToolTipActiveFilter()));
m_activeFilterField.addStyleName("esf-textfield");
m_activeFilterField.addPlugin(m_dirtyPlugin);
fieldSet.add(m_activeFilterField, formData);
//
// LCP Echo Interval
//
m_lcpEchoIntervalField = new NumberField();
m_lcpEchoIntervalField.setAllowBlank(false);
m_lcpEchoIntervalField.setName("lcpEchoInterval");
m_lcpEchoIntervalField.setFieldLabel(MSGS.netModemLcpEchoInterval());
m_lcpEchoIntervalField.addListener(Events.OnMouseOver, new MouseOverListener(MSGS.netModemToolTipLcpEchoInterval()));
m_lcpEchoIntervalField.addPlugin(m_dirtyPlugin);
m_lcpEchoIntervalField.setStyleAttribute("margin-top", Constants.LABEL_MARGIN_TOP_SEPARATOR);
m_lcpEchoIntervalField.setValidator( new Validator() {
public String validate(Field<?> field, String value) {
int val = Integer.parseInt(value);
if (val < 0) {
return MSGS.netModemInvalidLcpEchoInterval();
}
return null;
}
});
fieldSet.add(m_lcpEchoIntervalField, formData);
//
// LCP Echo Interval
//
m_lcpEchoFailureField = new NumberField();
m_lcpEchoFailureField.setAllowBlank(false);
m_lcpEchoFailureField.setName("lcpEchoFailure");
m_lcpEchoFailureField.setFieldLabel(MSGS.netModemLcpEchoFailure());
m_lcpEchoFailureField.addListener(Events.OnMouseOver, new MouseOverListener(MSGS.netModemToolTipLcpEchoFailure()));
m_lcpEchoFailureField.addPlugin(m_dirtyPlugin);
m_lcpEchoFailureField.setValidator( new Validator() {
public String validate(Field<?> field, String value) {
int val = Integer.parseInt(value);
if (val < 0) {
return MSGS.netModemInvalidLcpEchoFailure();
}
return null;
}
});
fieldSet.add(m_lcpEchoFailureField, formData);
m_formPanel.add(fieldSet);
m_formPanel.setScrollMode(Scroll.AUTO);
add(m_formPanel);
setScrollMode(Scroll.AUTOX);
m_initialized = true;
}
public void refresh()
{
Log.debug("ModemConfigTab.refresh()");
if (m_dirty && m_initialized) {
m_dirty = false;
if (m_selectNetIfConfig == null) {
Log.debug("ModemConfigTab.refresh() - resetting");
reset();
} else {
Log.debug("ModemConfigTab.refresh() - updating");
update();
}
}
}
private void update()
{
Log.debug("ModemConfigTab - update()");
for (Field<?> field : m_formPanel.getFields()) {
FormUtils.removeDirtyFieldIcon(field);
}
if (m_selectNetIfConfig != null) {
m_modemModel.setValue(m_selectNetIfConfig.getManufacturer() + " - " + m_selectNetIfConfig.getModel());
List<String> networkTechnologies = m_selectNetIfConfig.getNetworkTechnology();
if(networkTechnologies != null && networkTechnologies.size() > 0) {
StringBuilder sbNetworkTechnologies = new StringBuilder();
for(int i = 0; i < networkTechnologies.size(); i++) {
String networkTechnology = networkTechnologies.get(i);
sbNetworkTechnologies.append(networkTechnology);
if (i < (networkTechnologies.size()-1)) {
sbNetworkTechnologies.append('/');
}
}
m_networkTechnologies.setValue(sbNetworkTechnologies.toString());
} else {
m_networkTechnologies.setValue(MSGS.unknown());
}
/*
m_networkTechCombo.removeAll();
List<String> networkTechnologies = m_selectNetIfConfig.getNetworkTechnology();
if(networkTechnologies != null && networkTechnologies.size() > 0) {
for(String techType : m_selectNetIfConfig.getNetworkTechnology()) {
m_networkTechCombo.add(techType);
}
m_networkTechCombo.setSimpleValue(m_selectNetIfConfig.getNetworkTechnology().get(0));
} else {
m_networkTechCombo.add(MSGS.unknown());
m_networkTechCombo.setSimpleValue(MSGS.unknown());
}
m_networkTechCombo.setOriginalValue(m_networkTechCombo.getValue());
*/
m_connectionType.setValue(m_selectNetIfConfig.getConnectionType());
m_modemIdField.setValue(m_selectNetIfConfig.getModemId());
m_modemIdField.setOriginalValue(m_modemIdField.getValue());
m_ifaceNumField.setValue(m_selectNetIfConfig.getPppNum());
m_ifaceNumField.setOriginalValue(m_ifaceNumField.getValue());
m_dialStringField.setValue(m_selectNetIfConfig.getDialString());
m_dialStringField.setOriginalValue(m_dialStringField.getValue());
m_apnField.setValue(m_selectNetIfConfig.getApn());
m_apnField.setOriginalValue(m_apnField.getValue());
GwtModemAuthType authType = GwtModemAuthType.netModemAuthNONE;
if(m_selectNetIfConfig.getAuthType() != null) {
authType = m_selectNetIfConfig.getAuthType();
}
m_authTypeCombo.setSimpleValue(MessageUtils.get(authType.name()));
m_authTypeCombo.setOriginalValue(m_authTypeCombo.getValue());
m_usernameField.setValue(m_selectNetIfConfig.getUsername());
m_usernameField.setOriginalValue(m_usernameField.getValue());
m_passwordField.setValue(m_selectNetIfConfig.getPassword());
m_passwordField.setOriginalValue(m_passwordField.getValue());
if (m_selectNetIfConfig.isPersist()) {
m_persistRadioTrue.setValue(true);
m_persistRadioTrue.setOriginalValue(m_persistRadioTrue.getValue());
m_persistRadioFalse.setValue(false);
m_persistRadioFalse.setOriginalValue(m_persistRadioFalse.getValue());
m_persistRadioGroup.setOriginalValue(m_persistRadioTrue);
m_persistRadioGroup.setValue(m_persistRadioGroup.getValue());
} else {
m_persistRadioTrue.setValue(false);
m_persistRadioTrue.setOriginalValue(m_persistRadioTrue.getValue());
m_persistRadioFalse.setValue(true);
m_persistRadioFalse.setOriginalValue(m_persistRadioFalse.getValue());
m_persistRadioGroup.setOriginalValue(m_persistRadioFalse);
m_persistRadioGroup.setValue(m_persistRadioGroup.getValue());
}
m_resetTimeoutField.setValue(m_selectNetIfConfig.getResetTimeout());
m_resetTimeoutField.setOriginalValue(m_resetTimeoutField.getValue());
m_maxFailField.setValue(m_selectNetIfConfig.getMaxFail());
m_maxFailField.setOriginalValue(m_maxFailField.getValue());
m_idleField.setValue(m_selectNetIfConfig.getIdle());
m_idleField.setOriginalValue(m_idleField.getValue());
m_activeFilterField.setValue(m_selectNetIfConfig.getActiveFilter());
m_activeFilterField.setOriginalValue(m_activeFilterField.getValue());
m_lcpEchoIntervalField.setValue(m_selectNetIfConfig.getLcpEchoInterval());
m_lcpEchoIntervalField.setOriginalValue(m_lcpEchoIntervalField.getValue());
m_lcpEchoFailureField.setValue(m_selectNetIfConfig.getLcpEchoFailure());
m_lcpEchoFailureField.setOriginalValue(m_lcpEchoFailureField.getValue());
} else {
Log.debug("selected Network Interface Config is null");
}
for (Field<?> field : m_formPanel.getFields()) {
FormUtils.removeDirtyFieldIcon(field);
}
refreshForm();
}
private void refreshForm() {
if (m_formPanel != null) {
for (Field<?> field : m_formPanel.getFields()) {
field.setEnabled(true);
}
String authTypeVal = m_authTypeCombo.getSimpleValue();
if(authTypeVal == null || authTypeVal.equals(MessageUtils.get(GwtModemAuthType.netModemAuthNONE.name()))) {
m_usernameField.setEnabled(false);
m_passwordField.setEnabled(false);
} else {
m_usernameField.setEnabled(true);
m_passwordField.setEnabled(true);
}
for (String techType : m_selectNetIfConfig.getNetworkTechnology()) {
if (techType.equals("EVDO") || techType.equals("CDMA")) {
m_apnField.setEnabled(false);
m_authTypeCombo.setEnabled(false);
m_usernameField.setEnabled(false);
m_passwordField.setEnabled(false);
break;
}
}
}
}
private void reset()
{
Log.debug("ModemConfigTab: reset()");
m_modemIdField.setValue("");
m_modemIdField.setOriginalValue(m_modemIdField.getValue());
m_ifaceNumField.setValue(null);
m_ifaceNumField.setOriginalValue(m_ifaceNumField.getValue());
m_dialStringField.setValue("");
m_dialStringField.setOriginalValue(m_dialStringField.getValue());
m_apnField.setValue("");
m_apnField.setOriginalValue(m_apnField.getValue());
m_authTypeCombo.setSimpleValue(MessageUtils.get(GwtModemAuthType.netModemAuthNONE.name()));
m_authTypeCombo.setOriginalValue(m_authTypeCombo.getValue());
m_usernameField.setValue("");
m_usernameField.setOriginalValue(m_usernameField.getValue());
m_passwordField.setValue("");
m_passwordField.setOriginalValue(m_passwordField.getValue());
m_resetTimeoutField.setValue(null);
m_resetTimeoutField.setOriginalValue(m_resetTimeoutField.getValue());
m_maxFailField.setValue(null);
m_maxFailField.setOriginalValue(m_maxFailField.getValue());
m_idleField.setValue(null);
m_idleField.setOriginalValue(m_idleField.getValue());
m_activeFilterField.setValue("");
m_activeFilterField.setOriginalValue(m_activeFilterField.getValue());
m_lcpEchoIntervalField.setValue(null);
m_lcpEchoIntervalField.setOriginalValue(m_lcpEchoIntervalField.getValue());
m_lcpEchoFailureField.setValue(null);
m_lcpEchoFailureField.setOriginalValue(m_lcpEchoFailureField.getValue());
update();
}
}