Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
bd9177f
Revert nullables,
juileetikekar Aug 23, 2024
8019df6
Upgrading to API version 3.0.2
juileetikekar Aug 30, 2024
7903985
Remove child elements from MetadataDTOs (3.0.2)
juileetikekar Sep 3, 2024
82968b6
Support for Metadata as per 3.0.2
juileetikekar Sep 4, 2024
afcd792
Support for /submodel-elements and Get + $path
juileetikekar Sep 10, 2024
b1047e9
Fix for ExceptionHandling
juileetikekar Sep 10, 2024
970cc96
Support for $Path
juileetikekar Sep 11, 2024
6eb3b40
Support for Level in case of Operation Element
juileetikekar Sep 26, 2024
eb02564
Rebasing and resoling conflicts
juileetikekar Aug 23, 2024
d0e2e7c
rebase and resolve conflicts
juileetikekar Aug 30, 2024
6294e63
Remove child elements from MetadataDTOs (3.0.2)
juileetikekar Sep 3, 2024
72cb493
Resolve conflicts
juileetikekar Sep 4, 2024
a27d37e
Resolve conflicts
juileetikekar Sep 10, 2024
679483b
Fix for ExceptionHandling
juileetikekar Sep 10, 2024
e4b29fb
Resolve conflicts
juileetikekar Sep 11, 2024
3652758
Support for Level in case of Operation Element
juileetikekar Sep 26, 2024
537acf7
Resolve conflicts
juileetikekar Sep 26, 2024
6522200
Resolve issues after rebase
juileetikekar Sep 26, 2024
384ba1a
Headers added
martafullen Sep 29, 2024
9bbbd20
Remove null check on DataSpecRef
juileetikekar Oct 15, 2024
86dd10c
Merge branch 'jtikekar/revertingNullables' of https://github.com/admi…
juileetikekar Oct 15, 2024
7058fe9
Support for encoded AssetId in GetAllShells
juileetikekar Oct 16, 2024
2890023
Upgrade to 3.0.3,
juileetikekar Oct 21, 2024
1897991
Upgrade to BugFix version 3.0.3
juileetikekar Oct 28, 2024
0e3bacc
Update to BugFix Version 3.0.3
juileetikekar Oct 30, 2024
a5bc270
Fix bugs w.r.t., Path and submodel service
juileetikekar Oct 31, 2024
1b820ad
Upgrade CD APIs to 3.0.3
juileetikekar Oct 31, 2024
ad136e6
Fix tests
juileetikekar Oct 31, 2024
5eb7d44
Removing support of Path on AnnotatedRelationshipElement
juileetikekar Nov 4, 2024
3ad1ea8
Support for API Versioning
juileetikekar Nov 5, 2024
58c3465
Resolove conflicts with main
juileetikekar Aug 23, 2024
186e732
Resolve conflicts with main
juileetikekar Aug 30, 2024
fda39c7
resolve conflicts with main
juileetikekar Sep 3, 2024
ff8d934
Resolve conflicts with main
juileetikekar Sep 4, 2024
6c15c5d
Resolve conflicts with main
juileetikekar Sep 10, 2024
0f61bdf
Resolve conflicts with main
juileetikekar Sep 11, 2024
8602797
Support for Level in case of Operation Element
juileetikekar Sep 26, 2024
6946eed
Remove null check on DataSpecRef
juileetikekar Oct 15, 2024
ca45b6f
Headers added
martafullen Sep 29, 2024
ad5204a
Support for encoded AssetId in GetAllShells
juileetikekar Oct 16, 2024
0dd86cd
Upgrade to 3.0.3,
juileetikekar Oct 21, 2024
8732300
Upgrade to BugFix version 3.0.3
juileetikekar Oct 28, 2024
1ca0668
Update to BugFix Version 3.0.3
juileetikekar Oct 30, 2024
0c8b7ef
Fix bugs w.r.t., Path and submodel service
juileetikekar Oct 31, 2024
050ed8c
Upgrade CD APIs to 3.0.3
juileetikekar Oct 31, 2024
6a881e0
Fix tests
juileetikekar Oct 31, 2024
e92ee14
Removing support of Path on AnnotatedRelationshipElement
juileetikekar Nov 4, 2024
bf0b061
Support for API Versioning
juileetikekar Nov 5, 2024
933c76a
Merge branch 'jtikekar/revertingNullables' of https://github.com/admi…
juileetikekar Nov 6, 2024
de30a84
Correct errors after rebase
juileetikekar Nov 6, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions src/AasCore.Aas3_0/AasCore.Aas3_0.csproj
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<Configurations>Debug;Release;DebugSlow</Configurations>
<Platforms>AnyCPU</Platforms>
<LangVersion>8</LangVersion>

