Exemplo n.º 1
0
        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)));
        }
Exemplo n.º 2
0
        public static void DeviceType(IBMWIoTP.ApiClient cli, LogicalInterfaceInfo li, PhysicalInterfacesInfo pi)
        {
            Console.WriteLine("===============================================================================");
            Console.WriteLine("Get all device type");
            var deviceTypes = cli.GetAllDeviceTypes();

            Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(deviceTypes));
            Console.WriteLine("===============================================================================");
            Console.WriteLine("operate on draft device type");
            OperationInfo work = new OperationInfo(OperationInfo.Validate);

            Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(cli.OperateDraftDeviceType(deviceType, work)));
            Console.WriteLine("===============================================================================");
            Console.WriteLine("Get all draft Logical Interface associated device type");
            Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(cli.GetAllDraftDeviceTypeLI(deviceType)));
            Console.WriteLine("===============================================================================");
            Console.WriteLine("Assocate Logical Interface with draft device type");
            Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(cli.AddDraftDeviceTypeLI(deviceType, li)));
            Console.WriteLine("===============================================================================");
            Console.WriteLine("Get all draft Device type mapping");
            MappingInfo[] info = cli.GetAllDraftDeviceTypeMapping(deviceType);
            Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(info));
            Console.WriteLine("===============================================================================");
            Console.WriteLine("Add draft Device type mapping");
            MappingDraft liMappingDraft = new MappingDraft();

            liMappingDraft.notificationStrategy = "on-every-event";
            liMappingDraft.propertyMappings     = new {
                test = new {
                    temperature = "$event.temp"
                }
            };
            liMappingDraft.logicalInterfaceId = li.id;
            Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(cli.AddDraftDeviceTypeMapping(deviceType, liMappingDraft)));
            Console.WriteLine("===============================================================================");
            Console.WriteLine("Get  draft Device type mapping with LI id");
            Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(cli.GetDraftDeviceTypeMapping(deviceType, li.id)));
            Console.WriteLine("===============================================================================");
            Console.WriteLine("Update  draft Device type mapping with LI id");
            Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(cli.UpdatedDraftDeviceTypeMapping(deviceType, liMappingDraft)));

            Console.WriteLine("===============================================================================");
            Console.WriteLine("Add draft Device type To PI ");
            Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(cli.AddDraftDeviceTypePI(deviceType, pi)));
            Console.WriteLine("===============================================================================");
            Console.WriteLine("Get draft Device type To PI ");
            Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(cli.GetDraftDeviceTypePI(deviceType)));


            Console.WriteLine("===============================================================================");
            Console.WriteLine("Delete draft Device type mapping");
            cli.DeleteDraftDeviceTypeMapping(deviceType, li.id);
            Console.WriteLine("===============================================================================");
            Console.WriteLine("Delete draft Device type To PI ");
            cli.DeleteDraftDeviceTypePI(deviceType);
            Console.WriteLine("===============================================================================");
            Console.WriteLine("Operate on Device type");
            Console.WriteLine("===============================================================================");
            Console.WriteLine("Get all active Device type Logical interface");
            LogicalInterfaceInfo[] coll = cli.GetAllActiveDeviceTypeLI(deviceType);
            Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(coll));
            Console.WriteLine("===============================================================================");
            Console.WriteLine("Get all active Device type mapping");
            Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(cli.GetAllActiveDeviceTypeMappings(deviceType)));
            Console.WriteLine("===============================================================================");
            Console.WriteLine("Get active Device type Physical interface");
            Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(cli.GetActiveDeviceTypePI(deviceType)));
            Console.WriteLine("===============================================================================");
            if (coll.Length > 0)
            {
                Console.WriteLine("Get all on Device type mapping");
                Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(cli.GetActiveDeviceTypeMappingLI(deviceType, coll[0].id)));
                Console.WriteLine("===============================================================================");
                Console.WriteLine("Get Device Type associated with logical interface id");
                Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(cli.GetAllDraftDeviceType("", coll[0].id)));
                Console.WriteLine("===============================================================================");
            }
            OperationInfo action = new OperationInfo(OperationInfo.Deactivate);

            Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(cli.OperateDeviceType(deviceType, action)));
        }