/* * Copyright (c) 2008-2014 EMC Corporation * All Rights Reserved */ package com.emc.storageos.installer.controller; import charvax.swing.event.ListSelectionEvent; import charvax.swing.event.ListSelectionListener; import com.emc.storageos.installer.util.InstallerConstants; import com.emc.storageos.model.property.PropertyConstants; import com.emc.storageos.services.util.Configuration; import com.emc.storageos.installer.widget.SelectListPanel; /** * Class implements the control for Network Interface page. * */ public class NetworkInterfaceConfigController implements IConfigPanelController { private SelectListPanel netIfPanel; private Configuration config; private String netIf; public NetworkInterfaceConfigController(Configuration config, SelectListPanel netIfPanel) { this.netIfPanel = netIfPanel; this.config = config; setupEventListener(); } private void setupEventListener() { this.netIfPanel.addListSelectionListener(new SelectNetworkIfsListener()); } class SelectNetworkIfsListener implements ListSelectionListener { @Override public void valueChanged(ListSelectionEvent ie) { Object[] items = netIfPanel.getList().getSelectedValues(); String s = ""; for (int i = 0; i < items.length; i++) { if (i != 0) { s += ","; } s += (String) items[i]; } netIf = s; } } @Override public String[] configurationIsCompleted() { String msg = null; if (netIf == null || netIf.isEmpty()) { msg = InstallerConstants.NETWORK_INT_CONFIG_WARN_MSG; } else { config.getHwConfig().put(PropertyConstants.PROPERTY_KEY_NETIF, netIf); } return (msg == null) ? null : new String[] { msg }; } }