public class CommonDicomConfiguration extends Object implements DicomConfigurationManager, TransferCapabilityConfigExtension
DicomConfiguration.DicomConfigBatch
Modifier and Type | Field and Description |
---|---|
private AlternativeTCLoader |
alternativeTCLoader |
private TypeSafeConfiguration<DicomConfigurationRoot> |
config |
private Map<Class,List<Class>> |
extensionsByClass |
private static Logger |
log |
protected Configuration |
lowLevelConfig |
private Map<Device,Object> |
readOnlyDevices
see preventDeviceModifications(org.dcm4che3.net.Device)
|
private BeanVitalizer |
vitalizer |
METADATA_ROOT_PATH
Constructor and Description |
---|
CommonDicomConfiguration(Configuration configStorage,
Map<Class,List<Class>> extensionsByClass) |
CommonDicomConfiguration(Configuration configurationStorage,
Map<Class,List<Class>> extensionsByClass,
boolean doCacheTCGroups) |
Modifier and Type | Method and Description |
---|---|
static void |
addCustomAdapters(BeanVitalizer defaultBeanVitalizer) |
void |
close() |
boolean |
configurationExists()
Indicates whether the configuration backend is initialized
|
static BeanVitalizer |
createDefaultDicomVitalizer() |
protected Map<String,Object> |
createDeviceConfigNode(Device device) |
protected HashMap<String,Object> |
createInitialConfigRootNode() |
ApplicationEntity |
findApplicationEntity(String aet)
Looks up an application entity by name
|
ApplicationEntity |
findApplicationEntityByUUID(String uuid)
Looks up an application entity by UUID
|
Device |
findDevice(String name)
Looks up a device by name
|
Device |
findDevice(String name,
DicomConfigOptions options)
Allows to use extended options
|
Device |
findDeviceByUUID(String uuid)
Looks up a device by UUID
|
Configuration |
getConfigurationStorage() |
<T> T |
getDicomConfigurationExtension(Class<T> clazz)
Get an extension of configuration
|
<T> List<Class<? extends T>> |
getExtensionClassesByBaseClass(Class<T> clazz)
Returns a list of registered extensions for a specified base extension class
|
TCConfiguration |
getTransferCapabilityConfig() |
TypeSafeConfiguration<DicomConfigurationRoot> |
getTypeSafeConfiguration() |
BeanVitalizer |
getVitalizer() |
private void |
handleReadOnlyDeviceModification() |
List<String> |
listAllAETitles()
Returns all AE names from all devices from the configuration backend
|
DeviceInfo[] |
listDeviceInfos(DeviceInfo keys)
Query for Devices with specified attributes.
|
String[] |
listDeviceNames()
Returns all device names from the configuration backend
|
void |
merge(Device device)
Replaces the full configuration of a device in the configuration backend with the configuration of
the provided device.
|
void |
persist(Device device)
Stores the full configuration of a device in the configuration backend.
|
void |
persistTransferCapabilityConfig(TCConfiguration tcConfig) |
void |
preventDeviceModifications(Device d)
Remembers a weak reference to the provided device so that any subsequent call to
persist or merge for this specific instance is made, an error is logged.
|
boolean |
purgeConfiguration() |
void |
refreshTCGroups()
Triggers a reload of TC groups
|
boolean |
registerAETitle(String aet) |
void |
removeDevice(String name)
Removes the device and its configuration from the configuration storage fully.
|
void |
runBatch(DicomConfiguration.DicomConfigBatch dicomConfigBatch)
Provides support for batching configuration changes.
|
void |
sync()
Invalidates any present cached state for the configuration storage view of the client.
|
void |
unregisterAETitle(String aet) |
private final Map<Device,Object> readOnlyDevices
protected final Configuration lowLevelConfig
private final BeanVitalizer vitalizer
private final Map<Class,List<Class>> extensionsByClass
private final TypeSafeConfiguration<DicomConfigurationRoot> config
private AlternativeTCLoader alternativeTCLoader
public CommonDicomConfiguration(Configuration configurationStorage, Map<Class,List<Class>> extensionsByClass, boolean doCacheTCGroups)
public CommonDicomConfiguration(Configuration configStorage, Map<Class,List<Class>> extensionsByClass)
public <T> List<Class<? extends T>> getExtensionClassesByBaseClass(Class<T> clazz)
getExtensionClassesByBaseClass
in interface ConfigurationManager
T
- clazz
- public static void addCustomAdapters(BeanVitalizer defaultBeanVitalizer)
protected HashMap<String,Object> createInitialConfigRootNode()
public TypeSafeConfiguration<DicomConfigurationRoot> getTypeSafeConfiguration()
getTypeSafeConfiguration
in interface ExtendedDicomConfiguration
public boolean configurationExists() throws ConfigurationException
ExtendedDicomConfiguration
configurationExists
in interface ExtendedDicomConfiguration
ConfigurationException
public boolean purgeConfiguration() throws ConfigurationException
purgeConfiguration
in interface ExtendedDicomConfiguration
ConfigurationException
public void preventDeviceModifications(Device d)
DicomConfigurationManager
preventDeviceModifications
in interface DicomConfigurationManager
public void refreshTCGroups()
DicomConfigurationManager
refreshTCGroups
in interface DicomConfigurationManager
public boolean registerAETitle(String aet) throws ConfigurationException
registerAETitle
in interface ExtendedDicomConfiguration
ConfigurationException
public void unregisterAETitle(String aet) throws ConfigurationException
unregisterAETitle
in interface ExtendedDicomConfiguration
ConfigurationException
public ApplicationEntity findApplicationEntity(String aet) throws ConfigurationException
DicomConfiguration
findApplicationEntity
in interface DicomConfiguration
aet
- application entity nameConfigurationException
public ApplicationEntity findApplicationEntityByUUID(String uuid) throws ConfigurationException
DicomConfiguration
findApplicationEntityByUUID
in interface DicomConfiguration
uuid
- UUIDConfigurationException
public Device findDeviceByUUID(String uuid) throws ConfigurationException
DicomConfiguration
findDeviceByUUID
in interface DicomConfiguration
uuid
- UUIDConfigurationException
public Device findDevice(String name, DicomConfigOptions options) throws ConfigurationException
ExtendedDicomConfiguration
findDevice
in interface ExtendedDicomConfiguration
ConfigurationException
public Device findDevice(String name) throws ConfigurationException
DicomConfiguration
findDevice
in interface DicomConfiguration
name
- device nameConfigurationException
public DeviceInfo[] listDeviceInfos(DeviceInfo keys) throws ConfigurationException
ExtendedDicomConfiguration
listDeviceInfos
in interface ExtendedDicomConfiguration
keys
- Device attributes which shall match or null
to
get information for all configured DevicesDeviceInfo
objects for configured Devices
with matching attributesConfigurationException
public String[] listDeviceNames() throws ConfigurationException
DicomConfiguration
listDeviceNames
in interface DicomConfiguration
ConfigurationException
public List<String> listAllAETitles() throws ConfigurationException
DicomConfiguration
listAllAETitles
in interface DicomConfiguration
ConfigurationException
public void persist(Device device) throws ConfigurationException
DicomConfiguration
persist
in interface DicomConfiguration
device
- Device to storeConfigurationAlreadyExistsException
- When a device with such name already exists.ConfigurationException
- When an error occured during the operationprivate void handleReadOnlyDeviceModification()
public void merge(Device device) throws ConfigurationException
DicomConfiguration
merge
in interface DicomConfiguration
device
- Device to mergeConfigurationException
- When an error occured during the operationprotected Map<String,Object> createDeviceConfigNode(Device device) throws ConfigurationException
ConfigurationException
public void removeDevice(String name) throws ConfigurationException
DicomConfiguration
removeDevice
in interface DicomConfiguration
ConfigurationException
public void close()
close
in interface Closeable
close
in interface AutoCloseable
close
in interface ExtendedDicomConfiguration
public void sync() throws ConfigurationException
DicomConfiguration
sync
in interface DicomConfiguration
ConfigurationException
public <T> T getDicomConfigurationExtension(Class<T> clazz)
DicomConfiguration
getDicomConfigurationExtension
in interface DicomConfiguration
clazz
- Extension classpublic BeanVitalizer getVitalizer()
getVitalizer
in interface ConfigurationManager
public Configuration getConfigurationStorage()
getConfigurationStorage
in interface ConfigurationManager
public void persistTransferCapabilityConfig(TCConfiguration tcConfig) throws ConfigurationException
persistTransferCapabilityConfig
in interface TransferCapabilityConfigExtension
ConfigurationException
public TCConfiguration getTransferCapabilityConfig() throws ConfigurationException
getTransferCapabilityConfig
in interface TransferCapabilityConfigExtension
ConfigurationException
public void runBatch(DicomConfiguration.DicomConfigBatch dicomConfigBatch)
DicomConfiguration
runBatch
in interface DicomConfiguration
dicomConfigBatch
- Configuration batch to executepublic static BeanVitalizer createDefaultDicomVitalizer()
Copyright © 2017 dcm4che.org. All rights reserved.