streams-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sblack...@apache.org
Subject svn commit: r1556893 [24/25] - in /incubator/streams/branches/sblackmon: ./ streams-config-graph/ streams-config-graph/src/ streams-config-graph/src/main/ streams-config-graph/src/main/java/ streams-config-graph/src/main/java/org/ streams-config-graph/...
Date Thu, 09 Jan 2014 17:27:58 GMT
Added: incubator/streams/branches/sblackmon/streams-core/src/main/java/org/apache/streams/core/StreamsPersistReader.java
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-core/src/main/java/org/apache/streams/core/StreamsPersistReader.java?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-core/src/main/java/org/apache/streams/core/StreamsPersistReader.java (added)
+++ incubator/streams/branches/sblackmon/streams-core/src/main/java/org/apache/streams/core/StreamsPersistReader.java Thu Jan  9 17:27:50 2014
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.streams.core;
+
+import org.joda.time.DateTime;
+
+import java.math.BigInteger;
+
+/**
+ * Created by sblackmon on 12/13/13.
+ */
+public interface StreamsPersistReader {
+
+    void start();
+    void stop();
+
+    public StreamsResultSet readAll();
+    public StreamsResultSet readNew(BigInteger sequence);
+    public StreamsResultSet readRange(DateTime start, DateTime end);
+
+}

Added: incubator/streams/branches/sblackmon/streams-core/src/main/java/org/apache/streams/core/StreamsPersistWriter.java
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-core/src/main/java/org/apache/streams/core/StreamsPersistWriter.java?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-core/src/main/java/org/apache/streams/core/StreamsPersistWriter.java (added)
+++ incubator/streams/branches/sblackmon/streams-core/src/main/java/org/apache/streams/core/StreamsPersistWriter.java Thu Jan  9 17:27:50 2014
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.streams.core;
+
+/**
+ * Created by sblackmon on 12/13/13.
+ */
+public interface StreamsPersistWriter {
+
+    void start();
+    void stop();
+
+    public void write( StreamsDatum entry );
+
+}

Added: incubator/streams/branches/sblackmon/streams-core/src/main/java/org/apache/streams/core/StreamsProcessor.java
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-core/src/main/java/org/apache/streams/core/StreamsProcessor.java?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-core/src/main/java/org/apache/streams/core/StreamsProcessor.java (added)
+++ incubator/streams/branches/sblackmon/streams-core/src/main/java/org/apache/streams/core/StreamsProcessor.java Thu Jan  9 17:27:50 2014
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.streams.core;
+
+/**
+ * Created by sblackmon on 12/13/13.
+ */
+public interface StreamsProcessor {
+
+    void start();
+    void stop();
+
+    public StreamsDatum process( StreamsDatum entry );
+
+}

Added: incubator/streams/branches/sblackmon/streams-core/src/main/java/org/apache/streams/core/StreamsProvider.java
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-core/src/main/java/org/apache/streams/core/StreamsProvider.java?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-core/src/main/java/org/apache/streams/core/StreamsProvider.java (added)
+++ incubator/streams/branches/sblackmon/streams-core/src/main/java/org/apache/streams/core/StreamsProvider.java Thu Jan  9 17:27:50 2014
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.streams.core;
+
+import org.joda.time.DateTime;
+
+import java.math.BigInteger;
+
+/**
+ * Created by sblackmon on 12/13/13.
+ */
+public interface StreamsProvider {
+
+    void start();
+    void stop();
+
+    public StreamsResultSet readCurrent();
+    public StreamsResultSet readNew(BigInteger sequence);
+    public StreamsResultSet readRange(DateTime start, DateTime end);
+
+}

Added: incubator/streams/branches/sblackmon/streams-core/src/main/java/org/apache/streams/core/StreamsResultSet.java
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-core/src/main/java/org/apache/streams/core/StreamsResultSet.java?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-core/src/main/java/org/apache/streams/core/StreamsResultSet.java (added)
+++ incubator/streams/branches/sblackmon/streams-core/src/main/java/org/apache/streams/core/StreamsResultSet.java Thu Jan  9 17:27:50 2014
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.streams.core;
+
+import java.math.BigInteger;
+
+public interface StreamsResultSet extends Iterable<StreamsDatum> {
+    /**
+     * Get the time that the result set started collecting
+     * @return long representing time since epoch
+     */
+    long getStartTime();
+
+    /**
+     * Get the time that the result set stopped collecting
+     * @return long representing time since epoch
+     */
+    long getEndTime();
+
+    /**
+     * Get the source Unique identifier
+     * @return String id
+     */
+    String getSourceId();
+
+    /**
+     * Get the maximum id of the items in the result set
+     * @return the max sequence ID
+     */
+    BigInteger getMaxSequence();
+}

