package org.dcm4chee.archive.junit.conf; import org.dcm4che3.conf.api.DicomConfiguration; import org.dcm4che3.conf.core.api.ConfigurationException; import org.dcm4che3.net.ApplicationEntity; import org.dcm4che3.net.Device; import java.util.HashMap; import java.util.Map; public class MockedDicomConfiguration implements DicomConfiguration { Map<String, Device> deviceMap = new HashMap<>(); @Override public ApplicationEntity findApplicationEntity(String aet) throws ConfigurationException { for (Map.Entry<String, Device> stringDeviceEntry : deviceMap.entrySet()) { ApplicationEntity applicationEntity = stringDeviceEntry.getValue().getApplicationEntity(aet); if (applicationEntity!=null) return applicationEntity; } return null; } @Override public ApplicationEntity findApplicationEntityByUUID(String uuid) throws ConfigurationException { return null; } @Override public Device findDeviceByUUID(String uuid) throws ConfigurationException { return null; } @Override public Device findDevice(String name) throws ConfigurationException { return deviceMap.get(name); } @Override public void persist(Device device) throws ConfigurationException { if (deviceMap.containsKey(device.getDeviceName())) throw new ConfigurationException(); deviceMap.put(device.getDeviceName(), device); } @Override public void merge(Device device) throws ConfigurationException { deviceMap.put(device.getDeviceName(), device); } @Override public void removeDevice(String name) throws ConfigurationException { deviceMap.remove(name); } @Override public String[] listDeviceNames() throws ConfigurationException { return new String[0]; } @Override public void sync() throws ConfigurationException { } @Override public <T> T getDicomConfigurationExtension(Class<T> clazz) { return null; } @Override public void runBatch(DicomConfigBatch dicomConfigBatch) { dicomConfigBatch.run(); } }