You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by do...@apache.org on 2008/08/26 02:28:03 UTC

svn commit: r688926 - in /incubator/shindig/trunk: features/opensocial-current/ java/social-api/src/main/java/org/apache/shindig/social/core/model/ java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/ java/social-api/src/test/java/...

Author: doll
Date: Mon Aug 25 17:28:01 2008
New Revision: 688926

URL: http://svn.apache.org/viewvc?rev=688926&view=rev
Log:
0.8.1 change
Added an organization.type field. Collapsed the jobs and schools fields on people into just one organizations field. The js will read the type field to pull jobs and schools back out for backwards compatibility.



Modified:
    incubator/shindig/trunk/features/opensocial-current/jsonrpccontainer.js
    incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/OrganizationImpl.java
    incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/PersonImpl.java
    incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Organization.java
    incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Person.java
    incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulJsonPeopleTest.java
    incubator/shindig/trunk/javascript/sampledata/canonicaldb.json

Modified: incubator/shindig/trunk/features/opensocial-current/jsonrpccontainer.js
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/features/opensocial-current/jsonrpccontainer.js?rev=688926&r1=688925&r2=688926&view=diff
==============================================================================
--- incubator/shindig/trunk/features/opensocial-current/jsonrpccontainer.js (original)
+++ incubator/shindig/trunk/features/opensocial-current/jsonrpccontainer.js Mon Aug 25 17:28:01 2008
@@ -316,6 +316,20 @@
   this.translateEnumJson(serverJson.networkPresence);
   this.translateEnumJson(serverJson.smoker);
 
+  if (serverJson.organizations) {
+    serverJson.jobs = [];
+    serverJson.schools = [];
+
+    for (var o = 0; o < serverJson.organizations.length; o++) {
+      var org = serverJson.organizations[o];
+      if (org.type == 'job') {
+        serverJson.jobs.push(org);
+      } else if (org.type == 'school') {
+        serverJson.schools.push(org);
+      }
+    }
+  }
+
   return new JsonPerson(serverJson);
 };
 

Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/OrganizationImpl.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/OrganizationImpl.java?rev=688926&r1=688925&r2=688926&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/OrganizationImpl.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/OrganizationImpl.java Mon Aug 25 17:28:01 2008
@@ -34,6 +34,7 @@
   private String subField;
   private String title;
   private String webpage;
+  private String type;
 
   public Address getAddress() {
     return address;
@@ -115,4 +116,11 @@
     this.webpage = webpage;
   }
 
+  public String getType() {
+    return type;
+  }
+
+  public void setType(String type) {
+    this.type = type;
+  }
 }

Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/PersonImpl.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/PersonImpl.java?rev=688926&r1=688925&r2=688926&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/PersonImpl.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/PersonImpl.java Mon Aug 25 17:28:01 2008
@@ -61,7 +61,6 @@
   private List<ListField> ims;
   private List<String> interests;
   private String jobInterests;
-  private List<Organization> jobs;
   private List<String> languagesSpoken;
   private Date updated;
   private String livingArrangement;
@@ -71,6 +70,7 @@
   private Name name;
   private Enum<Enum.NetworkPresence> networkPresence;
   private String nickname;
+  private List<Organization> organizations;
   private String pets;
   private List<ListField> phoneNumbers;
   private List<ListField> photos;
@@ -82,7 +82,6 @@
   private String religion;
   private String romance;
   private String scaredOf;
-  private List<Organization> schools;
   private String sexualOrientation;
   private Enum<Enum.Smoker> smoker;
   private List<String> sports;
@@ -306,14 +305,6 @@
     this.jobInterests = jobInterests;
   }
 
-  public List<Organization> getJobs() {
-    return jobs;
-  }
-
-  public void setJobs(List<Organization> jobs) {
-    this.jobs = jobs;
-  }
-
   public List<String> getLanguagesSpoken() {
     return languagesSpoken;
   }
@@ -386,6 +377,14 @@
     this.nickname = nickname;
   }
 
+  public List<Organization> getOrganizations() {
+    return organizations;
+  }
+
+  public void setOrganizations(List<Organization> organizations) {
+    this.organizations = organizations;
+  }
+
   public String getPets() {
     return pets;
   }
@@ -474,14 +473,6 @@
     this.scaredOf = scaredOf;
   }
 
