private void mapServerDatePublished(Document opus, OriginInfoDefinition oid) { final String mappedDateEncoding = dateEncoding(opus.getServerDatePublished()); DateDefinition dateIssued = (DateDefinition) select( String.format( "mods:dateIssued[@encoding='%s' and @keyDate='%s']", "iso8601", "yes"), oid); if (dateIssued == null) { dateIssued = oid.addNewDateIssued(); dateIssued.setEncoding(ISO_8601); dateIssued.setKeyDate(XmlString.Factory.newValue("yes")); signalChanges(MODS_CHANGES); } if (!dateIssued.getStringValue().equals(mappedDateEncoding)) { dateIssued.setStringValue(mappedDateEncoding); signalChanges(MODS_CHANGES); } }