Added: incubator/streams/branches/sblackmon/streams-pojo-extensions/pom.xml
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo-extensions/pom.xml?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo-extensions/pom.xml (added)
+++ incubator/streams/branches/sblackmon/streams-pojo-extensions/pom.xml Thu Jan  9 17:27:50 2014
@@ -0,0 +1,149 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <groupId>org.apache.streams</groupId>
+        <artifactId>streams-project</artifactId>
+        <version>0.1-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>streams-pojo-extensions</artifactId>
+
+    <properties>
+    <streams.version>0.1-SNAPSHOT</streams.version>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.streams</groupId>
+            <artifactId>streams-pojo</artifactId>
+            <version>${streams.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-annotations</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.jsonschema2pojo</groupId>
+            <artifactId>jsonschema2pojo-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.google.guava</groupId>
+            <artifactId>guava</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <sourceDirectory>src/main/java</sourceDirectory>
+        <testSourceDirectory>src/test/java</testSourceDirectory>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+            </resource>
+        </resources>
+        <testResources>
+            <testResource>
+                <directory>src/test/resources</directory>
+            </testResource>
+        </testResources>
+        <plugins>
+            <!--<plugin>-->
+                <!--<artifactId>maven-remote-resources-plugin</artifactId>-->
+                <!--<configuration>-->
+                    <!--<resourceBundles>-->
+                        <!--<resourceBundle>org.apache.streams:shared-resources:${project.version}</resourceBundle>-->
+                    <!--</resourceBundles>-->
+                <!--</configuration>-->
+                <!--<executions>-->
+                    <!--<execution>-->
+                        <!--<id>process-remote-resources</id>-->
+                        <!--<goals>-->
+                            <!--<goal>process</goal>-->
+                        <!--</goals>-->
+                    <!--</execution>-->
+                <!--</executions>-->
+                <!--<configuration>-->
+                    <!--<includes>-->
+                        <!--<include>**/*.json</include>-->
+                    <!--</includes>-->
+                <!--</configuration>-->
+            <!--</plugin>-->
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <version>1.8</version>
+                <executions>
+                    <execution>
+                        <id>add-source</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>add-source</goal>
+                        </goals>
+                        <configuration>
+                            <sources>
+                                <source>target/generated-sources/jsonschema2pojo</source>
+                            </sources>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.jsonschema2pojo</groupId>
+                <artifactId>jsonschema2pojo-maven-plugin</artifactId>
+                <configuration>
+                    <addCompileSourceRoot>true</addCompileSourceRoot>
+                    <generateBuilders>true</generateBuilders>
+                    <sourcePaths>
+                        <sourcePath>src/main/jsonschema/org/apache/streams</sourcePath>
+                    </sourcePaths>
+                    <outputDirectory>target/generated-sources/jsonschema2pojo</outputDirectory>
+                    <targetPackage>org.apache.streams</targetPackage>
+                    <useLongIntegers>true</useLongIntegers>
+                    <useJodaDates>false</useJodaDates>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>generate</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>
\ No newline at end of file

Added: incubator/streams/branches/sblackmon/streams-pojo-extensions/src/main/jsonschema/org/apache/streams/ActivityExtended.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo-extensions/src/main/jsonschema/org/apache/streams/ActivityExtended.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo-extensions/src/main/jsonschema/org/apache/streams/ActivityExtended.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo-extensions/src/main/jsonschema/org/apache/streams/ActivityExtended.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,17 @@
+{
+    "type": "object",
+    "title" : "activity",
+    "$schema": "http://json-schema.org/draft-03/schema",
+    "id": "#",
+    "javaType" : "org.apache.streams.pojo.json.ActivityExtended",
+    "properties": {
+        "extensions": {
+            "type": "object",
+            "dynamic": "true",
+            "required": false,
+            "description": "Extension fields go here.",
+            "javaType" : "org.apache.streams.pojo.json.Extensions"
+        }
+    },
+    "extends": "file://../../../../../../../streams-pojo/src/main/jsonschema/org/apache/streams/pojo/activity.json"
+}
\ No newline at end of file

Added: incubator/streams/branches/sblackmon/streams-pojo-extensions/src/test/java/org/apache/streams/pojo/test/ActivityExtendedSerDeTest.java
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo-extensions/src/test/java/org/apache/streams/pojo/test/ActivityExtendedSerDeTest.java?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo-extensions/src/test/java/org/apache/streams/pojo/test/ActivityExtendedSerDeTest.java (added)
+++ incubator/streams/branches/sblackmon/streams-pojo-extensions/src/test/java/org/apache/streams/pojo/test/ActivityExtendedSerDeTest.java Thu Jan  9 17:27:50 2014
@@ -0,0 +1,108 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.streams.pojo.json.test;
+
+import com.google.common.base.Joiner;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.io.input.BoundedInputStream;
+import org.apache.streams.pojo.json.ActivityExtended;
+import org.apache.streams.pojo.json.Activity;
+import org.apache.streams.pojo.json.Extensions;
+import org.codehaus.jackson.map.DeserializationConfig;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.Ignore;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.InputStream;
+import java.util.Map;
+
+/**
+ * Created with IntelliJ IDEA.
+ * User: sblackmon
+ * Date: 8/20/13
+ * Time: 5:57 PM
+ * To change this template use File | Settings | File Templates.
+ */
+public class ActivityExtendedSerDeTest {
+
+    private final static Logger LOGGER = LoggerFactory.getLogger(ActivityExtendedSerDeTest.class);
+
+    private ObjectMapper mapper = new ObjectMapper();
+
+    @Test
+    public void TestActivity()
+    {
+        mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, Boolean.FALSE);
+        mapper.configure(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY, Boolean.TRUE);
+        mapper.configure(DeserializationConfig.Feature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, Boolean.TRUE);
+
+        InputStream is = ActivityExtendedSerDeTest.class.getResourceAsStream("/gnip_twitter_extended.json");
+        Joiner joiner = Joiner.on(" ").skipNulls();
+        is = new BoundedInputStream(is, 10000);
+        String json;
+        try {
+            json = joiner.join(IOUtils.readLines(is));
+            LOGGER.debug(json);
+
+            Activity ser = mapper.readValue(json, Activity.class);
+
+            String des = mapper.writeValueAsString(ser);
+            LOGGER.debug(des);
+
+        } catch( Exception e ) {
+            e.printStackTrace();
+            Assert.fail();
+        }
+    }
+
+    @Ignore
+    @Test
+    public void TestActivityExtended()
+    {
+        mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, Boolean.FALSE);
+        mapper.configure(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY, Boolean.TRUE);
+        mapper.configure(DeserializationConfig.Feature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, Boolean.TRUE);
+
+        InputStream is = ActivityExtendedSerDeTest.class.getResourceAsStream("/gnip_twitter_extended.json");
+        Joiner joiner = Joiner.on(" ").skipNulls();
+        is = new BoundedInputStream(is, 10000);
+        String json;
+        try {
+            json = joiner.join(IOUtils.readLines(is));
+            LOGGER.debug(json);
+
+            ActivityExtended ser = mapper.readValue(json, ActivityExtended.class);
+
+            Extensions extensions = ser.getExtensions();
+
+            String des = mapper.writeValueAsString(extensions);
+
+            Assert.assertTrue(extensions.getAdditionalProperties().size() > 0);
+            LOGGER.debug(des);
+
+        } catch( Exception e ) {
+            e.printStackTrace();
+            Assert.fail();
+        }
+    }
+}

