List of usage examples for org.joda.time.format ISODateTimeFormat dateTime
public static DateTimeFormatter dateTime()
From source file:org.gluu.oxtrust.service.antlr.scimFilter.util.ListResponseFidoDeviceSerializer.java
License:MIT License
private void writeStructure(String parent, Map.Entry<String, JsonNode> rootNodeEntry, ObjectMapper mapper, FidoDevice fidoDevice, JsonGenerator jsonGenerator) throws Exception { if (!rootNodeEntry.getKey().equalsIgnoreCase("externalId")) { jsonGenerator.writeFieldName(rootNodeEntry.getKey()); if (rootNodeEntry.getValue() instanceof ObjectNode) { jsonGenerator.writeStartObject(); processNodes(rootNodeEntry.getKey(), rootNodeEntry.getValue(), mapper, fidoDevice, jsonGenerator); // Recursion jsonGenerator.writeEndObject(); } else if (rootNodeEntry.getValue() instanceof ArrayNode) { ArrayNode arrayNode = (ArrayNode) rootNodeEntry.getValue(); jsonGenerator.writeStartArray(); if (rootNodeEntry.getKey().equalsIgnoreCase("schemas")) { for (int i = 0; i < arrayNode.size(); i++) { JsonNode arrayNodeElement = arrayNode.get(i); jsonGenerator.writeObject(arrayNodeElement); }/*from w w w. j a v a 2 s .c om*/ } else { if (arrayNode.size() > 0) { for (int i = 0; i < arrayNode.size(); i++) { JsonNode arrayNodeElement = arrayNode.get(i); if (arrayNodeElement.isObject()) { jsonGenerator.writeStartObject(); processNodes(rootNodeEntry.getKey(), arrayNodeElement, mapper, fidoDevice, jsonGenerator); // Recursion jsonGenerator.writeEndObject(); } else { jsonGenerator.writeObject(arrayNodeElement); } } } } jsonGenerator.writeEndArray(); } else { if (parent != null && parent.equalsIgnoreCase("meta")) { if (rootNodeEntry.getValue() instanceof LongNode && (rootNodeEntry.getKey().equalsIgnoreCase("created") || rootNodeEntry.getKey().equalsIgnoreCase("lastModified"))) { DateTimeFormatter dateTimeFormatter = ISODateTimeFormat.dateTime().withZoneUTC(); // Date should be in UTC format // In millis convert to string date jsonGenerator.writeObject(dateTimeFormatter .print(Long.valueOf(rootNodeEntry.getValue().asText()).longValue())); } else { jsonGenerator.writeObject(rootNodeEntry.getValue()); } } else { jsonGenerator.writeObject(rootNodeEntry.getValue()); } } } }
From source file:org.gluu.oxtrust.service.antlr.scimFilter.util.ListResponseGroupSerializer.java
License:MIT License
private void writeStructure(String parent, Map.Entry<String, JsonNode> rootNodeEntry, JsonGenerator jsonGenerator) throws Exception { // No Group Extension Schema yet if ((parent != null && !parent.isEmpty()) && parent.equalsIgnoreCase("members") && rootNodeEntry.getKey().equalsIgnoreCase("reference")) { jsonGenerator.writeFieldName("$ref"); } else {/*from w ww. j a v a 2 s . c o m*/ jsonGenerator.writeFieldName(rootNodeEntry.getKey()); } if (rootNodeEntry.getValue() instanceof ObjectNode) { jsonGenerator.writeStartObject(); processNodes(rootNodeEntry.getKey(), rootNodeEntry.getValue(), jsonGenerator); // Recursion jsonGenerator.writeEndObject(); } else if (rootNodeEntry.getValue() instanceof ArrayNode) { ArrayNode arrayNode = (ArrayNode) rootNodeEntry.getValue(); jsonGenerator.writeStartArray(); if (arrayNode.size() > 0) { for (int i = 0; i < arrayNode.size(); i++) { JsonNode arrayNodeElement = arrayNode.get(i); if (arrayNodeElement.isObject()) { jsonGenerator.writeStartObject(); processNodes(rootNodeEntry.getKey(), arrayNodeElement, jsonGenerator); // Recursion jsonGenerator.writeEndObject(); } else { jsonGenerator.writeObject(arrayNodeElement); } } } jsonGenerator.writeEndArray(); } else { if (parent != null && parent.equalsIgnoreCase("meta")) { if (rootNodeEntry.getValue() instanceof LongNode && (rootNodeEntry.getKey().equalsIgnoreCase("created") || rootNodeEntry.getKey().equalsIgnoreCase("lastModified"))) { DateTimeFormatter dateTimeFormatter = ISODateTimeFormat.dateTime().withZoneUTC(); // Date should be in UTC format // In millis convert to string date jsonGenerator.writeObject( dateTimeFormatter.print(Long.valueOf(rootNodeEntry.getValue().asText()).longValue())); } else { jsonGenerator.writeObject(rootNodeEntry.getValue()); } } else { jsonGenerator.writeObject(rootNodeEntry.getValue()); } } }
From source file:org.gluu.oxtrust.service.antlr.scimFilter.util.ListResponseUserSerializer.java
License:MIT License
private void writeStructure(String parent, Map.Entry<String, JsonNode> rootNodeEntry, ObjectMapper mapper, User user, JsonGenerator jsonGenerator) throws Exception { if (!(SchemaTypeMapping.getSchemaTypeInstance(rootNodeEntry.getKey()) instanceof UserExtensionSchema)) { if ((parent != null && !parent.isEmpty()) && parent.equalsIgnoreCase("groups") && rootNodeEntry.getKey().equalsIgnoreCase("reference")) { jsonGenerator.writeFieldName("$ref"); } else {/*from ww w . j a v a 2s . c o m*/ jsonGenerator.writeFieldName(rootNodeEntry.getKey()); } if (rootNodeEntry.getValue() instanceof ObjectNode) { jsonGenerator.writeStartObject(); processNodes(rootNodeEntry.getKey(), rootNodeEntry.getValue(), mapper, user, jsonGenerator); // Recursion jsonGenerator.writeEndObject(); } else if (rootNodeEntry.getValue() instanceof ArrayNode) { ArrayNode arrayNode = (ArrayNode) rootNodeEntry.getValue(); jsonGenerator.writeStartArray(); if (rootNodeEntry.getKey().equalsIgnoreCase("schemas")) { for (int i = 0; i < arrayNode.size(); i++) { JsonNode arrayNodeElement = arrayNode.get(i); if (arrayNodeElement.getTextValue().equalsIgnoreCase(Constants.USER_EXT_SCHEMA_ID)) { boolean hasUserExtensionsInAttributes = false; Extension extension = user.getExtension(Constants.USER_EXT_SCHEMA_ID); if (attributes != null && attributes.size() > 0) { for (Map.Entry<String, Extension.Field> extEntry : extension.getFields() .entrySet()) { for (String attribute : attributes) { attribute = FilterUtil.stripScim2Schema(attribute); if (extEntry.getKey().equalsIgnoreCase(attribute)) { hasUserExtensionsInAttributes = true; break; } } } } else { if (extension != null && !extension.getFields().isEmpty()) { hasUserExtensionsInAttributes = true; } } if (hasUserExtensionsInAttributes) { jsonGenerator.writeObject(arrayNodeElement); } } else { jsonGenerator.writeObject(arrayNodeElement); } } } else { if (arrayNode.size() > 0) { for (int i = 0; i < arrayNode.size(); i++) { JsonNode arrayNodeElement = arrayNode.get(i); if (arrayNodeElement.isObject()) { jsonGenerator.writeStartObject(); processNodes(rootNodeEntry.getKey(), arrayNodeElement, mapper, user, jsonGenerator); // Recursion jsonGenerator.writeEndObject(); } else { jsonGenerator.writeObject(arrayNodeElement); } } } } jsonGenerator.writeEndArray(); } else { if (parent != null && parent.equalsIgnoreCase("meta")) { if (rootNodeEntry.getValue() instanceof LongNode && (rootNodeEntry.getKey().equalsIgnoreCase("created") || rootNodeEntry.getKey().equalsIgnoreCase("lastModified"))) { DateTimeFormatter dateTimeFormatter = ISODateTimeFormat.dateTime().withZoneUTC(); // Date should be in UTC format // In millis convert to string date jsonGenerator.writeObject(dateTimeFormatter .print(Long.valueOf(rootNodeEntry.getValue().asText()).longValue())); } else { jsonGenerator.writeObject(rootNodeEntry.getValue()); } } else { jsonGenerator.writeObject(rootNodeEntry.getValue()); } } } else { serializeUserExtension(rootNodeEntry, mapper, user, jsonGenerator); } }
From source file:org.gluu.oxtrust.service.scim2.jackson.custom.UserSerializer.java
License:MIT License
protected void serializeUserExtension(Map.Entry<String, JsonNode> rootNodeEntry, ObjectMapper mapper, User user, JsonGenerator jsonGenerator) throws Exception { AttributeService attributeService = AttributeService.instance(); Extension extension = user.getExtension(rootNodeEntry.getKey()); Map<String, Object> list = new HashMap<String, Object>(); boolean enclosingWritten = false; for (Map.Entry<String, Extension.Field> extEntry : extension.getFields().entrySet()) { if (attributes != null && attributes.size() > 0) { for (String attribute : attributes) { attribute = FilterUtil.stripScim2Schema(attribute); if (extEntry.getKey().equalsIgnoreCase(attribute)) { if (!enclosingWritten) { jsonGenerator.writeFieldName(rootNodeEntry.getKey()); enclosingWritten = true; }/*from www . j a v a 2 s .c o m*/ break; } } } else { if (!enclosingWritten) { jsonGenerator.writeFieldName(rootNodeEntry.getKey()); enclosingWritten = true; } } if (enclosingWritten) { GluuAttribute gluuAttribute = attributeService.getAttributeByName(extEntry.getKey()); GluuAttributeDataType attributeDataType = gluuAttribute.getDataType(); if ((gluuAttribute.getOxMultivaluedAttribute() != null) && gluuAttribute.getOxMultivaluedAttribute().equals(OxMultivalued.TRUE)) { if (attributeDataType.equals(GluuAttributeDataType.STRING) || attributeDataType.equals(GluuAttributeDataType.PHOTO)) { List<String> stringList = Arrays .asList(mapper.readValue(extEntry.getValue().getValue(), String[].class)); list.put(extEntry.getKey(), stringList); } else if (attributeDataType.equals(GluuAttributeDataType.DATE)) { List<Date> dateList = Arrays .asList(mapper.readValue(extEntry.getValue().getValue(), Date[].class)); List<String> stringList = new ArrayList<String>(); DateTimeFormatter dateTimeFormatter = ISODateTimeFormat.dateTime().withZoneUTC(); for (Date date : dateList) { String dateString = dateTimeFormatter.print(date.getTime()); stringList.add(dateString); } list.put(extEntry.getKey(), stringList); } else if (attributeDataType.equals(GluuAttributeDataType.NUMERIC)) { List<BigDecimal> numberList = Arrays .asList(mapper.readValue(extEntry.getValue().getValue(), BigDecimal[].class)); list.put(extEntry.getKey(), numberList); } } else { if (attributeDataType.equals(GluuAttributeDataType.DATE)) { DateTimeFormatter dateTimeFormatter = ISODateTimeFormat.dateTime().withZoneUTC(); list.put(extEntry.getKey(), dateTimeFormatter.print(new Long(extEntry.getValue().getValue()))); } else { list.put(extEntry.getKey(), extEntry.getValue().getValue()); } } } } if (enclosingWritten) { jsonGenerator.writeObject(list); } }
From source file:org.gluu.oxtrust.service.scim2.Scim2FidoDeviceService.java
License:MIT License
public FidoDevice updateFidoDevice(String id, FidoDevice fidoDevice) throws Exception { fidoDeviceService = FidoDeviceService.instance(); GluuCustomFidoDevice gluuCustomFidoDevice = fidoDeviceService .getGluuCustomFidoDeviceById(fidoDevice.getUserId(), id); if (gluuCustomFidoDevice == null) { throw new EntryPersistenceException( "Scim2FidoDeviceService.updateFidoDevice(): Resource " + id + " not found"); }/* w w w . j av a 2s .c o m*/ GluuCustomFidoDevice updatedGluuCustomFidoDevice = CopyUtils2.updateGluuCustomFidoDevice(fidoDevice, gluuCustomFidoDevice); log.info(" Setting meta: update device "); DateTimeFormatter dateTimeFormatter = ISODateTimeFormat.dateTime().withZoneUTC(); // Date should be in UTC format Date dateLastModified = DateTime.now().toDate(); updatedGluuCustomFidoDevice.setMetaLastModified(dateTimeFormatter.print(dateLastModified.getTime())); if (updatedGluuCustomFidoDevice.getMetaLocation() == null || (updatedGluuCustomFidoDevice.getMetaLocation() != null && updatedGluuCustomFidoDevice.getMetaLocation().isEmpty())) { String relativeLocation = "/scim/v2/FidoDevices/" + id; updatedGluuCustomFidoDevice.setMetaLocation(relativeLocation); } fidoDeviceService.updateGluuCustomFidoDevice(gluuCustomFidoDevice); FidoDevice updatedFidoDevice = CopyUtils2.copy(gluuCustomFidoDevice, new FidoDevice()); return updatedFidoDevice; }
From source file:org.gluu.oxtrust.service.scim2.Scim2GroupService.java
License:MIT License
public Group createGroup(Group group) throws Exception { log.debug(" copying gluuGroup "); GluuGroup gluuGroup = CopyUtils2.copy(group, null, false); if (gluuGroup == null) { throw new Exception("Scim2GroupService.createGroup(): Failed to create group; GluuGroup is null"); }// ww w . j av a 2 s .com groupService = GroupService.instance(); log.debug(" generating inum "); String inum = groupService.generateInumForNewGroup(); log.debug(" getting DN "); String dn = groupService.getDnForGroup(inum); log.debug(" getting iname "); String iname = groupService.generateInameForNewGroup(group.getDisplayName().replaceAll(" ", "")); log.debug(" setting dn "); gluuGroup.setDn(dn); log.debug(" setting inum "); gluuGroup.setInum(inum); log.debug(" setting iname "); gluuGroup.setIname(iname); log.info("group.getMembers().size() : " + group.getMembers().size()); if (group.getMembers().size() > 0) { Utils.personMembersAdder(gluuGroup, dn); } // As per spec, the SP must be the one to assign the meta attributes log.info(" Setting meta: create group "); DateTimeFormatter dateTimeFormatter = ISODateTimeFormat.dateTime().withZoneUTC(); // Date should be in UTC format Date dateCreated = DateTime.now().toDate(); String relativeLocation = "/scim/v2/Groups/" + inum; gluuGroup.setAttribute("oxTrustMetaCreated", dateTimeFormatter.print(dateCreated.getTime())); gluuGroup.setAttribute("oxTrustMetaLastModified", dateTimeFormatter.print(dateCreated.getTime())); gluuGroup.setAttribute("oxTrustMetaLocation", relativeLocation); // For custom script: create group if (externalScimService.isEnabled()) { externalScimService.executeScimCreateGroupMethods(gluuGroup); } log.debug("adding new GluuGroup"); groupService.addGroup(gluuGroup); Group createdGroup = CopyUtils2.copy(gluuGroup, null); return createdGroup; }
From source file:org.gluu.oxtrust.service.scim2.Scim2GroupService.java
License:MIT License
public Group updateGroup(String id, Group group) throws Exception { groupService = GroupService.instance(); GluuGroup gluuGroup = groupService.getGroupByInum(id); if (gluuGroup == null) { throw new EntryPersistenceException( "Scim2GroupService.updateGroup(): " + "Resource " + id + " not found"); } else {/*from www . ja v a 2 s .c o m*/ // Validate if attempting to update displayName of a different id if (gluuGroup.getDisplayName() != null) { GluuGroup groupToFind = new GluuGroup(); groupToFind.setDisplayName(group.getDisplayName()); List<GluuGroup> foundGroups = groupService.findGroups(groupToFind, 2); if (foundGroups != null && foundGroups.size() > 0) { for (GluuGroup foundGroup : foundGroups) { if (foundGroup != null && !foundGroup.getInum().equalsIgnoreCase(gluuGroup.getInum())) { throw new DuplicateEntryException( "Cannot update displayName of a different id: " + group.getDisplayName()); } } } } } GluuGroup updatedGluuGroup = CopyUtils2.copy(group, gluuGroup, true); if (group.getMembers().size() > 0) { Utils.personMembersAdder(updatedGluuGroup, groupService.getDnForGroup(id)); } log.info(" Setting meta: update group "); DateTimeFormatter dateTimeFormatter = ISODateTimeFormat.dateTime().withZoneUTC(); // Date should be in UTC format Date dateLastModified = DateTime.now().toDate(); updatedGluuGroup.setAttribute("oxTrustMetaLastModified", dateTimeFormatter.print(dateLastModified.getTime())); if (updatedGluuGroup.getAttribute("oxTrustMetaLocation") == null || (updatedGluuGroup.getAttribute("oxTrustMetaLocation") != null && updatedGluuGroup.getAttribute("oxTrustMetaLocation").isEmpty())) { String relativeLocation = "/scim/v2/Groups/" + id; updatedGluuGroup.setAttribute("oxTrustMetaLocation", relativeLocation); } // For custom script: update group if (externalScimService.isEnabled()) { externalScimService.executeScimUpdateGroupMethods(updatedGluuGroup); } groupService.updateGroup(updatedGluuGroup); log.debug(" group updated "); Group updatedGroup = CopyUtils2.copy(updatedGluuGroup, null); return updatedGroup; }
From source file:org.gluu.oxtrust.service.scim2.Scim2UserService.java
License:MIT License
public User createUser(User user) throws Exception { log.debug(" copying gluuperson "); GluuCustomPerson gluuPerson = CopyUtils2.copy(user, null, false); if (gluuPerson == null) { throw new Exception("Scim2UserService.createUser(): Failed to create user; GluuCustomPerson is null"); }//from w w w.jav a 2s. com personService = PersonService.instance(); log.debug(" generating inum "); String inum = personService.generateInumForNewPerson(); // inumService.generateInums(Configuration.INUM_TYPE_PEOPLE_SLUG); // //personService.generateInumForNewPerson(); log.debug(" getting DN "); String dn = personService.getDnForPerson(inum); log.debug(" getting iname "); String iname = personService.generateInameForNewPerson(user.getUserName()); log.debug(" setting dn "); gluuPerson.setDn(dn); log.debug(" setting inum "); gluuPerson.setInum(inum); log.debug(" setting iname "); gluuPerson.setIname(iname); log.debug(" setting commonName "); gluuPerson.setCommonName(gluuPerson.getGivenName() + " " + gluuPerson.getSurname()); log.info("gluuPerson.getMemberOf().size() : " + gluuPerson.getMemberOf().size()); if (user.getGroups().size() > 0) { log.info(" jumping to groupMembersAdder "); log.info("gluuPerson.getDn() : " + gluuPerson.getDn()); Utils.groupMembersAdder(gluuPerson, gluuPerson.getDn()); } // As per spec, the SP must be the one to assign the meta attributes log.info(" Setting meta: create user "); DateTimeFormatter dateTimeFormatter = ISODateTimeFormat.dateTime().withZoneUTC(); // Date should be in UTC format Date dateCreated = DateTime.now().toDate(); String relativeLocation = "/scim/v2/Users/" + inum; gluuPerson.setAttribute("oxTrustMetaCreated", dateTimeFormatter.print(dateCreated.getTime())); gluuPerson.setAttribute("oxTrustMetaLastModified", dateTimeFormatter.print(dateCreated.getTime())); gluuPerson.setAttribute("oxTrustMetaLocation", relativeLocation); // Sync email, forward ("oxTrustEmail" -> "mail") gluuPerson = Utils.syncEmailForward(gluuPerson, true); // For custom script: create user if (externalScimService.isEnabled()) { externalScimService.executeScimCreateUserMethods(gluuPerson); } log.debug("adding new GluuPerson"); personService.addPerson(gluuPerson); User createdUser = CopyUtils2.copy(gluuPerson, null); return createdUser; }
From source file:org.gluu.oxtrust.service.scim2.Scim2UserService.java
License:MIT License
public User updateUser(String id, User user) throws Exception { personService = PersonService.instance(); GluuCustomPerson gluuPerson = personService.getPersonByInum(id); if (gluuPerson == null) { throw new EntryPersistenceException( "Scim2UserService.updateUser(): " + "Resource " + id + " not found"); } else {/*from ww w . jav a 2s . c o m*/ // Validate if attempting to update userName of a different id if (user.getUserName() != null) { GluuCustomPerson personToFind = new GluuCustomPerson(); personToFind.setUid(user.getUserName()); List<GluuCustomPerson> foundPersons = personService.findPersons(personToFind, 2); if (foundPersons != null && foundPersons.size() > 0) { for (GluuCustomPerson foundPerson : foundPersons) { if (foundPerson != null && !foundPerson.getInum().equalsIgnoreCase(gluuPerson.getInum())) { throw new DuplicateEntryException( "Cannot update userName of a different id: " + user.getUserName()); } } } } } GluuCustomPerson updatedGluuPerson = CopyUtils2.copy(user, gluuPerson, true); if (user.getGroups().size() > 0) { Utils.groupMembersAdder(updatedGluuPerson, personService.getDnForPerson(id)); } log.info(" Setting meta: update user "); DateTimeFormatter dateTimeFormatter = ISODateTimeFormat.dateTime().withZoneUTC(); // Date should be in UTC format Date dateLastModified = DateTime.now().toDate(); updatedGluuPerson.setAttribute("oxTrustMetaLastModified", dateTimeFormatter.print(dateLastModified.getTime())); if (updatedGluuPerson.getAttribute("oxTrustMetaLocation") == null || (updatedGluuPerson.getAttribute("oxTrustMetaLocation") != null && updatedGluuPerson.getAttribute("oxTrustMetaLocation").isEmpty())) { String relativeLocation = "/scim/v2/Users/" + id; updatedGluuPerson.setAttribute("oxTrustMetaLocation", relativeLocation); } // Sync email, forward ("oxTrustEmail" -> "mail") updatedGluuPerson = Utils.syncEmailForward(updatedGluuPerson, true); // For custom script: update user if (externalScimService.isEnabled()) { externalScimService.executeScimUpdateUserMethods(updatedGluuPerson); } personService.updatePerson(updatedGluuPerson); log.debug(" person updated "); User updatedUser = CopyUtils2.copy(updatedGluuPerson, null); return updatedUser; }
From source file:org.goobi.mq.WebServiceResult.java
License:Open Source License
/** * Send.//from www .j av a2 s. c om */ public void send() { if (Objects.isNull(ActiveMQDirector.getResultsTopic())) { // If reporting to ActiveMQ is disabled, write log message logger.log(level == ReportLevel.SUCCESS ? Level.INFO : Level.WARN, "Processing message \"" + id + '@' + queueName + "\" reports " + level.toLowerCase() + "." + (Objects.nonNull(message) ? " (" + message + ")" : "")); } else { try { MapMessage report = ActiveMQDirector.getSession().createMapMessage(); DateTime now = new DateTime(); report.setString("timestamp", ISODateTimeFormat.dateTime().print(now)); report.setString("queue", queueName); report.setString("id", id); report.setString("level", level.toLowerCase()); if (Objects.nonNull(message)) { report.setString("message", message); } ActiveMQDirector.getResultsTopic().send(report); } catch (JMSException | RuntimeException e) { logger.fatal("Error sending report for \"" + id + '@' + queueName + "\" (" + level.toLowerCase() + (Objects.nonNull(message) ? ": " + message : "") + "): Giving up.", e); } } }