-  public List<Organization> getSchools() {
-    return schools;
-  }
-
-  public void setSchools(List<Organization> schools) {
-    this.schools = schools;
-  }
-
   public String getSexualOrientation() {
     return sexualOrientation;
   }

Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Organization.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Organization.java?rev=688926&r1=688925&r2=688926&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Organization.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Organization.java Mon Aug 25 17:28:01 2008
@@ -42,7 +42,9 @@
     START_DATE("startDate"),
     SUB_FIELD("subField"),
     TITLE("title"),
-    WEBPAGE("webpage");
+    WEBPAGE("webpage"),
+    /** Should have the value of "job" or "school" to be put in the right js fields */
+    TYPE("type");
 
     private final String jsonString;
 
@@ -96,4 +98,8 @@
 
   void setWebpage(String webpage);
 
+  String getType();
+
+  void setType(String type);
+
 }

Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Person.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Person.java?rev=688926&r1=688925&r2=688926&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Person.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Person.java Mon Aug 25 17:28:01 2008
@@ -93,8 +93,6 @@
     INTERESTS("interests"),
     /** the json field for jobInterests. */
     JOB_INTERESTS("jobInterests"),
-    /** the json field for jobs. */
-    JOBS("jobs"),
     /** the json field for languagesSpoken. */
     LANGUAGES_SPOKEN("languagesSpoken"),
     /** the json field for updated. */
@@ -113,6 +111,7 @@
     NETWORKPRESENCE("networkPresence"),
     /** the json field for nickname. */
     NICKNAME("nickname"),
+    ORGANIZATIONS("organizations"),
     /** the json field for pets. */
     PETS("pets"),
     /** the json field for phoneNumbers. */
@@ -136,8 +135,6 @@
     ROMANCE("romance"),
     /** the json field for scaredOf. */
     SCARED_OF("scaredOf"),
-    /** the json field for schools. */
-    SCHOOLS("schools"),
     /** the json field for sexualOrientation. */
     SEXUAL_ORIENTATION("sexualOrientation"),
     /** the json field for smoker. */
@@ -585,22 +582,6 @@
   void setJobInterests(String jobInterests);
 
   /**
-   * Get the Jobs the person has held, specified as an List of {@link Organization}. Container
-   * support for this field is OPTIONAL.
-   *
-   * @return the Jobs the person has held
-   */
-  List<Organization> getJobs();
-
-  /**
-   * Set the Jobs the person has held, specified as an List of {@link Organization}. Container
-   * support for this field is OPTIONAL.
-   *
-   * @param jobs the Jobs the person has held
-   */
-  void setJobs(List<Organization> jobs);
-
-  /**
    * Get a List of the languages that the person speaks as ISO 639-1 codes, specified as an List of
    * strings. Container support for this field is OPTIONAL.
    *
@@ -740,6 +721,10 @@
    */
   void setNickname(String nickname);
 
