Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS will be completely phased out by mid-2025. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit c2551c99 authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

Merge pull request #763 in VECTO/vecto-sim from ~EMQUARIMA/vecto-sim:develop to develop

* commit '7e000671':
  adding furter projects to vecto solution: VectoGIT, VectoGit-Test
  refactor xml validation to use xsd type to load according schema
parents a0d6dcf2 7e000671
No related branches found
No related tags found
No related merge requests found
......@@ -71,6 +71,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Article10Notifications", ".
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VECTO_GIT", "..\STUDENTEN_PROJEKTE\Kober_VectoGIT\VECTO_GIT\VECTO_GIT\VECTO_GIT.csproj", "{A684BC49-C9B3-4C0C-8D2E-A13077853EDA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StandaloneApplication", "..\VECTO_API\StandaloneApplication\StandaloneApplication.csproj", "{C234077C-F81E-42FA-9367-1319753678A6}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "VECTO-GIT", "VECTO-GIT", "{5DDEEEC2-743F-4395-B058-687B5773E3D2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VECTO_GIT_TEST", "..\STUDENTEN_PROJEKTE\Kober_VectoGIT\VECTO_GIT\VECTO_GIT_TEST\VECTO_GIT_TEST.csproj", "{52430C51-892A-4D8E-9189-B6C9D09791C0}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug PerformanceStats|Any CPU = Debug PerformanceStats|Any CPU
......@@ -768,6 +774,90 @@ Global
{A684BC49-C9B3-4C0C-8D2E-A13077853EDA}.ReleaseTUG|x64.Build.0 = Release|Any CPU
{A684BC49-C9B3-4C0C-8D2E-A13077853EDA}.ReleaseTUG|x86.ActiveCfg = Release|Any CPU
{A684BC49-C9B3-4C0C-8D2E-A13077853EDA}.ReleaseTUG|x86.Build.0 = Release|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Debug PerformanceStats|Any CPU.ActiveCfg = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Debug PerformanceStats|Any CPU.Build.0 = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Debug PerformanceStats|x64.ActiveCfg = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Debug PerformanceStats|x64.Build.0 = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Debug PerformanceStats|x86.ActiveCfg = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Debug PerformanceStats|x86.Build.0 = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Debug PerformanceTrace|Any CPU.ActiveCfg = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Debug PerformanceTrace|Any CPU.Build.0 = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Debug PerformanceTrace|x64.ActiveCfg = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Debug PerformanceTrace|x64.Build.0 = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Debug PerformanceTrace|x86.ActiveCfg = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Debug PerformanceTrace|x86.Build.0 = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Debug|x64.ActiveCfg = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Debug|x64.Build.0 = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Debug|x86.ActiveCfg = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Debug|x86.Build.0 = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.DebugTUG|Any CPU.ActiveCfg = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.DebugTUG|Any CPU.Build.0 = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.DebugTUG|x64.ActiveCfg = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.DebugTUG|x64.Build.0 = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.DebugTUG|x86.ActiveCfg = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.DebugTUG|x86.Build.0 = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Deploy|Any CPU.ActiveCfg = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Deploy|Any CPU.Build.0 = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Deploy|x64.ActiveCfg = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Deploy|x64.Build.0 = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Deploy|x86.ActiveCfg = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Deploy|x86.Build.0 = Debug|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Release|Any CPU.Build.0 = Release|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Release|x64.ActiveCfg = Release|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Release|x64.Build.0 = Release|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Release|x86.ActiveCfg = Release|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.Release|x86.Build.0 = Release|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.ReleaseTUG|Any CPU.ActiveCfg = Release|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.ReleaseTUG|Any CPU.Build.0 = Release|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.ReleaseTUG|x64.ActiveCfg = Release|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.ReleaseTUG|x64.Build.0 = Release|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.ReleaseTUG|x86.ActiveCfg = Release|Any CPU
{C234077C-F81E-42FA-9367-1319753678A6}.ReleaseTUG|x86.Build.0 = Release|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug PerformanceStats|Any CPU.ActiveCfg = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug PerformanceStats|Any CPU.Build.0 = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug PerformanceStats|x64.ActiveCfg = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug PerformanceStats|x64.Build.0 = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug PerformanceStats|x86.ActiveCfg = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug PerformanceStats|x86.Build.0 = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug PerformanceTrace|Any CPU.ActiveCfg = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug PerformanceTrace|Any CPU.Build.0 = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug PerformanceTrace|x64.ActiveCfg = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug PerformanceTrace|x64.Build.0 = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug PerformanceTrace|x86.ActiveCfg = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug PerformanceTrace|x86.Build.0 = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug|x64.ActiveCfg = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug|x64.Build.0 = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug|x86.ActiveCfg = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug|x86.Build.0 = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.DebugTUG|Any CPU.ActiveCfg = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.DebugTUG|Any CPU.Build.0 = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.DebugTUG|x64.ActiveCfg = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.DebugTUG|x64.Build.0 = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.DebugTUG|x86.ActiveCfg = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.DebugTUG|x86.Build.0 = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Deploy|Any CPU.ActiveCfg = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Deploy|Any CPU.Build.0 = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Deploy|x64.ActiveCfg = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Deploy|x64.Build.0 = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Deploy|x86.ActiveCfg = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Deploy|x86.Build.0 = Debug|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Release|Any CPU.Build.0 = Release|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Release|x64.ActiveCfg = Release|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Release|x64.Build.0 = Release|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Release|x86.ActiveCfg = Release|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.Release|x86.Build.0 = Release|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.ReleaseTUG|Any CPU.ActiveCfg = Release|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.ReleaseTUG|Any CPU.Build.0 = Release|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.ReleaseTUG|x64.ActiveCfg = Release|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.ReleaseTUG|x64.Build.0 = Release|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.ReleaseTUG|x86.ActiveCfg = Release|Any CPU
{52430C51-892A-4D8E-9189-B6C9D09791C0}.ReleaseTUG|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
......@@ -791,5 +881,8 @@ Global
{7C364099-9B85-473A-8A42-BBEBE4798FF5} = {CC93EA68-F3FE-4BCB-9292-1101F94A4D09}
{B673E12F-D323-4C4C-8805-9915B2C72D3D} = {73A5BF70-6168-456F-95E5-A1402BFA488C}
{760C1C5B-A767-463E-BA85-F0BCFC23A550} = {73A5BF70-6168-456F-95E5-A1402BFA488C}
{A684BC49-C9B3-4C0C-8D2E-A13077853EDA} = {5DDEEEC2-743F-4395-B058-687B5773E3D2}
{C234077C-F81E-42FA-9367-1319753678A6} = {D29E62A2-CF08-469F-B29F-1B25DCB35386}
{52430C51-892A-4D8E-9189-B6C9D09791C0} = {5DDEEEC2-743F-4395-B058-687B5773E3D2}
EndGlobalSection
EndGlobal
using System;
using System.Collections.Generic;
using System.Linq;
using System.Xml;
namespace TUGraz.VectoCore.Utils
{
......@@ -81,14 +82,25 @@ namespace TUGraz.VectoCore.Utils
public static string GetSchemaFilename(XmlDocumentType type, string version)
public static string GetSchemaFilename(XmlDocumentType type, string xsdType)
{
if (!schemaFilenames.ContainsKey(type)) {
throw new Exception(string.Format("Invalid argument {0} - only use single flags", type));
}
var entry = schemaFilenames[type];
var version = GetSchemaVersion(xsdType);
return string.Format(entry, string.IsNullOrWhiteSpace(version) ? "" : "." + version);
}
public static string GetSchemaVersion(string nodeType)
{
var parts = nodeType?.Split(':');
if (parts?.Length == 2) {
return XMLHelper.GetVersionFromNamespaceUri(parts[0]);
}
return null;
}
}
}
......@@ -68,18 +68,6 @@ namespace TUGraz.VectoCore.Utils
// return GetVersionFromNamespaceUri(node.NamespaceURI);
//}
public static string GetSchemaVersion(XmlNode node)
{
var nodeType = node.Attributes?.GetNamedItem("type", "http://www.w3.org/2001/XMLSchema-instance");
if (nodeType != null) {
var parts = nodeType.InnerText.Split(':');
if (parts.Length == 2) {
return GetVersionFromNamespaceUri(nodeType.GetNamespaceOfPrefix(parts[0]));
}
}
return GetVersionFromNamespaceUri(node.NamespaceURI);
}
public static string GetVersionFromNamespaceUri(XNamespace namespaceUri)
{
const string versionPrefix = "v";
......
......@@ -78,26 +78,12 @@ namespace TUGraz.VectoCore.Utils
throw new Exception("empty XML document");
}
var version = XMLHelper.GetSchemaVersion(_doc.DocumentElement);
var xsdType = _doc.DocumentElement.Attributes?.GetNamedItem("type", "http://www.w3.org/2001/XMLSchema-instance")
?.InnerText;
_doc.Schemas = GetXMLSchema(docType, version);
_doc.Schemas = GetXMLSchema(docType, xsdType);
_doc.Validate(ValidationCallBack);
//var settings = new XmlReaderSettings();
//settings.Schemas = GetXMLSchema(docType, version);
//settings.ValidationType = ValidationType.Schema;
//settings.ValidationFlags =
// XmlSchemaValidationFlags.ReportValidationWarnings | XmlSchemaValidationFlags.AllowXmlAttributes;
//settings.ValidationEventHandler += ValidationCallBack;
//var m = new MemoryStream();
//var w = new XmlTextWriter(m, Encoding.UTF8);
//_doc.WriteTo(w);
//w.Flush();
//m.Flush();
//m.Seek(0, SeekOrigin.Begin);
//var r = new XmlTextReader(m);
//var reader = XmlReader.Create(r, settings);
//_doc = new XmlDocument();
//_doc.Load(reader);
return _valid;
}
......@@ -115,7 +101,7 @@ namespace TUGraz.VectoCore.Utils
}
}
private static XmlSchemaSet GetXMLSchema(XmlDocumentType docType, string version)
private static XmlSchemaSet GetXMLSchema(XmlDocumentType docType, string xsdType)
{
var xset = new XmlSchemaSet() { XmlResolver = new XmlResourceResolver() };
......@@ -124,7 +110,7 @@ namespace TUGraz.VectoCore.Utils
continue;
}
var schemaFile = XMLDefinitions.GetSchemaFilename(entry, version);
var schemaFile = XMLDefinitions.GetSchemaFilename(entry, xsdType);
if (schemaFile == null) {
continue;
}
......@@ -134,7 +120,7 @@ namespace TUGraz.VectoCore.Utils
resource = RessourceHelper.LoadResourceAsStream(RessourceHelper.ResourceType.XMLSchema, schemaFile);
} catch (Exception e) {
throw new Exception(
string.Format("Unknown XML schema! version: {0}, xml document type: {1} ({2})", entry, version, schemaFile), e);
string.Format("Unknown XML schema! version: {0}, xml document type: {1} ({2})", entry, xsdType, schemaFile), e);
}
var reader = XmlReader.Create(resource, new XmlReaderSettings(), "schema://");
......
......@@ -31,7 +31,6 @@
using System.IO;
using NUnit.Framework;
using NUnit.Framework.Internal;
using TUGraz.VectoCommon.InputData;
using TUGraz.VectoCore.InputData.FileIO.JSON;
using TUGraz.VectoCore.Tests.Utils;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment