public void EmbedTwoLevelRelations() { // Arrange var serverResource = new ServerResource(CreateServerModel()); // Act serverResource.EmbedRelations(CreateTwoLevelFieldsTree(), new EmbeddedRelationsSchema()); // Assert Assert.Equal(2, serverResource.Simulations.Count()); Assert.Equal("User1", serverResource.Simulations.ElementAt(0).Author.Name); Assert.Equal("User2", serverResource.Simulations.ElementAt(1).Author.Name); }
static void Main(string[] args) { try { ServerResource.Start(); WeatherService.Start(); InformationService.Start(); LinkServiceValidate.Start(); Console.WriteLine("完成"); } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.ReadKey(); }
public CreateServerResponse(ServerResource server) : this(true, string.Empty, server) { }
public CreateServerResponse(bool success, string message, ServerResource server) : base(success, message) { Server = server; }
public void LoadResources() { if (Directory.Exists(RESOURCES_CACHE)) { foreach (string directory in Directory.GetDirectories(RESOURCES_CACHE)) { string id = Path.GetFileName(directory); int objectID; if (int.TryParse(id, out objectID)) { LWM2MResources resources = null; switch (objectID) { case 0: resources = _SecurityResources; break; case 1: resources = _ServerResources; break; case 3: resources = new DeviceResources(); break; case 4: resources = new ConnectivityMonitoringResources(); break; case 5: resources = new FirmwareUpdateResources(); break; case 6: resources = new LocationResources(); break; case 7: resources = new ConnectivityStatisticsResources(); break; case 15: resources = new DeviceCapabilityResources(); break; case 20000: resources = new FlowObjectResources(); break; case 20001: resources = new FlowAccessResources(); break; case 20005: resources = new FlowCommandResources(); EventHandler <ChildCreatedEventArgs> handler = (s, e) => { FlowCommandResource flowCommandResource = e.Resource as FlowCommandResource; if (flowCommandResource != null) { flowCommandResource.Updated += new EventHandler(FlowCommand_Updated); FlowCommand_Updated(flowCommandResource, null); } }; resources.ChildCreated += handler; break; default: break; } if (resources != null) { foreach (string fileName in Directory.GetFiles(directory, "*.tlv")) { LWM2MResource resource = null; switch (objectID) { case 0: resource = new SecurityResource(Path.GetFileNameWithoutExtension(fileName)); break; case 1: resource = new ServerResource(Path.GetFileNameWithoutExtension(fileName)); break; case 3: resource = new DeviceResource(); break; case 4: resource = new ConnectivityMonitoringResource(); break; case 5: resource = new FirmwareUpdateResource(); break; case 6: resource = new LocationResource(); break; case 7: resource = new ConnectivityStatisticsResource(); break; case 15: resource = new DeviceCapabilityResource(Path.GetFileNameWithoutExtension(fileName)); break; case 20000: resource = new FlowObjectResource(); resource.Updated += new EventHandler(FlowObject_Updated); break; case 20001: resource = new FlowAccessResource(); break; case 20005: resource = new FlowCommandResource(Path.GetFileNameWithoutExtension(fileName)); resource.Updated += new EventHandler(FlowCommand_Updated); break; default: break; } if (resource != null) { using (Stream stream = File.OpenRead(fileName)) { TlvReader reader = new TlvReader(stream); if (resource.Deserialise(reader)) { resources.Add(resource); } } if (objectID == 0) { SecurityResource securityResource = resource as SecurityResource; if (securityResource.SecurityMode == TSecurityMode.PreSharedKey) { UsePSK(System.Text.Encoding.UTF8.GetString(securityResource.ClientPublicKey), StringUtils.HexString(securityResource.SecretKey)); } } else if (objectID == 20000) { FlowObjectResource flowObjectResource = resource as FlowObjectResource; if (flowObjectResource != null) { flowObjectResource.TenantHash = null; } } } } this.AddResources(resources); } } } } else { LoadDefaultResources(); } }