+  List<Organization> getOrganizations();
+
+  void setOrganizations(List<Organization> organizations);
+
   /**
    * Get a description of the person's pets Container support for this field is OPTIONAL.
    *
@@ -889,20 +874,6 @@
   void setScaredOf(String scaredOf);
 
   /**
-   * Get schools the person has attended Container support for this field is OPTIONAL.
-   *
-   * @return schools the person has attended
-   */
-  List<Organization> getSchools();
-
-  /**
-   * Set schools the person has attended Container support for this field is OPTIONAL.
-   *
-   * @param schools schools the person has attended
-   */
-  void setSchools(List<Organization> schools);
-
-  /**
    * Get the person's sexual orientation. Container support for this field is OPTIONAL.
    *
    * @return the person's sexual orientation

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=688926&r1=688925&r2=688926&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 Mon Aug 25 17:28:01 2008
@@ -117,6 +117,7 @@
     job1.setSubField("Development");
     job1.setTitle("Grand PooBah");
     job1.setWebpage("http://incubator.apache.org/projects/shindig.html");
+    job1.setType("job");
 
     Organization job2 = new OrganizationImpl();
     job2.setAddress(new AddressImpl("1 Skid Row"));
@@ -129,8 +130,9 @@
     job2.setSubField("Lab Tech");
     job2.setTitle("Gopher");
     job2.setWebpage("");
+    job2.setType("job");
 
-    canonical.setJobs(Lists.newArrayList(job1, job2));
+    canonical.setOrganizations(Lists.newArrayList(job1, job2));
 
     canonical.setUpdated(new Date());
     canonical.setLanguagesSpoken(Lists.newArrayList("English", "Dutch", "Esperanto"));
@@ -159,20 +161,6 @@
     canonical.setReligion("druidic");
     canonical.setRomance("twice a year");
     canonical.setScaredOf("COBOL");
-
-    Organization school = new OrganizationImpl();
-    school.setAddress(new AddressImpl("1 Edu St."));
-    school.setDescription("High School");
-    school.setEndDate(new Date());
-    school.setField("");
-    school.setName("");
-    school.setSalary("");
-    school.setStartDate(new Date());
-    school.setSubField("");
-    school.setTitle("");
-    school.setWebpage("");
-    canonical.setSchools(Lists.newArrayList(school));
-
     canonical.setSexualOrientation("north");
     canonical.setSmoker(new EnumImpl<Enum.Smoker>(Enum.Smoker.NO));
     canonical.setSports(Lists.newArrayList("frisbee", "rugby"));
@@ -288,8 +276,8 @@
     assertStringField(result, canonical.getJobInterests(),
         Person.Field.JOB_INTERESTS);
 
-    assertOrganizationField(canonical.getJobs().get(0),
-        result.getJSONArray(Person.Field.JOBS.toString()).getJSONObject(0));
+    assertOrganizationField(canonical.getOrganizations().get(0),
+        result.getJSONArray(Person.Field.ORGANIZATIONS.toString()).getJSONObject(0));
 
     assertStringListField(result, canonical.getLanguagesSpoken(),
         Person.Field.LANGUAGES_SPOKEN);
@@ -340,9 +328,6 @@
     assertStringField(result, canonical.getRomance(), Person.Field.ROMANCE);
     assertStringField(result, canonical.getScaredOf(), Person.Field.SCARED_OF);
 
-    assertOrganizationField(canonical.getSchools().get(0),
-        result.getJSONArray(Person.Field.SCHOOLS.toString()).getJSONObject(0));
-
     assertStringField(result, canonical.getSexualOrientation(), Person.Field.SEXUAL_ORIENTATION);
     assertEnumField(result, canonical.getSmoker(), Person.Field.SMOKER);
     assertStringListField(result, canonical.getSports(), Person.Field.SPORTS);
@@ -395,6 +380,7 @@
     assertStringField(actual, expected.getSubField(), Organization.Field.SUB_FIELD);
     assertStringField(actual, expected.getTitle(), Organization.Field.TITLE);
     assertStringField(actual, expected.getWebpage(), Organization.Field.WEBPAGE);
+    assertStringField(actual, expected.getType(), Organization.Field.TYPE);
   }
 
   private void assertBooleanField(JSONObject result, boolean expected,

Modified: incubator/shindig/trunk/javascript/sampledata/canonicaldb.json
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/javascript/sampledata/canonicaldb.json?rev=688926&r1=688925&r2=688926&view=diff
==============================================================================
--- incubator/shindig/trunk/javascript/sampledata/canonicaldb.json (original)
+++ incubator/shindig/trunk/javascript/sampledata/canonicaldb.json Mon Aug 25 17:28:01 2008
@@ -71,7 +71,7 @@
 "humor" : "none to speak of",
 "interests" : ["PHP","Java"],
 "jobInterests" : "will work for beer",
-"jobs" : [{
+"organizations" : [{
 "address" : {
 "formatted" : "1 Shindig Drive"
 },
@@ -83,7 +83,8 @@
 "startDate" : "1995-01-01",
 "subField" : "Development",
 "title" : "Grand PooBah",
-"webpage" : "http://incubator.apache.org/projects/shindig.html"
+"webpage" : "http://incubator.apache.org/projects/shindig.html",
+"type" : "job"
 },{
 "address" : {
 "formatted" : "1 Skid Row"
@@ -96,7 +97,8 @@
 "startDate" : "1991-01-01",
 "subField" : "Lab Tech",
 "title" : "Gopher",
-"webpage" : ""
+"webpage" : "",
+"type" : "job"
 }],
 "languagesSpoken" : ["English","Dutch","Esperanto"],
 "updated" : "2006-06-06T12:12:12Z",
@@ -145,20 +147,6 @@
 "religion" : "druidic",
 "romance" : "twice a year",
 "scaredOf" : "COBOL",
-"schools" : [{
-"address" : {
-"formatted" : "1 Edu St."
-},
-"description" : "High School",
-"endDate" : "1991-01-01",
-"field" : "",
-"name" : "",
-"salary" : "",
-"startDate" : "1982-01-01",
-"subField" : "",
-"title" : "",
-"webpage" : ""
-}],
 "sexualOrientation" : "north",
 "smoker" : {
 "value" : "NO",