/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package util.builders; import org.apache.commons.lang.ObjectUtils; import com.emc.storageos.model.vpool.FileVirtualPoolProtectionParam; import com.emc.storageos.model.vpool.FileVirtualPoolRestRep; import com.emc.storageos.model.vpool.FileVirtualPoolUpdateParam; import com.emc.storageos.model.vpool.ObjectVirtualPoolRestRep; import com.emc.storageos.model.vpool.ObjectVirtualPoolUpdateParam; import com.emc.storageos.model.vpool.VirtualPoolProtectionSnapshotsParam; public class ObjectVirtualPoolUpdateBuilder extends VirtualPoolUpdateBuilder { private ObjectVirtualPoolRestRep oldVirtualPool; private ObjectVirtualPoolUpdateParam virtualPool; public ObjectVirtualPoolUpdateBuilder(ObjectVirtualPoolRestRep oldVirtualPool) { this(oldVirtualPool, new ObjectVirtualPoolUpdateParam()); } protected ObjectVirtualPoolUpdateBuilder(ObjectVirtualPoolRestRep oldVirtualPool, ObjectVirtualPoolUpdateParam virtualPool) { super(oldVirtualPool, virtualPool); this.oldVirtualPool = oldVirtualPool; this.virtualPool = virtualPool; } @Override public ObjectVirtualPoolRestRep getOldVirtualPool() { return oldVirtualPool; } @Override public ObjectVirtualPoolUpdateParam getVirtualPoolUpdate() { return virtualPool; } public ObjectVirtualPoolUpdateBuilder setMaxRetention(Integer maxRetention) { if (!ObjectUtils.equals(maxRetention, oldVirtualPool.getMaxRetention())) { getVirtualPoolUpdate().setMaxRetention(maxRetention); } return this; } public ObjectVirtualPoolUpdateBuilder setMinDataCenters(Integer minDataCenters) { if (!ObjectUtils.equals(minDataCenters, oldVirtualPool.getMinDataCenters())) { getVirtualPoolUpdate().setMinDataCenters(minDataCenters); } return this; } }