@Override public ApplicationEntity fromConfigNode(Map configNode, ConfigProperty property, LoadingContext ctx, Object parent) throws ConfigurationException { ApplicationEntity applicationEntity = super.fromConfigNode(configNode, property, ctx, parent); TCGroupConfigAEExtension tcGroupConfigAEExtension = applicationEntity.getAEExtension(TCGroupConfigAEExtension.class); if (tcGroupConfigAEExtension != null) { // override any entries that might have been added before applicationEntity.setTransferCapabilities(new ArrayList<TransferCapability>()); // add processed TCs from pre-configured groups to this ae for (Map.Entry<String, TCGroupConfigAEExtension.TCGroupDetails> tcGroupRefEntry : tcGroupConfigAEExtension.getScpTCs().entrySet()) addTC(applicationEntity, tcGroupsProvider.getTCGroups(), tcGroupRefEntry, TransferCapability.Role.SCP); for (Map.Entry<String, TCGroupConfigAEExtension.TCGroupDetails> tcGroupRefEntry : tcGroupConfigAEExtension.getScuTCs().entrySet()) addTC(applicationEntity, tcGroupsProvider.getTCGroups(), tcGroupRefEntry, TransferCapability.Role.SCU); } return applicationEntity; }
void initGroupBasedTCs(Device d) throws ConfigurationException { TCConfiguration tcConfig = getTCConfig(); for (ApplicationEntity applicationEntity : d.getApplicationEntities()) { TCGroupConfigAEExtension tcGroupConfigAEExtension = applicationEntity.getAEExtension(TCGroupConfigAEExtension.class); if (tcGroupConfigAEExtension != null) { // override any entries that might have been added before applicationEntity.setTransferCapabilities(new ArrayList<TransferCapability>()); // Always add CEcho SCP applicationEntity.addTransferCapability(new TransferCapability("CEcho SCP", UID.VerificationSOPClass, TransferCapability.Role.SCP, UID.ImplicitVRLittleEndian)); // add processed TCs from pre-configured groups to this ae for (Map.Entry<String, TCGroupConfigAEExtension.TCGroupDetails> tcGroupRefEntry : tcGroupConfigAEExtension.getScpTCs().entrySet()) addTC(applicationEntity, tcConfig, tcGroupRefEntry, TransferCapability.Role.SCP); for (Map.Entry<String, TCGroupConfigAEExtension.TCGroupDetails> tcGroupRefEntry : tcGroupConfigAEExtension.getScuTCs().entrySet()) addTC(applicationEntity, tcConfig, tcGroupRefEntry, TransferCapability.Role.SCU); } } }