<PackageId>AasCore.Aas3_0</PackageId>
<Version>0.3.0.1-aasV3-alpha-latest</Version>
<Version>1.0.0-rc1</Version>
<Authors>Marko Ristin</Authors>
<Description>
An SDK for manipulating, verifying and de/serializing Asset Administration Shells.
Expand All @@ -18,8 +18,8 @@
<PackageLicenseUrl>https://raw.githubusercontent.com/aas-core-works/aas-core3.0-csharp/main/LICENSE</PackageLicenseUrl>
<PackageProjectUrl>https://github.com/aas-core-works/aas-core3.0-csharp</PackageProjectUrl>
<PackageTags>aas;asset administration shell;iiot;industry internet of things;industrie 4.0;i4.0</PackageTags>
<ErrorOnDuplicatePublishOutputFiles>false</ErrorOnDuplicatePublishOutputFiles>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>
</Project>
25 changes: 25 additions & 0 deletions src/AasCore.Aas3_0/Attributes/CountForHash.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
/********************************************************************************
* Copyright (c) {2019 - 2024} Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
*
* This program and the accompanying materials are made available under the
* terms of the Apache License Version 2.0 which is available at
* https://www.apache.org/licenses/LICENSE-2.0
*
* SPDX-License-Identifier: Apache-2.0
********************************************************************************/

using System;

namespace AasCore.Aas3_0.Attributes
{
/// <summary>
/// This attribute indicates, that it should e.g. serialized in JSON.
/// </summary>
[AttributeUsage(AttributeTargets.Field, AllowMultiple = true)]
public class CountForHash : Attribute
{
}
}
28 changes: 28 additions & 0 deletions src/AasCore.Aas3_0/Attributes/MetaModelName.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/********************************************************************************
* Copyright (c) {2019 - 2024} Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
*
* This program and the accompanying materials are made available under the
* terms of the Apache License Version 2.0 which is available at
* https://www.apache.org/licenses/LICENSE-2.0
*
* SPDX-License-Identifier: Apache-2.0
********************************************************************************/

namespace AasCore.Aas3_0.Attributes
{
/// <summary>
/// This attribute indicates, that the field / property is searchable
/// </summary>
[System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Property, AllowMultiple = true)]
public class MetaModelName : System.Attribute
{
public string name;
public MetaModelName(string name)
{
this.name = name;
}
}
}
24 changes: 24 additions & 0 deletions src/AasCore.Aas3_0/Attributes/SkipForReflection.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/********************************************************************************
* Copyright (c) {2019 - 2024} Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
*
* This program and the accompanying materials are made available under the
* terms of the Apache License Version 2.0 which is available at
* https://www.apache.org/licenses/LICENSE-2.0
*
* SPDX-License-Identifier: Apache-2.0
********************************************************************************/

namespace AasCore.Aas3_0.Attributes
{
/// <summary>
/// This attribute indicates, that the field / property shall be skipped for reflection
/// in order to avoid cycles
/// </summary>
[System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Property, AllowMultiple = true)]
public class SkipForReflection : System.Attribute
{
}
}
24 changes: 24 additions & 0 deletions src/AasCore.Aas3_0/Attributes/SkipForSearch.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/********************************************************************************
* Copyright (c) {2019 - 2024} Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
*
* This program and the accompanying materials are made available under the
* terms of the Apache License Version 2.0 which is available at
* https://www.apache.org/licenses/LICENSE-2.0
*
* SPDX-License-Identifier: Apache-2.0
********************************************************************************/

