private Answer execute(SetPortForwardingRulesCommand cmd) { String routerIp = cmd.getAccessDetail(NetworkElementCommand.ROUTER_IP); String[] results = new String[cmd.getRules().length]; int i = 0; boolean endResult = true; for (PortForwardingRuleTO rule : cmd.getRules()) { String result = null; final Script command = new Script(_firewallPath, _timeout, s_logger); command.add(routerIp); command.add(rule.revoked() ? "-D" : "-A"); command.add("-P ", rule.getProtocol().toLowerCase()); command.add("-l ", rule.getSrcIp()); command.add("-p ", rule.getStringSrcPortRange()); command.add("-r ", rule.getDstIp()); command.add("-d ", rule.getStringDstPortRange()); result = command.execute(); if (result == null) { results[i++] = null; } else { results[i++] = "Failed"; endResult = false; } } return new SetPortForwardingRulesAnswer(cmd, results, endResult); }