Esempio n. 1
0
    /**
     * Calls a function to recursively iterates through the the properties of the
     * passed JsonObject object and returns an equivalent OpenSocialObject with
     * each property of the original object mapped to fields _in the returned
     * object.
     *
     * @param  entryObject Object-oriented representation of JSON response
     *         string which is transformed into and returned as an
     *         OpenSocialObject
     * @param  clientClass Class of object to return, either OpenSocialObject
     *         or a subclass
     * @throws JSONException
     * @throws InstantiationException
     * @throws IllegalAccessException
     */
    private static OpenSocialObject parseAsObject(
        JsonObject entryObject, Type clientClass)
    {
        OpenSocialObject o = (OpenSocialObject)Activator.CreateInstance(clientClass);

        Dictionary <String, OpenSocialField> entryRepresentation =
            createObjectRepresentation(entryObject);

        foreach (var e in entryRepresentation)
        {
            o.setField(e.Key, e.Value);
        }

        return(o);
    }
Esempio n. 2
0
    /**
     * Retrieves the display name (typically given name followed by family name)
     * associated with the instance. Returns an empty string if no name has been
     * set.
     *
     * @throws OpenSocialException
     */
    public String getDisplayName()
    {
        OpenSocialField nicknameField = this.getField("nickname");
        OpenSocialField nameField     = this.getField("name");
        StringBuilder   name          = new StringBuilder();

        if (nameField != null)
        {
            if (nameField.isComplex())
            {
                OpenSocialObject nameObject = nameField.getValue();

                if (nameObject.hasField("givenName"))
                {
                    name.Append(nameObject.getField("givenName").getStringValue());
                }

                if (nameObject.hasField("givenName") &&
                    nameObject.hasField("familyName"))
                {
                    name.Append(" ");
                }

                if (nameObject.hasField("familyName"))
                {
                    name.Append(nameObject.getField("familyName").getStringValue());
                }
            }
            else
            {
                name.Append(nameField.getStringValue());
            }
        }
        else if (nicknameField != null)
        {
            if (!nicknameField.isComplex())
            {
                name.Append(nicknameField.getStringValue());
            }
        }

        return(name.ToString());
    }