Added: incubator/streams/branches/sblackmon/streams-pojo-extensions/src/test/resources/gnip_twitter_extended.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo-extensions/src/test/resources/gnip_twitter_extended.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo-extensions/src/test/resources/gnip_twitter_extended.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo-extensions/src/test/resources/gnip_twitter_extended.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,146 @@
+{
+    "gnip": {
+        "matching_rules": [
+            {
+                "tag": "cascade_CA_CA_en"
+            }
+        ],
+        "klout_score": 10,
+        "urls": [
+            {
+                "expanded_url": "https://itunes.apple.com/us/app/smurfs-village/id399648212?mt=8",
+                "url": "http://t.co/Ytn45Pbttk"
+            }
+        ],
+        "klout_profile": {
+            "topics": [],
+            "klout_user_id": "257268143479895040",
+            "link": "http://klout.com/user/id/257268143479895040"
+        },
+        "language": {
+            "value": "fr"
+        }
+    },
+    "body": "Le Grand Schtroumpf confirme que la cascade magique n'est \"Plus tr?®s loin.\" http://t.co/Ytn45Pbttk #SmurfsVillage @BeelineGames",
+    "favoritesCount": 0,
+    "link": "http://twitter.com/spoffff/statuses/372802927385403392",
+    "retweetCount": 0,
+    "twitter_lang": "fr",
+    "postedTime": "2013-08-28T19:28:38.000Z",
+    "provider": {
+        "id": "{link}",
+        "upstreamDuplicates": [],
+        "link": "http://www.twitter.com",
+        "attachments": [],
+        "displayName": "Twitter",
+        "objectType": "service",
+        "downstreamDuplicates": []
+    },
+    "links": [],
+    "actor": {
+        "twitterTimeZone": "Brussels",
+        "friendsCount": 6,
+        "favoritesCount": 0,
+        "link": "http://www.twitter.com/spoffff",
+        "image": {
+            "url": "https://si0.twimg.com/sticky/default_profile_images/default_profile_1_normal.png"
+        },
+        "postedTime": "2012-05-18T15:14:35.000Z",
+        "links": [
+            {
+                "rel": "me",
+                "href": null
+            }
+        ],
+        "listedCount": 0,
+        "downstreamDuplicates": [],
+        "id": "id:twitter.com:583891967",
+        "upstreamDuplicates": [],
+        "languages": [
+            "fr"
+        ],
+        "verified": false,
+        "utcOffset": "7200",
+        "followersCount": 0,
+        "attachments": [],
+        "displayName": "Sabine Chappuis",
+        "preferredUsername": "spoffff",
+        "statusesCount": 87,
+        "objectType": "person"
+    },
+    "object": {
+        "id": "object:search.twitter.com,2005:372802927385403392",
+        "summary": "Le Grand Schtroumpf confirme que la cascade magique n'est \"Plus tr?®s loin.\" http://t.co/Ytn45Pbttk #SmurfsVillage @BeelineGames",
+        "upstreamDuplicates": [],
+        "link": "http://twitter.com/spoffff/statuses/372802927385403392",
+        "postedTime": "2013-08-28T19:28:38.000Z",
+        "attachments": [],
+        "objectType": "note",
+        "downstreamDuplicates": []
+    },
+    "twitter_entities": {
+        "symbols": [],
+        "urls": [
+            {
+                "expanded_url": "http://bit.ly/hUmoRz",
+                "indices": [
+                    77,
+                    99
+                ],
+                "display_url": "bit.ly/hUmoRz",
+                "url": "http://t.co/Ytn45Pbttk"
+            }
+        ],
+        "hashtags": [
+            {
+                "text": "SmurfsVillage",
+                "indices": [
+                    100,
+                    114
+                ]
+            }
+        ],
+        "user_mentions": [
+            {
+                "id": 188075479,
+                "name": "Beeline Interactive",
+                "indices": [
+                    115,
+                    128
+                ],
+                "screen_name": "BeelineGames",
+                "id_str": "188075479"
+            }
+        ]
+    },
+    "extensions": {
+        "w2o": {
+            "tags": [
+                "brand-cascade",
+                "language-en",
+                "country-ca"
+            ],
+            "provider": "twitter",
+            "analyzer": "romance_analyzer",
+            "lang": {
+                "primaryLanguage": "en"
+            }
+        }
+    },
+    "twitter_filter_level": "medium",
+    "guid": "A8fccSz7rpKfDJY078VLyw==_201308",
+    "content": "Le Grand Schtroumpf confirme que la cascade magique n'est \"Plus tr?®s loin.\" http://t.co/Ytn45Pbttk #SmurfsVillage @BeelineGames",
+    "id": "tag:search.twitter.com,2005:372802927385403392",
+    "verb": "post",
+    "generator": {
+        "id": "{link}",
+        "upstreamDuplicates": [],
+        "link": "https://itunes.apple.com/us/app/smurfs-village/id399648212?mt=8&uo=4",
+        "attachments": [],
+        "displayName": "Smurfs' Village on iOS",
+        "downstreamDuplicates": []
+    },
+    "published": "2013-08-28T19:28:38Z",
+    "objectType": "activity"
+
+}
\ No newline at end of file

