001package org.dcm4che3.conf.api; 002 003import org.dcm4che3.conf.core.api.ConfigurableClass; 004import org.dcm4che3.conf.core.api.ConfigurableProperty; 005import org.dcm4che3.conf.core.api.ConfigurationException; 006import org.dcm4che3.net.TCGroupConfigAEExtension; 007import org.dcm4che3.net.TransferCapability; 008 009import java.util.*; 010 011/** 012 * @author Roman K 013 */ 014@ConfigurableClass 015public class TCConfiguration { 016 017 @ConfigurableProperty 018 private Map<String, TCGroup> transferCapabilityGroups = new TreeMap<String, TCGroup>(); 019 020 /** 021 * Persists default group config 022 * Deprecated. Do not use it in upgrade scripts. 023 * @param config 024 * @throws ConfigurationException 025 */ 026 @Deprecated 027 public static void persistDefaultTCGroups(DicomConfiguration config) throws ConfigurationException { 028 029 TransferCapabilityConfigExtension tcExt = config.getDicomConfigurationExtension(TransferCapabilityConfigExtension.class); 030 TCConfiguration tcConfig = new TCConfiguration(); 031 032 for (TCGroupConfigAEExtension.DefaultGroup group : TCGroupConfigAEExtension.DefaultGroup.values()) { 033 TCGroup tcGroup = new TCGroup(); 034 tcGroup.setTransferCapabilities(TCGroupConfigAEExtension.getTCsForDefaultGroup(group)); 035 tcConfig.getTransferCapabilityGroups().put(group.name(), tcGroup); 036 } 037 038 tcExt.persistTransferCapabilityConfig(tcConfig); 039 } 040 041 public Map<String, TCGroup> getTransferCapabilityGroups() { 042 return transferCapabilityGroups; 043 } 044 045 public void setTransferCapabilityGroups(Map<String, TCGroup> transferCapabilityGroups) { 046 this.transferCapabilityGroups = transferCapabilityGroups; 047 } 048 049 @ConfigurableClass 050 public static class TCGroup { 051 052 public TCGroup() { 053 } 054 055 public TCGroup(List<TransferCapability> transferCapabilities) { 056 this.transferCapabilities = transferCapabilities; 057 } 058 059 @ConfigurableProperty 060 List<TransferCapability> transferCapabilities = new ArrayList<TransferCapability>(); 061 062 public List<TransferCapability> getTransferCapabilities() { 063 return transferCapabilities; 064 } 065 066 public void setTransferCapabilities(List<TransferCapability> transferCapabilities) { 067 this.transferCapabilities = transferCapabilities; 068 } 069 } 070}