package streams import ( "github.com/go-fed/activity/streams/vocab" "net/url" "time" ) func MustParseURL(s string) *url.URL { u, err := url.Parse(s) if err != nil { panic(err) } return u } const example1 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Object", "id": "http://www.test.example/object/1", "name": "A Simple, non-specific object" }` func example1Type() vocab.ActivityStreamsObject { example1Type := NewActivityStreamsObject() id := NewActivityStreamsIdProperty() id.Set(MustParseURL("http://www.test.example/object/1")) example1Type.SetActivityStreamsId(id) name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("A Simple, non-specific object") example1Type.SetActivityStreamsName(name) return example1Type } const example2 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Link", "href": "http://example.org/abc", "hreflang": "en", "mediaType": "text/html", "name": "An example link" }` func example2Type() vocab.ActivityStreamsLink { example2Type := NewActivityStreamsLink() hrefUrl := MustParseURL("http://example.org/abc") href := NewActivityStreamsHrefProperty() href.Set(hrefUrl) example2Type.SetActivityStreamsHref(href) hrefLang := NewActivityStreamsHreflangProperty() hrefLang.Set("en") example2Type.SetActivityStreamsHreflang(hrefLang) mediaType := NewActivityStreamsMediaTypeProperty() mediaType.Set("text/html") example2Type.SetActivityStreamsMediaType(mediaType) name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("An example link") example2Type.SetActivityStreamsName(name) return example2Type } const example3 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Activity", "summary": "Sally did something to a note", "actor": { "type": "Person", "name": "Sally" }, "object": { "type": "Note", "name": "A Note" } }` func example3Type() vocab.ActivityStreamsActivity { example3Type := NewActivityStreamsActivity() person := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") person.SetActivityStreamsName(sally) note := NewActivityStreamsNote() aNote := NewActivityStreamsNameProperty() aNote.AppendXMLSchemaString("A Note") note.SetActivityStreamsName(aNote) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally did something to a note") example3Type.SetActivityStreamsSummary(summary) actor := NewActivityStreamsActorProperty() actor.AppendActivityStreamsPerson(person) example3Type.SetActivityStreamsActor(actor) object := NewActivityStreamsObjectProperty() object.AppendActivityStreamsNote(note) example3Type.SetActivityStreamsObject(object) return example3Type } const example4 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Travel", "summary": "Sally went to work", "actor": { "type": "Person", "name": "Sally" }, "target": { "type": "Place", "name": "Work" } }` func example4Type() vocab.ActivityStreamsTravel { example4Type := NewActivityStreamsTravel() person := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") person.SetActivityStreamsName(sally) place := NewActivityStreamsPlace() work := NewActivityStreamsNameProperty() work.AppendXMLSchemaString("Work") place.SetActivityStreamsName(work) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally went to work") example4Type.SetActivityStreamsSummary(summary) actor := NewActivityStreamsActorProperty() actor.AppendActivityStreamsPerson(person) example4Type.SetActivityStreamsActor(actor) target := NewActivityStreamsTargetProperty() target.AppendActivityStreamsPlace(place) example4Type.SetActivityStreamsTarget(target) return example4Type } const example5 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally's notes", "type": "Collection", "totalItems": 2, "items": [ { "type": "Note", "name": "A Simple Note" }, { "type": "Note", "name": "Another Simple Note" } ] }` func example5Type() vocab.ActivityStreamsCollection { example5Type := NewActivityStreamsCollection() note1 := NewActivityStreamsNote() name1 := NewActivityStreamsNameProperty() name1.AppendXMLSchemaString("A Simple Note") note1.SetActivityStreamsName(name1) note2 := NewActivityStreamsNote() name2 := NewActivityStreamsNameProperty() name2.AppendXMLSchemaString("Another Simple Note") note2.SetActivityStreamsName(name2) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally's notes") example5Type.SetActivityStreamsSummary(summary) totalItems := NewActivityStreamsTotalItemsProperty() totalItems.Set(2) example5Type.SetActivityStreamsTotalItems(totalItems) items := NewActivityStreamsItemsProperty() items.AppendActivityStreamsNote(note1) items.AppendActivityStreamsNote(note2) example5Type.SetActivityStreamsItems(items) return example5Type } const example6 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally's notes", "type": "OrderedCollection", "totalItems": 2, "orderedItems": [ { "type": "Note", "name": "A Simple Note" }, { "type": "Note", "name": "Another Simple Note" } ] }` func example6Type() vocab.ActivityStreamsOrderedCollection { example6Type := NewActivityStreamsOrderedCollection() note1 := NewActivityStreamsNote() name1 := NewActivityStreamsNameProperty() name1.AppendXMLSchemaString("A Simple Note") note1.SetActivityStreamsName(name1) note2 := NewActivityStreamsNote() name2 := NewActivityStreamsNameProperty() name2.AppendXMLSchemaString("Another Simple Note") note2.SetActivityStreamsName(name2) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally's notes") example6Type.SetActivityStreamsSummary(summary) totalItems := NewActivityStreamsTotalItemsProperty() totalItems.Set(2) example6Type.SetActivityStreamsTotalItems(totalItems) orderedItems := NewActivityStreamsOrderedItemsProperty() orderedItems.AppendActivityStreamsNote(note1) orderedItems.AppendActivityStreamsNote(note2) example6Type.SetActivityStreamsOrderedItems(orderedItems) return example6Type } const example7 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Page 1 of Sally's notes", "type": "CollectionPage", "id": "http://example.org/foo?page=1", "partOf": "http://example.org/foo", "items": [ { "type": "Note", "name": "A Simple Note" }, { "type": "Note", "name": "Another Simple Note" } ] }` func example7Type() vocab.ActivityStreamsCollectionPage { example7Type := NewActivityStreamsCollectionPage() note1 := NewActivityStreamsNote() name1 := NewActivityStreamsNameProperty() name1.AppendXMLSchemaString("A Simple Note") note1.SetActivityStreamsName(name1) note2 := NewActivityStreamsNote() name2 := NewActivityStreamsNameProperty() name2.AppendXMLSchemaString("Another Simple Note") note2.SetActivityStreamsName(name2) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Page 1 of Sally's notes") example7Type.SetActivityStreamsSummary(summary) id := NewActivityStreamsIdProperty() id.Set(MustParseURL("http://example.org/foo?page=1")) example7Type.SetActivityStreamsId(id) partOf := NewActivityStreamsPartOfProperty() partOf.SetIRI(MustParseURL("http://example.org/foo")) example7Type.SetActivityStreamsPartOf(partOf) items := NewActivityStreamsItemsProperty() items.AppendActivityStreamsNote(note1) items.AppendActivityStreamsNote(note2) example7Type.SetActivityStreamsItems(items) return example7Type } const example8 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Page 1 of Sally's notes", "type": "OrderedCollectionPage", "id": "http://example.org/foo?page=1", "partOf": "http://example.org/foo", "orderedItems": [ { "type": "Note", "name": "A Simple Note" }, { "type": "Note", "name": "Another Simple Note" } ] }` func example8Type() vocab.ActivityStreamsOrderedCollectionPage { example8Type := NewActivityStreamsOrderedCollectionPage() note1 := NewActivityStreamsNote() name1 := NewActivityStreamsNameProperty() name1.AppendXMLSchemaString("A Simple Note") note1.SetActivityStreamsName(name1) note2 := NewActivityStreamsNote() name2 := NewActivityStreamsNameProperty() name2.AppendXMLSchemaString("Another Simple Note") note2.SetActivityStreamsName(name2) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Page 1 of Sally's notes") example8Type.SetActivityStreamsSummary(summary) id := NewActivityStreamsIdProperty() id.Set(MustParseURL("http://example.org/foo?page=1")) example8Type.SetActivityStreamsId(id) partOf := NewActivityStreamsPartOfProperty() partOf.SetIRI(MustParseURL("http://example.org/foo")) example8Type.SetActivityStreamsPartOf(partOf) orderedItems := NewActivityStreamsOrderedItemsProperty() orderedItems.AppendActivityStreamsNote(note1) orderedItems.AppendActivityStreamsNote(note2) example8Type.SetActivityStreamsOrderedItems(orderedItems) return example8Type } const example9 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally accepted an invitation to a party", "type": "Accept", "actor": { "type": "Person", "name": "Sally" }, "object": { "type": "Invite", "actor": "http://john.example.org", "object": { "type": "Event", "name": "Going-Away Party for Jim" } } }` func example9Type() vocab.ActivityStreamsAccept { example9Type := NewActivityStreamsAccept() person := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") person.SetActivityStreamsName(sally) event := NewActivityStreamsEvent() goingAway := NewActivityStreamsNameProperty() goingAway.AppendXMLSchemaString("Going-Away Party for Jim") event.SetActivityStreamsName(goingAway) invite := NewActivityStreamsInvite() actor := NewActivityStreamsActorProperty() actor.AppendIRI(MustParseURL("http://john.example.org")) invite.SetActivityStreamsActor(actor) object := NewActivityStreamsObjectProperty() object.AppendActivityStreamsEvent(event) invite.SetActivityStreamsObject(object) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally accepted an invitation to a party") example9Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(person) example9Type.SetActivityStreamsActor(rootActor) inviteObject := NewActivityStreamsObjectProperty() inviteObject.AppendActivityStreamsInvite(invite) example9Type.SetActivityStreamsObject(inviteObject) return example9Type } const example10 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally accepted Joe into the club", "type": "Accept", "actor": { "type": "Person", "name": "Sally" }, "object": { "type": "Person", "name": "Joe" }, "target": { "type": "Group", "name": "The Club" } }` func example10Type() vocab.ActivityStreamsAccept { example10Type := NewActivityStreamsAccept() person := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") person.SetActivityStreamsName(sally) object := NewActivityStreamsPerson() joe := NewActivityStreamsNameProperty() joe.AppendXMLSchemaString("Joe") object.SetActivityStreamsName(joe) target := NewActivityStreamsGroup() club := NewActivityStreamsNameProperty() club.AppendXMLSchemaString("The Club") target.SetActivityStreamsName(club) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally accepted Joe into the club") example10Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(person) example10Type.SetActivityStreamsActor(rootActor) obj := NewActivityStreamsObjectProperty() obj.AppendActivityStreamsPerson(object) example10Type.SetActivityStreamsObject(obj) tobj := NewActivityStreamsTargetProperty() tobj.AppendActivityStreamsGroup(target) example10Type.SetActivityStreamsTarget(tobj) return example10Type } const example11 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally tentatively accepted an invitation to a party", "type": "TentativeAccept", "actor": { "type": "Person", "name": "Sally" }, "object": { "type": "Invite", "actor": "http://john.example.org", "object": { "type": "Event", "name": "Going-Away Party for Jim" } } }` func example11Type() vocab.ActivityStreamsTentativeAccept { example11Type := NewActivityStreamsTentativeAccept() person := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") person.SetActivityStreamsName(sally) event := NewActivityStreamsEvent() goingAway := NewActivityStreamsNameProperty() goingAway.AppendXMLSchemaString("Going-Away Party for Jim") event.SetActivityStreamsName(goingAway) invite := NewActivityStreamsInvite() inviteActor := NewActivityStreamsActorProperty() inviteActor.AppendIRI(MustParseURL("http://john.example.org")) invite.SetActivityStreamsActor(inviteActor) objInvite := NewActivityStreamsObjectProperty() objInvite.AppendActivityStreamsEvent(event) invite.SetActivityStreamsObject(objInvite) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally tentatively accepted an invitation to a party") example11Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(person) example11Type.SetActivityStreamsActor(rootActor) obj := NewActivityStreamsObjectProperty() obj.AppendActivityStreamsInvite(invite) example11Type.SetActivityStreamsObject(obj) return example11Type } const example12 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally added an object", "type": "Add", "actor": { "type": "Person", "name": "Sally" }, "object": "http://example.org/abc" }` func example12Type() vocab.ActivityStreamsAdd { example12Type := NewActivityStreamsAdd() person := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") person.SetActivityStreamsName(sally) link := MustParseURL("http://example.org/abc") summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally added an object") example12Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(person) example12Type.SetActivityStreamsActor(rootActor) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(link) example12Type.SetActivityStreamsObject(obj) return example12Type } const example13 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally added a picture of her cat to her cat picture collection", "type": "Add", "actor": { "type": "Person", "name": "Sally" }, "object": { "type": "Image", "name": "A picture of my cat", "url": "http://example.org/img/cat.png" }, "origin": { "type": "Collection", "name": "Camera Roll" }, "target": { "type": "Collection", "name": "My Cat Pictures" } }` func example13Type() vocab.ActivityStreamsAdd { example13Type := NewActivityStreamsAdd() person := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") person.SetActivityStreamsName(sally) link := MustParseURL("http://example.org/img/cat.png") object := NewActivityStreamsImage() objectName := NewActivityStreamsNameProperty() objectName.AppendXMLSchemaString("A picture of my cat") object.SetActivityStreamsName(objectName) urlProp := NewActivityStreamsUrlProperty() urlProp.AppendIRI(link) object.SetActivityStreamsUrl(urlProp) origin := NewActivityStreamsCollection() originName := NewActivityStreamsNameProperty() originName.AppendXMLSchemaString("Camera Roll") origin.SetActivityStreamsName(originName) target := NewActivityStreamsCollection() targetName := NewActivityStreamsNameProperty() targetName.AppendXMLSchemaString("My Cat Pictures") target.SetActivityStreamsName(targetName) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally added a picture of her cat to her cat picture collection") example13Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(person) example13Type.SetActivityStreamsActor(rootActor) obj := NewActivityStreamsObjectProperty() obj.AppendActivityStreamsImage(object) example13Type.SetActivityStreamsObject(obj) originProp := NewActivityStreamsOriginProperty() originProp.AppendActivityStreamsCollection(origin) example13Type.SetActivityStreamsOrigin(originProp) tobj := NewActivityStreamsTargetProperty() tobj.AppendActivityStreamsCollection(target) example13Type.SetActivityStreamsTarget(tobj) return example13Type } const example14 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally arrived at work", "type": "Arrive", "actor": { "type": "Person", "name": "Sally" }, "location": { "type": "Place", "name": "Work" }, "origin": { "type": "Place", "name": "Home" } }` func example14Type() vocab.ActivityStreamsArrive { example14Type := NewActivityStreamsArrive() person := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") person.SetActivityStreamsName(sally) location := NewActivityStreamsPlace() locationName := NewActivityStreamsNameProperty() locationName.AppendXMLSchemaString("Work") location.SetActivityStreamsName(locationName) origin := NewActivityStreamsPlace() originName := NewActivityStreamsNameProperty() originName.AppendXMLSchemaString("Home") origin.SetActivityStreamsName(originName) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally arrived at work") example14Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(person) example14Type.SetActivityStreamsActor(rootActor) loc := NewActivityStreamsLocationProperty() loc.AppendActivityStreamsPlace(location) example14Type.SetActivityStreamsLocation(loc) originProp := NewActivityStreamsOriginProperty() originProp.AppendActivityStreamsPlace(origin) example14Type.SetActivityStreamsOrigin(originProp) return example14Type } const example15 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally created a note", "type": "Create", "actor": { "type": "Person", "name": "Sally" }, "object": { "type": "Note", "name": "A Simple Note", "content": "This is a simple note" } }` func example15Type() vocab.ActivityStreamsCreate { example15Type := NewActivityStreamsCreate() actor := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") actor.SetActivityStreamsName(sally) object := NewActivityStreamsNote() objectName := NewActivityStreamsNameProperty() objectName.AppendXMLSchemaString("A Simple Note") object.SetActivityStreamsName(objectName) content := NewActivityStreamsContentProperty() content.AppendXMLSchemaString("This is a simple note") object.SetActivityStreamsContent(content) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally created a note") example15Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(actor) example15Type.SetActivityStreamsActor(rootActor) obj := NewActivityStreamsObjectProperty() obj.AppendActivityStreamsNote(object) example15Type.SetActivityStreamsObject(obj) return example15Type } const example16 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally deleted a note", "type": "Delete", "actor": { "type": "Person", "name": "Sally" }, "object": "http://example.org/notes/1", "origin": { "type": "Collection", "name": "Sally's Notes" } }` func example16Type() vocab.ActivityStreamsDelete { example16Type := NewActivityStreamsDelete() actor := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") actor.SetActivityStreamsName(sally) origin := NewActivityStreamsCollection() originName := NewActivityStreamsNameProperty() originName.AppendXMLSchemaString("Sally's Notes") origin.SetActivityStreamsName(originName) link := MustParseURL("http://example.org/notes/1") summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally deleted a note") example16Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(actor) example16Type.SetActivityStreamsActor(rootActor) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(link) example16Type.SetActivityStreamsObject(obj) originProp := NewActivityStreamsOriginProperty() originProp.AppendActivityStreamsCollection(origin) example16Type.SetActivityStreamsOrigin(originProp) return example16Type } const example17 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally followed John", "type": "Follow", "actor": { "type": "Person", "name": "Sally" }, "object": { "type": "Person", "name": "John" } }` func example17Type() vocab.ActivityStreamsFollow { example17Type := NewActivityStreamsFollow() actor := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") actor.SetActivityStreamsName(sally) object := NewActivityStreamsPerson() objectName := NewActivityStreamsNameProperty() objectName.AppendXMLSchemaString("John") object.SetActivityStreamsName(objectName) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally followed John") example17Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(actor) example17Type.SetActivityStreamsActor(rootActor) obj := NewActivityStreamsObjectProperty() obj.AppendActivityStreamsPerson(object) example17Type.SetActivityStreamsObject(obj) return example17Type } const example18 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally ignored a note", "type": "Ignore", "actor": { "type": "Person", "name": "Sally" }, "object": "http://example.org/notes/1" }` func example18Type() vocab.ActivityStreamsIgnore { example18Type := NewActivityStreamsIgnore() actor := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") actor.SetActivityStreamsName(sally) link := MustParseURL("http://example.org/notes/1") summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally ignored a note") example18Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(actor) example18Type.SetActivityStreamsActor(rootActor) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(link) example18Type.SetActivityStreamsObject(obj) return example18Type } const example19 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally joined a group", "type": "Join", "actor": { "type": "Person", "name": "Sally" }, "object": { "type": "Group", "name": "A Simple Group" } }` func example19Type() vocab.ActivityStreamsJoin { example19Type := NewActivityStreamsJoin() actor := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") actor.SetActivityStreamsName(sally) object := NewActivityStreamsGroup() objectName := NewActivityStreamsNameProperty() objectName.AppendXMLSchemaString("A Simple Group") object.SetActivityStreamsName(objectName) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally joined a group") example19Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(actor) example19Type.SetActivityStreamsActor(rootActor) obj := NewActivityStreamsObjectProperty() obj.AppendActivityStreamsGroup(object) example19Type.SetActivityStreamsObject(obj) return example19Type } const example20 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally left work", "type": "Leave", "actor": { "type": "Person", "name": "Sally" }, "object": { "type": "Place", "name": "Work" } }` func example20Type() vocab.ActivityStreamsLeave { example20Type := NewActivityStreamsLeave() actor := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") actor.SetActivityStreamsName(sally) object := NewActivityStreamsPlace() objectName := NewActivityStreamsNameProperty() objectName.AppendXMLSchemaString("Work") object.SetActivityStreamsName(objectName) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally left work") example20Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(actor) example20Type.SetActivityStreamsActor(rootActor) obj := NewActivityStreamsObjectProperty() obj.AppendActivityStreamsPlace(object) example20Type.SetActivityStreamsObject(obj) return example20Type } const example21 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally left a group", "type": "Leave", "actor": { "type": "Person", "name": "Sally" }, "object": { "type": "Group", "name": "A Simple Group" } }` func example21Type() vocab.ActivityStreamsLeave { example21Type := NewActivityStreamsLeave() actor := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") actor.SetActivityStreamsName(sally) object := NewActivityStreamsGroup() objectName := NewActivityStreamsNameProperty() objectName.AppendXMLSchemaString("A Simple Group") object.SetActivityStreamsName(objectName) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally left a group") example21Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(actor) example21Type.SetActivityStreamsActor(rootActor) obj := NewActivityStreamsObjectProperty() obj.AppendActivityStreamsGroup(object) example21Type.SetActivityStreamsObject(obj) return example21Type } const example22 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally liked a note", "type": "Like", "actor": { "type": "Person", "name": "Sally" }, "object": "http://example.org/notes/1" }` func example22Type() vocab.ActivityStreamsLike { example22Type := NewActivityStreamsLike() actor := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") actor.SetActivityStreamsName(sally) link := MustParseURL("http://example.org/notes/1") summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally liked a note") example22Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(actor) example22Type.SetActivityStreamsActor(rootActor) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(link) example22Type.SetActivityStreamsObject(obj) return example22Type } const example23 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally offered 50% off to Lewis", "type": "Offer", "actor": { "type": "Person", "name": "Sally" }, "object": { "type": "http://www.types.example/ProductOffer", "name": "50% Off!" }, "target": { "type": "Person", "name": "Lewis" } }` var example23Unknown = func(m map[string]interface{}) map[string]interface{} { m["object"] = map[string]interface{}{ "type": "http://www.types.example/ProductOffer", "name": "50% Off!", } return m } func example23Type() vocab.ActivityStreamsOffer { example23Type := NewActivityStreamsOffer() actor := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") actor.SetActivityStreamsName(sally) target := NewActivityStreamsPerson() targetName := NewActivityStreamsNameProperty() targetName.AppendXMLSchemaString("Lewis") target.SetActivityStreamsName(targetName) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally offered 50% off to Lewis") example23Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(actor) example23Type.SetActivityStreamsActor(rootActor) tobj := NewActivityStreamsTargetProperty() tobj.AppendActivityStreamsPerson(target) example23Type.SetActivityStreamsTarget(tobj) return example23Type } const example24 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally invited John and Lisa to a party", "type": "Invite", "actor": { "type": "Person", "name": "Sally" }, "object": { "type": "Event", "name": "A Party" }, "target": [ { "type": "Person", "name": "John" }, { "type": "Person", "name": "Lisa" } ] }` func example24Type() vocab.ActivityStreamsInvite { example24Type := NewActivityStreamsInvite() actor := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") actor.SetActivityStreamsName(sally) object := NewActivityStreamsEvent() objectName := NewActivityStreamsNameProperty() objectName.AppendXMLSchemaString("A Party") object.SetActivityStreamsName(objectName) target1 := NewActivityStreamsPerson() target1Name := NewActivityStreamsNameProperty() target1Name.AppendXMLSchemaString("John") target1.SetActivityStreamsName(target1Name) target2 := NewActivityStreamsPerson() target2Name := NewActivityStreamsNameProperty() target2Name.AppendXMLSchemaString("Lisa") target2.SetActivityStreamsName(target2Name) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally invited John and Lisa to a party") example24Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(actor) example24Type.SetActivityStreamsActor(rootActor) obj := NewActivityStreamsObjectProperty() obj.AppendActivityStreamsEvent(object) example24Type.SetActivityStreamsObject(obj) tobj := NewActivityStreamsTargetProperty() tobj.AppendActivityStreamsPerson(target1) tobj.AppendActivityStreamsPerson(target2) example24Type.SetActivityStreamsTarget(tobj) return example24Type } const example25 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally rejected an invitation to a party", "type": "Reject", "actor": { "type": "Person", "name": "Sally" }, "object": { "type": "Invite", "actor": "http://john.example.org", "object": { "type": "Event", "name": "Going-Away Party for Jim" } } }` func example25Type() vocab.ActivityStreamsReject { example25Type := NewActivityStreamsReject() actor := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") actor.SetActivityStreamsName(sally) inviteObject := NewActivityStreamsEvent() goingAway := NewActivityStreamsNameProperty() goingAway.AppendXMLSchemaString("Going-Away Party for Jim") inviteObject.SetActivityStreamsName(goingAway) object := NewActivityStreamsInvite() objectActor := NewActivityStreamsActorProperty() objectActor.AppendIRI(MustParseURL("http://john.example.org")) object.SetActivityStreamsActor(objectActor) obj := NewActivityStreamsObjectProperty() obj.AppendActivityStreamsEvent(inviteObject) object.SetActivityStreamsObject(obj) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally rejected an invitation to a party") example25Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(actor) example25Type.SetActivityStreamsActor(rootActor) objRoot := NewActivityStreamsObjectProperty() objRoot.AppendActivityStreamsInvite(object) example25Type.SetActivityStreamsObject(objRoot) return example25Type } const example26 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally tentatively rejected an invitation to a party", "type": "TentativeReject", "actor": { "type": "Person", "name": "Sally" }, "object": { "type": "Invite", "actor": "http://john.example.org", "object": { "type": "Event", "name": "Going-Away Party for Jim" } } }` func example26Type() vocab.ActivityStreamsTentativeReject { example26Type := NewActivityStreamsTentativeReject() actor := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") actor.SetActivityStreamsName(sally) inviteObject := NewActivityStreamsEvent() goingAway := NewActivityStreamsNameProperty() goingAway.AppendXMLSchemaString("Going-Away Party for Jim") inviteObject.SetActivityStreamsName(goingAway) object := NewActivityStreamsInvite() objectActor := NewActivityStreamsActorProperty() objectActor.AppendIRI(MustParseURL("http://john.example.org")) object.SetActivityStreamsActor(objectActor) obj := NewActivityStreamsObjectProperty() obj.AppendActivityStreamsEvent(inviteObject) object.SetActivityStreamsObject(obj) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally tentatively rejected an invitation to a party") example26Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(actor) example26Type.SetActivityStreamsActor(rootActor) objRoot := NewActivityStreamsObjectProperty() objRoot.AppendActivityStreamsInvite(object) example26Type.SetActivityStreamsObject(objRoot) return example26Type } const example27 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally removed a note from her notes folder", "type": "Remove", "actor": { "type": "Person", "name": "Sally" }, "object": "http://example.org/notes/1", "target": { "type": "Collection", "name": "Notes Folder" } }` func example27Type() vocab.ActivityStreamsRemove { example27Type := NewActivityStreamsRemove() actor := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") actor.SetActivityStreamsName(sally) link := MustParseURL("http://example.org/notes/1") target := NewActivityStreamsCollection() targetName := NewActivityStreamsNameProperty() targetName.AppendXMLSchemaString("Notes Folder") target.SetActivityStreamsName(targetName) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally removed a note from her notes folder") example27Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(actor) example27Type.SetActivityStreamsActor(rootActor) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(link) example27Type.SetActivityStreamsObject(obj) tobj := NewActivityStreamsTargetProperty() tobj.AppendActivityStreamsCollection(target) example27Type.SetActivityStreamsTarget(tobj) return example27Type } const example28 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "The moderator removed Sally from a group", "type": "Remove", "actor": { "type": "http://example.org/Role", "name": "The Moderator" }, "object": { "type": "Person", "name": "Sally" }, "origin": { "type": "Group", "name": "A Simple Group" } }` var example28Unknown = func(m map[string]interface{}) map[string]interface{} { m["actor"] = map[string]interface{}{ "type": "http://example.org/Role", "name": "The Moderator", } return m } func example28Type() vocab.ActivityStreamsRemove { example28Type := NewActivityStreamsRemove() object := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") object.SetActivityStreamsName(sally) origin := NewActivityStreamsGroup() originName := NewActivityStreamsNameProperty() originName.AppendXMLSchemaString("A Simple Group") origin.SetActivityStreamsName(originName) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("The moderator removed Sally from a group") example28Type.SetActivityStreamsSummary(summary) obj := NewActivityStreamsObjectProperty() obj.AppendActivityStreamsPerson(object) example28Type.SetActivityStreamsObject(obj) originProp := NewActivityStreamsOriginProperty() originProp.AppendActivityStreamsGroup(origin) example28Type.SetActivityStreamsOrigin(originProp) return example28Type } const example29 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally retracted her offer to John", "type": "Undo", "actor": "http://sally.example.org", "object": { "type": "Offer", "actor": "http://sally.example.org", "object": "http://example.org/posts/1", "target": "http://john.example.org" } }` func example29Type() vocab.ActivityStreamsUndo { example29Type := NewActivityStreamsUndo() link := MustParseURL("http://sally.example.org") objectLink := MustParseURL("http://example.org/posts/1") targetLink := MustParseURL("http://john.example.org") object := NewActivityStreamsOffer() objectActor := NewActivityStreamsActorProperty() objectActor.AppendIRI(link) object.SetActivityStreamsActor(objectActor) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(objectLink) object.SetActivityStreamsObject(obj) target := NewActivityStreamsTargetProperty() target.AppendIRI(targetLink) object.SetActivityStreamsTarget(target) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally retracted her offer to John") example29Type.SetActivityStreamsSummary(summary) actor := NewActivityStreamsActorProperty() actor.AppendIRI(link) example29Type.SetActivityStreamsActor(actor) objRoot := NewActivityStreamsObjectProperty() objRoot.AppendActivityStreamsOffer(object) example29Type.SetActivityStreamsObject(objRoot) return example29Type } const example30 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally updated her note", "type": "Update", "actor": { "type": "Person", "name": "Sally" }, "object": "http://example.org/notes/1" }` func example30Type() vocab.ActivityStreamsUpdate { example30Type := NewActivityStreamsUpdate() actor := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") actor.SetActivityStreamsName(sally) link := MustParseURL("http://example.org/notes/1") summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally updated her note") example30Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(actor) example30Type.SetActivityStreamsActor(rootActor) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(link) example30Type.SetActivityStreamsObject(obj) return example30Type } const example31 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally read an article", "type": "View", "actor": { "type": "Person", "name": "Sally" }, "object": { "type": "Article", "name": "What You Should Know About Activity Streams" } }` func example31Type() vocab.ActivityStreamsView { example31Type := NewActivityStreamsView() actor := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") actor.SetActivityStreamsName(sally) object := NewActivityStreamsArticle() objectName := NewActivityStreamsNameProperty() objectName.AppendXMLSchemaString("What You Should Know About Activity Streams") object.SetActivityStreamsName(objectName) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally read an article") example31Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(actor) example31Type.SetActivityStreamsActor(rootActor) obj := NewActivityStreamsObjectProperty() obj.AppendActivityStreamsArticle(object) example31Type.SetActivityStreamsObject(obj) return example31Type } const example32 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally listened to a piece of music", "type": "Listen", "actor": { "type": "Person", "name": "Sally" }, "object": "http://example.org/music.mp3" }` func example32Type() vocab.ActivityStreamsListen { example32Type := NewActivityStreamsListen() actor := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") actor.SetActivityStreamsName(sally) link := MustParseURL("http://example.org/music.mp3") summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally listened to a piece of music") example32Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(actor) example32Type.SetActivityStreamsActor(rootActor) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(link) example32Type.SetActivityStreamsObject(obj) return example32Type } const example33 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally read a blog post", "type": "Read", "actor": { "type": "Person", "name": "Sally" }, "object": "http://example.org/posts/1" }` func example33Type() vocab.ActivityStreamsRead { example33Type := NewActivityStreamsRead() actor := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") actor.SetActivityStreamsName(sally) link := MustParseURL("http://example.org/posts/1") summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally read a blog post") example33Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(actor) example33Type.SetActivityStreamsActor(rootActor) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(link) example33Type.SetActivityStreamsObject(obj) return example33Type } const example34 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally moved a post from List A to List B", "type": "Move", "actor": { "type": "Person", "name": "Sally" }, "object": "http://example.org/posts/1", "target": { "type": "Collection", "name": "List B" }, "origin": { "type": "Collection", "name": "List A" } }` func example34Type() vocab.ActivityStreamsMove { example34Type := NewActivityStreamsMove() actor := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") actor.SetActivityStreamsName(sally) link := MustParseURL("http://example.org/posts/1") target := NewActivityStreamsCollection() targetName := NewActivityStreamsNameProperty() targetName.AppendXMLSchemaString("List B") target.SetActivityStreamsName(targetName) origin := NewActivityStreamsCollection() originName := NewActivityStreamsNameProperty() originName.AppendXMLSchemaString("List A") origin.SetActivityStreamsName(originName) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally moved a post from List A to List B") example34Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(actor) example34Type.SetActivityStreamsActor(rootActor) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(link) example34Type.SetActivityStreamsObject(obj) tobj := NewActivityStreamsTargetProperty() tobj.AppendActivityStreamsCollection(target) example34Type.SetActivityStreamsTarget(tobj) originProp := NewActivityStreamsOriginProperty() originProp.AppendActivityStreamsCollection(origin) example34Type.SetActivityStreamsOrigin(originProp) return example34Type } const example35 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally went home from work", "type": "Travel", "actor": { "type": "Person", "name": "Sally" }, "target": { "type": "Place", "name": "Home" }, "origin": { "type": "Place", "name": "Work" } }` func example35Type() vocab.ActivityStreamsTravel { example35Type := NewActivityStreamsTravel() actor := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") actor.SetActivityStreamsName(sally) target := NewActivityStreamsPlace() targetName := NewActivityStreamsNameProperty() targetName.AppendXMLSchemaString("Home") target.SetActivityStreamsName(targetName) origin := NewActivityStreamsPlace() originName := NewActivityStreamsNameProperty() originName.AppendXMLSchemaString("Work") origin.SetActivityStreamsName(originName) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally went home from work") example35Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(actor) example35Type.SetActivityStreamsActor(rootActor) tobj := NewActivityStreamsTargetProperty() tobj.AppendActivityStreamsPlace(target) example35Type.SetActivityStreamsTarget(tobj) originProp := NewActivityStreamsOriginProperty() originProp.AppendActivityStreamsPlace(origin) example35Type.SetActivityStreamsOrigin(originProp) return example35Type } const example36 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally announced that she had arrived at work", "type": "Announce", "actor": { "type": "Person", "id": "http://sally.example.org", "name": "Sally" }, "object": { "type": "Arrive", "actor": "http://sally.example.org", "location": { "type": "Place", "name": "Work" } } }` func example36Type() vocab.ActivityStreamsAnnounce { example36Type := NewActivityStreamsAnnounce() link := MustParseURL("http://sally.example.org") actor := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") actor.SetActivityStreamsName(sally) id := NewActivityStreamsIdProperty() id.Set(link) actor.SetActivityStreamsId(id) loc := NewActivityStreamsPlace() locName := NewActivityStreamsNameProperty() locName.AppendXMLSchemaString("Work") loc.SetActivityStreamsName(locName) object := NewActivityStreamsArrive() objectActor := NewActivityStreamsActorProperty() objectActor.AppendIRI(link) object.SetActivityStreamsActor(objectActor) location := NewActivityStreamsLocationProperty() location.AppendActivityStreamsPlace(loc) object.SetActivityStreamsLocation(location) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally announced that she had arrived at work") example36Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(actor) example36Type.SetActivityStreamsActor(rootActor) obj := NewActivityStreamsObjectProperty() obj.AppendActivityStreamsArrive(object) example36Type.SetActivityStreamsObject(obj) return example36Type } const example37 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally blocked Joe", "type": "Block", "actor": "http://sally.example.org", "object": "http://joe.example.org" }` func example37Type() vocab.ActivityStreamsBlock { example37Type := NewActivityStreamsBlock() link := MustParseURL("http://sally.example.org") objLink := MustParseURL("http://joe.example.org") summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally blocked Joe") example37Type.SetActivityStreamsSummary(summary) objectActor := NewActivityStreamsActorProperty() objectActor.AppendIRI(link) example37Type.SetActivityStreamsActor(objectActor) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(objLink) example37Type.SetActivityStreamsObject(obj) return example37Type } const example38 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally flagged an inappropriate note", "type": "Flag", "actor": "http://sally.example.org", "object": { "type": "Note", "content": "An inappropriate note" } }` func example38Type() vocab.ActivityStreamsFlag { example38Type := NewActivityStreamsFlag() link := MustParseURL("http://sally.example.org") object := NewActivityStreamsNote() content := NewActivityStreamsContentProperty() content.AppendXMLSchemaString("An inappropriate note") object.SetActivityStreamsContent(content) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally flagged an inappropriate note") example38Type.SetActivityStreamsSummary(summary) objectActor := NewActivityStreamsActorProperty() objectActor.AppendIRI(link) example38Type.SetActivityStreamsActor(objectActor) obj := NewActivityStreamsObjectProperty() obj.AppendActivityStreamsNote(object) example38Type.SetActivityStreamsObject(obj) return example38Type } const example39 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally disliked a post", "type": "Dislike", "actor": "http://sally.example.org", "object": "http://example.org/posts/1" }` func example39Type() vocab.ActivityStreamsDislike { example39Type := NewActivityStreamsDislike() link := MustParseURL("http://sally.example.org") objLink := MustParseURL("http://example.org/posts/1") summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally disliked a post") example39Type.SetActivityStreamsSummary(summary) objectActor := NewActivityStreamsActorProperty() objectActor.AppendIRI(link) example39Type.SetActivityStreamsActor(objectActor) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(objLink) example39Type.SetActivityStreamsObject(obj) return example39Type } const example40 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Question", "name": "What is the answer?", "oneOf": [ { "type": "Note", "name": "Option A" }, { "type": "Note", "name": "Option B" } ] }` func example40Type() vocab.ActivityStreamsQuestion { example40Type := NewActivityStreamsQuestion() note1 := NewActivityStreamsNote() note1Name := NewActivityStreamsNameProperty() note1Name.AppendXMLSchemaString("Option A") note1.SetActivityStreamsName(note1Name) note2 := NewActivityStreamsNote() note2Name := NewActivityStreamsNameProperty() note2Name.AppendXMLSchemaString("Option B") note2.SetActivityStreamsName(note2Name) name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("What is the answer?") example40Type.SetActivityStreamsName(name) oneOf := NewActivityStreamsOneOfProperty() oneOf.AppendActivityStreamsNote(note1) oneOf.AppendActivityStreamsNote(note2) example40Type.SetActivityStreamsOneOf(oneOf) return example40Type } const example41 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Question", "name": "What is the answer?", "closed": "2016-05-10T00:00:00Z" }` func example41Type() vocab.ActivityStreamsQuestion { example41Type := NewActivityStreamsQuestion() t, err := time.Parse(time.RFC3339, "2016-05-10T00:00:00Z") if err != nil { panic(err) } name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("What is the answer?") example41Type.SetActivityStreamsName(name) closed := NewActivityStreamsClosedProperty() closed.AppendXMLSchemaDateTime(t) example41Type.SetActivityStreamsClosed(closed) return example41Type } const example42 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Application", "name": "Exampletron 3000" }` func example42Type() vocab.ActivityStreamsApplication { example42Type := NewActivityStreamsApplication() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Exampletron 3000") example42Type.SetActivityStreamsName(name) return example42Type } const example43 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Group", "name": "Big Beards of Austin" }` func example43Type() vocab.ActivityStreamsGroup { example43Type := NewActivityStreamsGroup() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Big Beards of Austin") example43Type.SetActivityStreamsName(name) return example43Type } const example44 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Organization", "name": "Example Co." }` func example44Type() vocab.ActivityStreamsOrganization { example44Type := NewActivityStreamsOrganization() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Example Co.") example44Type.SetActivityStreamsName(name) return example44Type } const example45 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Person", "name": "Sally Smith" }` func example45Type() vocab.ActivityStreamsPerson { example45Type := NewActivityStreamsPerson() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Sally Smith") example45Type.SetActivityStreamsName(name) return example45Type } const example46 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Service", "name": "Acme Web Service" }` func example46Type() vocab.ActivityStreamsService { example46Type := NewActivityStreamsService() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Acme Web Service") example46Type.SetActivityStreamsName(name) return example46Type } const example47 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally is an acquaintance of John", "type": "Relationship", "subject": { "type": "Person", "name": "Sally" }, "relationship": "http://purl.org/vocab/relationship/acquaintanceOf", "object": { "type": "Person", "name": "John" } }` func example47Type() vocab.ActivityStreamsRelationship { example47Type := NewActivityStreamsRelationship() subject := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") subject.SetActivityStreamsName(sally) object := NewActivityStreamsPerson() objectName := NewActivityStreamsNameProperty() objectName.AppendXMLSchemaString("John") object.SetActivityStreamsName(objectName) rel := MustParseURL("http://purl.org/vocab/relationship/acquaintanceOf") summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally is an acquaintance of John") example47Type.SetActivityStreamsSummary(summary) subj := NewActivityStreamsSubjectProperty() subj.SetActivityStreamsPerson(subject) example47Type.SetActivityStreamsSubject(subj) obj := NewActivityStreamsObjectProperty() obj.AppendActivityStreamsPerson(object) example47Type.SetActivityStreamsObject(obj) relationship := NewActivityStreamsRelationshipProperty() relationship.AppendIRI(rel) example47Type.SetActivityStreamsRelationship(relationship) return example47Type } const example48 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Article", "name": "What a Crazy Day I Had", "content": "
... you will never believe ...
", "attributedTo": "http://sally.example.org" }` func example48Type() vocab.ActivityStreamsArticle { example48Type := NewActivityStreamsArticle() att := MustParseURL("http://sally.example.org") name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("What a Crazy Day I Had") example48Type.SetActivityStreamsName(name) attr := NewActivityStreamsAttributedToProperty() attr.AppendIRI(att) example48Type.SetActivityStreamsAttributedTo(attr) content := NewActivityStreamsContentProperty() content.AppendXMLSchemaString("
... you will never believe ...
") example48Type.SetActivityStreamsContent(content) return example48Type } const example49 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Document", "name": "4Q Sales Forecast", "url": "http://example.org/4q-sales-forecast.pdf" }` func example49Type() vocab.ActivityStreamsDocument { example49Type := NewActivityStreamsDocument() l := MustParseURL("http://example.org/4q-sales-forecast.pdf") name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("4Q Sales Forecast") example49Type.SetActivityStreamsName(name) urlProp := NewActivityStreamsUrlProperty() urlProp.AppendIRI(l) example49Type.SetActivityStreamsUrl(urlProp) return example49Type } const example50 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Audio", "name": "Interview With A Famous Technologist", "url": { "type": "Link", "href": "http://example.org/podcast.mp3", "mediaType": "audio/mp3" } }` func example50Type() vocab.ActivityStreamsAudio { example50Type := NewActivityStreamsAudio() l := MustParseURL("http://example.org/podcast.mp3") link := NewActivityStreamsLink() href := NewActivityStreamsHrefProperty() href.Set(l) link.SetActivityStreamsHref(href) mediaType := NewActivityStreamsMediaTypeProperty() mediaType.Set("audio/mp3") link.SetActivityStreamsMediaType(mediaType) name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Interview With A Famous Technologist") example50Type.SetActivityStreamsName(name) urlProperty := NewActivityStreamsUrlProperty() urlProperty.AppendActivityStreamsLink(link) example50Type.SetActivityStreamsUrl(urlProperty) return example50Type } const example51 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Image", "name": "Cat Jumping on Wagon", "url": [ { "type": "Link", "href": "http://example.org/image.jpeg", "mediaType": "image/jpeg" }, { "type": "Link", "href": "http://example.org/image.png", "mediaType": "image/png" } ] }` func example51Type() vocab.ActivityStreamsImage { example51Type := NewActivityStreamsImage() l1 := MustParseURL("http://example.org/image.jpeg") l2 := MustParseURL("http://example.org/image.png") link1 := NewActivityStreamsLink() href1 := NewActivityStreamsHrefProperty() href1.Set(l1) link1.SetActivityStreamsHref(href1) mediaType1 := NewActivityStreamsMediaTypeProperty() mediaType1.Set("image/jpeg") link1.SetActivityStreamsMediaType(mediaType1) link2 := NewActivityStreamsLink() href2 := NewActivityStreamsHrefProperty() href2.Set(l2) link2.SetActivityStreamsHref(href2) mediaType2 := NewActivityStreamsMediaTypeProperty() mediaType2.Set("image/png") link2.SetActivityStreamsMediaType(mediaType2) name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Cat Jumping on Wagon") example51Type.SetActivityStreamsName(name) urlProperty := NewActivityStreamsUrlProperty() urlProperty.AppendActivityStreamsLink(link1) urlProperty.AppendActivityStreamsLink(link2) example51Type.SetActivityStreamsUrl(urlProperty) return example51Type } const example52 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Video", "name": "Puppy Plays With Ball", "url": "http://example.org/video.mkv", "duration": "PT2H" }` func example52Type() vocab.ActivityStreamsVideo { example52Type := NewActivityStreamsVideo() l := MustParseURL("http://example.org/video.mkv") name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Puppy Plays With Ball") example52Type.SetActivityStreamsName(name) urlProp := NewActivityStreamsUrlProperty() urlProp.AppendIRI(l) example52Type.SetActivityStreamsUrl(urlProp) dur := NewActivityStreamsDurationProperty() dur.Set(time.Hour * 2) example52Type.SetActivityStreamsDuration(dur) return example52Type } const example53 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Note", "name": "A Word of Warning", "content": "Looks like it is going to rain today. Bring an umbrella!" }` func example53Type() vocab.ActivityStreamsNote { example53Type := NewActivityStreamsNote() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("A Word of Warning") example53Type.SetActivityStreamsName(name) content := NewActivityStreamsContentProperty() content.AppendXMLSchemaString("Looks like it is going to rain today. Bring an umbrella!") example53Type.SetActivityStreamsContent(content) return example53Type } const example54 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Page", "name": "Omaha Weather Report", "url": "http://example.org/weather-in-omaha.html" }` func example54Type() vocab.ActivityStreamsPage { example54Type := NewActivityStreamsPage() l := MustParseURL("http://example.org/weather-in-omaha.html") name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Omaha Weather Report") example54Type.SetActivityStreamsName(name) urlProp := NewActivityStreamsUrlProperty() urlProp.AppendIRI(l) example54Type.SetActivityStreamsUrl(urlProp) return example54Type } const example55 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Event", "name": "Going-Away Party for Jim", "startTime": "2014-12-31T23:00:00-08:00", "endTime": "2015-01-01T06:00:00-08:00" }` func example55Type() vocab.ActivityStreamsEvent { example55Type := NewActivityStreamsEvent() t1, err := time.Parse(time.RFC3339, "2014-12-31T23:00:00-08:00") if err != nil { panic(err) } t2, err := time.Parse(time.RFC3339, "2015-01-01T06:00:00-08:00") if err != nil { panic(err) } goingAway := NewActivityStreamsNameProperty() goingAway.AppendXMLSchemaString("Going-Away Party for Jim") example55Type.SetActivityStreamsName(goingAway) startTime := NewActivityStreamsStartTimeProperty() startTime.Set(t1) example55Type.SetActivityStreamsStartTime(startTime) endTime := NewActivityStreamsEndTimeProperty() endTime.Set(t2) example55Type.SetActivityStreamsEndTime(endTime) return example55Type } const example56 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Place", "name": "Work" }` func example56Type() vocab.ActivityStreamsPlace { example56Type := NewActivityStreamsPlace() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Work") example56Type.SetActivityStreamsName(name) return example56Type } const example57 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Place", "name": "Fresno Area", "latitude": 36.75, "longitude": 119.7667, "radius": 15, "units": "miles" }` func example57Type() vocab.ActivityStreamsPlace { example57Type := NewActivityStreamsPlace() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Fresno Area") example57Type.SetActivityStreamsName(name) lat := NewActivityStreamsLatitudeProperty() lat.Set(36.75) example57Type.SetActivityStreamsLatitude(lat) lon := NewActivityStreamsLongitudeProperty() lon.Set(119.7667) example57Type.SetActivityStreamsLongitude(lon) rad := NewActivityStreamsRadiusProperty() rad.Set(15) example57Type.SetActivityStreamsRadius(rad) units := NewActivityStreamsUnitsProperty() units.SetXMLSchemaString("miles") example57Type.SetActivityStreamsUnits(units) return example57Type } const example58 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Mention", "summary": "Mention of Joe by Carrie in her note", "href": "http://example.org/joe", "name": "Joe" }` func example58Type() vocab.ActivityStreamsMention { example58Type := NewActivityStreamsMention() l := MustParseURL("http://example.org/joe") href := NewActivityStreamsHrefProperty() href.Set(l) example58Type.SetActivityStreamsHref(href) joe := NewActivityStreamsNameProperty() joe.AppendXMLSchemaString("Joe") example58Type.SetActivityStreamsName(joe) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Mention of Joe by Carrie in her note") example58Type.SetActivityStreamsSummary(summary) return example58Type } const example59 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Profile", "summary": "Sally's Profile", "describes": { "type": "Person", "name": "Sally Smith" } }` func example59Type() vocab.ActivityStreamsProfile { example59Type := NewActivityStreamsProfile() person := NewActivityStreamsPerson() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Sally Smith") person.SetActivityStreamsName(name) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally's Profile") example59Type.SetActivityStreamsSummary(summary) describes := NewActivityStreamsDescribesProperty() describes.SetActivityStreamsPerson(person) example59Type.SetActivityStreamsDescribes(describes) return example59Type } // Note that the @context is missing from the spec! const example60 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "OrderedCollection", "totalItems": 3, "name": "Vacation photos 2016", "orderedItems": [ { "type": "Image", "id": "http://image.example/1" }, { "type": "Tombstone", "formerType": "Image", "id": "http://image.example/2", "deleted": "2016-03-17T00:00:00Z" }, { "type": "Image", "id": "http://image.example/3" } ] }` func example60Type() vocab.ActivityStreamsOrderedCollection { example60Type := NewActivityStreamsOrderedCollection() t, err := time.Parse(time.RFC3339, "2016-03-17T00:00:00Z") if err != nil { panic(err) } image1 := NewActivityStreamsImage() imgId1 := NewActivityStreamsIdProperty() imgId1.Set(MustParseURL("http://image.example/1")) image1.SetActivityStreamsId(imgId1) tombstone := NewActivityStreamsTombstone() ft := NewActivityStreamsFormerTypeProperty() ft.AppendXMLSchemaString("Image") tombstone.SetActivityStreamsFormerType(ft) tombId := NewActivityStreamsIdProperty() tombId.Set(MustParseURL("http://image.example/2")) tombstone.SetActivityStreamsId(tombId) deleted := NewActivityStreamsDeletedProperty() deleted.Set(t) tombstone.SetActivityStreamsDeleted(deleted) image2 := NewActivityStreamsImage() imgId2 := NewActivityStreamsIdProperty() imgId2.Set(MustParseURL("http://image.example/3")) image2.SetActivityStreamsId(imgId2) totalItems := NewActivityStreamsTotalItemsProperty() totalItems.Set(3) example60Type.SetActivityStreamsTotalItems(totalItems) name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Vacation photos 2016") example60Type.SetActivityStreamsName(name) orderedItems := NewActivityStreamsOrderedItemsProperty() orderedItems.AppendActivityStreamsImage(image1) orderedItems.AppendActivityStreamsTombstone(tombstone) orderedItems.AppendActivityStreamsImage(image2) example60Type.SetActivityStreamsOrderedItems(orderedItems) return example60Type } const example61 = `{ "@context": "https://www.w3.org/ns/activitystreams", "name": "Foo", "id": "http://example.org/foo" }` var example61Unknown = func(m map[string]interface{}) map[string]interface{} { m["id"] = "http://example.org/foo" m["name"] = "Foo" return m } const example62 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "A foo", "type": "http://example.org/Foo" }` var example62Unknown = func(m map[string]interface{}) map[string]interface{} { m["type"] = "http://example.org/Foo" m["summary"] = "A foo" return m } const example63 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally offered the Foo object", "type": "Offer", "actor": "http://sally.example.org", "object": "http://example.org/foo" }` func example63Type() vocab.ActivityStreamsOffer { example63Type := NewActivityStreamsOffer() l := MustParseURL("http://sally.example.org") o := MustParseURL("http://example.org/foo") summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally offered the Foo object") example63Type.SetActivityStreamsSummary(summary) objectActor := NewActivityStreamsActorProperty() objectActor.AppendIRI(l) example63Type.SetActivityStreamsActor(objectActor) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(o) example63Type.SetActivityStreamsObject(obj) return example63Type } const example64 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally offered the Foo object", "type": "Offer", "actor": { "type": "Person", "id": "http://sally.example.org", "summary": "Sally" }, "object": "http://example.org/foo" }` func example64Type() vocab.ActivityStreamsOffer { example64Type := NewActivityStreamsOffer() actor := NewActivityStreamsPerson() actorId := NewActivityStreamsIdProperty() actorId.Set(MustParseURL("http://sally.example.org")) actor.SetActivityStreamsId(actorId) summaryActor := NewActivityStreamsSummaryProperty() summaryActor.AppendXMLSchemaString("Sally") actor.SetActivityStreamsSummary(summaryActor) o := MustParseURL("http://example.org/foo") summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally offered the Foo object") example64Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(actor) example64Type.SetActivityStreamsActor(rootActor) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(o) example64Type.SetActivityStreamsObject(obj) return example64Type } const example65 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally and Joe offered the Foo object", "type": "Offer", "actor": [ "http://joe.example.org", { "type": "Person", "id": "http://sally.example.org", "name": "Sally" } ], "object": "http://example.org/foo" }` func example65Type() vocab.ActivityStreamsOffer { example65Type := NewActivityStreamsOffer() actor := NewActivityStreamsPerson() actorId := NewActivityStreamsIdProperty() actorId.Set(MustParseURL("http://sally.example.org")) actor.SetActivityStreamsId(actorId) sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") actor.SetActivityStreamsName(sally) o := MustParseURL("http://example.org/foo") l := MustParseURL("http://joe.example.org") summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally and Joe offered the Foo object") example65Type.SetActivityStreamsSummary(summary) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(o) example65Type.SetActivityStreamsObject(obj) rootActor := NewActivityStreamsActorProperty() rootActor.AppendIRI(l) rootActor.AppendActivityStreamsPerson(actor) example65Type.SetActivityStreamsActor(rootActor) return example65Type } // NOTE: Changed to not be an array value for "attachment" to keep in line with other examples in spec! const example66 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Note", "name": "Have you seen my cat?", "attachment": { "type": "Image", "content": "This is what he looks like.", "url": "http://example.org/cat.jpeg" } }` func example66Type() vocab.ActivityStreamsNote { example66Type := NewActivityStreamsNote() l := MustParseURL("http://example.org/cat.jpeg") image := NewActivityStreamsImage() content := NewActivityStreamsContentProperty() content.AppendXMLSchemaString("This is what he looks like.") image.SetActivityStreamsContent(content) imgProp := NewActivityStreamsUrlProperty() imgProp.AppendIRI(l) image.SetActivityStreamsUrl(imgProp) name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Have you seen my cat?") example66Type.SetActivityStreamsName(name) attachment := NewActivityStreamsAttachmentProperty() attachment.AppendActivityStreamsImage(image) example66Type.SetActivityStreamsAttachment(attachment) return example66Type } // NOTE: Changed to not be an array value for "attributedTo" to keep in line with other examples in spec! const example67 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Image", "name": "My cat taking a nap", "url": "http://example.org/cat.jpeg", "attributedTo": { "type": "Person", "name": "Sally" } }` func example67Type() vocab.ActivityStreamsImage { example67Type := NewActivityStreamsImage() l := MustParseURL("http://example.org/cat.jpeg") person := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") person.SetActivityStreamsName(sally) name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("My cat taking a nap") example67Type.SetActivityStreamsName(name) urlProp := NewActivityStreamsUrlProperty() urlProp.AppendIRI(l) example67Type.SetActivityStreamsUrl(urlProp) attr := NewActivityStreamsAttributedToProperty() attr.AppendActivityStreamsPerson(person) example67Type.SetActivityStreamsAttributedTo(attr) return example67Type } const example68 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Image", "name": "My cat taking a nap", "url": "http://example.org/cat.jpeg", "attributedTo": [ "http://joe.example.org", { "type": "Person", "name": "Sally" } ] }` func example68Type() vocab.ActivityStreamsImage { example68Type := NewActivityStreamsImage() l := MustParseURL("http://example.org/cat.jpeg") a := MustParseURL("http://joe.example.org") person := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") person.SetActivityStreamsName(sally) name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("My cat taking a nap") example68Type.SetActivityStreamsName(name) urlProp := NewActivityStreamsUrlProperty() urlProp.AppendIRI(l) example68Type.SetActivityStreamsUrl(urlProp) attr := NewActivityStreamsAttributedToProperty() attr.AppendIRI(a) attr.AppendActivityStreamsPerson(person) example68Type.SetActivityStreamsAttributedTo(attr) return example68Type } const example69 = `{ "@context": "https://www.w3.org/ns/activitystreams", "name": "Holiday announcement", "type": "Note", "content": "Thursday will be a company-wide holiday. Enjoy your day off!", "audience": { "type": "http://example.org/Organization", "name": "ExampleCo LLC" } }` var example69Unknown = func(m map[string]interface{}) map[string]interface{} { m["audience"] = map[string]interface{}{ "type": "http://example.org/Organization", "name": "ExampleCo LLC", } return m } func example69Type() vocab.ActivityStreamsNote { example69Type := NewActivityStreamsNote() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Holiday announcement") example69Type.SetActivityStreamsName(name) content := NewActivityStreamsContentProperty() content.AppendXMLSchemaString("Thursday will be a company-wide holiday. Enjoy your day off!") example69Type.SetActivityStreamsContent(content) return example69Type } // NOTE: Changed to not be an array value for "bcc" to keep in line with other examples in spec! const example70 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally offered a post to John", "type": "Offer", "actor": "http://sally.example.org", "object": "http://example.org/posts/1", "target": "http://john.example.org", "bcc": "http://joe.example.org" }` func example70Type() vocab.ActivityStreamsOffer { example70Type := NewActivityStreamsOffer() o := MustParseURL("http://example.org/posts/1") a := MustParseURL("http://sally.example.org") t := MustParseURL("http://john.example.org") b := MustParseURL("http://joe.example.org") summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally offered a post to John") example70Type.SetActivityStreamsSummary(summary) objectActor := NewActivityStreamsActorProperty() objectActor.AppendIRI(a) example70Type.SetActivityStreamsActor(objectActor) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(o) example70Type.SetActivityStreamsObject(obj) target := NewActivityStreamsTargetProperty() target.AppendIRI(t) example70Type.SetActivityStreamsTarget(target) bcc := NewActivityStreamsBccProperty() bcc.AppendIRI(b) example70Type.SetActivityStreamsBcc(bcc) return example70Type } // NOTE: Changed to not be an array value for "bto" to keep in line with other examples in spec! const example71 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally offered a post to John", "type": "Offer", "actor": "http://sally.example.org", "object": "http://example.org/posts/1", "target": "http://john.example.org", "bto": "http://joe.example.org" }` func example71Type() vocab.ActivityStreamsOffer { example71Type := NewActivityStreamsOffer() o := MustParseURL("http://example.org/posts/1") a := MustParseURL("http://sally.example.org") t := MustParseURL("http://john.example.org") b := MustParseURL("http://joe.example.org") summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally offered a post to John") example71Type.SetActivityStreamsSummary(summary) objectActor := NewActivityStreamsActorProperty() objectActor.AppendIRI(a) example71Type.SetActivityStreamsActor(objectActor) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(o) example71Type.SetActivityStreamsObject(obj) target := NewActivityStreamsTargetProperty() target.AppendIRI(t) example71Type.SetActivityStreamsTarget(target) bto := NewActivityStreamsBtoProperty() bto.AppendIRI(b) example71Type.SetActivityStreamsBto(bto) return example71Type } // NOTE: Changed to not be an array value for "cc" to keep in line with other examples in spec! const example72 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally offered a post to John", "type": "Offer", "actor": "http://sally.example.org", "object": "http://example.org/posts/1", "target": "http://john.example.org", "cc": "http://joe.example.org" }` func example72Type() vocab.ActivityStreamsOffer { example72Type := NewActivityStreamsOffer() o := MustParseURL("http://example.org/posts/1") a := MustParseURL("http://sally.example.org") t := MustParseURL("http://john.example.org") b := MustParseURL("http://joe.example.org") summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally offered a post to John") example72Type.SetActivityStreamsSummary(summary) objectActor := NewActivityStreamsActorProperty() objectActor.AppendIRI(a) example72Type.SetActivityStreamsActor(objectActor) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(o) example72Type.SetActivityStreamsObject(obj) target := NewActivityStreamsTargetProperty() target.AppendIRI(t) example72Type.SetActivityStreamsTarget(target) cc := NewActivityStreamsCcProperty() cc.AppendIRI(b) example72Type.SetActivityStreamsCc(cc) return example72Type } const example73 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Activities in context 1", "type": "Collection", "items": [ { "type": "Offer", "actor": "http://sally.example.org", "object": "http://example.org/posts/1", "target": "http://john.example.org", "context": "http://example.org/contexts/1" }, { "type": "Like", "actor": "http://joe.example.org", "object": "http://example.org/posts/2", "context": "http://example.org/contexts/1" } ] }` func example73Type() vocab.ActivityStreamsCollection { example73Type := NewActivityStreamsCollection() oa := MustParseURL("http://sally.example.org") oo := MustParseURL("http://example.org/posts/1") ot := MustParseURL("http://john.example.org") oc := MustParseURL("http://example.org/contexts/1") offer := NewActivityStreamsOffer() offerActor := NewActivityStreamsActorProperty() offerActor.AppendIRI(oa) offer.SetActivityStreamsActor(offerActor) objOffer := NewActivityStreamsObjectProperty() objOffer.AppendIRI(oo) offer.SetActivityStreamsObject(objOffer) target := NewActivityStreamsTargetProperty() target.AppendIRI(ot) offer.SetActivityStreamsTarget(target) ctx := NewActivityStreamsContextProperty() ctx.AppendIRI(oc) offer.SetActivityStreamsContext(ctx) la := MustParseURL("http://joe.example.org") lo := MustParseURL("http://example.org/posts/2") lc := MustParseURL("http://example.org/contexts/1") like := NewActivityStreamsLike() likeActor := NewActivityStreamsActorProperty() likeActor.AppendIRI(la) like.SetActivityStreamsActor(likeActor) objLike := NewActivityStreamsObjectProperty() objLike.AppendIRI(lo) like.SetActivityStreamsObject(objLike) ctxLike := NewActivityStreamsContextProperty() ctxLike.AppendIRI(lc) like.SetActivityStreamsContext(ctxLike) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Activities in context 1") example73Type.SetActivityStreamsSummary(summary) items := NewActivityStreamsItemsProperty() items.AppendActivityStreamsOffer(offer) items.AppendActivityStreamsLike(like) example73Type.SetActivityStreamsItems(items) return example73Type } const example74 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally's blog posts", "type": "Collection", "totalItems": 3, "current": "http://example.org/collection", "items": [ "http://example.org/posts/1", "http://example.org/posts/2", "http://example.org/posts/3" ] }` func example74Type() vocab.ActivityStreamsCollection { example74Type := NewActivityStreamsCollection() c := MustParseURL("http://example.org/collection") i1 := MustParseURL("http://example.org/posts/1") i2 := MustParseURL("http://example.org/posts/2") i3 := MustParseURL("http://example.org/posts/3") totalItems := NewActivityStreamsTotalItemsProperty() totalItems.Set(3) example74Type.SetActivityStreamsTotalItems(totalItems) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally's blog posts") example74Type.SetActivityStreamsSummary(summary) current := NewActivityStreamsCurrentProperty() current.SetIRI(c) example74Type.SetActivityStreamsCurrent(current) items := NewActivityStreamsItemsProperty() items.AppendIRI(i1) items.AppendIRI(i2) items.AppendIRI(i3) example74Type.SetActivityStreamsItems(items) return example74Type } const example75 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally's blog posts", "type": "Collection", "totalItems": 3, "current": { "type": "Link", "summary": "Most Recent Items", "href": "http://example.org/collection" }, "items": [ "http://example.org/posts/1", "http://example.org/posts/2", "http://example.org/posts/3" ] }` func example75Type() vocab.ActivityStreamsCollection { example75Type := NewActivityStreamsCollection() i1 := MustParseURL("http://example.org/posts/1") i2 := MustParseURL("http://example.org/posts/2") i3 := MustParseURL("http://example.org/posts/3") href := MustParseURL("http://example.org/collection") link := NewActivityStreamsLink() summaryLink := NewActivityStreamsSummaryProperty() summaryLink.AppendXMLSchemaString("Most Recent Items") link.SetActivityStreamsSummary(summaryLink) hrefLink := NewActivityStreamsHrefProperty() hrefLink.Set(href) link.SetActivityStreamsHref(hrefLink) totalItems := NewActivityStreamsTotalItemsProperty() totalItems.Set(3) example75Type.SetActivityStreamsTotalItems(totalItems) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally's blog posts") example75Type.SetActivityStreamsSummary(summary) current := NewActivityStreamsCurrentProperty() current.SetActivityStreamsLink(link) example75Type.SetActivityStreamsCurrent(current) items := NewActivityStreamsItemsProperty() items.AppendIRI(i1) items.AppendIRI(i2) items.AppendIRI(i3) example75Type.SetActivityStreamsItems(items) return example75Type } const example76 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally's blog posts", "type": "Collection", "totalItems": 3, "first": "http://example.org/collection?page=0" }` func example76Type() vocab.ActivityStreamsCollection { example76Type := NewActivityStreamsCollection() f := MustParseURL("http://example.org/collection?page=0") totalItems := NewActivityStreamsTotalItemsProperty() totalItems.Set(3) example76Type.SetActivityStreamsTotalItems(totalItems) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally's blog posts") example76Type.SetActivityStreamsSummary(summary) first := NewActivityStreamsFirstProperty() first.SetIRI(f) example76Type.SetActivityStreamsFirst(first) return example76Type } const example77 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally's blog posts", "type": "Collection", "totalItems": 3, "first": { "type": "Link", "summary": "First Page", "href": "http://example.org/collection?page=0" } }` func example77Type() vocab.ActivityStreamsCollection { example77Type := NewActivityStreamsCollection() href := MustParseURL("http://example.org/collection?page=0") link := NewActivityStreamsLink() summaryLink := NewActivityStreamsSummaryProperty() summaryLink.AppendXMLSchemaString("First Page") link.SetActivityStreamsSummary(summaryLink) hrefLink := NewActivityStreamsHrefProperty() hrefLink.Set(href) link.SetActivityStreamsHref(hrefLink) totalItems := NewActivityStreamsTotalItemsProperty() totalItems.Set(3) example77Type.SetActivityStreamsTotalItems(totalItems) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally's blog posts") example77Type.SetActivityStreamsSummary(summary) first := NewActivityStreamsFirstProperty() first.SetActivityStreamsLink(link) example77Type.SetActivityStreamsFirst(first) return example77Type } const example78 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "A simple note", "type": "Note", "content": "This is all there is.", "generator": { "type": "Application", "name": "Exampletron 3000" } }` func example78Type() vocab.ActivityStreamsNote { example78Type := NewActivityStreamsNote() app := NewActivityStreamsApplication() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Exampletron 3000") app.SetActivityStreamsName(name) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("A simple note") example78Type.SetActivityStreamsSummary(summary) content := NewActivityStreamsContentProperty() content.AppendXMLSchemaString("This is all there is.") example78Type.SetActivityStreamsContent(content) gen := NewActivityStreamsGeneratorProperty() gen.AppendActivityStreamsApplication(app) example78Type.SetActivityStreamsGenerator(gen) return example78Type } const example79 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "A simple note", "type": "Note", "content": "This is all there is.", "icon": { "type": "Image", "name": "Note icon", "url": "http://example.org/note.png", "width": 16, "height": 16 } }` func example79Type() vocab.ActivityStreamsNote { example79Type := NewActivityStreamsNote() u := MustParseURL("http://example.org/note.png") image := NewActivityStreamsImage() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Note icon") image.SetActivityStreamsName(name) imgProp := NewActivityStreamsUrlProperty() imgProp.AppendIRI(u) image.SetActivityStreamsUrl(imgProp) width := NewActivityStreamsWidthProperty() width.Set(16) image.SetActivityStreamsWidth(width) height := NewActivityStreamsHeightProperty() height.Set(16) image.SetActivityStreamsHeight(height) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("A simple note") example79Type.SetActivityStreamsSummary(summary) content := NewActivityStreamsContentProperty() content.AppendXMLSchemaString("This is all there is.") example79Type.SetActivityStreamsContent(content) icon := NewActivityStreamsIconProperty() icon.AppendActivityStreamsImage(image) example79Type.SetActivityStreamsIcon(icon) return example79Type } const example80 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "A simple note", "type": "Note", "content": "A simple note", "icon": [ { "type": "Image", "summary": "Note (16x16)", "url": "http://example.org/note1.png", "width": 16, "height": 16 }, { "type": "Image", "summary": "Note (32x32)", "url": "http://example.org/note2.png", "width": 32, "height": 32 } ] }` func example80Type() vocab.ActivityStreamsNote { example80Type := NewActivityStreamsNote() u1 := MustParseURL("http://example.org/note1.png") u2 := MustParseURL("http://example.org/note2.png") image1 := NewActivityStreamsImage() summaryImg1 := NewActivityStreamsSummaryProperty() summaryImg1.AppendXMLSchemaString("Note (16x16)") image1.SetActivityStreamsSummary(summaryImg1) imgProp1 := NewActivityStreamsUrlProperty() imgProp1.AppendIRI(u1) image1.SetActivityStreamsUrl(imgProp1) width1 := NewActivityStreamsWidthProperty() width1.Set(16) image1.SetActivityStreamsWidth(width1) height1 := NewActivityStreamsHeightProperty() height1.Set(16) image1.SetActivityStreamsHeight(height1) image2 := NewActivityStreamsImage() summaryImg2 := NewActivityStreamsSummaryProperty() summaryImg2.AppendXMLSchemaString("Note (32x32)") image2.SetActivityStreamsSummary(summaryImg2) imgProp2 := NewActivityStreamsUrlProperty() imgProp2.AppendIRI(u2) image2.SetActivityStreamsUrl(imgProp2) width2 := NewActivityStreamsWidthProperty() width2.Set(32) image2.SetActivityStreamsWidth(width2) height2 := NewActivityStreamsHeightProperty() height2.Set(32) image2.SetActivityStreamsHeight(height2) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("A simple note") example80Type.SetActivityStreamsSummary(summary) content := NewActivityStreamsContentProperty() content.AppendXMLSchemaString("A simple note") example80Type.SetActivityStreamsContent(content) icon := NewActivityStreamsIconProperty() icon.AppendActivityStreamsImage(image1) icon.AppendActivityStreamsImage(image2) example80Type.SetActivityStreamsIcon(icon) return example80Type } const example81 = `{ "@context": "https://www.w3.org/ns/activitystreams", "name": "A simple note", "type": "Note", "content": "This is all there is.", "image": { "type": "Image", "name": "A Cat", "url": "http://example.org/cat.png" } }` func example81Type() vocab.ActivityStreamsNote { example81Type := NewActivityStreamsNote() u := MustParseURL("http://example.org/cat.png") image := NewActivityStreamsImage() imageName := NewActivityStreamsNameProperty() imageName.AppendXMLSchemaString("A Cat") image.SetActivityStreamsName(imageName) imgProp := NewActivityStreamsUrlProperty() imgProp.AppendIRI(u) image.SetActivityStreamsUrl(imgProp) name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("A simple note") example81Type.SetActivityStreamsName(name) content := NewActivityStreamsContentProperty() content.AppendXMLSchemaString("This is all there is.") example81Type.SetActivityStreamsContent(content) imageProp := NewActivityStreamsImageProperty() imageProp.AppendActivityStreamsImage(image) example81Type.SetActivityStreamsImage(imageProp) return example81Type } const example82 = `{ "@context": "https://www.w3.org/ns/activitystreams", "name": "A simple note", "type": "Note", "content": "This is all there is.", "image": [ { "type": "Image", "name": "Cat 1", "url": "http://example.org/cat1.png" }, { "type": "Image", "name": "Cat 2", "url": "http://example.org/cat2.png" } ] }` func example82Type() vocab.ActivityStreamsNote { example82Type := NewActivityStreamsNote() u1 := MustParseURL("http://example.org/cat1.png") u2 := MustParseURL("http://example.org/cat2.png") image1 := NewActivityStreamsImage() image1Name := NewActivityStreamsNameProperty() image1Name.AppendXMLSchemaString("Cat 1") image1.SetActivityStreamsName(image1Name) imgProp1 := NewActivityStreamsUrlProperty() imgProp1.AppendIRI(u1) image1.SetActivityStreamsUrl(imgProp1) image2 := NewActivityStreamsImage() image2Name := NewActivityStreamsNameProperty() image2Name.AppendXMLSchemaString("Cat 2") image2.SetActivityStreamsName(image2Name) imgProp2 := NewActivityStreamsUrlProperty() imgProp2.AppendIRI(u2) image2.SetActivityStreamsUrl(imgProp2) name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("A simple note") example82Type.SetActivityStreamsName(name) content := NewActivityStreamsContentProperty() content.AppendXMLSchemaString("This is all there is.") example82Type.SetActivityStreamsContent(content) imageProp := NewActivityStreamsImageProperty() imageProp.AppendActivityStreamsImage(image1) imageProp.AppendActivityStreamsImage(image2) example82Type.SetActivityStreamsImage(imageProp) return example82Type } const example83 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "A simple note", "type": "Note", "content": "This is all there is.", "inReplyTo": { "summary": "Previous note", "type": "Note", "content": "What else is there?" } }` func example83Type() vocab.ActivityStreamsNote { example83Type := NewActivityStreamsNote() note := NewActivityStreamsNote() summaryNote := NewActivityStreamsSummaryProperty() summaryNote.AppendXMLSchemaString("Previous note") note.SetActivityStreamsSummary(summaryNote) contentNote := NewActivityStreamsContentProperty() contentNote.AppendXMLSchemaString("What else is there?") note.SetActivityStreamsContent(contentNote) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("A simple note") example83Type.SetActivityStreamsSummary(summary) content := NewActivityStreamsContentProperty() content.AppendXMLSchemaString("This is all there is.") example83Type.SetActivityStreamsContent(content) inReplyTo := NewActivityStreamsInReplyToProperty() inReplyTo.AppendActivityStreamsNote(note) example83Type.SetActivityStreamsInReplyTo(inReplyTo) return example83Type } const example84 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "A simple note", "type": "Note", "content": "This is all there is.", "inReplyTo": "http://example.org/posts/1" }` func example84Type() vocab.ActivityStreamsNote { example84Type := NewActivityStreamsNote() u := MustParseURL("http://example.org/posts/1") summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("A simple note") example84Type.SetActivityStreamsSummary(summary) content := NewActivityStreamsContentProperty() content.AppendXMLSchemaString("This is all there is.") example84Type.SetActivityStreamsContent(content) inReplyTo := NewActivityStreamsInReplyToProperty() inReplyTo.AppendIRI(u) example84Type.SetActivityStreamsInReplyTo(inReplyTo) return example84Type } const example85 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally listened to a piece of music on the Acme Music Service", "type": "Listen", "actor": { "type": "Person", "name": "Sally" }, "object": "http://example.org/foo.mp3", "instrument": { "type": "Service", "name": "Acme Music Service" } }` func example85Type() vocab.ActivityStreamsListen { example85Type := NewActivityStreamsListen() u := MustParseURL("http://example.org/foo.mp3") actor := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") actor.SetActivityStreamsName(sally) service := NewActivityStreamsService() serviceName := NewActivityStreamsNameProperty() serviceName.AppendXMLSchemaString("Acme Music Service") service.SetActivityStreamsName(serviceName) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally listened to a piece of music on the Acme Music Service") example85Type.SetActivityStreamsSummary(summary) rootActor := NewActivityStreamsActorProperty() rootActor.AppendActivityStreamsPerson(actor) example85Type.SetActivityStreamsActor(rootActor) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(u) example85Type.SetActivityStreamsObject(obj) inst := NewActivityStreamsInstrumentProperty() inst.AppendActivityStreamsService(service) example85Type.SetActivityStreamsInstrument(inst) return example85Type } const example86 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "A collection", "type": "Collection", "totalItems": 3, "last": "http://example.org/collection?page=1" }` func example86Type() vocab.ActivityStreamsCollection { example86Type := NewActivityStreamsCollection() u := MustParseURL("http://example.org/collection?page=1") totalItems := NewActivityStreamsTotalItemsProperty() totalItems.Set(3) example86Type.SetActivityStreamsTotalItems(totalItems) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("A collection") example86Type.SetActivityStreamsSummary(summary) last := NewActivityStreamsLastProperty() last.SetIRI(u) example86Type.SetActivityStreamsLast(last) return example86Type } const example87 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "A collection", "type": "Collection", "totalItems": 5, "last": { "type": "Link", "summary": "Last Page", "href": "http://example.org/collection?page=1" } }` func example87Type() vocab.ActivityStreamsCollection { example87Type := NewActivityStreamsCollection() u := MustParseURL("http://example.org/collection?page=1") link := NewActivityStreamsLink() summaryLink := NewActivityStreamsSummaryProperty() summaryLink.AppendXMLSchemaString("Last Page") link.SetActivityStreamsSummary(summaryLink) hrefLink := NewActivityStreamsHrefProperty() hrefLink.Set(u) link.SetActivityStreamsHref(hrefLink) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("A collection") example87Type.SetActivityStreamsSummary(summary) totalItems := NewActivityStreamsTotalItemsProperty() totalItems.Set(5) example87Type.SetActivityStreamsTotalItems(totalItems) last := NewActivityStreamsLastProperty() last.SetActivityStreamsLink(link) example87Type.SetActivityStreamsLast(last) return example87Type } const example88 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Person", "name": "Sally", "location": { "name": "Over the Arabian Sea, east of Socotra Island Nature Sanctuary", "type": "Place", "longitude": 12.34, "latitude": 56.78, "altitude": 90, "units": "m" } }` func example88Type() vocab.ActivityStreamsPerson { example88Type := NewActivityStreamsPerson() place := NewActivityStreamsPlace() placeName := NewActivityStreamsNameProperty() placeName.AppendXMLSchemaString("Over the Arabian Sea, east of Socotra Island Nature Sanctuary") place.SetActivityStreamsName(placeName) lon := NewActivityStreamsLongitudeProperty() lon.Set(12.34) place.SetActivityStreamsLongitude(lon) lat := NewActivityStreamsLatitudeProperty() lat.Set(56.78) place.SetActivityStreamsLatitude(lat) alt := NewActivityStreamsAltitudeProperty() alt.Set(90) place.SetActivityStreamsAltitude(alt) units := NewActivityStreamsUnitsProperty() units.SetXMLSchemaString("m") place.SetActivityStreamsUnits(units) sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") example88Type.SetActivityStreamsName(sally) location := NewActivityStreamsLocationProperty() location.AppendActivityStreamsPlace(place) example88Type.SetActivityStreamsLocation(location) return example88Type } const example89 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally's notes", "type": "Collection", "totalItems": 2, "items": [ { "type": "Note", "name": "Reminder for Going-Away Party" }, { "type": "Note", "name": "Meeting 2016-11-17" } ] }` func example89Type() vocab.ActivityStreamsCollection { example89Type := NewActivityStreamsCollection() note1 := NewActivityStreamsNote() note1Name := NewActivityStreamsNameProperty() note1Name.AppendXMLSchemaString("Reminder for Going-Away Party") note1.SetActivityStreamsName(note1Name) note2 := NewActivityStreamsNote() note2Name := NewActivityStreamsNameProperty() note2Name.AppendXMLSchemaString("Meeting 2016-11-17") note2.SetActivityStreamsName(note2Name) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally's notes") example89Type.SetActivityStreamsSummary(summary) totalItems := NewActivityStreamsTotalItemsProperty() totalItems.Set(2) example89Type.SetActivityStreamsTotalItems(totalItems) items := NewActivityStreamsItemsProperty() items.AppendActivityStreamsNote(note1) items.AppendActivityStreamsNote(note2) example89Type.SetActivityStreamsItems(items) return example89Type } const example90 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally's notes", "type": "OrderedCollection", "totalItems": 2, "orderedItems": [ { "type": "Note", "name": "Meeting 2016-11-17" }, { "type": "Note", "name": "Reminder for Going-Away Party" } ] }` func example90Type() vocab.ActivityStreamsOrderedCollection { example90Type := NewActivityStreamsOrderedCollection() note1 := NewActivityStreamsNote() note1Name := NewActivityStreamsNameProperty() note1Name.AppendXMLSchemaString("Meeting 2016-11-17") note1.SetActivityStreamsName(note1Name) note2 := NewActivityStreamsNote() note2Name := NewActivityStreamsNameProperty() note2Name.AppendXMLSchemaString("Reminder for Going-Away Party") note2.SetActivityStreamsName(note2Name) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally's notes") example90Type.SetActivityStreamsSummary(summary) totalItems := NewActivityStreamsTotalItemsProperty() totalItems.Set(2) example90Type.SetActivityStreamsTotalItems(totalItems) orderedItems := NewActivityStreamsOrderedItemsProperty() orderedItems.AppendActivityStreamsNote(note1) orderedItems.AppendActivityStreamsNote(note2) example90Type.SetActivityStreamsOrderedItems(orderedItems) return example90Type } const example91 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Question", "name": "What is the answer?", "oneOf": [ { "type": "Note", "name": "Option A" }, { "type": "Note", "name": "Option B" } ] }` func example91Type() vocab.ActivityStreamsQuestion { example91Type := NewActivityStreamsQuestion() note1 := NewActivityStreamsNote() note1Name := NewActivityStreamsNameProperty() note1Name.AppendXMLSchemaString("Option A") note1.SetActivityStreamsName(note1Name) note2 := NewActivityStreamsNote() note2Name := NewActivityStreamsNameProperty() note2Name.AppendXMLSchemaString("Option B") note2.SetActivityStreamsName(note2Name) name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("What is the answer?") example91Type.SetActivityStreamsName(name) oneOf := NewActivityStreamsOneOfProperty() oneOf.AppendActivityStreamsNote(note1) oneOf.AppendActivityStreamsNote(note2) example91Type.SetActivityStreamsOneOf(oneOf) return example91Type } const example92 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Question", "name": "What is the answer?", "anyOf": [ { "type": "Note", "name": "Option A" }, { "type": "Note", "name": "Option B" } ] }` func example92Type() vocab.ActivityStreamsQuestion { example92Type := NewActivityStreamsQuestion() note1 := NewActivityStreamsNote() note1Name := NewActivityStreamsNameProperty() note1Name.AppendXMLSchemaString("Option A") note1.SetActivityStreamsName(note1Name) note2 := NewActivityStreamsNote() note2Name := NewActivityStreamsNameProperty() note2Name.AppendXMLSchemaString("Option B") note2.SetActivityStreamsName(note2Name) name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("What is the answer?") example92Type.SetActivityStreamsName(name) anyOf := NewActivityStreamsAnyOfProperty() anyOf.AppendActivityStreamsNote(note1) anyOf.AppendActivityStreamsNote(note2) example92Type.SetActivityStreamsAnyOf(anyOf) return example92Type } const example93 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Question", "name": "What is the answer?", "closed": "2016-05-10T00:00:00Z" }` func example93Type() vocab.ActivityStreamsQuestion { example93Type := NewActivityStreamsQuestion() t, err := time.Parse(time.RFC3339, "2016-05-10T00:00:00Z") if err != nil { panic(err) } name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("What is the answer?") example93Type.SetActivityStreamsName(name) closed := NewActivityStreamsClosedProperty() closed.AppendXMLSchemaDateTime(t) example93Type.SetActivityStreamsClosed(closed) return example93Type } const example94 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally moved a post from List A to List B", "type": "Move", "actor": "http://sally.example.org", "object": "http://example.org/posts/1", "target": { "type": "Collection", "name": "List B" }, "origin": { "type": "Collection", "name": "List A" } }` func example94Type() vocab.ActivityStreamsMove { example94Type := NewActivityStreamsMove() a := MustParseURL("http://sally.example.org") o := MustParseURL("http://example.org/posts/1") target := NewActivityStreamsCollection() targetName := NewActivityStreamsNameProperty() targetName.AppendXMLSchemaString("List B") target.SetActivityStreamsName(targetName) origin := NewActivityStreamsCollection() originName := NewActivityStreamsNameProperty() originName.AppendXMLSchemaString("List A") origin.SetActivityStreamsName(originName) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally moved a post from List A to List B") example94Type.SetActivityStreamsSummary(summary) objectActor := NewActivityStreamsActorProperty() objectActor.AppendIRI(a) example94Type.SetActivityStreamsActor(objectActor) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(o) example94Type.SetActivityStreamsObject(obj) tobj := NewActivityStreamsTargetProperty() tobj.AppendActivityStreamsCollection(target) example94Type.SetActivityStreamsTarget(tobj) originProp := NewActivityStreamsOriginProperty() originProp.AppendActivityStreamsCollection(origin) example94Type.SetActivityStreamsOrigin(originProp) return example94Type } const example95 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Page 2 of Sally's blog posts", "type": "CollectionPage", "next": "http://example.org/collection?page=2", "items": [ "http://example.org/posts/1", "http://example.org/posts/2", "http://example.org/posts/3" ] }` func example95Type() vocab.ActivityStreamsCollectionPage { example95Type := NewActivityStreamsCollectionPage() i := MustParseURL("http://example.org/collection?page=2") u1 := MustParseURL("http://example.org/posts/1") u2 := MustParseURL("http://example.org/posts/2") u3 := MustParseURL("http://example.org/posts/3") summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Page 2 of Sally's blog posts") example95Type.SetActivityStreamsSummary(summary) next := NewActivityStreamsNextProperty() next.SetIRI(i) example95Type.SetActivityStreamsNext(next) items := NewActivityStreamsItemsProperty() items.AppendIRI(u1) items.AppendIRI(u2) items.AppendIRI(u3) example95Type.SetActivityStreamsItems(items) return example95Type } const example96 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Page 2 of Sally's blog posts", "type": "CollectionPage", "next": { "type": "Link", "name": "Next Page", "href": "http://example.org/collection?page=2" }, "items": [ "http://example.org/posts/1", "http://example.org/posts/2", "http://example.org/posts/3" ] }` func example96Type() vocab.ActivityStreamsCollectionPage { example96Type := NewActivityStreamsCollectionPage() href := MustParseURL("http://example.org/collection?page=2") u1 := MustParseURL("http://example.org/posts/1") u2 := MustParseURL("http://example.org/posts/2") u3 := MustParseURL("http://example.org/posts/3") link := NewActivityStreamsLink() linkName := NewActivityStreamsNameProperty() linkName.AppendXMLSchemaString("Next Page") link.SetActivityStreamsName(linkName) hrefLink := NewActivityStreamsHrefProperty() hrefLink.Set(href) link.SetActivityStreamsHref(hrefLink) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Page 2 of Sally's blog posts") example96Type.SetActivityStreamsSummary(summary) next := NewActivityStreamsNextProperty() next.SetActivityStreamsLink(link) example96Type.SetActivityStreamsNext(next) items := NewActivityStreamsItemsProperty() items.AppendIRI(u1) items.AppendIRI(u2) items.AppendIRI(u3) example96Type.SetActivityStreamsItems(items) return example96Type } const example97 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally liked a post", "type": "Like", "actor": "http://sally.example.org", "object": "http://example.org/posts/1" }` func example97Type() vocab.ActivityStreamsLike { example97Type := NewActivityStreamsLike() a := MustParseURL("http://sally.example.org") o := MustParseURL("http://example.org/posts/1") summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally liked a post") example97Type.SetActivityStreamsSummary(summary) objectActor := NewActivityStreamsActorProperty() objectActor.AppendIRI(a) example97Type.SetActivityStreamsActor(objectActor) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(o) example97Type.SetActivityStreamsObject(obj) return example97Type } const example98 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Like", "actor": "http://sally.example.org", "object": { "type": "Note", "content": "A simple note" } }` func example98Type() vocab.ActivityStreamsLike { example98Type := NewActivityStreamsLike() a := MustParseURL("http://sally.example.org") note := NewActivityStreamsNote() content := NewActivityStreamsContentProperty() content.AppendXMLSchemaString("A simple note") note.SetActivityStreamsContent(content) objectActor := NewActivityStreamsActorProperty() objectActor.AppendIRI(a) example98Type.SetActivityStreamsActor(objectActor) obj := NewActivityStreamsObjectProperty() obj.AppendActivityStreamsNote(note) example98Type.SetActivityStreamsObject(obj) return example98Type } const example99 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally liked a note", "type": "Like", "actor": "http://sally.example.org", "object": [ "http://example.org/posts/1", { "type": "Note", "summary": "A simple note", "content": "That is a tree." } ] }` func example99Type() vocab.ActivityStreamsLike { example99Type := NewActivityStreamsLike() a := MustParseURL("http://sally.example.org") o := MustParseURL("http://example.org/posts/1") note := NewActivityStreamsNote() summaryNote := NewActivityStreamsSummaryProperty() summaryNote.AppendXMLSchemaString("A simple note") note.SetActivityStreamsSummary(summaryNote) content := NewActivityStreamsContentProperty() content.AppendXMLSchemaString("That is a tree.") note.SetActivityStreamsContent(content) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally liked a note") example99Type.SetActivityStreamsSummary(summary) objectActor := NewActivityStreamsActorProperty() objectActor.AppendIRI(a) example99Type.SetActivityStreamsActor(objectActor) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(o) obj.AppendActivityStreamsNote(note) example99Type.SetActivityStreamsObject(obj) return example99Type } const example100 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Page 1 of Sally's blog posts", "type": "CollectionPage", "prev": "http://example.org/collection?page=1", "items": [ "http://example.org/posts/1", "http://example.org/posts/2", "http://example.org/posts/3" ] }` func example100Type() vocab.ActivityStreamsCollectionPage { example100Type := NewActivityStreamsCollectionPage() p := MustParseURL("http://example.org/collection?page=1") u1 := MustParseURL("http://example.org/posts/1") u2 := MustParseURL("http://example.org/posts/2") u3 := MustParseURL("http://example.org/posts/3") summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Page 1 of Sally's blog posts") example100Type.SetActivityStreamsSummary(summary) prev := NewActivityStreamsPrevProperty() prev.SetIRI(p) example100Type.SetActivityStreamsPrev(prev) items := NewActivityStreamsItemsProperty() items.AppendIRI(u1) items.AppendIRI(u2) items.AppendIRI(u3) example100Type.SetActivityStreamsItems(items) return example100Type } const example101 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Page 1 of Sally's blog posts", "type": "CollectionPage", "prev": { "type": "Link", "name": "Previous Page", "href": "http://example.org/collection?page=1" }, "items": [ "http://example.org/posts/1", "http://example.org/posts/2", "http://example.org/posts/3" ] }` func example101Type() vocab.ActivityStreamsCollectionPage { example101Type := NewActivityStreamsCollectionPage() p := MustParseURL("http://example.org/collection?page=1") u1 := MustParseURL("http://example.org/posts/1") u2 := MustParseURL("http://example.org/posts/2") u3 := MustParseURL("http://example.org/posts/3") link := NewActivityStreamsLink() linkName := NewActivityStreamsNameProperty() linkName.AppendXMLSchemaString("Previous Page") link.SetActivityStreamsName(linkName) hrefLink := NewActivityStreamsHrefProperty() hrefLink.Set(p) link.SetActivityStreamsHref(hrefLink) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Page 1 of Sally's blog posts") example101Type.SetActivityStreamsSummary(summary) prev := NewActivityStreamsPrevProperty() prev.SetActivityStreamsLink(link) example101Type.SetActivityStreamsPrev(prev) items := NewActivityStreamsItemsProperty() items.AppendIRI(u1) items.AppendIRI(u2) items.AppendIRI(u3) example101Type.SetActivityStreamsItems(items) return example101Type } // NOTE: The 'url' field has added the 'type' property const example102 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Video", "name": "Cool New Movie", "duration": "PT2H30M", "preview": { "type": "Video", "name": "Trailer", "duration": "PT1M", "url": { "type": "Link", "href": "http://example.org/trailer.mkv", "mediaType": "video/mkv" } } }` func example102Type() vocab.ActivityStreamsVideo { example102Type := NewActivityStreamsVideo() u := MustParseURL("http://example.org/trailer.mkv") link := NewActivityStreamsLink() mediaType := NewActivityStreamsMediaTypeProperty() mediaType.Set("video/mkv") link.SetActivityStreamsMediaType(mediaType) hrefLink := NewActivityStreamsHrefProperty() hrefLink.Set(u) link.SetActivityStreamsHref(hrefLink) video := NewActivityStreamsVideo() videoName := NewActivityStreamsNameProperty() videoName.AppendXMLSchemaString("Trailer") video.SetActivityStreamsName(videoName) durVideo := NewActivityStreamsDurationProperty() durVideo.Set(time.Minute) video.SetActivityStreamsDuration(durVideo) urlProperty := NewActivityStreamsUrlProperty() urlProperty.AppendActivityStreamsLink(link) video.SetActivityStreamsUrl(urlProperty) name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Cool New Movie") example102Type.SetActivityStreamsName(name) dur := NewActivityStreamsDurationProperty() dur.Set(time.Hour*2 + time.Minute*30) example102Type.SetActivityStreamsDuration(dur) preview := NewActivityStreamsPreviewProperty() preview.AppendActivityStreamsVideo(video) example102Type.SetActivityStreamsPreview(preview) return example102Type } const example103 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally checked that her flight was on time", "type": ["Activity", "http://www.verbs.example/Check"], "actor": "http://sally.example.org", "object": "http://example.org/flights/1", "result": { "type": "http://www.types.example/flightstatus", "name": "On Time" } }` var example103Unknown = func(m map[string]interface{}) map[string]interface{} { m["type"] = []interface{}{ m["type"], "http://www.verbs.example/Check", } m["result"] = map[string]interface{}{ "type": "http://www.types.example/flightstatus", "name": "On Time", } return m } func example103Type() vocab.ActivityStreamsActivity { example103Type := NewActivityStreamsActivity() o := MustParseURL("http://example.org/flights/1") a := MustParseURL("http://sally.example.org") summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally checked that her flight was on time") example103Type.SetActivityStreamsSummary(summary) objectActor := NewActivityStreamsActorProperty() objectActor.AppendIRI(a) example103Type.SetActivityStreamsActor(objectActor) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(o) example103Type.SetActivityStreamsObject(obj) return example103Type } // NOTE: Changed to not be an array value for "items" to keep in line with other examples in spec! const example104 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "A simple note", "type": "Note", "id": "http://www.test.example/notes/1", "content": "I am fine.", "replies": { "type": "Collection", "totalItems": 1, "items": { "summary": "A response to the note", "type": "Note", "content": "I am glad to hear it.", "inReplyTo": "http://www.test.example/notes/1" } } }` func example104Type() vocab.ActivityStreamsNote { example104Type := NewActivityStreamsNote() i := MustParseURL("http://www.test.example/notes/1") note := NewActivityStreamsNote() summaryNote := NewActivityStreamsSummaryProperty() summaryNote.AppendXMLSchemaString("A response to the note") note.SetActivityStreamsSummary(summaryNote) contentNote := NewActivityStreamsContentProperty() contentNote.AppendXMLSchemaString("I am glad to hear it.") note.SetActivityStreamsContent(contentNote) inReplyTo := NewActivityStreamsInReplyToProperty() inReplyTo.AppendIRI(i) note.SetActivityStreamsInReplyTo(inReplyTo) replies := NewActivityStreamsCollection() totalItems := NewActivityStreamsTotalItemsProperty() totalItems.Set(1) replies.SetActivityStreamsTotalItems(totalItems) items := NewActivityStreamsItemsProperty() items.AppendActivityStreamsNote(note) replies.SetActivityStreamsItems(items) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("A simple note") example104Type.SetActivityStreamsSummary(summary) id := NewActivityStreamsIdProperty() id.Set(MustParseURL("http://www.test.example/notes/1")) example104Type.SetActivityStreamsId(id) content := NewActivityStreamsContentProperty() content.AppendXMLSchemaString("I am fine.") example104Type.SetActivityStreamsContent(content) reply := NewActivityStreamsRepliesProperty() reply.SetActivityStreamsCollection(replies) example104Type.SetActivityStreamsReplies(reply) return example104Type } // NOTE: Changed to not be an array value for "tag" to keep in line with other examples in spec! const example105 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Image", "summary": "Picture of Sally", "url": "http://example.org/sally.jpg", "tag": { "type": "Person", "id": "http://sally.example.org", "name": "Sally" } }` func example105Type() vocab.ActivityStreamsImage { example105Type := NewActivityStreamsImage() u := MustParseURL("http://example.org/sally.jpg") person := NewActivityStreamsPerson() id := NewActivityStreamsIdProperty() id.Set(MustParseURL("http://sally.example.org")) person.SetActivityStreamsId(id) sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") person.SetActivityStreamsName(sally) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Picture of Sally") example105Type.SetActivityStreamsSummary(summary) urlProp := NewActivityStreamsUrlProperty() urlProp.AppendIRI(u) example105Type.SetActivityStreamsUrl(urlProp) tag := NewActivityStreamsTagProperty() tag.AppendActivityStreamsPerson(person) example105Type.SetActivityStreamsTag(tag) return example105Type } const example106 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally offered the post to John", "type": "Offer", "actor": "http://sally.example.org", "object": "http://example.org/posts/1", "target": "http://john.example.org" }` func example106Type() vocab.ActivityStreamsOffer { example106Type := NewActivityStreamsOffer() a := MustParseURL("http://sally.example.org") o := MustParseURL("http://example.org/posts/1") t := MustParseURL("http://john.example.org") summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally offered the post to John") example106Type.SetActivityStreamsSummary(summary) objectActor := NewActivityStreamsActorProperty() objectActor.AppendIRI(a) example106Type.SetActivityStreamsActor(objectActor) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(o) example106Type.SetActivityStreamsObject(obj) target := NewActivityStreamsTargetProperty() target.AppendIRI(t) example106Type.SetActivityStreamsTarget(target) return example106Type } const example107 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally offered the post to John", "type": "Offer", "actor": "http://sally.example.org", "object": "http://example.org/posts/1", "target": { "type": "Person", "name": "John" } }` func example107Type() vocab.ActivityStreamsOffer { example107Type := NewActivityStreamsOffer() a := MustParseURL("http://sally.example.org") o := MustParseURL("http://example.org/posts/1") person := NewActivityStreamsPerson() personName := NewActivityStreamsNameProperty() personName.AppendXMLSchemaString("John") person.SetActivityStreamsName(personName) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally offered the post to John") example107Type.SetActivityStreamsSummary(summary) objectActor := NewActivityStreamsActorProperty() objectActor.AppendIRI(a) example107Type.SetActivityStreamsActor(objectActor) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(o) example107Type.SetActivityStreamsObject(obj) tobj := NewActivityStreamsTargetProperty() tobj.AppendActivityStreamsPerson(person) example107Type.SetActivityStreamsTarget(tobj) return example107Type } // NOTE: Changed to not be an array value for "to" to keep in line with other examples in spec! const example108 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally offered the post to John", "type": "Offer", "actor": "http://sally.example.org", "object": "http://example.org/posts/1", "target": "http://john.example.org", "to": "http://joe.example.org" }` func example108Type() vocab.ActivityStreamsOffer { example108Type := NewActivityStreamsOffer() a := MustParseURL("http://sally.example.org") o := MustParseURL("http://example.org/posts/1") t := MustParseURL("http://john.example.org") z := MustParseURL("http://joe.example.org") summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally offered the post to John") example108Type.SetActivityStreamsSummary(summary) objectActor := NewActivityStreamsActorProperty() objectActor.AppendIRI(a) example108Type.SetActivityStreamsActor(objectActor) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(o) example108Type.SetActivityStreamsObject(obj) target := NewActivityStreamsTargetProperty() target.AppendIRI(t) example108Type.SetActivityStreamsTarget(target) to := NewActivityStreamsToProperty() to.AppendIRI(z) example108Type.SetActivityStreamsTo(to) return example108Type } const example109 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Document", "name": "4Q Sales Forecast", "url": "http://example.org/4q-sales-forecast.pdf" }` func example109Type() vocab.ActivityStreamsDocument { example109Type := NewActivityStreamsDocument() u := MustParseURL("http://example.org/4q-sales-forecast.pdf") name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("4Q Sales Forecast") example109Type.SetActivityStreamsName(name) urlProp := NewActivityStreamsUrlProperty() urlProp.AppendIRI(u) example109Type.SetActivityStreamsUrl(urlProp) return example109Type } const example110 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Document", "name": "4Q Sales Forecast", "url": { "type": "Link", "href": "http://example.org/4q-sales-forecast.pdf" } }` func example110Type() vocab.ActivityStreamsDocument { example110Type := NewActivityStreamsDocument() u := MustParseURL("http://example.org/4q-sales-forecast.pdf") link := NewActivityStreamsLink() hrefLink := NewActivityStreamsHrefProperty() hrefLink.Set(u) link.SetActivityStreamsHref(hrefLink) name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("4Q Sales Forecast") example110Type.SetActivityStreamsName(name) urlProperty := NewActivityStreamsUrlProperty() urlProperty.AppendActivityStreamsLink(link) example110Type.SetActivityStreamsUrl(urlProperty) return example110Type } const example111 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Document", "name": "4Q Sales Forecast", "url": [ { "type": "Link", "href": "http://example.org/4q-sales-forecast.pdf", "mediaType": "application/pdf" }, { "type": "Link", "href": "http://example.org/4q-sales-forecast.html", "mediaType": "text/html" } ] }` func example111Type() vocab.ActivityStreamsDocument { example111Type := NewActivityStreamsDocument() u1 := MustParseURL("http://example.org/4q-sales-forecast.pdf") u2 := MustParseURL("http://example.org/4q-sales-forecast.html") link1 := NewActivityStreamsLink() hrefLink1 := NewActivityStreamsHrefProperty() hrefLink1.Set(u1) link1.SetActivityStreamsHref(hrefLink1) mediaType1 := NewActivityStreamsMediaTypeProperty() mediaType1.Set("application/pdf") link1.SetActivityStreamsMediaType(mediaType1) link2 := NewActivityStreamsLink() hrefLink2 := NewActivityStreamsHrefProperty() hrefLink2.Set(u2) link2.SetActivityStreamsHref(hrefLink2) mediaType2 := NewActivityStreamsMediaTypeProperty() mediaType2.Set("text/html") link2.SetActivityStreamsMediaType(mediaType2) name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("4Q Sales Forecast") example111Type.SetActivityStreamsName(name) urlProperty := NewActivityStreamsUrlProperty() urlProperty.AppendActivityStreamsLink(link1) urlProperty.AppendActivityStreamsLink(link2) example111Type.SetActivityStreamsUrl(urlProperty) return example111Type } const example112 = `{ "@context": "https://www.w3.org/ns/activitystreams", "name": "Liu Gu Lu Cun, Pingdu, Qingdao, Shandong, China", "type": "Place", "latitude": 36.75, "longitude": 119.7667, "accuracy": 94.5 }` func example112Type() vocab.ActivityStreamsPlace { example112Type := NewActivityStreamsPlace() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Liu Gu Lu Cun, Pingdu, Qingdao, Shandong, China") example112Type.SetActivityStreamsName(name) lat := NewActivityStreamsLatitudeProperty() lat.Set(36.75) example112Type.SetActivityStreamsLatitude(lat) lon := NewActivityStreamsLongitudeProperty() lon.Set(119.7667) example112Type.SetActivityStreamsLongitude(lon) acc := NewActivityStreamsAccuracyProperty() acc.Set(94.5) example112Type.SetActivityStreamsAccuracy(acc) return example112Type } const example113 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Place", "name": "Fresno Area", "altitude": 15.0, "latitude": 36.75, "longitude": 119.7667, "units": "miles" }` func example113Type() vocab.ActivityStreamsPlace { example113Type := NewActivityStreamsPlace() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Fresno Area") example113Type.SetActivityStreamsName(name) alt := NewActivityStreamsAltitudeProperty() alt.Set(15.0) example113Type.SetActivityStreamsAltitude(alt) lat := NewActivityStreamsLatitudeProperty() lat.Set(36.75) example113Type.SetActivityStreamsLatitude(lat) lon := NewActivityStreamsLongitudeProperty() lon.Set(119.7667) example113Type.SetActivityStreamsLongitude(lon) units := NewActivityStreamsUnitsProperty() units.SetXMLSchemaString("miles") example113Type.SetActivityStreamsUnits(units) return example113Type } const example114 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "A simple note", "type": "Note", "content": "A simple note" }` func example114Type() vocab.ActivityStreamsNote { example114Type := NewActivityStreamsNote() summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("A simple note") example114Type.SetActivityStreamsSummary(summary) content := NewActivityStreamsContentProperty() content.AppendXMLSchemaString("A simple note") example114Type.SetActivityStreamsContent(content) return example114Type } const example115 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "A simple note", "type": "Note", "contentMap": { "en": "A simple note", "es": "Una nota sencilla", "zh-Hans": "一段简单的笔记" } }` func example115Type() vocab.ActivityStreamsNote { example115Type := NewActivityStreamsNote() summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("A simple note") example115Type.SetActivityStreamsSummary(summary) content := NewActivityStreamsContentProperty() content.AppendRDFLangString(map[string]string{ "en": "A simple note", "es": "Una nota sencilla", "zh-Hans": "一段简单的笔记", }) example115Type.SetActivityStreamsContent(content) return example115Type } const example116 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "A simple note", "type": "Note", "mediaType": "text/markdown", "content": "## A simple note\nA simple markdown ` + "`note`" + `" }` func example116Type() vocab.ActivityStreamsNote { example116Type := NewActivityStreamsNote() summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("A simple note") example116Type.SetActivityStreamsSummary(summary) mediaType := NewActivityStreamsMediaTypeProperty() mediaType.Set("text/markdown") example116Type.SetActivityStreamsMediaType(mediaType) content := NewActivityStreamsContentProperty() content.AppendXMLSchemaString("## A simple note\nA simple markdown `note`") example116Type.SetActivityStreamsContent(content) return example116Type } const example117 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Note", "name": "A simple note" }` func example117Type() vocab.ActivityStreamsNote { example117Type := NewActivityStreamsNote() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("A simple note") example117Type.SetActivityStreamsName(name) return example117Type } const example118 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Note", "nameMap": { "en": "A simple note", "es": "Una nota sencilla", "zh-Hans": "一段简单的笔记" } }` func example118Type() vocab.ActivityStreamsNote { example118Type := NewActivityStreamsNote() name := NewActivityStreamsNameProperty() name.AppendRDFLangString(map[string]string{ "en": "A simple note", "es": "Una nota sencilla", "zh-Hans": "一段简单的笔记", }) example118Type.SetActivityStreamsName(name) return example118Type } const example119 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Video", "name": "Birds Flying", "url": "http://example.org/video.mkv", "duration": "PT2H" }` func example119Type() vocab.ActivityStreamsVideo { example119Type := NewActivityStreamsVideo() u := MustParseURL("http://example.org/video.mkv") name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Birds Flying") example119Type.SetActivityStreamsName(name) urlProp := NewActivityStreamsUrlProperty() urlProp.AppendIRI(u) example119Type.SetActivityStreamsUrl(urlProp) dur := NewActivityStreamsDurationProperty() dur.Set(time.Hour * 2) example119Type.SetActivityStreamsDuration(dur) return example119Type } const example120 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Link", "href": "http://example.org/image.png", "height": 100, "width": 100 }` func example120Type() vocab.ActivityStreamsLink { example120Type := NewActivityStreamsLink() u := MustParseURL("http://example.org/image.png") hrefLink := NewActivityStreamsHrefProperty() hrefLink.Set(u) example120Type.SetActivityStreamsHref(hrefLink) width := NewActivityStreamsWidthProperty() width.Set(100) example120Type.SetActivityStreamsWidth(width) height := NewActivityStreamsHeightProperty() height.Set(100) example120Type.SetActivityStreamsHeight(height) return example120Type } const example121 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Link", "href": "http://example.org/abc", "mediaType": "text/html", "name": "Previous" }` func example121Type() vocab.ActivityStreamsLink { example121Type := NewActivityStreamsLink() u := MustParseURL("http://example.org/abc") hrefLink := NewActivityStreamsHrefProperty() hrefLink.Set(u) example121Type.SetActivityStreamsHref(hrefLink) mediaType := NewActivityStreamsMediaTypeProperty() mediaType.Set("text/html") example121Type.SetActivityStreamsMediaType(mediaType) name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Previous") example121Type.SetActivityStreamsName(name) return example121Type } const example122 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Link", "href": "http://example.org/abc", "hreflang": "en", "mediaType": "text/html", "name": "Previous" }` func example122Type() vocab.ActivityStreamsLink { example122Type := NewActivityStreamsLink() u := MustParseURL("http://example.org/abc") hrefLink := NewActivityStreamsHrefProperty() hrefLink.Set(u) example122Type.SetActivityStreamsHref(hrefLink) mediaType := NewActivityStreamsMediaTypeProperty() mediaType.Set("text/html") example122Type.SetActivityStreamsMediaType(mediaType) name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Previous") example122Type.SetActivityStreamsName(name) hreflang := NewActivityStreamsHreflangProperty() hreflang.Set("en") example122Type.SetActivityStreamsHreflang(hreflang) return example122Type } const example123 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Page 1 of Sally's notes", "type": "CollectionPage", "id": "http://example.org/collection?page=1", "partOf": "http://example.org/collection", "items": [ { "type": "Note", "name": "Pizza Toppings to Try" }, { "type": "Note", "name": "Thought about California" } ] }` func example123Type() vocab.ActivityStreamsCollectionPage { example123Type := NewActivityStreamsCollectionPage() u := MustParseURL("http://example.org/collection") note1 := NewActivityStreamsNote() name1 := NewActivityStreamsNameProperty() name1.AppendXMLSchemaString("Pizza Toppings to Try") note1.SetActivityStreamsName(name1) note2 := NewActivityStreamsNote() name2 := NewActivityStreamsNameProperty() name2.AppendXMLSchemaString("Thought about California") note2.SetActivityStreamsName(name2) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Page 1 of Sally's notes") example123Type.SetActivityStreamsSummary(summary) id := NewActivityStreamsIdProperty() id.Set(MustParseURL("http://example.org/collection?page=1")) example123Type.SetActivityStreamsId(id) partOf := NewActivityStreamsPartOfProperty() partOf.SetIRI(u) example123Type.SetActivityStreamsPartOf(partOf) items := NewActivityStreamsItemsProperty() items.AppendActivityStreamsNote(note1) items.AppendActivityStreamsNote(note2) example123Type.SetActivityStreamsItems(items) return example123Type } const example124 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Place", "name": "Fresno Area", "latitude": 36.75, "longitude": 119.7667, "radius": 15, "units": "miles" }` func example124Type() vocab.ActivityStreamsPlace { example124Type := NewActivityStreamsPlace() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Fresno Area") example124Type.SetActivityStreamsName(name) lat := NewActivityStreamsLatitudeProperty() lat.Set(36.75) example124Type.SetActivityStreamsLatitude(lat) lon := NewActivityStreamsLongitudeProperty() lon.Set(119.7667) example124Type.SetActivityStreamsLongitude(lon) rad := NewActivityStreamsRadiusProperty() rad.Set(15) example124Type.SetActivityStreamsRadius(rad) units := NewActivityStreamsUnitsProperty() units.SetXMLSchemaString("miles") example124Type.SetActivityStreamsUnits(units) return example124Type } const example125 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Place", "name": "Fresno Area", "latitude": 36.75, "longitude": 119.7667, "radius": 15, "units": "miles" }` func example125Type() vocab.ActivityStreamsPlace { example125Type := NewActivityStreamsPlace() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Fresno Area") example125Type.SetActivityStreamsName(name) lat := NewActivityStreamsLatitudeProperty() lat.Set(36.75) example125Type.SetActivityStreamsLatitude(lat) lon := NewActivityStreamsLongitudeProperty() lon.Set(119.7667) example125Type.SetActivityStreamsLongitude(lon) rad := NewActivityStreamsRadiusProperty() rad.Set(15) example125Type.SetActivityStreamsRadius(rad) units := NewActivityStreamsUnitsProperty() units.SetXMLSchemaString("miles") example125Type.SetActivityStreamsUnits(units) return example125Type } const example126 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Link", "href": "http://example.org/abc", "hreflang": "en", "mediaType": "text/html", "name": "Next" }` func example126Type() vocab.ActivityStreamsLink { example126Type := NewActivityStreamsLink() u := MustParseURL("http://example.org/abc") hrefLink := NewActivityStreamsHrefProperty() hrefLink.Set(u) example126Type.SetActivityStreamsHref(hrefLink) hreflang := NewActivityStreamsHreflangProperty() hreflang.Set("en") example126Type.SetActivityStreamsHreflang(hreflang) mediaType := NewActivityStreamsMediaTypeProperty() mediaType.Set("text/html") example126Type.SetActivityStreamsMediaType(mediaType) name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Next") example126Type.SetActivityStreamsName(name) return example126Type } const example127 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Event", "name": "Going-Away Party for Jim", "startTime": "2014-12-31T23:00:00-08:00", "endTime": "2015-01-01T06:00:00-08:00" }` func example127Type() vocab.ActivityStreamsEvent { example127Type := NewActivityStreamsEvent() t1, err := time.Parse(time.RFC3339, "2014-12-31T23:00:00-08:00") if err != nil { panic(err) } t2, err := time.Parse(time.RFC3339, "2015-01-01T06:00:00-08:00") if err != nil { panic(err) } goingAway := NewActivityStreamsNameProperty() goingAway.AppendXMLSchemaString("Going-Away Party for Jim") example127Type.SetActivityStreamsName(goingAway) startTime := NewActivityStreamsStartTimeProperty() startTime.Set(t1) example127Type.SetActivityStreamsStartTime(startTime) endTime := NewActivityStreamsEndTimeProperty() endTime.Set(t2) example127Type.SetActivityStreamsEndTime(endTime) return example127Type } const example128 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "A simple note", "type": "Note", "content": "Fish swim.", "published": "2014-12-12T12:12:12Z" }` func example128Type() vocab.ActivityStreamsNote { example128Type := NewActivityStreamsNote() t, err := time.Parse(time.RFC3339, "2014-12-12T12:12:12Z") if err != nil { panic(err) } summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("A simple note") example128Type.SetActivityStreamsSummary(summary) content := NewActivityStreamsContentProperty() content.AppendXMLSchemaString("Fish swim.") example128Type.SetActivityStreamsContent(content) published := NewActivityStreamsPublishedProperty() published.Set(t) example128Type.SetActivityStreamsPublished(published) return example128Type } const example129 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Event", "name": "Going-Away Party for Jim", "startTime": "2014-12-31T23:00:00-08:00", "endTime": "2015-01-01T06:00:00-08:00" }` func example129Type() vocab.ActivityStreamsEvent { example129Type := NewActivityStreamsEvent() t1, err := time.Parse(time.RFC3339, "2014-12-31T23:00:00-08:00") if err != nil { panic(err) } t2, err := time.Parse(time.RFC3339, "2015-01-01T06:00:00-08:00") if err != nil { panic(err) } goingAway := NewActivityStreamsNameProperty() goingAway.AppendXMLSchemaString("Going-Away Party for Jim") example129Type.SetActivityStreamsName(goingAway) startTime := NewActivityStreamsStartTimeProperty() startTime.Set(t1) example129Type.SetActivityStreamsStartTime(startTime) endTime := NewActivityStreamsEndTimeProperty() endTime.Set(t2) example129Type.SetActivityStreamsEndTime(endTime) return example129Type } const example130 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Place", "name": "Fresno Area", "latitude": 36.75, "longitude": 119.7667, "radius": 15, "units": "miles" }` func example130Type() vocab.ActivityStreamsPlace { example130Type := NewActivityStreamsPlace() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Fresno Area") example130Type.SetActivityStreamsName(name) lat := NewActivityStreamsLatitudeProperty() lat.Set(36.75) example130Type.SetActivityStreamsLatitude(lat) lon := NewActivityStreamsLongitudeProperty() lon.Set(119.7667) example130Type.SetActivityStreamsLongitude(lon) rad := NewActivityStreamsRadiusProperty() rad.Set(15) example130Type.SetActivityStreamsRadius(rad) units := NewActivityStreamsUnitsProperty() units.SetXMLSchemaString("miles") example130Type.SetActivityStreamsUnits(units) return example130Type } const example131 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Link", "href": "http://example.org/abc", "hreflang": "en", "mediaType": "text/html", "name": "Preview", "rel": ["canonical", "preview"] }` func example131Type() vocab.ActivityStreamsLink { example131Type := NewActivityStreamsLink() u := MustParseURL("http://example.org/abc") hrefLink := NewActivityStreamsHrefProperty() hrefLink.Set(u) example131Type.SetActivityStreamsHref(hrefLink) hreflang := NewActivityStreamsHreflangProperty() hreflang.Set("en") example131Type.SetActivityStreamsHreflang(hreflang) mediaType := NewActivityStreamsMediaTypeProperty() mediaType.Set("text/html") example131Type.SetActivityStreamsMediaType(mediaType) name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Preview") example131Type.SetActivityStreamsName(name) rel := NewActivityStreamsRelProperty() rel.AppendRFCRfc5988("canonical") rel.AppendRFCRfc5988("preview") example131Type.SetActivityStreamsRel(rel) return example131Type } const example132 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Page 1 of Sally's notes", "type": "OrderedCollectionPage", "startIndex": 0, "orderedItems": [ { "type": "Note", "name": "Density of Water" }, { "type": "Note", "name": "Air Mattress Idea" } ] }` func example132Type() vocab.ActivityStreamsOrderedCollectionPage { example132Type := NewActivityStreamsOrderedCollectionPage() note1 := NewActivityStreamsNote() name1 := NewActivityStreamsNameProperty() name1.AppendXMLSchemaString("Density of Water") note1.SetActivityStreamsName(name1) note2 := NewActivityStreamsNote() name2 := NewActivityStreamsNameProperty() name2.AppendXMLSchemaString("Air Mattress Idea") note2.SetActivityStreamsName(name2) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Page 1 of Sally's notes") example132Type.SetActivityStreamsSummary(summary) start := NewActivityStreamsStartIndexProperty() start.Set(0) example132Type.SetActivityStreamsStartIndex(start) orderedItems := NewActivityStreamsOrderedItemsProperty() orderedItems.AppendActivityStreamsNote(note1) orderedItems.AppendActivityStreamsNote(note2) example132Type.SetActivityStreamsOrderedItems(orderedItems) return example132Type } const example133 = `{ "@context": "https://www.w3.org/ns/activitystreams", "name": "Cane Sugar Processing", "type": "Note", "summary": "A simple note" }` func example133Type() vocab.ActivityStreamsNote { example133Type := NewActivityStreamsNote() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Cane Sugar Processing") example133Type.SetActivityStreamsName(name) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("A simple note") example133Type.SetActivityStreamsSummary(summary) return example133Type } const example134 = `{ "@context": "https://www.w3.org/ns/activitystreams", "name": "Cane Sugar Processing", "type": "Note", "summaryMap": { "en": "A simple note", "es": "Una nota sencilla", "zh-Hans": "一段简单的笔记" } }` func example134Type() vocab.ActivityStreamsNote { example134Type := NewActivityStreamsNote() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Cane Sugar Processing") example134Type.SetActivityStreamsName(name) summary := NewActivityStreamsSummaryProperty() summary.AppendRDFLangString(map[string]string{ "en": "A simple note", "es": "Una nota sencilla", "zh-Hans": "一段简单的笔记", }) example134Type.SetActivityStreamsSummary(summary) return example134Type } const example135 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally's notes", "type": "Collection", "totalItems": 2, "items": [ { "type": "Note", "name": "Which Staircase Should I Use" }, { "type": "Note", "name": "Something to Remember" } ] }` func example135Type() vocab.ActivityStreamsCollection { example135Type := NewActivityStreamsCollection() note1 := NewActivityStreamsNote() name1 := NewActivityStreamsNameProperty() name1.AppendXMLSchemaString("Which Staircase Should I Use") note1.SetActivityStreamsName(name1) note2 := NewActivityStreamsNote() name2 := NewActivityStreamsNameProperty() name2.AppendXMLSchemaString("Something to Remember") note2.SetActivityStreamsName(name2) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally's notes") example135Type.SetActivityStreamsSummary(summary) totalItems := NewActivityStreamsTotalItemsProperty() totalItems.Set(2) example135Type.SetActivityStreamsTotalItems(totalItems) items := NewActivityStreamsItemsProperty() items.AppendActivityStreamsNote(note1) items.AppendActivityStreamsNote(note2) example135Type.SetActivityStreamsItems(items) return example135Type } const example136 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Place", "name": "Fresno Area", "latitude": 36.75, "longitude": 119.7667, "radius": 15, "units": "miles" }` func example136Type() vocab.ActivityStreamsPlace { example136Type := NewActivityStreamsPlace() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Fresno Area") example136Type.SetActivityStreamsName(name) lat := NewActivityStreamsLatitudeProperty() lat.Set(36.75) example136Type.SetActivityStreamsLatitude(lat) lon := NewActivityStreamsLongitudeProperty() lon.Set(119.7667) example136Type.SetActivityStreamsLongitude(lon) rad := NewActivityStreamsRadiusProperty() rad.Set(15) example136Type.SetActivityStreamsRadius(rad) units := NewActivityStreamsUnitsProperty() units.SetXMLSchemaString("miles") example136Type.SetActivityStreamsUnits(units) return example136Type } const example137 = `{ "@context": "https://www.w3.org/ns/activitystreams", "name": "Cranberry Sauce Idea", "type": "Note", "content": "Mush it up so it does not have the same shape as the can.", "updated": "2014-12-12T12:12:12Z" }` func example137Type() vocab.ActivityStreamsNote { example137Type := NewActivityStreamsNote() t, err := time.Parse(time.RFC3339, "2014-12-12T12:12:12Z") if err != nil { panic(err) } name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Cranberry Sauce Idea") example137Type.SetActivityStreamsName(name) content := NewActivityStreamsContentProperty() content.AppendXMLSchemaString("Mush it up so it does not have the same shape as the can.") example137Type.SetActivityStreamsContent(content) updated := NewActivityStreamsUpdatedProperty() updated.Set(t) example137Type.SetActivityStreamsUpdated(updated) return example137Type } const example138 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Link", "href": "http://example.org/image.png", "height": 100, "width": 100 }` func example138Type() vocab.ActivityStreamsLink { example138Type := NewActivityStreamsLink() u := MustParseURL("http://example.org/image.png") hrefLink := NewActivityStreamsHrefProperty() hrefLink.Set(u) example138Type.SetActivityStreamsHref(hrefLink) width := NewActivityStreamsWidthProperty() width.Set(100) example138Type.SetActivityStreamsWidth(width) height := NewActivityStreamsHeightProperty() height.Set(100) example138Type.SetActivityStreamsHeight(height) return example138Type } const example139 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally is an acquaintance of John's", "type": "Relationship", "subject": { "type": "Person", "name": "Sally" }, "relationship": "http://purl.org/vocab/relationship/acquaintanceOf", "object": { "type": "Person", "name": "John" } }` func example139Type() vocab.ActivityStreamsRelationship { example139Type := NewActivityStreamsRelationship() u := MustParseURL("http://purl.org/vocab/relationship/acquaintanceOf") subject := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") subject.SetActivityStreamsName(sally) object := NewActivityStreamsPerson() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("John") object.SetActivityStreamsName(name) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally is an acquaintance of John's") example139Type.SetActivityStreamsSummary(summary) subj := NewActivityStreamsSubjectProperty() subj.SetActivityStreamsPerson(subject) example139Type.SetActivityStreamsSubject(subj) obj := NewActivityStreamsObjectProperty() obj.AppendActivityStreamsPerson(object) example139Type.SetActivityStreamsObject(obj) relationship := NewActivityStreamsRelationshipProperty() relationship.AppendIRI(u) example139Type.SetActivityStreamsRelationship(relationship) return example139Type } const example140 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally is an acquaintance of John's", "type": "Relationship", "subject": { "type": "Person", "name": "Sally" }, "relationship": "http://purl.org/vocab/relationship/acquaintanceOf", "object": { "type": "Person", "name": "John" } }` func example140Type() vocab.ActivityStreamsRelationship { example140Type := NewActivityStreamsRelationship() u := MustParseURL("http://purl.org/vocab/relationship/acquaintanceOf") subject := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") subject.SetActivityStreamsName(sally) object := NewActivityStreamsPerson() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("John") object.SetActivityStreamsName(name) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally is an acquaintance of John's") example140Type.SetActivityStreamsSummary(summary) subj := NewActivityStreamsSubjectProperty() subj.SetActivityStreamsPerson(subject) example140Type.SetActivityStreamsSubject(subj) obj := NewActivityStreamsObjectProperty() obj.AppendActivityStreamsPerson(object) example140Type.SetActivityStreamsObject(obj) relationship := NewActivityStreamsRelationshipProperty() relationship.AppendIRI(u) example140Type.SetActivityStreamsRelationship(relationship) return example140Type } const example141 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally's profile", "type": "Profile", "describes": { "type": "Person", "name": "Sally" }, "url": "http://sally.example.org" }` func example141Type() vocab.ActivityStreamsProfile { example141Type := NewActivityStreamsProfile() u := MustParseURL("http://sally.example.org") person := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") person.SetActivityStreamsName(sally) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally's profile") example141Type.SetActivityStreamsSummary(summary) urlProp := NewActivityStreamsUrlProperty() urlProp.AppendIRI(u) example141Type.SetActivityStreamsUrl(urlProp) describes := NewActivityStreamsDescribesProperty() describes.SetActivityStreamsPerson(person) example141Type.SetActivityStreamsDescribes(describes) return example141Type } const example142 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "This image has been deleted", "type": "Tombstone", "formerType": "Image", "url": "http://example.org/image/2" }` func example142Type() vocab.ActivityStreamsTombstone { example142Type := NewActivityStreamsTombstone() u := MustParseURL("http://example.org/image/2") summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("This image has been deleted") example142Type.SetActivityStreamsSummary(summary) former := NewActivityStreamsFormerTypeProperty() former.AppendXMLSchemaString("Image") example142Type.SetActivityStreamsFormerType(former) urlProp := NewActivityStreamsUrlProperty() urlProp.AppendIRI(u) example142Type.SetActivityStreamsUrl(urlProp) return example142Type } const example143 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "This image has been deleted", "type": "Tombstone", "deleted": "2016-05-03T00:00:00Z" }` func example143Type() vocab.ActivityStreamsTombstone { example143Type := NewActivityStreamsTombstone() t, err := time.Parse(time.RFC3339, "2016-05-03T00:00:00Z") if err != nil { panic(err) } summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("This image has been deleted") example143Type.SetActivityStreamsSummary(summary) deleted := NewActivityStreamsDeletedProperty() deleted.Set(t) example143Type.SetActivityStreamsDeleted(deleted) return example143Type } const example144 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Activities in Project XYZ", "type": "Collection", "items": [ { "summary": "Sally created a note", "type": "Create", "id": "http://activities.example.com/1", "actor": "http://sally.example.org", "object": { "summary": "A note", "type": "Note", "id": "http://notes.example.com/1", "content": "A note" }, "context": { "type": "http://example.org/Project", "name": "Project XYZ" }, "audience": { "type": "Group", "name": "Project XYZ Working Group" }, "to": "http://john.example.org" }, { "summary": "John liked Sally's note", "type": "Like", "id": "http://activities.example.com/1", "actor": "http://john.example.org", "object": "http://notes.example.com/1", "context": { "type": "http://example.org/Project", "name": "Project XYZ" }, "audience": { "type": "Group", "name": "Project XYZ Working Group" }, "to": "http://sally.example.org" } ] }` var example144Unknown = func(m map[string]interface{}) map[string]interface{} { items := m["items"].([]interface{}) create := items[0].(map[string]interface{}) like := items[1].(map[string]interface{}) create["context"] = map[string]interface{}{ "type": "http://example.org/Project", "name": "Project XYZ", } like["context"] = map[string]interface{}{ "type": "http://example.org/Project", "name": "Project XYZ", } m["items"] = []interface{}{create, like} return m } func example144Type() vocab.ActivityStreamsCollection { example144Type := NewActivityStreamsCollection() sally := MustParseURL("http://sally.example.org") john := MustParseURL("http://john.example.org") o := MustParseURL("http://notes.example.com/1") audience := NewActivityStreamsGroup() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Project XYZ Working Group") audience.SetActivityStreamsName(name) note := NewActivityStreamsNote() summaryNote := NewActivityStreamsSummaryProperty() summaryNote.AppendXMLSchemaString("A note") note.SetActivityStreamsSummary(summaryNote) noteId := NewActivityStreamsIdProperty() noteId.Set(MustParseURL("http://notes.example.com/1")) note.SetActivityStreamsId(noteId) content := NewActivityStreamsContentProperty() content.AppendXMLSchemaString("A note") note.SetActivityStreamsContent(content) create := NewActivityStreamsCreate() summaryCreate := NewActivityStreamsSummaryProperty() summaryCreate.AppendXMLSchemaString("Sally created a note") create.SetActivityStreamsSummary(summaryCreate) createId := NewActivityStreamsIdProperty() createId.Set(MustParseURL("http://activities.example.com/1")) create.SetActivityStreamsId(createId) createActor := NewActivityStreamsActorProperty() createActor.AppendIRI(sally) create.SetActivityStreamsActor(createActor) obj := NewActivityStreamsObjectProperty() obj.AppendActivityStreamsNote(note) create.SetActivityStreamsObject(obj) aud1 := NewActivityStreamsAudienceProperty() aud1.AppendActivityStreamsGroup(audience) create.SetActivityStreamsAudience(aud1) toCreate := NewActivityStreamsToProperty() toCreate.AppendIRI(john) create.SetActivityStreamsTo(toCreate) like := NewActivityStreamsLike() summaryLike := NewActivityStreamsSummaryProperty() summaryLike.AppendXMLSchemaString("John liked Sally's note") like.SetActivityStreamsSummary(summaryLike) likeId := NewActivityStreamsIdProperty() likeId.Set(MustParseURL("http://activities.example.com/1")) like.SetActivityStreamsId(likeId) likeActor := NewActivityStreamsActorProperty() likeActor.AppendIRI(john) like.SetActivityStreamsActor(likeActor) objLike := NewActivityStreamsObjectProperty() objLike.AppendIRI(o) like.SetActivityStreamsObject(objLike) aud2 := NewActivityStreamsAudienceProperty() aud2.AppendActivityStreamsGroup(audience) like.SetActivityStreamsAudience(aud2) toLike := NewActivityStreamsToProperty() toLike.AppendIRI(sally) like.SetActivityStreamsTo(toLike) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Activities in Project XYZ") example144Type.SetActivityStreamsSummary(summary) items := NewActivityStreamsItemsProperty() items.AppendActivityStreamsCreate(create) items.AppendActivityStreamsLike(like) example144Type.SetActivityStreamsItems(items) return example144Type } const example145 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally's friends list", "type": "Collection", "items": [ { "summary": "Sally is influenced by Joe", "type": "Relationship", "subject": { "type": "Person", "name": "Sally" }, "relationship": "http://purl.org/vocab/relationship/influencedBy", "object": { "type": "Person", "name": "Joe" } }, { "summary": "Sally is a friend of Jane", "type": "Relationship", "subject": { "type": "Person", "name": "Sally" }, "relationship": "http://purl.org/vocab/relationship/friendOf", "object": { "type": "Person", "name": "Jane" } } ] }` func example145Type() vocab.ActivityStreamsCollection { example145Type := NewActivityStreamsCollection() friend := MustParseURL("http://purl.org/vocab/relationship/friendOf") influenced := MustParseURL("http://purl.org/vocab/relationship/influencedBy") sally := NewActivityStreamsPerson() sallyName := NewActivityStreamsNameProperty() sallyName.AppendXMLSchemaString("Sally") sally.SetActivityStreamsName(sallyName) jane := NewActivityStreamsPerson() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("Jane") jane.SetActivityStreamsName(name) joe := NewActivityStreamsPerson() joeName := NewActivityStreamsNameProperty() joeName.AppendXMLSchemaString("Joe") joe.SetActivityStreamsName(joeName) joeRel := NewActivityStreamsRelationship() summaryJoe := NewActivityStreamsSummaryProperty() summaryJoe.AppendXMLSchemaString("Sally is influenced by Joe") joeRel.SetActivityStreamsSummary(summaryJoe) subj1 := NewActivityStreamsSubjectProperty() subj1.SetActivityStreamsPerson(sally) joeRel.SetActivityStreamsSubject(subj1) obj := NewActivityStreamsObjectProperty() obj.AppendActivityStreamsPerson(joe) joeRel.SetActivityStreamsObject(obj) relationship := NewActivityStreamsRelationshipProperty() relationship.AppendIRI(influenced) joeRel.SetActivityStreamsRelationship(relationship) janeRel := NewActivityStreamsRelationship() summaryJane := NewActivityStreamsSummaryProperty() summaryJane.AppendXMLSchemaString("Sally is a friend of Jane") janeRel.SetActivityStreamsSummary(summaryJane) subj2 := NewActivityStreamsSubjectProperty() subj2.SetActivityStreamsPerson(sally) janeRel.SetActivityStreamsSubject(subj2) objJane := NewActivityStreamsObjectProperty() objJane.AppendActivityStreamsPerson(jane) janeRel.SetActivityStreamsObject(objJane) relationshipJane := NewActivityStreamsRelationshipProperty() relationshipJane.AppendIRI(friend) janeRel.SetActivityStreamsRelationship(relationshipJane) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally's friends list") example145Type.SetActivityStreamsSummary(summary) items := NewActivityStreamsItemsProperty() items.AppendActivityStreamsRelationship(joeRel) items.AppendActivityStreamsRelationship(janeRel) example145Type.SetActivityStreamsItems(items) return example145Type } // NOTE: Added `Z` to `startTime` to make align to spec! const example146 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally became a friend of Matt", "type": "Create", "actor": "http://sally.example.org", "object": { "type": "Relationship", "subject": "http://sally.example.org", "relationship": "http://purl.org/vocab/relationship/friendOf", "object": "http://matt.example.org", "startTime": "2015-04-21T12:34:56Z" } }` func example146Type() vocab.ActivityStreamsCreate { example146Type := NewActivityStreamsCreate() friend := MustParseURL("http://purl.org/vocab/relationship/friendOf") m := MustParseURL("http://matt.example.org") s := MustParseURL("http://sally.example.org") t, err := time.Parse(time.RFC3339, "2015-04-21T12:34:56Z") if err != nil { panic(err) } relationship := NewActivityStreamsRelationship() subj := NewActivityStreamsSubjectProperty() subj.SetIRI(s) relationship.SetActivityStreamsSubject(subj) friendRel := NewActivityStreamsRelationshipProperty() friendRel.AppendIRI(friend) relationship.SetActivityStreamsRelationship(friendRel) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(m) relationship.SetActivityStreamsObject(obj) startTime := NewActivityStreamsStartTimeProperty() startTime.Set(t) relationship.SetActivityStreamsStartTime(startTime) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally became a friend of Matt") example146Type.SetActivityStreamsSummary(summary) objectActor := NewActivityStreamsActorProperty() objectActor.AppendIRI(s) example146Type.SetActivityStreamsActor(objectActor) objRoot := NewActivityStreamsObjectProperty() objRoot.AppendActivityStreamsRelationship(relationship) example146Type.SetActivityStreamsObject(objRoot) return example146Type } const example147 = `{ "@context": "https://www.w3.org/ns/activitystreams", "id": "http://example.org/connection-requests/123", "summary": "Sally requested to be a friend of John", "type": "Offer", "actor": "acct:sally@example.org", "object": { "summary": "Sally and John's friendship", "id": "http://example.org/connections/123", "type": "Relationship", "subject": "acct:sally@example.org", "relationship": "http://purl.org/vocab/relationship/friendOf", "object": "acct:john@example.org" }, "target": "acct:john@example.org" }` func example147Type() vocab.ActivityStreamsOffer { example147Type := NewActivityStreamsOffer() friend := MustParseURL("http://purl.org/vocab/relationship/friendOf") s := MustParseURL("acct:sally@example.org") t := MustParseURL("acct:john@example.org") rel := NewActivityStreamsRelationship() summaryRel := NewActivityStreamsSummaryProperty() summaryRel.AppendXMLSchemaString("Sally and John's friendship") rel.SetActivityStreamsSummary(summaryRel) relId := NewActivityStreamsIdProperty() relId.Set(MustParseURL("http://example.org/connections/123")) rel.SetActivityStreamsId(relId) subj := NewActivityStreamsSubjectProperty() subj.SetIRI(s) rel.SetActivityStreamsSubject(subj) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(t) rel.SetActivityStreamsObject(obj) relationship := NewActivityStreamsRelationshipProperty() relationship.AppendIRI(friend) rel.SetActivityStreamsRelationship(relationship) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally requested to be a friend of John") example147Type.SetActivityStreamsSummary(summary) id := NewActivityStreamsIdProperty() id.Set(MustParseURL("http://example.org/connection-requests/123")) example147Type.SetActivityStreamsId(id) objectActor := NewActivityStreamsActorProperty() objectActor.AppendIRI(s) example147Type.SetActivityStreamsActor(objectActor) objRel := NewActivityStreamsObjectProperty() objRel.AppendActivityStreamsRelationship(rel) example147Type.SetActivityStreamsObject(objRel) objRoot := NewActivityStreamsObjectProperty() objRoot.AppendActivityStreamsRelationship(rel) example147Type.SetActivityStreamsObject(objRoot) target := NewActivityStreamsTargetProperty() target.AppendIRI(t) example147Type.SetActivityStreamsTarget(target) return example147Type } const example148 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally and John's relationship history", "type": "Collection", "items": [ { "summary": "John accepted Sally's friend request", "id": "http://example.org/activities/122", "type": "Accept", "actor": "acct:john@example.org", "object": "http://example.org/connection-requests/123", "inReplyTo": "http://example.org/connection-requests/123", "context": "http://example.org/connections/123", "result": [ "http://example.org/activities/123", "http://example.org/activities/124", "http://example.org/activities/125", "http://example.org/activities/126" ] }, { "summary": "John followed Sally", "id": "http://example.org/activities/123", "type": "Follow", "actor": "acct:john@example.org", "object": "acct:sally@example.org", "context": "http://example.org/connections/123" }, { "summary": "Sally followed John", "id": "http://example.org/activities/124", "type": "Follow", "actor": "acct:sally@example.org", "object": "acct:john@example.org", "context": "http://example.org/connections/123" }, { "summary": "John added Sally to his friends list", "id": "http://example.org/activities/125", "type": "Add", "actor": "acct:john@example.org", "object": "http://example.org/connections/123", "target": { "type": "Collection", "summary": "John's Connections" }, "context": "http://example.org/connections/123" }, { "summary": "Sally added John to her friends list", "id": "http://example.org/activities/126", "type": "Add", "actor": "acct:sally@example.org", "object": "http://example.org/connections/123", "target": { "type": "Collection", "summary": "Sally's Connections" }, "context": "http://example.org/connections/123" } ] }` func example148Type() vocab.ActivityStreamsCollection { example148Type := NewActivityStreamsCollection() john := MustParseURL("acct:john@example.org") sally := MustParseURL("acct:sally@example.org") req123 := MustParseURL("http://example.org/connection-requests/123") conn123 := MustParseURL("http://example.org/connections/123") a123 := MustParseURL("http://example.org/activities/123") a124 := MustParseURL("http://example.org/activities/124") a125 := MustParseURL("http://example.org/activities/125") a126 := MustParseURL("http://example.org/activities/126") jc := NewActivityStreamsCollection() summaryJc := NewActivityStreamsSummaryProperty() summaryJc.AppendXMLSchemaString("John's Connections") jc.SetActivityStreamsSummary(summaryJc) sc := NewActivityStreamsCollection() summarySc := NewActivityStreamsSummaryProperty() summarySc.AppendXMLSchemaString("Sally's Connections") sc.SetActivityStreamsSummary(summarySc) o1 := NewActivityStreamsAccept() oId1 := NewActivityStreamsIdProperty() oId1.Set(MustParseURL("http://example.org/activities/122")) o1.SetActivityStreamsId(oId1) summary1 := NewActivityStreamsSummaryProperty() summary1.AppendXMLSchemaString("John accepted Sally's friend request") o1.SetActivityStreamsSummary(summary1) obj1 := NewActivityStreamsObjectProperty() obj1.AppendIRI(req123) o1.SetActivityStreamsObject(obj1) inReplyTo := NewActivityStreamsInReplyToProperty() inReplyTo.AppendIRI(req123) o1.SetActivityStreamsInReplyTo(inReplyTo) ctx1 := NewActivityStreamsContextProperty() ctx1.AppendIRI(conn123) o1.SetActivityStreamsContext(ctx1) result := NewActivityStreamsResultProperty() result.AppendIRI(a123) result.AppendIRI(a124) result.AppendIRI(a125) result.AppendIRI(a126) o1.SetActivityStreamsResult(result) objectActor1 := NewActivityStreamsActorProperty() objectActor1.AppendIRI(john) o1.SetActivityStreamsActor(objectActor1) o2 := NewActivityStreamsFollow() oId2 := NewActivityStreamsIdProperty() oId2.Set(MustParseURL("http://example.org/activities/123")) o2.SetActivityStreamsId(oId2) objectActor2 := NewActivityStreamsActorProperty() objectActor2.AppendIRI(john) o2.SetActivityStreamsActor(objectActor2) obj2 := NewActivityStreamsObjectProperty() obj2.AppendIRI(sally) o2.SetActivityStreamsObject(obj2) ctx2 := NewActivityStreamsContextProperty() ctx2.AppendIRI(conn123) o2.SetActivityStreamsContext(ctx2) summary2 := NewActivityStreamsSummaryProperty() summary2.AppendXMLSchemaString("John followed Sally") o2.SetActivityStreamsSummary(summary2) o3 := NewActivityStreamsFollow() oId3 := NewActivityStreamsIdProperty() oId3.Set(MustParseURL("http://example.org/activities/124")) o3.SetActivityStreamsId(oId3) objectActor3 := NewActivityStreamsActorProperty() objectActor3.AppendIRI(sally) o3.SetActivityStreamsActor(objectActor3) obj3 := NewActivityStreamsObjectProperty() obj3.AppendIRI(john) o3.SetActivityStreamsObject(obj3) ctx3 := NewActivityStreamsContextProperty() ctx3.AppendIRI(conn123) o3.SetActivityStreamsContext(ctx3) summary3 := NewActivityStreamsSummaryProperty() summary3.AppendXMLSchemaString("Sally followed John") o3.SetActivityStreamsSummary(summary3) o4 := NewActivityStreamsAdd() oId4 := NewActivityStreamsIdProperty() oId4.Set(MustParseURL("http://example.org/activities/125")) o4.SetActivityStreamsId(oId4) summary4 := NewActivityStreamsSummaryProperty() summary4.AppendXMLSchemaString("John added Sally to his friends list") o4.SetActivityStreamsSummary(summary4) objectActor4 := NewActivityStreamsActorProperty() objectActor4.AppendIRI(john) o4.SetActivityStreamsActor(objectActor4) obj4 := NewActivityStreamsObjectProperty() obj4.AppendIRI(conn123) o4.SetActivityStreamsObject(obj4) ctx4 := NewActivityStreamsContextProperty() ctx4.AppendIRI(conn123) o4.SetActivityStreamsContext(ctx4) tobj4 := NewActivityStreamsTargetProperty() tobj4.AppendActivityStreamsCollection(jc) o4.SetActivityStreamsTarget(tobj4) o5 := NewActivityStreamsAdd() oId5 := NewActivityStreamsIdProperty() oId5.Set(MustParseURL("http://example.org/activities/126")) o5.SetActivityStreamsId(oId5) summary5 := NewActivityStreamsSummaryProperty() summary5.AppendXMLSchemaString("Sally added John to her friends list") o5.SetActivityStreamsSummary(summary5) objectActor5 := NewActivityStreamsActorProperty() objectActor5.AppendIRI(sally) o5.SetActivityStreamsActor(objectActor5) obj5 := NewActivityStreamsObjectProperty() obj5.AppendIRI(conn123) o5.SetActivityStreamsObject(obj5) ctx5 := NewActivityStreamsContextProperty() ctx5.AppendIRI(conn123) o5.SetActivityStreamsContext(ctx5) tobj5 := NewActivityStreamsTargetProperty() tobj5.AppendActivityStreamsCollection(sc) o5.SetActivityStreamsTarget(tobj5) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally and John's relationship history") example148Type.SetActivityStreamsSummary(summary) items := NewActivityStreamsItemsProperty() items.AppendActivityStreamsAccept(o1) items.AppendActivityStreamsFollow(o2) items.AppendActivityStreamsFollow(o3) items.AppendActivityStreamsAdd(o4) items.AppendActivityStreamsAdd(o5) example148Type.SetActivityStreamsItems(items) return example148Type } const example149 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Place", "name": "San Francisco, CA" }` func example149Type() vocab.ActivityStreamsPlace { example149Type := NewActivityStreamsPlace() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("San Francisco, CA") example149Type.SetActivityStreamsName(name) return example149Type } // NOTE: Un-stringified the longitude and latitude values. const example150 = `{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Place", "name": "San Francisco, CA", "longitude": 122.4167, "latitude": 37.7833 }` func example150Type() vocab.ActivityStreamsPlace { example150Type := NewActivityStreamsPlace() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("San Francisco, CA") example150Type.SetActivityStreamsName(name) lon := NewActivityStreamsLongitudeProperty() lon.Set(122.4167) example150Type.SetActivityStreamsLongitude(lon) lat := NewActivityStreamsLatitudeProperty() lat.Set(37.7833) example150Type.SetActivityStreamsLatitude(lat) return example150Type } const example151 = `{ "@context": "https://www.w3.org/ns/activitystreams", "name": "A question about robots", "id": "http://help.example.org/question/1", "type": "Question", "content": "I'd like to build a robot to feed my cat. Should I use Arduino or Raspberry Pi?" }` func example151Type() vocab.ActivityStreamsQuestion { example151Type := NewActivityStreamsQuestion() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("A question about robots") example151Type.SetActivityStreamsName(name) id := NewActivityStreamsIdProperty() id.Set(MustParseURL("http://help.example.org/question/1")) example151Type.SetActivityStreamsId(id) content := NewActivityStreamsContentProperty() content.AppendXMLSchemaString("I'd like to build a robot to feed my cat. Should I use Arduino or Raspberry Pi?") example151Type.SetActivityStreamsContent(content) return example151Type } const example152 = `{ "@context": "https://www.w3.org/ns/activitystreams", "id": "http://polls.example.org/question/1", "name": "A question about robots", "type": "Question", "content": "I'd like to build a robot to feed my cat. Which platform is best?", "oneOf": [ {"name": "arduino"}, {"name": "raspberry pi"} ] }` var example152Unknown = func(m map[string]interface{}) map[string]interface{} { ard := make(map[string]interface{}) ard["name"] = "arduino" ras := make(map[string]interface{}) ras["name"] = "raspberry pi" m["oneOf"] = []interface{}{ard, ras} return m } func example152Type() vocab.ActivityStreamsQuestion { example152Type := NewActivityStreamsQuestion() name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("A question about robots") example152Type.SetActivityStreamsName(name) id := NewActivityStreamsIdProperty() id.Set(MustParseURL("http://polls.example.org/question/1")) example152Type.SetActivityStreamsId(id) content := NewActivityStreamsContentProperty() content.AppendXMLSchemaString("I'd like to build a robot to feed my cat. Which platform is best?") example152Type.SetActivityStreamsContent(content) return example152Type } const example153 = `{ "@context": "https://www.w3.org/ns/activitystreams", "attributedTo": "http://sally.example.org", "inReplyTo": "http://polls.example.org/question/1", "name": "arduino" }` var example153Unknown = func(m map[string]interface{}) map[string]interface{} { m["attributedTo"] = "http://sally.example.org" m["inReplyTo"] = "http://polls.example.org/question/1" m["name"] = "arduino" return m } const example154 = `{ "@context": "https://www.w3.org/ns/activitystreams", "name": "A question about robots", "id": "http://polls.example.org/question/1", "type": "Question", "content": "I'd like to build a robot to feed my cat. Which platform is best?", "oneOf": [ {"name": "arduino"}, {"name": "raspberry pi"} ], "replies": { "type": "Collection", "totalItems": 3, "items": [ { "attributedTo": "http://sally.example.org", "inReplyTo": "http://polls.example.org/question/1", "name": "arduino" }, { "attributedTo": "http://joe.example.org", "inReplyTo": "http://polls.example.org/question/1", "name": "arduino" }, { "attributedTo": "http://john.example.org", "inReplyTo": "http://polls.example.org/question/1", "name": "raspberry pi" } ] }, "result": { "type": "Note", "content": "Users are favoriting "arduino" by a 33% margin." } }` var example154Unknown = func(m map[string]interface{}) map[string]interface{} { ard := make(map[string]interface{}) ard["name"] = "arduino" ras := make(map[string]interface{}) ras["name"] = "raspberry pi" m["oneOf"] = []interface{}{ard, ras} // replies one := make(map[string]interface{}) one["attributedTo"] = "http://sally.example.org" one["inReplyTo"] = "http://polls.example.org/question/1" one["name"] = "arduino" two := make(map[string]interface{}) two["attributedTo"] = "http://joe.example.org" two["inReplyTo"] = "http://polls.example.org/question/1" two["name"] = "arduino" three := make(map[string]interface{}) three["attributedTo"] = "http://john.example.org" three["inReplyTo"] = "http://polls.example.org/question/1" three["name"] = "raspberry pi" items := []interface{}{one, two, three} replies := m["replies"].(map[string]interface{}) replies["items"] = items return m } func example154Type() vocab.ActivityStreamsQuestion { example154Type := NewActivityStreamsQuestion() replies := NewActivityStreamsCollection() totalItems := NewActivityStreamsTotalItemsProperty() totalItems.Set(3) replies.SetActivityStreamsTotalItems(totalItems) note := NewActivityStreamsNote() contentNote := NewActivityStreamsContentProperty() contentNote.AppendXMLSchemaString("Users are favoriting "arduino" by a 33% margin.") note.SetActivityStreamsContent(contentNote) name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("A question about robots") example154Type.SetActivityStreamsName(name) id := NewActivityStreamsIdProperty() id.Set(MustParseURL("http://polls.example.org/question/1")) example154Type.SetActivityStreamsId(id) content := NewActivityStreamsContentProperty() content.AppendXMLSchemaString("I'd like to build a robot to feed my cat. Which platform is best?") example154Type.SetActivityStreamsContent(content) reply := NewActivityStreamsRepliesProperty() reply.SetActivityStreamsCollection(replies) example154Type.SetActivityStreamsReplies(reply) result := NewActivityStreamsResultProperty() result.AppendActivityStreamsNote(note) example154Type.SetActivityStreamsResult(result) return example154Type } const example155 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "History of John's note", "type": "Collection", "items": [ { "summary": "Sally liked John's note", "type": "Like", "actor": "http://sally.example.org", "id": "http://activities.example.com/1", "published": "2015-11-12T12:34:56Z", "object": { "summary": "John's note", "type": "Note", "id": "http://notes.example.com/1", "attributedTo": "http://john.example.org", "content": "My note" } }, { "summary": "Sally disliked John's note", "type": "Dislike", "actor": "http://sally.example.org", "id": "http://activities.example.com/2", "published": "2015-12-11T21:43:56Z", "object": { "summary": "John's note", "type": "Note", "id": "http://notes.example.com/1", "attributedTo": "http://john.example.org", "content": "My note" } } ] }` func example155Type() vocab.ActivityStreamsCollection { example155Type := NewActivityStreamsCollection() john := MustParseURL("http://john.example.org") sally := MustParseURL("http://sally.example.org") t1, err := time.Parse(time.RFC3339, "2015-11-12T12:34:56Z") if err != nil { panic(err) } t2, err := time.Parse(time.RFC3339, "2015-12-11T21:43:56Z") if err != nil { panic(err) } note := NewActivityStreamsNote() summaryNote := NewActivityStreamsSummaryProperty() summaryNote.AppendXMLSchemaString("John's note") note.SetActivityStreamsSummary(summaryNote) noteId := NewActivityStreamsIdProperty() noteId.Set(MustParseURL("http://notes.example.com/1")) note.SetActivityStreamsId(noteId) contentNote := NewActivityStreamsContentProperty() contentNote.AppendXMLSchemaString("My note") note.SetActivityStreamsContent(contentNote) attr := NewActivityStreamsAttributedToProperty() attr.AppendIRI(john) note.SetActivityStreamsAttributedTo(attr) like := NewActivityStreamsLike() summaryLike := NewActivityStreamsSummaryProperty() summaryLike.AppendXMLSchemaString("Sally liked John's note") like.SetActivityStreamsSummary(summaryLike) likeId := NewActivityStreamsIdProperty() likeId.Set(MustParseURL("http://activities.example.com/1")) like.SetActivityStreamsId(likeId) likeActor := NewActivityStreamsActorProperty() likeActor.AppendIRI(sally) like.SetActivityStreamsActor(likeActor) published1 := NewActivityStreamsPublishedProperty() published1.Set(t1) like.SetActivityStreamsPublished(published1) objLike := NewActivityStreamsObjectProperty() objLike.AppendActivityStreamsNote(note) like.SetActivityStreamsObject(objLike) dislike := NewActivityStreamsDislike() summaryDislike := NewActivityStreamsSummaryProperty() summaryDislike.AppendXMLSchemaString("Sally disliked John's note") dislike.SetActivityStreamsSummary(summaryDislike) dislikeId := NewActivityStreamsIdProperty() dislikeId.Set(MustParseURL("http://activities.example.com/2")) dislike.SetActivityStreamsId(dislikeId) dislikeActor := NewActivityStreamsActorProperty() dislikeActor.AppendIRI(sally) dislike.SetActivityStreamsActor(dislikeActor) published2 := NewActivityStreamsPublishedProperty() published2.Set(t2) dislike.SetActivityStreamsPublished(published2) objDislike := NewActivityStreamsObjectProperty() objDislike.AppendActivityStreamsNote(note) dislike.SetActivityStreamsObject(objDislike) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("History of John's note") example155Type.SetActivityStreamsSummary(summary) items := NewActivityStreamsItemsProperty() items.AppendActivityStreamsLike(like) items.AppendActivityStreamsDislike(dislike) example155Type.SetActivityStreamsItems(items) return example155Type } const example156 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "History of John's note", "type": "Collection", "items": [ { "summary": "Sally liked John's note", "type": "Like", "id": "http://activities.example.com/1", "actor": "http://sally.example.org", "published": "2015-11-12T12:34:56Z", "object": { "summary": "John's note", "type": "Note", "id": "http://notes.example.com/1", "attributedTo": "http://john.example.org", "content": "My note" } }, { "summary": "Sally no longer likes John's note", "type": "Undo", "id": "http://activities.example.com/2", "actor": "http://sally.example.org", "published": "2015-12-11T21:43:56Z", "object": "http://activities.example.com/1" } ] }` func example156Type() vocab.ActivityStreamsCollection { example156Type := NewActivityStreamsCollection() john := MustParseURL("http://john.example.org") sally := MustParseURL("http://sally.example.org") a := MustParseURL("http://activities.example.com/1") t1, err := time.Parse(time.RFC3339, "2015-11-12T12:34:56Z") if err != nil { panic(err) } t2, err := time.Parse(time.RFC3339, "2015-12-11T21:43:56Z") if err != nil { panic(err) } note := NewActivityStreamsNote() noteId := NewActivityStreamsIdProperty() noteId.Set(MustParseURL("http://notes.example.com/1")) note.SetActivityStreamsId(noteId) summaryNote := NewActivityStreamsSummaryProperty() summaryNote.AppendXMLSchemaString("John's note") note.SetActivityStreamsSummary(summaryNote) attr := NewActivityStreamsAttributedToProperty() attr.AppendIRI(john) note.SetActivityStreamsAttributedTo(attr) contentNote := NewActivityStreamsContentProperty() contentNote.AppendXMLSchemaString("My note") note.SetActivityStreamsContent(contentNote) like := NewActivityStreamsLike() likeId := NewActivityStreamsIdProperty() likeId.Set(MustParseURL("http://activities.example.com/1")) like.SetActivityStreamsId(likeId) summaryLike := NewActivityStreamsSummaryProperty() summaryLike.AppendXMLSchemaString("Sally liked John's note") like.SetActivityStreamsSummary(summaryLike) likeActor := NewActivityStreamsActorProperty() likeActor.AppendIRI(sally) like.SetActivityStreamsActor(likeActor) published1 := NewActivityStreamsPublishedProperty() published1.Set(t1) like.SetActivityStreamsPublished(published1) objLike := NewActivityStreamsObjectProperty() objLike.AppendActivityStreamsNote(note) like.SetActivityStreamsObject(objLike) undo := NewActivityStreamsUndo() undoId := NewActivityStreamsIdProperty() undoId.Set(MustParseURL("http://activities.example.com/2")) undo.SetActivityStreamsId(undoId) summaryUndo := NewActivityStreamsSummaryProperty() summaryUndo.AppendXMLSchemaString("Sally no longer likes John's note") undo.SetActivityStreamsSummary(summaryUndo) undoActor := NewActivityStreamsActorProperty() undoActor.AppendIRI(sally) undo.SetActivityStreamsActor(undoActor) published2 := NewActivityStreamsPublishedProperty() published2.Set(t2) undo.SetActivityStreamsPublished(published2) obj := NewActivityStreamsObjectProperty() obj.AppendIRI(a) undo.SetActivityStreamsObject(obj) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("History of John's note") example156Type.SetActivityStreamsSummary(summary) items := NewActivityStreamsItemsProperty() items.AppendActivityStreamsLike(like) items.AppendActivityStreamsUndo(undo) example156Type.SetActivityStreamsItems(items) return example156Type } // NOTE: The `content` field has been inlined to keep within JSON spec. const example157 = `{ "@context": "https://www.w3.org/ns/activitystreams", "name": "A thank-you note", "type": "Note", "content": "Thank you @sally for all your hard work! #givingthanks", "to": { "name": "Sally", "type": "Person", "id": "http://sally.example.org" }, "tag": { "id": "http://example.org/tags/givingthanks", "name": "#givingthanks" } }` var example157Unknown = func(m map[string]interface{}) map[string]interface{} { m["tag"] = map[string]interface{}{ "id": "http://example.org/tags/givingthanks", "name": "#givingthanks", } return m } func example157Type() vocab.ActivityStreamsNote { example157Type := NewActivityStreamsNote() person := NewActivityStreamsPerson() sally := NewActivityStreamsNameProperty() sally.AppendXMLSchemaString("Sally") person.SetActivityStreamsName(sally) id := NewActivityStreamsIdProperty() id.Set(MustParseURL("http://sally.example.org")) person.SetActivityStreamsId(id) name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("A thank-you note") example157Type.SetActivityStreamsName(name) contentNote := NewActivityStreamsContentProperty() contentNote.AppendXMLSchemaString("Thank you @sally for all your hard work! #givingthanks") example157Type.SetActivityStreamsContent(contentNote) to := NewActivityStreamsToProperty() to.AppendActivityStreamsPerson(person) example157Type.SetActivityStreamsTo(to) return example157Type } const example158 = `{ "@context": "https://www.w3.org/ns/activitystreams", "name": "A thank-you note", "type": "Note", "content": "Thank you @sally for all your hard work! #givingthanks", "tag": [ { "type": "Mention", "href": "http://example.org/people/sally", "name": "@sally" }, { "id": "http://example.org/tags/givingthanks", "name": "#givingthanks" } ] }` var example158Unknown = func(m map[string]interface{}) map[string]interface{} { existing := m["tag"] next := map[string]interface{}{ "id": "http://example.org/tags/givingthanks", "name": "#givingthanks", } m["tag"] = []interface{}{existing, next} return m } func example158Type() vocab.ActivityStreamsNote { example158Type := NewActivityStreamsNote() u := MustParseURL("http://example.org/people/sally") mention := NewActivityStreamsMention() hrefLink := NewActivityStreamsHrefProperty() hrefLink.Set(u) mention.SetActivityStreamsHref(hrefLink) mentionName := NewActivityStreamsNameProperty() mentionName.AppendXMLSchemaString("@sally") mention.SetActivityStreamsName(mentionName) name := NewActivityStreamsNameProperty() name.AppendXMLSchemaString("A thank-you note") example158Type.SetActivityStreamsName(name) contentNote := NewActivityStreamsContentProperty() contentNote.AppendXMLSchemaString("Thank you @sally for all your hard work! #givingthanks") example158Type.SetActivityStreamsContent(contentNote) tag := NewActivityStreamsTagProperty() tag.AppendActivityStreamsMention(mention) example158Type.SetActivityStreamsTag(tag) return example158Type } const example159 = `{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally moved the sales figures from Folder A to Folder B", "type": "Move", "actor": "http://sally.example.org", "object": { "type": "Document", "name": "sales figures" }, "origin": { "type": "Collection", "name": "Folder A" }, "target": { "type": "Collection", "name": "Folder B" } }` func example159Type() vocab.ActivityStreamsMove { example159Type := NewActivityStreamsMove() sally := MustParseURL("http://sally.example.org") obj := NewActivityStreamsDocument() nameObj := NewActivityStreamsNameProperty() nameObj.AppendXMLSchemaString("sales figures") obj.SetActivityStreamsName(nameObj) origin := NewActivityStreamsCollection() nameOrigin := NewActivityStreamsNameProperty() nameOrigin.AppendXMLSchemaString("Folder A") origin.SetActivityStreamsName(nameOrigin) target := NewActivityStreamsCollection() nameTarget := NewActivityStreamsNameProperty() nameTarget.AppendXMLSchemaString("Folder B") target.SetActivityStreamsName(nameTarget) summary := NewActivityStreamsSummaryProperty() summary.AppendXMLSchemaString("Sally moved the sales figures from Folder A to Folder B") example159Type.SetActivityStreamsSummary(summary) objectActor := NewActivityStreamsActorProperty() objectActor.AppendIRI(sally) example159Type.SetActivityStreamsActor(objectActor) object := NewActivityStreamsObjectProperty() object.AppendActivityStreamsDocument(obj) example159Type.SetActivityStreamsObject(object) originProp := NewActivityStreamsOriginProperty() originProp.AppendActivityStreamsCollection(origin) example159Type.SetActivityStreamsOrigin(originProp) tobj := NewActivityStreamsTargetProperty() tobj.AppendActivityStreamsCollection(target) example159Type.SetActivityStreamsTarget(tobj) return example159Type }