/* * Copyright (c) 2012-2015 iWave Software LLC * All Rights Reserved */ package com.emc.aix.command; import java.util.regex.Pattern; import com.iwave.ext.text.TextParser; public class GetNetworkAdapterMacAddressCommand extends AixResultsCommand<String> { private static final Pattern NETWORK_ADDRESS_PATTERN = Pattern.compile("Network Address[.]+([0-9a-fA-F]*)"); public GetNetworkAdapterMacAddressCommand(String adapter) { setCommand("lscfg -vl " + adapter + " | grep \"Network Address\""); setRunAsRoot(true); } @Override public void parseOutput() { if (getOutput() != null && getOutput().getStdout() != null) { String stdout = getOutput().getStdout(); TextParser parser = new TextParser(); String macAddress = parser.findMatch(NETWORK_ADDRESS_PATTERN, stdout); results = normalizeMacAddress(macAddress); } } private String normalizeMacAddress(String mac) { return mac.replaceAll("(.{2})", "$1:").substring(0, 17); } }