public static EventTypeInfo EventType(IBMWIoTP.ApiClient cli, SchemaInfo sc) { Console.WriteLine("Event Type sample request"); Console.WriteLine("Add Draft EventType"); EventTypeDraft draft = new EventTypeDraft(); draft.name = "Temprature"; draft.description = "eventType for temperature"; draft.schemaId = sc.id; EventTypeInfo info = cli.AddDraftEventType(draft); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(info)); Console.WriteLine("==============================================================================="); Console.WriteLine("Get All Draft EventType"); EventTypeCollection collection = cli.GetAllDraftEventType(); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(collection)); Console.WriteLine("==============================================================================="); Console.WriteLine("Delete Draft"); //creating another one to delete EventTypeInfo del = cli.AddDraftEventType(draft); cli.DeleteDraftEventType(del.id); Console.WriteLine("Get event type draft of id" + info.id); EventTypeInfo reccivedInfo = cli.GetDraftEventType(info.id); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(reccivedInfo)); Console.WriteLine("==============================================================================="); Console.WriteLine("Update draft"); reccivedInfo.description = "updated info"; Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(cli.UpdateDraftEventType(reccivedInfo))); Console.WriteLine("==============================================================================="); Console.WriteLine("Get all active EventType"); EventTypeCollection coll = cli.GetAllActiveEventType(); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(coll)); Console.WriteLine("==============================================================================="); if (coll.results.Count > 0) { Console.WriteLine("Get all active EventType with id"); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(cli.GetActiveEventType(coll.results[0].id))); Console.WriteLine("==============================================================================="); } return(reccivedInfo); }
public static void sampleSequence(IBMWIoTP.ApiClient cli) { SchemaDraft sd = new SchemaDraft(); sd.name = "tempEventSchema"; sd.schemaFile = "tempSchemaPi.json"; Console.WriteLine("Create a draft event schema resource for your event type"); SchemaInfo sc = cli.AddDraftSchema(sd); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(sc)); Console.WriteLine("==============================================================================="); Console.WriteLine("Create a draft event type that references the event schema"); EventTypeDraft draft = new EventTypeDraft(); draft.name = "test"; draft.description = "eventType for temperature"; draft.schemaId = sc.id; EventTypeInfo info = cli.AddDraftEventType(draft); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(info)); Console.WriteLine("==============================================================================="); Console.WriteLine("Create a draft physical interface"); PhysicalInterfaceDraft draftPI = new PhysicalInterfaceDraft(); draftPI.name = "TempPI"; draftPI.description = "new PhysicalInterfaces for temp"; PhysicalInterfacesInfo newPI = cli.AddDraftPhysicalInterfaces(draftPI); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(newPI)); Console.WriteLine("==============================================================================="); Console.WriteLine("Add the event type to the draft physical interface"); EventTypeBind bind = new EventTypeBind(); bind.eventId = deviceEvent; bind.eventTypeId = info.id; EventTypeBind bindResponse = cli.MapDraftPhysicalInterfacesEvent(newPI.id, bind); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(bindResponse)); Console.WriteLine("==============================================================================="); Console.WriteLine("Update the draft device type to connect the draft physical interface"); PhysicalInterfacesInfo updatedPI = cli.AddDraftDeviceTypePI(deviceType, newPI); Console.WriteLine("==============================================================================="); Console.WriteLine("Create a draft logical interface schema resource"); SchemaDraft sdLI = new SchemaDraft(); sdLI.name = "temperatureEventSchema"; sdLI.schemaFile = "tempSchemaLi.json"; SchemaInfo schemaForLI = cli.AddDraftSchema(sdLI); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(schemaForLI)); Console.WriteLine("==============================================================================="); Console.WriteLine("Create a draft logical interface that references a draft logical interface schema"); LogicalInterfaceDraft draftLI = new LogicalInterfaceDraft(); draftLI.name = "environment sensor interface"; draftLI.schemaId = schemaForLI.id; LogicalInterfaceInfo newLI = cli.AddDraftLogicalInterfaces(draftLI); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(newLI)); Console.WriteLine("==============================================================================="); Console.WriteLine("Add the draft logical interface to a device type"); LogicalInterfaceInfo mappedLI = cli.AddDraftDeviceTypeLI(deviceType, newLI); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(mappedLI)); Console.WriteLine("==============================================================================="); Console.WriteLine("Define mappings to map properties in the inbound event to properties in the logical interface"); MappingDraft liMappingDraft = new MappingDraft(); liMappingDraft.notificationStrategy = "on-every-event"; liMappingDraft.propertyMappings = new { test = new { temperature = "$event.temp" } }; liMappingDraft.logicalInterfaceId = mappedLI.id; MappingInfo mappedLiInfo = cli.AddDraftDeviceTypeMapping(deviceType, liMappingDraft); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(mappedLiInfo)); Console.WriteLine("==============================================================================="); Console.WriteLine("Validate and activate the configuration"); OperationInfo activate = new OperationInfo(OperationInfo.Activate); var responce = cli.OperateDraftDeviceType(deviceType, activate); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(responce)); Console.WriteLine("==============================================================================="); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(cli.GetCurrentDeviceState(deviceType, "1qaz2wsx", mappedLI.id))); }