Author: ieb Date: Thu Dec 4 22:48:28 2008 New Revision: 723617 URL: http://svn.apache.org/viewvc?rev=723617&view=rev Log: SHINDIG-764
Patch by Henning Schmiedehausen According to http://www.opensocial.org/Technical-Resources/opensocial-spec-v081/opensocial-reference#opensocial.Name, the opensocial Name object must support the following fields: ADDITIONAL_NAME FAMILY_NAME GIVEN_NAME HONORIFIC_PREFIX HONORIFIC_SUFFIX UNSTRUCTURED However, org.apache.shindig.social.opensocial.model.Name.Field has ADDITIONAL_NAME("additionalName"), FAMILY_NAME("familyName"), GIVEN_NAME("givenName"), HONORIFIC_PREFIX("honorificPrefix"), HONORIFIC_SUFFIX("honorificSuffix"), FORMATTED("formatted"); So "UNSTRUCTURED" is missing and "FORMATTED" is added. I consider this a bug / not spec compliant. Also fixes Address UNSTRUCTURED_ADDRESS. Thanks Modified: incubator/shindig/trunk/features/opensocial-base/fieldtranslations.js incubator/shindig/trunk/java/samples/pom.xml incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/NameDb.java incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/PersonPopulate.java incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/NameImpl.java incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Name.java incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialService.java incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulJsonPeopleTest.java incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulXmlPeopleTest.java incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/util/BeanJsonConverterTest.java incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/util/BeanJsonLibConverterTest.java incubator/shindig/trunk/java/social-api/src/test/resources/org/apache/shindig/social/opensocial/util/opensocial.xsd incubator/shindig/trunk/java/social-api/src/test/resources/org/apache/shindig/social/opensocial/util/testxml/person1.xml incubator/shindig/trunk/javascript/sampledata/canonicaldb.json Modified: incubator/shindig/trunk/features/opensocial-base/fieldtranslations.js URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/features/opensocial-base/fieldtranslations.js?rev=723617&r1=723616&r2=723617&view=diff ============================================================================== --- incubator/shindig/trunk/features/opensocial-base/fieldtranslations.js (original) +++ incubator/shindig/trunk/features/opensocial-base/fieldtranslations.js Thu Dec 4 22:48:28 2008 @@ -84,11 +84,6 @@ } } } - - if (serverJson.name) { - serverJson.name.unstructured = serverJson.name.formatted; - } - } FieldTranslations.translateEnumJson = function(enumJson) { Modified: incubator/shindig/trunk/java/samples/pom.xml URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/pom.xml?rev=723617&r1=723616&r2=723617&view=diff ============================================================================== --- incubator/shindig/trunk/java/samples/pom.xml (original) +++ incubator/shindig/trunk/java/samples/pom.xml Thu Dec 4 22:48:28 2008 @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.shindig</groupId> <artifactId>shindig-parent</artifactId> - <version>1-SNAPSHOT</version> + <version>0.9-1-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> Modified: incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/NameDb.java URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/NameDb.java?rev=723617&r1=723616&r2=723617&view=diff ============================================================================== --- incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/NameDb.java (original) +++ incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/NameDb.java Thu Dec 4 22:48:28 2008 @@ -125,8 +125,8 @@ * @see org.apache.shindig.social.opensocial.model.Name */ @Basic - @Column(name = "formatted", length = 255) - private String formatted; + @Column(name = "unstructured", length = 255) + private String unstructured; /** * @@ -135,10 +135,10 @@ } /** - * @param formatted + * @param unstructured */ - public NameDb(String formatted) { - this.formatted = formatted; + public NameDb(String unstructured) { + this.unstructured = unstructured; } /** @@ -262,18 +262,18 @@ /** * [EMAIL PROTECTED] * - * @see org.apache.shindig.social.opensocial.model.Name#getFormatted() + * @see org.apache.shindig.social.opensocial.model.Name#getUnstructured() */ - public String getFormatted() { - return formatted; + public String getUnstructured() { + return unstructured; } /** * [EMAIL PROTECTED] * - * @see org.apache.shindig.social.opensocial.model.Name#setFormatted(java.lang.String) + * @see org.apache.shindig.social.opensocial.model.Name#setUnstructured(java.lang.String) */ - public void setFormatted(String formatted) { - this.formatted = formatted; + public void setUnstructured(String unstructured) { + this.unstructured = unstructured; } } Modified: incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/PersonPopulate.java URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/PersonPopulate.java?rev=723617&r1=723616&r2=723617&view=diff ============================================================================== --- incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/PersonPopulate.java (original) +++ incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/PersonPopulate.java Thu Dec 4 22:48:28 2008 @@ -230,7 +230,7 @@ name.setGivenName("GivenName"); name.setHonorificPrefix("Hprefix"); name.setHonorificSuffix("HSufix"); - name.setFormatted("formatted"); + name.setUnstructured("unstructured"); name.setAdditionalName("Additional Names"); } return name; Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/NameImpl.java URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/NameImpl.java?rev=723617&r1=723616&r2=723617&view=diff ============================================================================== --- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/NameImpl.java (original) +++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/NameImpl.java Thu Dec 4 22:48:28 2008 @@ -26,21 +26,21 @@ private String givenName; private String honorificPrefix; private String honorificSuffix; - private String formatted; + private String unstructured; public NameImpl() { } - public NameImpl(String formatted) { - this.formatted = formatted; + public NameImpl(String unstructured) { + this.unstructured = unstructured; } - public String getFormatted() { - return formatted; + public String getUnstructured() { + return unstructured; } - public void setFormatted(String formatted) { - this.formatted = formatted; + public void setUnstructured(String unstructured) { + this.unstructured = unstructured; } public String getAdditionalName() { Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Name.java URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Name.java?rev=723617&r1=723616&r2=723617&view=diff ============================================================================== --- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Name.java (original) +++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Name.java Thu Dec 4 22:48:28 2008 @@ -59,7 +59,7 @@ /** * The unstructured name. */ - FORMATTED("formatted"); + UNSTRUCTURED("unstructured"); /** * the json key for this field. @@ -85,15 +85,15 @@ } /** - * @return the name, formatted. + * @return the name, unstructured. */ - String getFormatted(); + String getUnstructured(); /** - * set the name formatted. - * @param formatted the name, formatted. + * set the name unstructured. + * @param unstructured the name, unstructured. */ - void setFormatted(String formatted); + void setUnstructured(String unstructured); /** * @return get the additional name. Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialService.java URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialService.java?rev=723617&r1=723616&r2=723617&view=diff ============================================================================== --- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialService.java (original) +++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialService.java Thu Dec 4 22:48:28 2008 @@ -63,8 +63,8 @@ private static final Comparator<Person> NAME_COMPARATOR = new Comparator<Person>() { public int compare(Person person, Person person1) { - String name = person.getName().getFormatted(); - String name1 = person1.getName().getFormatted(); + String name = person.getName().getUnstructured(); + String name1 = person1.getName().getUnstructured(); return name.compareTo(name1); } }; Modified: incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulJsonPeopleTest.java URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulJsonPeopleTest.java?rev=723617&r1=723616&r2=723617&view=diff ============================================================================== --- incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulJsonPeopleTest.java (original) +++ incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulJsonPeopleTest.java Thu Dec 4 22:48:28 2008 @@ -187,7 +187,7 @@ * { 'number' : '+33H000000000', 'type' : 'home'}, * ], * 'addresses' : [ - * {'unstructuredAddress' : 'My home address'} + * {'formattedAddress' : 'My home address'} * ], * 'emails' : [ * { 'value' : '[EMAIL PROTECTED]', 'type' : 'work'}, @@ -291,9 +291,9 @@ assertStringListField(result, canonical.getMovies(), Person.Field.MOVIES); assertStringListField(result, canonical.getMusic(), Person.Field.MUSIC); - assertEquals(canonical.getName().getFormatted(), + assertEquals(canonical.getName().getUnstructured(), result.getJSONObject(Person.Field.NAME.toString()).getString( - Name.Field.FORMATTED.toString())); + Name.Field.UNSTRUCTURED.toString())); assertEnumField(result, canonical.getNetworkPresence(), Person.Field.NETWORKPRESENCE); @@ -498,9 +498,9 @@ private void assertPerson(JSONObject person, String expectedId, String expectedName) throws Exception { assertEquals(expectedId, person.getString("id")); - assertEquals(expectedName, person.getJSONObject("name").getString("formatted")); + assertEquals(expectedName, person.getJSONObject("name").getString("unstructured")); } // TODO: Add tests for fields parameter // TODO: Add tests for networkDistance -} \ No newline at end of file +} Modified: incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulXmlPeopleTest.java URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulXmlPeopleTest.java?rev=723617&r1=723616&r2=723617&view=diff ============================================================================== --- incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulXmlPeopleTest.java (original) +++ incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulXmlPeopleTest.java Thu Dec 4 22:48:28 2008 @@ -204,7 +204,7 @@ * { 'id' : 'john.doe', * 'name' : {'unstructured' : 'John Doe'}, * 'phoneNumbers' : [ { 'number' : '+33H000000000', 'type' : 'home'}, ], - * 'addresses' : [ {'unstructuredAddress' : 'My home address'} ], + * 'addresses' : [ {'formattedAddress' : 'My home address'} ], * 'emails' : [ * { 'value' : '[EMAIL PROTECTED]', 'type' : 'work'}, ] * @@ -327,9 +327,9 @@ assertStringListField(result, canonical.getMovies(), Person.Field.MOVIES); assertStringListField(result, canonical.getMusic(), Person.Field.MUSIC); - assertEquals(canonical.getName().getFormatted(), childNodesToMap( + assertEquals(canonical.getName().getUnstructured(), childNodesToMap( childNodeMap.get(Person.Field.NAME.toString()).get(0)).get( - Name.Field.FORMATTED.toString()).get(0)); + Name.Field.UNSTRUCTURED.toString()).get(0)); assertEnumField(childNodeMap, canonical.getNetworkPresence(), Person.Field.NETWORKPRESENCE); @@ -588,9 +588,9 @@ String expectedName) throws Exception { assertEquals(expectedId, person.get("id").get(0).getTextContent()); assertEquals(expectedName, childNodesToMap(person.get("name").get(0)).get( - "formatted").get(0)); + "unstructured").get(0)); } // TODO: Add tests for fields parameter // TODO: Add tests for networkDistance -} \ No newline at end of file +} Modified: incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/util/BeanJsonConverterTest.java URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/util/BeanJsonConverterTest.java?rev=723617&r1=723616&r2=723617&view=diff ============================================================================== --- incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/util/BeanJsonConverterTest.java (original) +++ incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/util/BeanJsonConverterTest.java Thu Dec 4 22:48:28 2008 @@ -97,8 +97,8 @@ assertEquals(johnDoe.getId(), result.getString("id")); - assertEquals(johnDoe.getName().getFormatted(), - result.getJSONObject("name").getString("formatted")); + assertEquals(johnDoe.getName().getUnstructured(), + result.getJSONObject("name").getString("unstructured")); assertEquals(johnDoe.getAddresses().get(0).getFormatted(), result.getJSONArray("addresses").getJSONObject(0) Modified: incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/util/BeanJsonLibConverterTest.java URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/util/BeanJsonLibConverterTest.java?rev=723617&r1=723616&r2=723617&view=diff ============================================================================== --- incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/util/BeanJsonLibConverterTest.java (original) +++ incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/util/BeanJsonLibConverterTest.java Thu Dec 4 22:48:28 2008 @@ -62,7 +62,7 @@ // taken from opensocial-reference/name.js private static final String[] NAME_FIELDS = { "familyName", "givenName", "additionalName", - "honorificPrefix", "honorificSuffix", "formatted" }; + "honorificPrefix", "honorificSuffix", "unstructured" }; private Person johnDoe; private Activity activity; @@ -157,7 +157,7 @@ Name name = parseCassie.getName(); Name cassieName = cassie.getName(); assertNotNull(name); - assertEquals(cassieName.getFormatted(), name.getFormatted()); + assertEquals(cassieName.getUnstructured(), name.getUnstructured()); assertEquals(cassieName.getAdditionalName(), name.getAdditionalName()); assertEquals(cassieName.getFamilyName(), name.getFamilyName()); assertEquals(cassieName.getGivenName(), name.getGivenName()); @@ -184,9 +184,9 @@ optional, nullfields); ApiValidator.dump(nameJSON); - assertNotNull(nameJSON.get("formatted")); - assertEquals(String.class, nameJSON.get("formatted").getClass()); - assertEquals(name, nameJSON.get("formatted")); + assertNotNull(nameJSON.get("unstructured")); + assertEquals(String.class, nameJSON.get("unstructured").getClass()); + assertEquals(name, nameJSON.get("unstructured")); // additional name assertNull(nameJSON.get("additionalName")); @@ -201,7 +201,7 @@ Person parsedPerson = beanJsonConverter.convertToObject(result, Person.class); assertEquals(johnDoe.getId(), parsedPerson.getId()); - assertEquals(johnDoe.getName().getFormatted(), parsedPerson.getName().getFormatted()); + assertEquals(johnDoe.getName().getUnstructured(), parsedPerson.getName().getUnstructured()); List<Address> addresses = parsedPerson.getAddresses(); if (outputInfo) { @@ -212,9 +212,9 @@ assertEquals(1, addresses.size()); Address address = addresses.get(0); - String unstructured = address.getFormatted(); + String formatted = address.getFormatted(); - assertNotNull(unstructured); + assertNotNull(formatted); assertEquals(johnDoe.getAddresses().get(0).getFormatted(), parsedPerson .getAddresses().get(0).getFormatted()); Modified: incubator/shindig/trunk/java/social-api/src/test/resources/org/apache/shindig/social/opensocial/util/opensocial.xsd URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/test/resources/org/apache/shindig/social/opensocial/util/opensocial.xsd?rev=723617&r1=723616&r2=723617&view=diff ============================================================================== --- incubator/shindig/trunk/java/social-api/src/test/resources/org/apache/shindig/social/opensocial/util/opensocial.xsd (original) +++ incubator/shindig/trunk/java/social-api/src/test/resources/org/apache/shindig/social/opensocial/util/opensocial.xsd Thu Dec 4 22:48:28 2008 @@ -222,7 +222,7 @@ <xs:element minOccurs="0" name="givenName" type="xs:string" /> <xs:element minOccurs="0" name="honorificPrefix" type="xs:string" /> <xs:element minOccurs="0" name="honorificSuffix" type="xs:string" /> - <xs:element minOccurs="0" name="formatted" type="xs:string" /> + <xs:element minOccurs="0" name="unstructured" type="xs:string" /> </xs:all> </xs:complexType> Modified: incubator/shindig/trunk/java/social-api/src/test/resources/org/apache/shindig/social/opensocial/util/testxml/person1.xml URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/test/resources/org/apache/shindig/social/opensocial/util/testxml/person1.xml?rev=723617&r1=723616&r2=723617&view=diff ============================================================================== --- incubator/shindig/trunk/java/social-api/src/test/resources/org/apache/shindig/social/opensocial/util/testxml/person1.xml (original) +++ incubator/shindig/trunk/java/social-api/src/test/resources/org/apache/shindig/social/opensocial/util/testxml/person1.xml Thu Dec 4 22:48:28 2008 @@ -4,6 +4,6 @@ <gender>female</gender> <id></id> <name> - <formatted>Jane Doe</formatted> + <unstructured>Jane Doe</unstructured> </name> -</person> \ No newline at end of file +</person> Modified: incubator/shindig/trunk/javascript/sampledata/canonicaldb.json URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/javascript/sampledata/canonicaldb.json?rev=723617&r1=723616&r2=723617&view=diff ============================================================================== --- incubator/shindig/trunk/javascript/sampledata/canonicaldb.json (original) +++ incubator/shindig/trunk/javascript/sampledata/canonicaldb.json Thu Dec 4 22:48:28 2008 @@ -116,7 +116,7 @@ "givenName" : "Shin", "honorificPrefix" : "Sir", "honorificSuffix" : "Social Butterfly", -"formatted" : "Sir Shin H. Digg Social Butterfly" +"unstructured" : "Sir Shin H. Digg Social Butterfly" }, "networkPresence" : { "value" : "ONLINE", @@ -179,7 +179,7 @@ "name" : { "familyName" : "Doe", "givenName" : "John", -"formatted" : "John Doe" +"unstructured" : "John Doe" } }, { @@ -190,7 +190,7 @@ "name" : { "familyName" : "Doe", "givenName" : "Jane", -"formatted" : "Jane Doe" +"unstructured" : "Jane Doe" } }, { @@ -201,7 +201,7 @@ "name" : { "familyName" : "Doe", "givenName" : "George", -"formatted" : "George Doe" +"unstructured" : "George Doe" } }, { @@ -212,7 +212,7 @@ "name" : { "familyName" : "Rossi", "givenName" : "Mario", -"formatted" : "Mario Rossi" +"unstructured" : "Mario Rossi" } }, { @@ -223,7 +223,7 @@ "name" : { "familyName" : "Meikäläinen", "givenName" : "Maija", -"formatted" : "Maija Meikäläinen" +"unstructured" : "Maija Meikäläinen" } }], //
