private TransferCapability loadTransferCapability(SearchResult sr) throws NamingException { Attributes attrs = sr.getAttributes(); TransferCapability tc = new TransferCapability(); loadFrom(tc, attrs); return tc; }
private List<ModificationItem> storeDiffs(ConfigurationChanges.ModifiedObject ldapObj, TransferCapability a, TransferCapability b, List<ModificationItem> mods) { LdapUtils.storeDiffObject(ldapObj, mods, "dicomSOPClass", a.getSopClass(), b.getSopClass(), null); LdapUtils.storeDiffObject(ldapObj, mods, "dicomTransferRole", a.getRole(), b.getRole(), null); LdapUtils.storeDiff(ldapObj, mods, "dicomTransferSyntax", a.getTransferSyntaxes(), b.getTransferSyntaxes()); if (!extended) return mods; LdapUtils.storeDiffWithOrdinalPrefix(ldapObj, mods, "dcmPreferredTransferSyntax", a.getPreferredTransferSyntaxes(), b.getPreferredTransferSyntaxes()); storeDiffs(ldapObj, a.getQueryOptions(), b.getQueryOptions(), mods); storeDiffs(ldapObj, a.getStorageOptions(), b.getStorageOptions(), mods); return mods; }
private void loadFrom(TransferCapability tc, Attributes attrs) throws NamingException { tc.setCommonName(LdapUtils.stringValue(attrs.get("cn"), null)); tc.setSopClass(LdapUtils.stringValue(attrs.get("dicomSOPClass"), null)); tc.setRole(TransferCapability.Role.valueOf( LdapUtils.stringValue(attrs.get("dicomTransferRole"), null))); tc.setTransferSyntaxes(LdapUtils.stringArray(attrs.get("dicomTransferSyntax"))); if (!LdapUtils.hasObjectClass(attrs, "dcmTransferCapability")) return; tc.setPreferredTransferSyntaxes(LdapUtils.removeOrdinalPrefix( LdapUtils.stringArray(attrs.get("dcmPreferredTransferSyntax")))); tc.setQueryOptions(toQueryOptions(attrs)); tc.setStorageOptions(toStorageOptions(attrs)); }
public TransferCapability(String commonName, String sopClass, Role role, String... transferSyntaxes) { setCommonName(commonName); setSopClass(sopClass); setRole(role); setTransferSyntaxes(transferSyntaxes); }
public TransferCapability addTransferCapability(TransferCapability tc) { tc.setApplicationEntity(this); TransferCapability prev = (tc.getRole() == TransferCapability.Role.SCU ? scuTCs : scpTCs).put(tc.getSopClass(), tc); if (prev != null && prev != tc) prev.setApplicationEntity(null); return prev; }
if (tcGroupDetails.getExcludedTransferCapabilities().contains(tc.getSopClass())) continue; TransferCapability tcModified = tc.deepCopy(); tcModified.setRole(role); tcModified.setCommonName(tcModified.getCommonName() + " " + role); ArrayList<String> tsList = new ArrayList<String>(Arrays.asList(tcModified.getTransferSyntaxes())); Iterator<String> iterator = tsList.iterator(); if (tcGroupDetails.getWhitelistedTransferSyntaxes() != null && tcModified.setTransferSyntaxes((String[]) tsList.toArray(new String[]{})); applicationEntity.addTransferCapability(tcModified);
private static void addTransferCapabilities(ApplicationEntity ae, Properties p, TransferCapability.Role role, EnumSet<QueryOption> queryOptions) { for (String cuid : p.stringPropertyNames()) { String ts = p.getProperty(cuid); TransferCapability tc = new TransferCapability(null, CLIUtils.toUID(cuid), role, CLIUtils.toUIDs(ts)); tc.setQueryOptions(queryOptions); ae.addTransferCapability(tc); } }
private static String dnOf(TransferCapability tc, String aeDN) { String cn = tc.getCommonName(); return (cn != null) ? LdapUtils.dnOf("cn", cn , aeDN) : LdapUtils.dnOf("dicomSOPClass", tc.getSopClass(), "dicomTransferRole", tc.getRole().toString(), aeDN); }
private byte[] negotiate(ExtendedNegotiation exneg, TransferCapability tc) { if (exneg == null) return null; StorageOptions storageOptions = tc.getStorageOptions(); if (storageOptions != null) return storageOptions.toExtendedNegotiationInformation(); EnumSet<QueryOption> queryOptions = tc.getQueryOptions(); if (queryOptions != null) { EnumSet<QueryOption> commonOpts = QueryOption.toOptions(exneg); commonOpts.retainAll(queryOptions); return QueryOption.toExtendedNegotiationInformation(commonOpts); } return null; }
private AAssociateRQ makeAAssociateRQ() { AAssociateRQ aarq = new AAssociateRQ(); aarq.setCallingAET(as.getLocalAET()); aarq.setCalledAET(as.getRemoteAET()); ApplicationEntity ae = as.getApplicationEntity(); TransferCapability tc = ae.getTransferCapabilityFor( UID.StorageCommitmentPushModelSOPClass, TransferCapability.Role.SCP); aarq.addPresentationContext( new PresentationContext( 1, UID.StorageCommitmentPushModelSOPClass, tc.getTransferSyntaxes())); aarq.addRoleSelection( new RoleSelection(UID.StorageCommitmentPushModelSOPClass, false, true)); return aarq; }
if (tcGroupDetails.getExcludedTransferCapabilities().contains(tc.getSopClass())) continue; TransferCapability tcModified = tc.deepCopy(); tcModified.setRole(role); tcModified.setCommonName(tcModified.getCommonName() + " " + role); ArrayList<String> tsList = new ArrayList<String>(Arrays.asList(tcModified.getTransferSyntaxes())); Iterator<String> iterator = tsList.iterator(); if (tcGroupDetails.getWhitelistedTransferSyntaxes() != null && tcModified.setTransferSyntaxes((String[]) tsList.toArray(new String[]{})); applicationEntity.addTransferCapability(tcModified);
private static void addTransferCapabilities(ApplicationEntity ae, Properties p, TransferCapability.Role role, EnumSet<QueryOption> queryOptions) { for (String cuid : p.stringPropertyNames()) { String ts = p.getProperty(cuid); TransferCapability tc = new TransferCapability(null, CLIUtils.toUID(cuid), role, CLIUtils.toUIDs(ts)); tc.setQueryOptions(queryOptions); ae.addTransferCapability(tc); } }
public TransferCapability(String commonName, String sopClass, Role role, String... transferSyntaxes) { setCommonName(commonName); setSopClass(sopClass); setRole(role); setTransferSyntaxes(transferSyntaxes); }
private static String dnOf(TransferCapability tc, String aeDN) { String cn = tc.getCommonName(); return (cn != null) ? LdapUtils.dnOf("cn", cn , aeDN) : LdapUtils.dnOf("dicomSOPClass", tc.getSopClass(), "dicomTransferRole", tc.getRole().toString(), aeDN); }
public TransferCapability addTransferCapability(TransferCapability tc) { tc.setApplicationEntity(this); TransferCapability prev = (tc.getRole() == TransferCapability.Role.SCU ? scuTCs : scpTCs).put(tc.getSopClass(), tc); if (prev != null && prev != tc) prev.setApplicationEntity(null); return prev; }
private byte[] negotiate(ExtendedNegotiation exneg, TransferCapability tc) { if (exneg == null) return null; StorageOptions storageOptions = tc.getStorageOptions(); if (storageOptions != null) return storageOptions.toExtendedNegotiationInformation(); EnumSet<QueryOption> queryOptions = tc.getQueryOptions(); if (queryOptions != null) { EnumSet<QueryOption> commonOpts = QueryOption.toOptions(exneg); commonOpts.retainAll(queryOptions); return QueryOption.toExtendedNegotiationInformation(commonOpts); } return null; }
private AAssociateRQ makeAAssociateRQ() { AAssociateRQ aarq = new AAssociateRQ(); aarq.setCallingAET(as.getLocalAET()); aarq.setCalledAET(as.getRemoteAET()); ApplicationEntity ae = as.getApplicationEntity(); TransferCapability tc = ae.getTransferCapabilityFor( UID.StorageCommitmentPushModelSOPClass, TransferCapability.Role.SCP); aarq.addPresentationContext( new PresentationContext( 1, UID.StorageCommitmentPushModelSOPClass, tc.getTransferSyntaxes())); aarq.addRoleSelection( new RoleSelection(UID.StorageCommitmentPushModelSOPClass, false, true)); return aarq; }
private List<ModificationItem> storeDiffs(ConfigurationChanges.ModifiedObject ldapObj, TransferCapability a, TransferCapability b, List<ModificationItem> mods) { LdapUtils.storeDiffObject(ldapObj, mods, "dicomSOPClass", a.getSopClass(), b.getSopClass(), null); LdapUtils.storeDiffObject(ldapObj, mods, "dicomTransferRole", a.getRole(), b.getRole(), null); LdapUtils.storeDiff(ldapObj, mods, "dicomTransferSyntax", a.getTransferSyntaxes(), b.getTransferSyntaxes()); if (!extended) return mods; LdapUtils.storeDiffWithOrdinalPrefix(ldapObj, mods, "dcmPreferredTransferSyntax", a.getPreferredTransferSyntaxes(), b.getPreferredTransferSyntaxes()); storeDiffs(ldapObj, a.getQueryOptions(), b.getQueryOptions(), mods); storeDiffs(ldapObj, a.getStorageOptions(), b.getStorageOptions(), mods); return mods; }
private void loadFrom(TransferCapability tc, Attributes attrs) throws NamingException { tc.setCommonName(LdapUtils.stringValue(attrs.get("cn"), null)); tc.setSopClass(LdapUtils.stringValue(attrs.get("dicomSOPClass"), null)); tc.setRole(TransferCapability.Role.valueOf( LdapUtils.stringValue(attrs.get("dicomTransferRole"), null))); tc.setTransferSyntaxes(LdapUtils.stringArray(attrs.get("dicomTransferSyntax"))); if (!LdapUtils.hasObjectClass(attrs, "dcmTransferCapability")) return; tc.setPreferredTransferSyntaxes(LdapUtils.removeOrdinalPrefix( LdapUtils.stringArray(attrs.get("dcmPreferredTransferSyntax")))); tc.setQueryOptions(toQueryOptions(attrs)); tc.setStorageOptions(toStorageOptions(attrs)); }
private TransferCapability loadTransferCapability(SearchResult sr) throws NamingException { Attributes attrs = sr.getAttributes(); TransferCapability tc = new TransferCapability(); loadFrom(tc, attrs); return tc; }