Added: incubator/streams/branches/sblackmon/streams-pojo/pom.xml
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/pom.xml?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/pom.xml (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/pom.xml Thu Jan  9 17:27:50 2014
@@ -0,0 +1,198 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.streams</groupId>
+        <artifactId>streams-project</artifactId>
+        <version>0.1-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>streams-pojo</artifactId>
+
+    <name>streams-pojo</name>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>org.jsonschema2pojo</groupId>
+            <artifactId>jsonschema2pojo-core</artifactId>
+            <type>jar</type>
+            <scope>compile</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-core</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.fasterxml.jackson.dataformat</groupId>
+            <artifactId>jackson-dataformat-xml</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.fasterxml</groupId>
+            <artifactId>jackson-xml-databind</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.fasterxml</groupId>
+            <artifactId>aalto-xml</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.fasterxml</groupId>
+            <artifactId>aalto-xml</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>joda-time</groupId>
+            <artifactId>joda-time</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>nz.net.ultraq.jaxb</groupId>
+            <artifactId>jaxb-utilities</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.11</version>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>1.6.1</version>
+        </dependency>
+
+        <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <version>1.0.9</version>
+        </dependency>
+
+    </dependencies>
+
+    <build>
+        <sourceDirectory>src/main/java</sourceDirectory>
+        <testSourceDirectory>src/test/java</testSourceDirectory>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+            </resource>
+        </resources>
+        <testResources>
+            <testResource>
+                <directory>src/test/resources</directory>
+            </testResource>
+        </testResources>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <version>1.8</version>
+                <executions>
+                    <execution>
+                        <id>add-source</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>add-source</goal>
+                        </goals>
+                        <configuration>
+                            <sources>
+                                <source>target/generated-sources/jsonschema2pojo</source>
+                            </sources>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>add-source-jaxb2</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>add-source</goal>
+                        </goals>
+                        <configuration>
+                            <sources>
+                                <source>target/generated-sources/jaxb2</source>
+                            </sources>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.jsonschema2pojo</groupId>
+                <artifactId>jsonschema2pojo-maven-plugin</artifactId>
+                <version>0.4.0</version>
+                <configuration>
+                    <addCompileSourceRoot>true</addCompileSourceRoot>
+                    <generateBuilders>true</generateBuilders>
+                    <sourcePaths>
+                        <sourcePath>src/main/jsonschema/org/apache/streams/pojo/json</sourcePath>
+                        <sourcePath>src/main/jsonschema/org/apache/streams/pojo/json/objectTypes</sourcePath>
+                        <sourcePath>src/main/jsonschema/org/apache/streams/pojo/json/verbs</sourcePath>
+                    </sourcePaths>
+                    <outputDirectory>target/generated-sources/jsonschema2pojo</outputDirectory>
+                    <targetPackage>org.apache.streams.pojo.json</targetPackage>
+                    <useLongIntegers>true</useLongIntegers>
+                    <useJodaDates>false</useJodaDates>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>generate</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.jvnet.jaxb2.maven2</groupId>
+                <artifactId>maven-jaxb2-plugin</artifactId>
+                <version>0.8.3</version>
+                <configuration>
+                    <schemaDirectory>src/main/xmlschema/org/apache/streams/pojo/xml</schemaDirectory>
+                    <generateDirectory>target/generated-sources/jaxb2</generateDirectory>
+                    <verbose>true</verbose>
+                    <debug>true</debug>
+                    <encoding>${project.build.sourceEncoding}</encoding>
+                    <forceRegenerate>true</forceRegenerate>
+                    <removeOldOutput>false</removeOldOutput>
+                    <generatePackage>org.apache.streams.pojo.xml</generatePackage>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>generate</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/java/org/apache/streams/data/ActivitySerializer.java
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/java/org/apache/streams/data/ActivitySerializer.java?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/java/org/apache/streams/data/ActivitySerializer.java (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/java/org/apache/streams/data/ActivitySerializer.java Thu Jan  9 17:27:50 2014
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.streams.data;
+
+import org.apache.streams.pojo.json.Activity;
+
+import java.util.List;
+
+/**
+ * Serializes and deserializes Activities from a String
+ */
+public interface ActivitySerializer {
+
+    /**
+     * Gets the supported content type that can be deserialized/serialized
+     *
+     * @return A string representing the format name.  Can be an IETF MIME type or other
+     */
+    String serializationFormat();
+
+    /**
+     * Converts the activity to a String representation.
+     *
+     * @param deserialized the string
+     * @return a fully populated Activity object
+     */
+    String serialize(Activity deserialized);
+
+    /**
+     * Converts a string into an Activity
+     * @param serialized the string representation
+     * @return a fully populated Activity object
+     */
+    Activity deserialize(String serialized);
+
+    /**
+     * Converts a string representing multiple activities into a list of Activity objects
+     * @param serializedList a String representation of a List
+     * @return a list of fully populated activities
+     */
+    List<Activity> deserializeAll(String serializedList);
+}

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/java/org/apache/streams/data/util/ActivityUtil.java
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/java/org/apache/streams/data/util/ActivityUtil.java?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/java/org/apache/streams/data/util/ActivityUtil.java (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/java/org/apache/streams/data/util/ActivityUtil.java Thu Jan  9 17:27:50 2014
@@ -0,0 +1,116 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.streams.data.util;
+
+import org.apache.streams.pojo.json.Activity;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Utility class for managing activities
+ */
+public class ActivityUtil {
+    private ActivityUtil() {}
+
+    /**
+     * Property on the activity object to use for extensions
+     */
+    public static final String EXTENSION_PROPERTY = "extensions";
+    /**
+     * The number of +1, Like, favorites, etc that the post has received
+     */
+    public static final String LIKES_EXTENSION = "likes";
+    /**
+     * The number of retweets, shares, etc that the post has received
+     */
+    public static final String REBROADCAST_EXTENSION = "rebroadcasts";
+    /**
+     * The language of the post
+     */
+    public static final String LANGUAGE_EXTENSION = "language";
+    /**
+     * Location that the post was made or the actor's residence
+     */
+    public static final String LOCATION_EXTENSION = "location";
+    /**
+     * Country that the post was made
+     */
+    public static final String LOCATION_EXTENSION_COUNTRY = "country";
+    /**
+     * Specific JSON-geo coordinates (long,lat)
+     */
+    public static final String LOCATION_EXTENSION_COORDINATES = "coordinates";
+
+    /**
+     * Creates a standard extension property
+     * @param activity activity to create the property in
+     * @return the Map representing the extensions property
+     */
+    @SuppressWarnings("unchecked")
+    public static Map<String, Object> ensureExtensions(Activity activity) {
+        Map<String, Object> properties = (Map)activity.getAdditionalProperties().get(EXTENSION_PROPERTY);
+        if(properties == null) {
+            properties = new HashMap<String, Object>();
+            activity.setAdditionalProperty(EXTENSION_PROPERTY, properties);
+        }
+        return properties;
+    }
+
+    /**
+     * Gets a formatted ID
+     * @param providerName name of the provider
+     * @param personId ID of the person within the system
+     * @return id:<providerName>:people:<personId>
+     */
+    public static String getPersonId(String providerName, String personId) {
+        return String.format("id:%s:people:%s", providerName, personId);
+    }
+
+    /**
+     * Gets a formatted provider ID
+     * @param providerName name of the provider
+     * @return id:providers:<providerName>
+     */
+    public static String getProviderId(String providerName) {
+        return String.format("id:providers:%s", providerName);
+    }
+
+    /**
+     * Gets a formatted object ID
+     * @param provider name of the provider
+     * @param objectType type of the object
+     * @param objectId the ID of the object
+     * @return id:<provider>:<objectType>s:<objectId>
+     */
+    public static String getObjectId(String provider, String objectType, String objectId) {
+        return String.format("id:%s:%ss:%s", provider, objectType, objectId);
+    }
+
+    /**
+     * Gets a formatted activity ID
+     * @param providerName name of the provider
+     * @param activityId ID of the provider
+     * @return id:<providerName>:activities:<activityId>
+     */
+    public static String getActivityId(String providerName, String activityId) {
+        return String.format("id:%s:activities:%s", providerName, activityId);
+    }
+
+}

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/java/org/apache/streams/data/util/JsonUtil.java
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/java/org/apache/streams/data/util/JsonUtil.java?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/java/org/apache/streams/data/util/JsonUtil.java (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/java/org/apache/streams/data/util/JsonUtil.java Thu Jan  9 17:27:50 2014
@@ -0,0 +1,126 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.streams.data.util;
+
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import java.io.*;
+import java.util.List;
+
+/**
+ * JSON utilities
+ */
+public class JsonUtil {
+
+    private JsonUtil() {}
+
+    public static JsonNode jsonToJsonNode(String json) {
+        ObjectMapper mapper = new ObjectMapper();
+        JsonFactory factory = mapper.getFactory();
+
+        JsonNode node;
+        try {
+            JsonParser jp = factory.createJsonParser(json);
+            node = mapper.readTree(jp);
+        } catch (IOException e) {
+            throw new RuntimeException("IO exception while reading JSON", e);
+        }
+        return node;
+    }
+
+    public static String jsonNodeToJson(JsonNode node) {
+        ObjectMapper mapper = new ObjectMapper();
+        try {
+            return mapper.writeValueAsString(node);
+        } catch (JsonProcessingException e) {
+            throw new RuntimeException("IO exception while writing JSON", e);
+        }
+    }
+
+    public static <T> T jsonToObject(String json, Class<T> clazz) {
+        ObjectMapper mapper = new ObjectMapper();
+        try {
+            return mapper.readValue(json, clazz);
+        } catch (IOException e) {
+            throw new RuntimeException("Could not map to object");
+        }
+    }
+
+    public static <T> T jsonNodeToObject(JsonNode node, Class<T> clazz) {
+        ObjectMapper mapper = new ObjectMapper();
+        return mapper.convertValue(node, clazz);
+    }
+
+    public static <T> JsonNode objectToJsonNode(T obj) {
+        ObjectMapper mapper = new ObjectMapper();
+        return mapper.valueToTree(obj);
+    }
+
+    public static <T> List<T> jsoNodeToList(JsonNode node, Class<T> clazz) {
+        ObjectMapper mapper = new ObjectMapper();
+        return mapper.convertValue(node, new TypeReference<List<T>>() {});
+    }
+
+    public static <T> String objectToJson(T object) {
+        ObjectMapper mapper = new ObjectMapper();
+        try {
+            return mapper.writeValueAsString(object);
+        } catch (IOException e) {
+            throw new RuntimeException("Could not map to object");
+        }
+    }
+
+    public static <T> T getObjFromFile(String filePath, Class<T> clazz) {
+        return jsonNodeToObject(getFromFile(filePath), clazz);
+    }
+
+    public static JsonNode getFromFile(String filePath) {
+        ObjectMapper mapper = new ObjectMapper();
+        JsonFactory factory = mapper.getFactory(); // since 2.1 use mapper.getFactory() instead
+
+        JsonNode node = null;
+        try {
+            InputStream stream = getStreamForLocation(filePath);
+            JsonParser jp = factory.createParser(stream);
+            node = mapper.readTree(jp);
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+        return node;
+    }
+
+    private static InputStream getStreamForLocation(String filePath) throws FileNotFoundException {
+        InputStream stream = null;
+        if(filePath.startsWith("file:///")) {
+            stream = new FileInputStream(filePath.replace("file:///", ""));
+        } else if(filePath.startsWith("file:") || filePath.startsWith("/")) {
+            stream = new FileInputStream(filePath.replace("file:", ""));
+        } else {
+            //Assume classpath
+            stream = JsonUtil.class.getClassLoader().getResourceAsStream(filePath.replace("classpath:", ""));
+        }
+
+        return stream;
+    }
+}

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/activity.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/activity.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/activity.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/activity.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,87 @@
+{
+  "type" : "object",
+  "title" : "activity",
+  "javaType": "org.apache.streams.pojo.json.Activity",
+  "description" : "An activity construct recounts what an actor did to an object in the past. If there is no actor it simply describes the change.",
+  "additionalProperties": true,
+  "properties": {
+    "id" :{
+      "type" : "string",
+      "description" : "Uniquely identifies each activity within the service",
+      "default" :"{url}"
+    },
+    "actor" : {
+      "type": "object",
+      "required": true,
+      "description": "Describes the entity that performed the activity. An activity MUST contain one actor property whose value is a single Object.",
+      "extends" : { "$ref" : "./object.json" }
+    },
+    "verb" : {
+      "title" : "verb",
+      "type" : "string",
+      "default": "post",
+      "required": true,
+      "description" :"Identifies the action that the activity describes. An activity MUST contain a verb property whose value is a JSON String that is non-empty and matches either the \"isegment-nz-nc\" or the \"IRI\" production in [RFC3987]. Note that the use of a relative reference other than a simple name is not allowed."
+    },
+    "object" : {
+      "type": "object",
+      "required" : true,
+      "description" : "Describes the primary object of the activity. For instance, in the activity, \"John saved a movie to his wishlist\", the object of the activity is \"movie\". An activity SHOULD contain an object property whose value is a single Object. If the object property is not contained, the primary object of the activity MAY be implied by context.",
+      "$ref" : "./object.json"
+    },
+    "target" : {
+      "type": "object",
+      "description" : "Describes the target of the activity. The precise meaning of the activity's target is dependent on the activities verb, but will often be the object the English preposition \"to\". For instance, in the activity, \"John saved a movie to his wishlist\", the target of the activity is \"wishlist\". The activity target MUST NOT be used to identity an indirect object that is not a target of the activity. An activity MAY contain a target property whose value is a single Object.",
+      "$ref" : "./object.json"
+    },
+    "published" : {
+      "type" : "string",
+      "description": "The date and time at which the activity occurred. It is important to note that this is not necessarily the same as the time at which the activity was published. An activity MUST contain a postedTime property.",
+      "format" : "date-time"
+    },
+	"updated" : {
+      "type" : "string",
+      "description": "The date and time at which a previously published activity has been modified. An Activity MAY contain an updatedTime property",
+      "format" : "date-time"
+    },
+    "generator" : {
+      "type": "object",
+      "description": "Describes the application that generated the activity. An activity MAY contain a generator property whose value is a single Object.",
+      "extends" : { "$ref" : "./object.json" }
+    },
+    "icon" : {
+      "type": "object",
+      "properties" :{"$ref":"./media_link.json#properties"},
+      "description": "An IRI[RFC3987] identifying an image resource provides a visual representation of the activity, intended for human consumption. The image SHOULD have an aspect ratio of one (horizontal) to one (vertical) and SHOULD be suitable for presentation at a small size. An activity MAY have an icon property"
+    },
+    "provider" : {
+      "type": "object",
+      "description" : "Describes the application that published the activity. Note that this is not necessarily the same entity that generated the activity. An activity MAY contain a provider property whose value is a single Object",
+      "extends" : { "$ref" : "./object.json" }
+    },
+    "title" : {
+      "type" : "string",
+      "description" : "Natural-language title or headline for the activity encoded as a single JSON String containing HTML markup. An activity MAY contain a title property",
+      "format": "html"
+    },
+    "content" : {
+      "type" : "string",
+      "description" : "Natural-language description of the activity encoded as a single JSON String containing HTML markup. Visual elements such as thumbnail images MAY be included. An activity MAY contain a content property",
+      "format" : "html"
+    },
+    "url" : {
+      "type" : "string",
+      "description" : "An IRI [RFC3987] identifying a resource providing an HTML representation of the activity. An activity MAY contain a url property",
+      "format" : "url"
+    },
+    "links" : {
+      "type" : "array",
+      "description" :"Links between this object and other resources as defined in Web Linking",
+      "note": "Tell JSON schema team to not put links inside http://json-schema.org/hyper-schema#properties",
+      "properties" : {"$ref" : "http://json-schema.org/links#properties"}
+    }
+  },
+  "links": [
+       {"rel": "describedby", "href": "./verbs/{verb}.json"}
+     ]
+}

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/collection.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/collection.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/collection.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/collection.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,34 @@
+{
+  "type" : "object",
+  "title" : "collection",
+  "javaType": "org.apache.streams.pojo.json.Collection",
+  "description" : "A collection is a generic list of Objects of any object type. The objectType of each item in the collection MAY be omitted if the type of object can be established through context. The collection is used primarily as the root of an Activity Streams document, but can be used as the value of extension properties in a variety of situations. ",
+  "properties" : {
+    "url" : {
+      "type" : "string",
+      "description": "An IRI [RFC3987] referencing a JSON document containing the full listing of objects in the collection."
+    },
+    "totalItems": {
+      "type" : "number",
+      "description" : "Non-negative integer specifying the total number of activities within the stream. The Stream serialization MAY contain a count property."
+    },
+    "items" : {
+      "type" : "array",
+      "required" : true,
+      "description" : "An array containing a listing of Objects of any object type. If used in combination with the url property, the items array can be used to provide a subset of the objects that may be found in the resource identified by the url.",
+      "items": {
+        "type" : "object",
+        "extends" :{"$ref":"./object.json"}
+      }
+    },
+    "links" : {
+      "type" : "array",
+      "optional" : true,
+      "description" :"Links between an this object and other resources as defined in Web Linking",
+      "extends" : {"$ref" : "http://json-schema.org/links#properties"}
+    }
+  },
+  "links": [
+       {"rel": "describedby", "href": "http://json-schema.org/schema"}
+     ]
+}
\ No newline at end of file

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/media_link.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/media_link.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/media_link.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/media_link.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,28 @@
+{
+  "type" : "object",
+  "title" : "media_link",
+  "javaType": "org.apache.streams.pojo.json.MediaLink",
+  "description" : "Visual representation of an object in the form of an image, video or embedded HTML fragments",
+  "properties": {
+    "duration" : {
+      "title" : "duration",
+      "type" : "number",
+      "description" :"A hint to the consumer about the length, in seconds, of the media resource identified by the url property. A media link MAY contain a \"duration\" property when the target resource is a time-based media item such as an audio or video."
+    },
+	"height" : {
+      "title" : "height",
+      "type" : "number",
+      "description" :"A hint to the consumer about the height, in pixels, of the media resource identified by the url property. A media link MAY contain a height property when the target resource is a visual media item such as an image, video or embeddable HTML page."
+    },
+	"width" : {
+      "title" : "width",
+      "type" : "number",
+      "description" :"A hint to the consumer about the width, in pixels, of the media resource identified by the url property. A media link MAY contain a width property when the target resource is a visual media item such as an image, video or embeddable HTML page."
+    },
+    "url" : {
+      "type": "string",
+      "required" : true,
+      "description" : "The IRI of the media resource being linked. A media link MUST have a url property."
+    }
+  }
+}

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/object.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/object.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/object.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/object.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,78 @@
+{
+  "type" : "object",
+  "title" : "object",
+  "javaType": "org.apache.streams.pojo.json.ActivityObject",
+  "description" : "Basic object on the web. The only required property is the id",
+  "properties" : {
+    "id" : {
+      "type" : "string",
+      "description" : "Provides a permanent, universally unique identifier for the object in the form of an absolute IRI [RFC3987]. An object SHOULD contain a single id property. If an object does not contain an id property, consumers MAY use the value of the url property as a less-reliable, non-unique identifier.",
+      "default" : "{link}"
+    },
+    "image" : {
+      "format":"image",
+      "type":"object",
+      "extends" :{"$ref":"./media_link.json"},
+      "description" : "Description of a resource providing a visual representation of the object, intended for human consumption. An object MAY contain an image property whose value is a Media Link."
+    },
+    "displayName" : {
+      "type":"string",
+      "description" : "A natural-language, human-readable and plain-text name for the object. HTML markup MUST NOT be included. An object MAY contain a displayName property. If the object does not specify an objectType property, the object SHOULD specify a displayName"
+    },
+    "summary" : {
+      "type" : "string",
+      "description" : "Natural-language summary of the object encoded as a single JSON String containing HTML markup. Visual elements such as thumbnail images MAY be included. An activity MAY contain a summary property"
+    },
+    "content" : {
+      "type" : "string",
+      "description" : "Natural-language description of the object encoded as a single JSON String containing HTML markup. Visual elements such as thumbnail images MAY be included. An object MAY contain a content property"
+    },
+    "url" : {
+      "type" : "string",
+      "format" : "url",
+      "description" : "An IRI [RFC3987] identifying a resource providing an HTML representation of the object. An object MAY contain a url property"
+    },
+    "objectType" :{
+      "type" : "string",
+      "description" : "Identifies the type of object. An object MAY contain an objectType property whose value is a JSON String that is non-empty and matches either the \"isegment-nz-nc\" or the \"IRI\" production in [RFC3987]. Note that the use of a relative reference other than a simple name is not allowed. If no objectType property is contained, the object has no specific type."
+    },
+    "author" : {
+      "type" : "object",
+      "description" : "Describes the entity that created or authored the object. An object MAY contain a single author property whose value is an Object of any type. Note that the author field identifies the entity that created the object and does not necessarily identify the entity that published the object. For instance, it may be the case that an object created by one person is posted and published to a system by an entirely different entity",
+      "extends" : { "$ref": "./object.json" }
+    },
+    "published" : {
+      "type" : "string",
+      "description": "[RFC3339] date-time. The date and time at which the object was published. An object MAY contain a published property",
+      "format" : "date-time"
+    },
+    "updated" : {
+      "type" : "string",
+      "description": "[RFC3339] date-time. The date and time at which a previously published object has been modified. An Object MAY contain an updated property.",
+      "format" : "date-time"
+    },
+    "attachments":{
+      "title" : "Related objects",
+      "description" : "A collection of one or more additional, associated objects, similar to the concept of attached files in an email message. An object MAY have an attachedObjects property whose value is a JSON Array of Objects.",
+      "type" : "array",
+      "items": {
+        "type" : "object",
+        "$ref" : "./object.json"
+      }
+    },
+    "upstreamDuplicates":{
+      "type" : "array",
+      "description" : "A JSON Array of one or more absolute IRI's [RFC3987] identifying objects that duplicate this object's content. An object SHOULD contain an upstreamDuplicates property when a publisher is knowingly duplicating with a new ID the content from another object. This MAY be used as a hint for consumers to use when resolving duplicates between objects received from different sources",
+      "items": {"type" : "string"}
+    },
+    "downstreamDuplicates":{
+      "type" : "array",
+      "description" : "A JSON Array of one or more absolute IRI's [RFC3987] identifying objects that duplicate this object's content. An object SHOULD contain a downstreamDuplicates property when there are known objects, possibly in a different system, that duplicate the content in this object. This MAY be used as a hint for consumers to use when resolving duplicates between objects received from different sources.",
+      "items": {"type" : "string"}
+    }
+  },
+  "additionalProperties" : true,
+  "links": [
+       {"rel": "describedby", "href": "./objectType/{objectType}.json"}
+     ]
+}
\ No newline at end of file

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/article.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/article.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/article.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/article.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,11 @@
+{
+  "type" : "object",
+  "title" : "article",
+  "extends": {"$ref":"../object.json"},
+  "properties" :{
+    "objectType" :{
+      "type" :"string",
+      "default" : "article"
+    }
+  }
+}

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/audio.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/audio.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/audio.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/audio.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,11 @@
+{
+  "type" : "object",
+  "title" : "audio",
+  "extends": {"$ref":"../object.json"},
+  "properties" :{
+    "objectType" :{
+      "type" :"string",
+      "default" : "audio"
+    }
+  }
+}
\ No newline at end of file

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/bookmark.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/bookmark.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/bookmark.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/bookmark.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,11 @@
+{
+  "type" : "object",
+  "title" : "bookmark",
+  "extends": {"$ref":"../object.json"},
+  "properties" :{
+    "objectType" :{
+      "type" :"string",
+      "default" : "bookmark"
+    }
+  }
+}
\ No newline at end of file

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/comment.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/comment.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/comment.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/comment.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,11 @@
+{
+  "type" : "object",
+  "title" : "comment",
+  "extends": {"$ref":"../object.json"},
+  "properties" :{
+    "objectType" :{
+      "type" :"string",
+      "default" : "comment"
+    }
+  }
+}
\ No newline at end of file

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/event.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/event.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/event.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/event.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,13 @@
+{
+  "type" : "object",
+  "title" : "event",
+  "description" : "xCal fromat for vevent",
+  "extends": [{"$ref":"../object.json"},
+    {"$ref":"http://www.json-schema.org/calendar"}],
+  "properties" :{
+      "objectType" :{
+      "type" :"string",
+      "default" : "event"
+    }
+  }
+}

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/file.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/file.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/file.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/file.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,11 @@
+{
+  "type" : "object",
+  "title" : "file",
+  "extends": {"$ref":"../object.json"},
+  "properties" :{
+    "objectType" :{
+      "type" :"string",
+      "default" : "file"
+    }
+  }
+}
\ No newline at end of file

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/folder.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/folder.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/folder.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/folder.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,11 @@
+{
+  "type" : "object",
+  "title" : "folder",
+  "extends": {"$ref":"../object.json"},
+  "properties" :{
+    "objectType" :{
+      "type" :"string",
+      "default" : "folder"
+    }
+  }
+}
\ No newline at end of file

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/group.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/group.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/group.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/group.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,11 @@
+{
+  "type" : "object",
+  "title" : "group",
+  "extends": {"$ref":"../object.json"},
+  "properties" :{
+    "objectType" :{
+      "type" :"string",
+      "default" : "group"
+    }
+  }
+}
\ No newline at end of file

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/list.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/list.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/list.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/list.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,18 @@
+{
+  "type" : "object",
+  "title" : "list",
+  "extends": {"$ref":"../object.json"},
+  "properties" :{
+    "objectType" :{
+      "type" :"string",
+      "default" : "list"
+    },
+    "items" : {
+      "type" : "array",
+      "items" : {
+        "type" : "object",
+        "properties" : {"$ref":"../object.json"}
+      }
+    }
+  }
+}

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/note.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/note.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/note.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/note.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,11 @@
+{
+  "type" : "object",
+  "title" : "note",
+  "extends": {"$ref":"../object.json"},
+  "properties" :{
+    "objectType" :{
+      "type" :"string",
+      "default" : "note"
+    }
+  }
+}

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/person.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/person.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/person.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/person.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,13 @@
+{
+  "type" : "object",
+  "title" : "person",
+  "description" : "vCard Format. Does not match PoCO",
+  "extends": [{"$ref":"../object.json"},
+    {"$ref":"http://www.json-schema.org/card"}],
+  "properties" :{
+    "objectType" :{
+      "type" :"string",
+      "default" : "person"
+    }
+  }
+}

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/photo-album.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/photo-album.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/photo-album.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/photo-album.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,11 @@
+{
+  "type" : "object",
+  "title" : "article",
+  "extends": {"$ref":"../objectTypes/list.json"},
+  "properties" :{
+    "objectType" :{
+      "type" :"string",
+      "default" : "photo-album"
+    }
+  }
+}
\ No newline at end of file

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/photo.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/photo.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/photo.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/photo.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,15 @@
+{
+  "type" : "object",
+  "title" : "photo",
+  "extends": {"$ref":"../objectTypes/file.json"},
+  "properties" :{
+    "objectType" :{
+      "type" :"string",
+      "default" : "photo"
+    },
+    "displayName" : {
+      "type" : "string",
+      "default" : "a photo"
+    }
+  }
+}

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/place.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/place.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/place.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/place.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,11 @@
+{
+  "type" : "object",
+  "title" : "place",
+  "extends": [{"$ref":"../object.json"},{"$ref":"http://www.json-schema.org/address"}],
+  "properties" :{
+    "objectType" :{
+      "type" :"string",
+      "default" : "photo"
+     }
+  }
+}
\ No newline at end of file

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/playlist.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/playlist.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/playlist.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/playlist.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,11 @@
+{
+  "type" : "object",
+  "title" : "playlist",
+  "extends": {"$ref":"../objectTypes/list.json"},
+  "properties" :{
+    "objectType" :{
+      "type" :"string",
+      "default" : "playlist"
+     }
+  }
+}
\ No newline at end of file

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/product.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/product.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/product.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/product.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,11 @@
+{
+  "type" : "object",
+  "title" : "product",
+  "extends": {"$ref":"../object.json"},
+  "properties" :{
+    "objectType" :{
+      "type" :"string",
+      "default" : "product"
+     }
+  }
+}
\ No newline at end of file

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/property.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/property.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/property.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/property.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,38 @@
+{
+  "type" : "object",
+  "title" : "property",
+  "description" : "A property describes name, path and value. Can be used with delete, update or post verbs",
+  "extends": {"$ref":"../object.json"},
+  "properties" :{
+    "objectType" :{
+      "type" :"string",
+      "default" : "property"
+    },
+    "displayName" : {
+      "type" : "string",
+      "description" : "The human readable name of the property in the appropriate language",
+      "optional" : true
+    },
+    "path" : {
+      "type" : "string",
+      "description" : "dot delimited path to the property in the target. Ex: streetAddress"
+    }
+  },
+  "example" : {
+    "actor" : {"id":1212, "displayName" : "Peter"},
+    "verb" : "update",
+    "time" : "2010-08-02T15:29:00Z",
+    "object" :
+     {
+      "objectType" : "property",
+      "displayName" : "street address",
+      "path" : "streetAddress",
+      "content" : "234 Amazing St"
+    },
+    "target" : {
+      "id": 12121,
+      "time" : "2010-08-02T15:29:00Z",
+      "displayName" : "Peter's House"
+    }
+  }
+}
\ No newline at end of file

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/review.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/review.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/review.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/review.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,11 @@
+{
+  "type" : "object",
+  "title" : "review",
+  "extends": {"$ref":"../objectTypes/article.json"},
+  "properties" :{
+    "objectType" :{
+      "type" :"string",
+      "default" : "review"
+     }
+  }
+}
\ No newline at end of file

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/service.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/service.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/service.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/service.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,11 @@
+{
+  "type" : "object",
+  "title" : "service",
+  "extends": {"$ref":"../object.json"},
+  "properties" :{
+    "objectType" :{
+      "type" :"string",
+      "default" : "service"
+     }
+  }
+}
\ No newline at end of file

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/song.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/song.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/song.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/song.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,11 @@
+{
+  "type" : "object",
+  "title" : "song",
+  "extends": {"$ref":"../objectTypes/audio.json"},
+  "properties" :{
+    "objectType" :{
+      "type" :"string",
+      "default" : "song"
+     }
+  }
+}

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/status.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/status.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/status.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/status.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,11 @@
+{
+  "type" : "object",
+  "title" : "status",
+  "extends": {"$ref":"../objectTypes/note.json"},
+  "properties" :{
+    "objectType" :{
+      "type" :"string",
+      "default" : "song"
+     }
+  }
+}
\ No newline at end of file

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/video.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/video.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/video.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/objectTypes/video.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,11 @@
+{
+  "type" : "object",
+  "title" : "video",
+  "extends": {"$ref":"../objectTypes/file.json"},
+  "properties" :{
+    "objectType" :{
+      "type" :"string",
+      "default" : "video"
+     }
+  }
+}

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/verbs/favorite.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/verbs/favorite.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/verbs/favorite.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/verbs/favorite.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,16 @@
+{
+  "type" : "object",
+  "title" : "Favorite",
+  "description" : "To mark an object as a favorite",
+  "extends": {"$ref":"../activity.json"},
+  "properties" :{
+    "verb" :{
+      "type" : "string",
+      "default" : "favorite"
+    },
+    "title" : {
+      "type" : "string",
+      "default" : "{actor.displayName} marked {object.displayName} as a favorite"
+    }
+  }
+}

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/verbs/follow.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/verbs/follow.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/verbs/follow.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/verbs/follow.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,16 @@
+{
+  "type" : "object",
+  "title" : "Follow",
+  "description" : "To start following an object",
+  "extends": {"$ref":"../activity.json"},
+  "properties" :{
+    "verb" :{
+      "type" : "string",
+      "default" : "follow"
+    },
+    "title" : {
+      "type" : "string",
+      "default" : "{actor.displayName} started following {object.displayName}"
+    }
+  }
+}

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/verbs/join.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/verbs/join.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/verbs/join.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/verbs/join.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,16 @@
+{
+  "type" : "object",
+  "title" : "Join",
+  "description" : "To join an object. Usually a group",
+  "extends": {"$ref":"../activity.json"},
+  "properties" :{
+    "verb" :{
+      "type" : "string",
+      "default" : "join"
+    },
+    "title" : {
+      "type" : "string",
+      "default" : "{actor.displayName} joined {object.displayName}"
+    }
+  }
+}

Added: incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/verbs/like.json
URL: http://svn.apache.org/viewvc/incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/verbs/like.json?rev=1556893&view=auto
==============================================================================
--- incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/verbs/like.json (added)
+++ incubator/streams/branches/sblackmon/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/verbs/like.json Thu Jan  9 17:27:50 2014
@@ -0,0 +1,16 @@
+{
+  "type" : "object",
+  "title" : "Like",
+  "description" : "To like an object",
+  "extends": {"$ref":"../activity.json"},
+  "properties" :{
+    "verb" :{
+      "type" : "string",
+      "default" : "like"
+    },
+    "title" : {
+      "type" : "string",
+      "default" : "{actor.displayName} likes {object.displayName}"
+    }
+  }
+}



Mime
View raw message