namespace AasCore.Aas3_0.Attributes
{
/// <summary>
/// This attribute indicates, that the field / property shall be skipped for searching, because it is not
/// directly displayed in Package Explorer
/// </summary>
[System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Property, AllowMultiple = true)]
public class SkipForSearch : System.Attribute
{
}
}
23 changes: 23 additions & 0 deletions src/AasCore.Aas3_0/Attributes/TextSearchable.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/********************************************************************************
* Copyright (c) {2019 - 2024} Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
*
* This program and the accompanying materials are made available under the
* terms of the Apache License Version 2.0 which is available at
* https://www.apache.org/licenses/LICENSE-2.0
*
* SPDX-License-Identifier: Apache-2.0
********************************************************************************/

namespace AasCore.Aas3_0.Attributes
{
/// <summary>
/// This attribute indicates, that the field / property is searchable
/// </summary>
[System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Property, AllowMultiple = true)]
public class TextSearchable : System.Attribute
{
}
}
71 changes: 71 additions & 0 deletions src/AasCore.Aas3_0/DiaryData/DiaryDataDef.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
/********************************************************************************
* Copyright (c) {2019 - 2024} Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
*
* This program and the accompanying materials are made available under the
* terms of the Apache License Version 2.0 which is available at
* https://www.apache.org/licenses/LICENSE-2.0
*
* SPDX-License-Identifier: Apache-2.0
********************************************************************************/

using AasCore.Aas3_0;
using System;
using System.Collections.Generic;
using System.Text.Json.Serialization;
using System.Xml.Serialization;

namespace AdminShellNS.DiaryData
{
public class DiaryDataDef
{
public enum TimeStampKind { Create, Update }

[XmlIgnore]
[JsonIgnore]
private DateTime[] _timeStamp = new DateTime[2];

Check notice

Code scanning / CodeQL

Missed 'readonly' opportunity

Field '_timeStamp' can be 'readonly'.

[XmlIgnore]
[JsonIgnore]
public DateTime[] TimeStamp { get { return _timeStamp; } }

/// <summary>
/// List of entries, timewise one after each other (entries are timestamped).
/// Note: Default is <c>Entries = null</c>, as handling of many many AAS elements does not
/// create additional overhead of creating empty lists. An empty list shall be avoided.
/// </summary>
public List<IAasDiaryEntry> Entries = null;

public static void AddAndSetTimestamps(IReferable element, IAasDiaryEntry de, bool isCreate = false)
{
// trivial
if (element == null || de == null || element.DiaryData == null)
return;

// add entry
if (element.DiaryData.Entries == null)
element.DiaryData.Entries = new List<IAasDiaryEntry>();
element.DiaryData.Entries.Add(de);

// figure out which timestamp
var tsk = TimeStampKind.Update;
if (isCreate)
{
tsk = TimeStampKind.Create;
}

// set this timestamp (and for the parents, as well)
IDiaryData el = element;
while (el?.DiaryData != null)
{
// itself
el.DiaryData.TimeStamp[(int)tsk] = DateTime.UtcNow;

// go up
el = (el as IReferable)?.Parent as IDiaryData;
}
}
}
}
19 changes: 19 additions & 0 deletions src/AasCore.Aas3_0/DiaryData/IAasDiaryEntry.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/********************************************************************************
* Copyright (c) {2019 - 2024} Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
*
* This program and the accompanying materials are made available under the
* terms of the Apache License Version 2.0 which is available at
* https://www.apache.org/licenses/LICENSE-2.0
*
* SPDX-License-Identifier: Apache-2.0
********************************************************************************/

namespace AdminShellNS.DiaryData
{
public interface IAasDiaryEntry
{
}
}
26 changes: 26 additions & 0 deletions src/AasCore.Aas3_0/DiaryData/IDiaryData.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/********************************************************************************
* Copyright (c) {2019 - 2024} Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
*
* This program and the accompanying materials are made available under the
* terms of the Apache License Version 2.0 which is available at
* https://www.apache.org/licenses/LICENSE-2.0
*
* SPDX-License-Identifier: Apache-2.0
********************************************************************************/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AdminShellNS.DiaryData
{
public interface IDiaryData
{
DiaryDataDef DiaryData { get; }
}
}
Loading