private void store(ConfigurationChanges diffs, String deviceDN, ImageWriterFactory factory) throws NamingException { String imageWritersDN = CN_IMAGE_WRITER_FACTORY + deviceDN; ConfigurationChanges.ModifiedObject ldapObj = ConfigurationChanges.addModifiedObject(diffs, imageWritersDN, ConfigurationChanges.ChangeType.C); config.createSubcontext(imageWritersDN, LdapUtils.attrs("dcmImageWriterFactory", "cn", "Image Writer Factory")); for (Entry<String, ImageWriterParam> entry : factory.getEntries()) { String tsuid = entry.getKey(); ConfigurationChanges.ModifiedObject ldapObj1 = ConfigurationChanges.addModifiedObjectIfVerbose(diffs, imageWritersDN, ConfigurationChanges.ChangeType.C); config.createSubcontext(dnOf(tsuid, imageWritersDN), storeTo(ldapObj1, tsuid, entry.getValue(), new BasicAttributes(true))); } }
private void merge(ConfigurationChanges diffs, ImageWriterFactory prev, ImageWriterFactory factory, String imageWritersDN) throws NamingException { for (Entry<String, ImageWriterParam> entry : prev.getEntries()) { String tsuid = entry.getKey(); if (factory.get(tsuid) == null) { String dn = dnOf(tsuid, imageWritersDN); config.destroySubcontext(dn); ConfigurationChanges.addModifiedObject(diffs, dn, ConfigurationChanges.ChangeType.D); } } for (Entry<String, ImageWriterParam> entry : factory.getEntries()) { String tsuid = entry.getKey(); String dn = dnOf(tsuid, imageWritersDN); ImageWriterParam prevParam = prev.get(tsuid); if (prevParam == null) { ConfigurationChanges.ModifiedObject ldapObj = ConfigurationChanges.addModifiedObject(diffs, dn, ConfigurationChanges.ChangeType.C); config.createSubcontext(dn, storeTo(ConfigurationChanges.nullifyIfNotVerbose(diffs, ldapObj), tsuid, entry.getValue(), new BasicAttributes(true))); } else { ConfigurationChanges.ModifiedObject ldapObj = ConfigurationChanges.addModifiedObject(diffs, dn, ConfigurationChanges.ChangeType.U); config.modifyAttributes(dn, storeDiffs(ldapObj, prevParam, entry.getValue(), new ArrayList<ModificationItem>())); ConfigurationChanges.removeLastIfEmpty(diffs, ldapObj); } } }
@Override protected void storeTo(Device device, JsonWriter writer) { ImageWriterExtension ext = device.getDeviceExtension(ImageWriterExtension.class); if (ext == null) return; writer.writeStartArray("dcmImageWriter"); for (Map.Entry<String, ImageWriterFactory.ImageWriterParam> entry : ext.getImageWriterFactory().getEntries()) { writer.writeStartObject(); String tsuid = entry.getKey(); ImageWriterFactory.ImageWriterParam param = entry.getValue(); writer.writeNotNullOrDef("dicomTransferSyntax", tsuid, null); writer.writeNotNullOrDef("dcmIIOFormatName", param.formatName, null); writer.writeNotNullOrDef("dcmJavaClassName", param.className, null); writer.writeNotNullOrDef("dcmPatchJPEGLS", param.patchJPEGLS, null); writer.writeNotEmpty("dcmImageWriteParam", param.imageWriteParams); writer.writeEnd(); } writer.writeEnd(); }
@Override protected void storeTo(Device device, JsonWriter writer) { ImageWriterExtension ext = device.getDeviceExtension(ImageWriterExtension.class); if (ext == null) return; writer.writeStartArray("dcmImageWriter"); for (Map.Entry<String, ImageWriterFactory.ImageWriterParam> entry : ext.getImageWriterFactory().getEntries()) { writer.writeStartObject(); String tsuid = entry.getKey(); ImageWriterFactory.ImageWriterParam param = entry.getValue(); writer.writeNotNullOrDef("dicomTransferSyntax", tsuid, null); writer.writeNotNullOrDef("dcmIIOFormatName", param.formatName, null); writer.writeNotNullOrDef("dcmJavaClassName", param.className, null); writer.writeNotNullOrDef("dcmPatchJPEGLS", param.patchJPEGLS, null); writer.writeNotEmpty("dcmImageWriteParam", param.imageWriteParams); writer.writeEnd(); } writer.writeEnd(); }