/*
* Copyright (c) 2015 EMC Corporation
* All Rights Reserved
*/
package com.emc.sa.util;
import java.net.URI;
import org.apache.commons.collections.Predicate;
import org.apache.commons.lang.StringUtils;
import com.emc.storageos.db.client.model.uimodels.Order;
public class ServiceIdPredicate implements Predicate {
private final String serviceId;
public ServiceIdPredicate(String serviceId) {
this.serviceId = serviceId;
}
@Override
public boolean evaluate(Object obj) {
URI serviceURI = getOrder(obj).getCatalogServiceId();
String orderServiceId = serviceURI != null ? serviceURI.toString() : StringUtils.EMPTY;
return StringUtils.equals(orderServiceId, serviceId);
}
private Order getOrder(Object obj) {
if (obj instanceof Order) {
return (Order) obj;
}
throw new IllegalArgumentException(String.format("All orders must be of type %s.", Order.class.getName()));
}
}