/* * Copyright (c) 2012-2015 iWave Software LLC * All Rights Reserved */ package com.emc.sa.service.windows.tasks; import java.util.List; import java.util.Set; import com.google.common.collect.Lists; import com.iwave.ext.windows.model.wmi.IScsiSession; public class FindIScsiSessions extends WindowsExecutionTask<List<IScsiSession>> { private final Set<String> targetIqns; public FindIScsiSessions(Set<String> targetIqns) { this.targetIqns = targetIqns; } @Override public List<IScsiSession> executeTask() throws Exception { List<IScsiSession> results = Lists.newArrayList(); for (IScsiSession session : getTargetSystem().listIScsiSessions()) { if (targetIqns.contains(session.getTargetName())) { results.add(session); } } if (results.isEmpty()) { throw stateException("illegalState.FindiScsiSessions.noSessionForIQN", targetIqns); } return results; } }