package com.vz.onosproject.BlobStore; import org.apache.felix.scr.annotations.Component; import org.apache.felix.scr.annotations.Service; import org.onosproject.net.DeviceId; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; /** * Created by kspviswa-onos-mcord on 21/1/17. */ @Service @Component public class BlobStoreImpl implements BlobStore { Map<DeviceId, DeviceBlob> blobmap = new ConcurrentHashMap<>(); @Override public void InsertBlob(DeviceId device, Blob blob) { DeviceBlob dblob = blobmap.getOrDefault(device, null); if(dblob != null) { dblob.addBlob(blob); } else { dblob = new DeviceBlob(); dblob.setDeviceId(device); dblob.addBlob(blob); blobmap.putIfAbsent(device, dblob); } } @Override public void RemoveBlob(DeviceId device) { DeviceBlob dblob = blobmap.getOrDefault(device, null); if(dblob != null) { dblob.removeBlobLast(); } } @Override public List<Blob> getBlobs(DeviceId device) { DeviceBlob dblob = blobmap.getOrDefault(device, null); if (dblob != null) { return dblob.getBlobs(); } return null; } }