List of usage examples for org.joda.time.format DateTimeFormatter print
public String print(ReadablePartial partial)
From source file:org.gluu.oxtrust.service.antlr.scimFilter.util.GluuGroupListSerializer.java
License:MIT License
private void writeStructure(String parent, Map.Entry<String, JsonNode> rootNodeEntry, JsonGenerator jsonGenerator) throws Exception { jsonGenerator.writeFieldName(rootNodeEntry.getKey()); if (rootNodeEntry.getValue() instanceof ObjectNode) { jsonGenerator.writeStartObject(); processNodes(rootNodeEntry.getKey(), rootNodeEntry.getValue(), jsonGenerator); // Recursion jsonGenerator.writeEndObject();/*from ww w. j a v a2 s. c o m*/ } 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.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 . co m } 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 {//w w w. j a v a 2 s . c om 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 w w w . j av a 2 s. 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; }//w w w . jav a2s . co 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"); }/*from www.j a v 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"); }// w w w .ja va 2 s . c o m 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 {// w w w .j a va 2s . 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 ww w . j av a2 s.c om*/ 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 {//w ww . ja va 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; }