public static bool HasAttributes(this OM2MResultContent self) { return(self == OM2MResultContent.Attributes || self == OM2MResultContent.HierarchicalAddressAndAttributes || self == OM2MResultContent.AttributesAndChildResources || self == OM2MResultContent.AttributesAndChildResourceReferences); }
public static OM2MContentInstance ToResource(this OM2MContentInstanceEntity entity, OM2MResultContent resultContent) { var resource = new OM2MContentInstance(); CopyAttributesResource(entity, resource); return(resource); }
// ToDo: public static OM2MAccessControlPolicy ToResource(this OM2MAccessControlPolicyEntity entity, OM2MResultContent resultContent) { var resource = new OM2MAccessControlPolicy(); CopyAttributesResource(entity, resource); if (resultContent.HasAttributes()) { } return(resource); }
public override OM2MResponsePrimitive DoRetrieve(OM2MRequestPrimitive request) { using (var db = CreateDbContext()) { // Check existence of the resource var cseBaseEntity = db.Resources.Find(request.TargetId) as OM2MCseBaseEntity; if (cseBaseEntity == null) { throw new OM2MNotFoundException($"Resouce {request.TargetId} not found."); } // Check authorization var acpList = new List <OM2MAccessControlPolicyEntity>(); foreach (var i in cseBaseEntity.AccessControlPolicyIds) { var queryAcp = db.Resources.Where(x => x.ResourceId == i) .OfType <OM2MAccessControlPolicyEntity>() .Include(x => x.PrivilegesCore); if (queryAcp.Count() == 0) { // Damaged continue; } acpList.Add(queryAcp.First()); } CheckACP(acpList, request.From, request.Operation.Value); OM2MResultContent resultContent = request.ResultContent ?? OM2MResultContent.Attributes; if (resultContent.HasChildResourceReferences()) { db.Entry(cseBaseEntity).Collection(x => x.Resources) .Load(); } OM2MCSEBase cseBaseResource = cseBaseEntity.ToResource(resultContent); var response = new OM2MResponsePrimitive(CseConfig, request); response.ResponseStatusCode = OM2MResponseStatusCode.Ok; response.Content = cseBaseResource; return(response); } }
// ToDo: public static OM2MCSEBase ToResource(this OM2MCseBaseEntity entity, OM2MResultContent resultContent) { var resource = new OM2MCSEBase(); MapEntityToResourceCommonProcudure(entity, resource, resultContent); if (resultContent.HasAttributes()) { resource.CseType = (OM2MCseTypeID)entity.CseType; resource.CSEID = entity.CseId; resource.NodeLink = entity.NodeLink; resource.SupportedResourceType = entity.SupportedResourceType; } return(resource); }
// ToDo: public static void MapEntityToResourceCommonProcudure(OM2MResourceEntity entity, OM2MResource resource, OM2MResultContent resultContent) { if (resultContent.HasAttributes()) { CopyAttributesResource(entity, resource); } if (resultContent.HasChildResourceReferences()) { var container = resource as IOM2MChildResourceContainer; if (container != null) { MapChildResourceRef(entity, container); } } }
// ToDo: public static OM2MAE ToResource(this OM2MAEEntity entity, OM2MResultContent resultContent) { var resource = new OM2MAE(); MapEntityToResourceCommonProcudure(entity, resource, resultContent); if (resultContent.HasAttributes()) { resource.AppName = entity.AppName; resource.AppID = entity.AppId; resource.AEID = entity.AEId; resource.PointOfAccess = entity.PointOfAccess; resource.OntologyRef = entity.OntologyRef; resource.NodeLink = entity.NodeLink; resource.RequestReachability = entity.RequestReachability; } return(resource); }
public static bool HasChildResourceReferences(this OM2MResultContent self) { return(self == OM2MResultContent.ChildResourceReferences || self == OM2MResultContent.AttributesAndChildResourceReferences); }