public Device createHL7Device( String name, Issuer issuer, Code institutionCode, String appName, String host, int port, int tlsPort) throws Exception { Device device = new Device(name); HL7DeviceExtension hl7Device = new HL7DeviceExtension(); device.addDeviceExtension(hl7Device); init(device, issuer, institutionCode); HL7Application hl7app = new HL7Application(appName); hl7Device.addHL7Application(hl7app); Connection hl7 = new Connection("hl7", host, port); hl7.setProtocol(Connection.Protocol.HL7); device.addConnection(hl7); hl7app.addConnection(hl7); Connection hl7TLS = new Connection("hl7-tls", host, tlsPort); hl7TLS.setProtocol(Connection.Protocol.HL7); hl7TLS.setTlsCipherSuites( Connection.TLS_RSA_WITH_AES_128_CBC_SHA, Connection.TLS_RSA_WITH_3DES_EDE_CBC_SHA); device.addConnection(hl7TLS); hl7app.addConnection(hl7TLS); return device; }
public Device createARRDevice(String name, Connection.Protocol protocol, int port) { Device arrDevice = new Device(name); AuditRecordRepository arr = new AuditRecordRepository(); arrDevice.addDeviceExtension(arr); Connection auditUDP = new Connection("audit-udp", "localhost", port); auditUDP.setProtocol(protocol); arrDevice.addConnection(auditUDP); arr.addConnection(auditUDP); return arrDevice; }
private static void addHL7DeviceExtension(Device device, boolean sampleConfig) { HL7DeviceExtension ext = new HL7DeviceExtension(); device.addDeviceExtension(ext); HL7Application hl7App = new HL7Application("*"); ArchiveHL7ApplicationExtension hl7AppExt = new ArchiveHL7ApplicationExtension(); hl7App.addHL7ApplicationExtension(hl7AppExt); hl7App.setAcceptedMessageTypes(HL7_MESSAGE_TYPES); hl7App.setHL7DefaultCharacterSet("8859/1"); ext.addHL7Application(hl7App); Connection hl7 = new Connection("hl7", "localhost", 2575); hl7.setBindAddress("0.0.0.0"); hl7.setClientBindAddress("0.0.0.0"); hl7.setProtocol(Connection.Protocol.HL7); device.addConnection(hl7); hl7App.addConnection(hl7); if (sampleConfig) { Connection hl7TLS = new Connection("hl7-tls", "localhost", 12575); hl7TLS.setBindAddress("0.0.0.0"); hl7TLS.setClientBindAddress("0.0.0.0"); hl7TLS.setProtocol(Connection.Protocol.HL7); hl7TLS.setTlsCipherSuites( Connection.TLS_RSA_WITH_AES_128_CBC_SHA, Connection.TLS_RSA_WITH_3DES_EDE_CBC_SHA); device.addConnection(hl7TLS); hl7App.addConnection(hl7TLS); } }
private static void addAuditLogger(Device device, Device arrDevice) { Connection auditUDP = new Connection("audit-udp", "localhost"); auditUDP.setProtocol(Connection.Protocol.SYSLOG_UDP); device.addConnection(auditUDP); AuditLogger auditLogger = new AuditLogger(); device.addDeviceExtension(auditLogger); auditLogger.addConnection(auditUDP); auditLogger.setAuditSourceTypeCodes("4"); auditLogger.setAuditRecordRepositoryDevice(arrDevice); }
public Device createDevice( String name, Issuer issuer, Code institutionCode, String aet, String host, int port, int tlsPort) throws Exception { Device device = init(new Device(name), issuer, institutionCode); ApplicationEntity ae = new ApplicationEntity(aet); ae.setAssociationAcceptor(true); device.addApplicationEntity(ae); Connection dicom = new Connection("dicom", host, port); device.addConnection(dicom); ae.addConnection(dicom); Connection dicomTLS = new Connection("dicom-tls", host, tlsPort); dicomTLS.setTlsCipherSuites( Connection.TLS_RSA_WITH_AES_128_CBC_SHA, Connection.TLS_RSA_WITH_3DES_EDE_CBC_SHA); device.addConnection(dicomTLS); ae.addConnection(dicomTLS); return device; }
public Device createArchiveDevice(String name, Device arrDevice, boolean sampleConfig) throws Exception { Device device = new Device(name); Connection dicom = new Connection("dicom", "localhost", 11112); dicom.setBindAddress("0.0.0.0"); dicom.setClientBindAddress("0.0.0.0"); dicom.setMaxOpsInvoked(0); dicom.setMaxOpsPerformed(0); device.addConnection(dicom); Connection dicomTLS = null; if (sampleConfig) { dicomTLS = new Connection("dicom-tls", "localhost", 2762); dicomTLS.setBindAddress("0.0.0.0"); dicomTLS.setClientBindAddress("0.0.0.0"); dicomTLS.setMaxOpsInvoked(0); dicomTLS.setMaxOpsPerformed(0); dicomTLS.setTlsCipherSuites( Connection.TLS_RSA_WITH_AES_128_CBC_SHA, Connection.TLS_RSA_WITH_3DES_EDE_CBC_SHA); device.addConnection(dicomTLS); } addArchiveDeviceExtension(device, sampleConfig); addHL7DeviceExtension(device, sampleConfig); addAuditLogger(device, arrDevice); device.addDeviceExtension(new ImageReaderExtension(ImageReaderFactory.getDefault())); device.addDeviceExtension(new ImageWriterExtension(ImageWriterFactory.getDefault())); device.setManufacturer("dcm4che.org"); device.setManufacturerModelName("dcm4chee-arc"); device.setSoftwareVersions("5.0.1"); device.setKeyStoreURL(DCM4CHEE_ARC_KEY_JKS); device.setKeyStoreType("JKS"); device.setKeyStorePin("secret"); device.setThisNodeCertificates( config.deviceRef(name), (X509Certificate) keyStore.getCertificate(name)); if (sampleConfig) for (String other : OTHER_DEVICES) device.setAuthorizedNodeCertificates( config.deviceRef(other), (X509Certificate) keyStore.getCertificate(other)); device.addApplicationEntity( createAE( "DCM4CHEE", "Hide instances rejected for Quality Reasons", dicom, dicomTLS, HIDE_REJECTED_VIEW, true, true)); device.addApplicationEntity( createAE( "DCM4CHEE_ADMIN", "Show instances rejected for Quality Reasons", dicom, dicomTLS, REGULAR_USE_VIEW, false, true)); device.addApplicationEntity( createAE( "DCM4CHEE_TRASH", "Show rejected instances only", dicom, dicomTLS, TRASH_VIEW, false, false)); return device; }