Skip to content

Commit

Permalink
fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
abarz722 committed Mar 13, 2024
1 parent 0d7c981 commit c9b6e9e
Show file tree
Hide file tree
Showing 11 changed files with 103 additions and 81 deletions.
4 changes: 3 additions & 1 deletion roles/lib/files/FWO.Api.Client/Data/ModellingAppRole.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,16 @@ public override string DisplayWithIcon()

public NetworkObject ToNetworkObjectGroup()
{
Group<NetworkObject>[] objectGroups = ModellingAppRoleWrapper.ResolveAsNetworkObjectGroup(AppServers ?? new List<ModellingAppServerWrapper>());
return new()
{
Id = Id,
Number = Number,
Name = Name ?? "",
Comment = Comment ?? "",
Type = new NetworkObjectType(){ Name = ObjectType.Group },
ObjectGroups = ModellingAppRoleWrapper.ResolveAsNetworkObjectGroup(AppServers ?? new List<ModellingAppServerWrapper>())
ObjectGroups = objectGroups,
MemberNames = string.Join("|", Array.ConvertAll(objectGroups, o => o.Object?.Name))
};
}

Expand Down
4 changes: 3 additions & 1 deletion roles/lib/files/FWO.Api.Client/Data/ModellingServiceGroup.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,15 @@ public override string DisplayWithIcon()

public NetworkService ToNetworkServiceGroup()
{
Group<NetworkService>[] serviceGroups = ModellingServiceGroupWrapper.ResolveAsNetworkServiceGroup(Services ?? new List<ModellingServiceWrapper>());
return new()
{
Id = Id,
Name = Name ?? "",
Comment = Comment ?? "",
Type = new NetworkServiceType(){ Name = ObjectType.Group },
ServiceGroups = ModellingServiceGroupWrapper.ResolveAsNetworkServiceGroup(Services ?? new List<ModellingServiceWrapper>())
ServiceGroups = serviceGroups,
MemberNames = string.Join("|", Array.ConvertAll(serviceGroups, o => o.Object?.Name))
};
}

Expand Down
12 changes: 12 additions & 0 deletions roles/lib/files/FWO.Api.Client/Data/NetworkObject.cs
Original file line number Diff line number Diff line change
Expand Up @@ -68,5 +68,17 @@ public override int GetHashCode()
{
return Id.GetHashCode();
}

public string MemberNamesAsHtml()
{
if (MemberNames != null && MemberNames.Contains("|"))
{
return $"<td>{string.Join("<br>", MemberNames.Split('|'))}</td>";
}
else
{
return $"<td>{MemberNames}</td>";
}
}
}
}
12 changes: 12 additions & 0 deletions roles/lib/files/FWO.Api.Client/Data/NetworkService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -89,5 +89,17 @@ public override int GetHashCode()
{
return Id.GetHashCode();
}

public string MemberNamesAsHtml()
{
if (MemberNames != null && MemberNames.Contains("|"))
{
return $"<td>{string.Join("<br>", MemberNames.Split('|'))}</td>";
}
else
{
return $"<td>{MemberNames}</td>";
}
}
}
}
38 changes: 11 additions & 27 deletions roles/lib/files/FWO.Api.Client/Data/NetworkUser.cs
Original file line number Diff line number Diff line change
Expand Up @@ -64,32 +64,16 @@ public override int GetHashCode()
return Id.GetHashCode();
}

// user_id
// user_uid
// user_name
// user_comment
// user_lastname
// user_firstname
// usr_typ_id
// stm_usr_typ {
// usr_typ_name
// }
// user_member_names
// user_member_refs
// usergrps {
// id: usergrp_id
// byId: usrByUsergrpMemberId {
// user_id
// user_name
// }
// }
// usergrp_flats {
// flat_id: usergrp_flat_id
// byFlatId: usrByUsergrpFlatMemberId {
// user_id
// user_name
// }
// }

public string MemberNamesAsHtml()
{
if (MemberNames != null && MemberNames.Contains("|"))
{
return $"<td>{string.Join("<br>", MemberNames.Split('|'))}</td>";
}
else
{
return $"<td>{MemberNames}</td>";
}
}
}
}
48 changes: 36 additions & 12 deletions roles/lib/files/FWO.Report/Data/OwnerReport.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@ public static void AssignConnectionNumbers(List<ModellingConnection> connections

public void PrepareObjectData()
{
AllObjects = GetAllNetworkObjects();
AllObjects = GetAllNetworkObjects(true);
SetObjectNumbers(ref AllObjects);
AllServices = GetAllServices();
AllServices = GetAllServices(true);
SetSvcNumbers(ref AllServices);
}

Expand All @@ -65,35 +65,59 @@ public List<ModellingAppServer> GetAllAppServers()
return allAppServers;
}

public List<NetworkObject> GetAllNetworkObjects()
public List<NetworkObject> GetAllNetworkObjects(bool resolved = false)
{
List<NetworkObject> allObjects = new();
foreach(var conn in Connections)
{
List<NetworkObject> objList = new();
foreach (var objGrp in conn.SourceAppRoles)
{
objList.Add(objGrp.Content.ToNetworkObjectGroup());
}
foreach (var objGrp in conn.DestinationAppRoles)
{
objList.Add(objGrp.Content.ToNetworkObjectGroup());
}
GetObjectsFromAR(conn.SourceAppRoles, ref objList, resolved);
GetObjectsFromAR(conn.DestinationAppRoles, ref objList, resolved);
allObjects = allObjects.Union(objList).ToList();
}
allObjects = allObjects.Union(Array.ConvertAll(GetAllAppServers().ToArray(), x => ModellingAppServer.ToNetworkObject(x)).ToList()).ToList();
return allObjects;
}

public List<NetworkService> GetAllServices()
private static void GetObjectsFromAR(List<ModellingAppRoleWrapper> appRoles, ref List<NetworkObject> objectList, bool resolved = false)
{
foreach (var objGrp in appRoles)
{
objectList.Add(objGrp.Content.ToNetworkObjectGroup());
if(resolved)
{
NetworkObject objectGroup = objGrp.Content.ToNetworkObjectGroup();
foreach(var obj in objectGroup.ObjectGroups)
{
if(obj.Object != null)
{
objectList.Add(obj.Object);
}
}
}
}
}

public List<NetworkService> GetAllServices(bool resolved = false)
{
List<NetworkService> allServices = new();
foreach(var conn in Connections)
{
List<NetworkService> svcList = new();
foreach (var svcGrp in conn.ServiceGroups)
{
NetworkService serviceGroup = svcGrp.Content.ToNetworkServiceGroup();
svcList.Add(svcGrp.Content.ToNetworkServiceGroup());
if(resolved)
{
foreach(var svc in serviceGroup.ServiceGroups)
{
if(svc.Object != null)
{
svcList.Add(svc.Object);
}
}
}
}
allServices = allServices.Union(svcList).ToList();
allServices = allServices.Union(ModellingServiceWrapper.ResolveAsNetworkServices(conn.Services).ToList()).ToList();
Expand Down
4 changes: 4 additions & 0 deletions roles/lib/files/FWO.Report/ReportConnections.cs
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,7 @@ private void AppendNetworkObjectsHtml(List<NetworkObject> networkObjects, ref St
report.AppendLine($"<td>{nwObj.Id}</td>");
report.AppendLine($"<td><a name={ObjCatString.NwObj}{nwObj.Number}>{nwObj.Name}</a></td>");
report.AppendLine($"<td>{nwObj.IP}</td>");
report.AppendLine(nwObj.MemberNamesAsHtml());
}
report.AppendLine("</table>");
report.AppendLine("<hr>");
Expand All @@ -155,6 +156,7 @@ private void AppendNWObjHeadlineHtml(ref StringBuilder report)
report.AppendLine($"<th>{userConfig.GetText("id")}</th>");
report.AppendLine($"<th>{userConfig.GetText("name")}</th>");
report.AppendLine($"<th>{userConfig.GetText("ip")}</th>");
report.AppendLine($"<th>{userConfig.GetText("members")}</th>");
report.AppendLine("</tr>");
}

Expand All @@ -171,6 +173,7 @@ private void AppendNetworkServicesHtml(List<NetworkService> networkServices, ref
report.AppendLine($"<td><a name={ObjCatString.Svc}{svc.Number}>{svc.Name}</a></td>");
report.AppendLine($"<td>{svc.Protocol.Name}</td>");
report.AppendLine($"<td>{svc.DestinationPort}</td>");
report.AppendLine(svc.MemberNamesAsHtml());
}
report.AppendLine("</table>");
report.AppendLine("<hr>");
Expand All @@ -184,6 +187,7 @@ private void AppendNWSvcHeadlineHtml(ref StringBuilder report)
report.AppendLine($"<th>{userConfig.GetText("name")}</th>");
report.AppendLine($"<th>{userConfig.GetText("protocol")}</th>");
report.AppendLine($"<th>{userConfig.GetText("port")}</th>");
report.AppendLine($"<th>{userConfig.GetText("members")}</th>");
report.AppendLine("</tr>");
}

Expand Down
15 changes: 3 additions & 12 deletions roles/lib/files/FWO.Report/ReportNatRules.cs
Original file line number Diff line number Diff line change
Expand Up @@ -102,10 +102,7 @@ public override string ExportToHtml()
report.AppendLine($"<td><a name={ObjCatString.NwObj}{nwobj.Id}>{nwobj.Name}</a></td>");
report.AppendLine($"<td>{(nwobj.Type.Name != "" ? userConfig.GetText(nwobj.Type.Name) : "")}</td>");
report.AppendLine($"<td>{NwObjDisplay.DisplayIp(nwobj.IP, nwobj.IpEnd, nwobj.Type.Name)}</td>");
if (nwobj.MemberNames != null && nwobj.MemberNames.Contains("|"))
report.AppendLine($"<td>{string.Join("<br>", nwobj.MemberNames.Split('|'))}</td>");
else
report.AppendLine($"<td>{nwobj.MemberNames}</td>");
report.AppendLine(nwobj.MemberNamesAsHtml());
report.AppendLine($"<td>{nwobj.Uid}</td>");
report.AppendLine($"<td>{nwobj.Comment}</td>");
report.AppendLine("</tr>");
Expand Down Expand Up @@ -140,10 +137,7 @@ public override string ExportToHtml()
report.AppendLine($"<td>{svcobj.DestinationPort}-{svcobj.DestinationPortEnd}</td>");
else
report.AppendLine($"<td>{svcobj.DestinationPort}</td>");
if (svcobj.MemberNames != null && svcobj.MemberNames.Contains("|"))
report.AppendLine($"<td>{string.Join("<br>", svcobj.MemberNames.Split('|'))}</td>");
else
report.AppendLine($"<td>{svcobj.MemberNames}</td>");
report.AppendLine(svcobj.MemberNamesAsHtml());
report.AppendLine($"<td>{svcobj.Uid}</td>");
report.AppendLine($"<td>{svcobj.Comment}</td>");
report.AppendLine("</tr>");
Expand Down Expand Up @@ -171,10 +165,7 @@ public override string ExportToHtml()
report.AppendLine($"<td>{objNumber++}</td>");
report.AppendLine($"<td><a name={ObjCatString.User}{userobj.Id}>{userobj.Name}</a></td>");
report.AppendLine($"<td>{(userobj.Type.Name != "" ? userConfig.GetText(userobj.Type.Name) : "")}</td>");
if (userobj.MemberNames != null && userobj.MemberNames.Contains("|"))
report.AppendLine($"<td>{string.Join("<br>", userobj.MemberNames.Split('|'))}</td>");
else
report.AppendLine($"<td>{userobj.MemberNames}</td>");
report.AppendLine(userobj.MemberNamesAsHtml());
report.AppendLine($"<td>{userobj.Uid}</td>");
report.AppendLine($"<td>{userobj.Comment}</td>");
report.AppendLine("</tr>");
Expand Down
15 changes: 3 additions & 12 deletions roles/lib/files/FWO.Report/ReportRules.cs
Original file line number Diff line number Diff line change
Expand Up @@ -460,10 +460,7 @@ private void appendNetworkObjectsForManagementHtml(ref StringBuilder report, ref
report.AppendLine($"<td><a name={ObjCatString.NwObj}{nwobj.Id}>{nwobj.Name}</a></td>");
report.AppendLine($"<td>{(nwobj.Type.Name != "" ? userConfig.GetText(nwobj.Type.Name) : "")}</td>");
report.AppendLine($"<td>{NwObjDisplay.DisplayIp(nwobj.IP, nwobj.IpEnd, nwobj.Type.Name)}</td>");
if (nwobj.MemberNames != null && nwobj.MemberNames.Contains('|'))
report.AppendLine($"<td>{string.Join("<br>", nwobj.MemberNames.Split('|'))}</td>");
else
report.AppendLine($"<td>{nwobj.MemberNames}</td>");
report.AppendLine(nwobj.MemberNamesAsHtml());
report.AppendLine($"<td>{nwobj.Uid}</td>");
report.AppendLine($"<td>{nwobj.Comment}</td>");
report.AppendLine("</tr>");
Expand Down Expand Up @@ -501,10 +498,7 @@ private void appendNetworkServicesForManagementHtml(ref StringBuilder report, re
report.AppendLine($"<td>{svcobj.DestinationPort}-{svcobj.DestinationPortEnd}</td>");
else
report.AppendLine($"<td>{svcobj.DestinationPort}</td>");
if (svcobj.MemberNames != null && svcobj.MemberNames.Contains("|"))
report.AppendLine($"<td>{string.Join("<br>", svcobj.MemberNames.Split('|'))}</td>");
else
report.AppendLine($"<td>{svcobj.MemberNames}</td>");
report.AppendLine(svcobj.MemberNamesAsHtml());
report.AppendLine($"<td>{svcobj.Uid}</td>");
report.AppendLine($"<td>{svcobj.Comment}</td>");
report.AppendLine("</tr>");
Expand Down Expand Up @@ -535,10 +529,7 @@ private void appendUsersForManagementHtml(ref StringBuilder report, ref int objN
report.AppendLine($"<td>{objNumber++}</td>");
report.AppendLine($"<td><a name={ObjCatString.User}{userobj.Id}>{userobj.Name}</a></td>");
report.AppendLine($"<td>{(userobj.Type.Name != "" ? userConfig.GetText(userobj.Type.Name) : "")}</td>");
if (userobj.MemberNames != null && userobj.MemberNames.Contains("|"))
report.AppendLine($"<td>{string.Join("<br>", userobj.MemberNames.Split('|'))}</td>");
else
report.AppendLine($"<td>{userobj.MemberNames}</td>");
report.AppendLine(userobj.MemberNamesAsHtml());
report.AppendLine($"<td>{userobj.Uid}</td>");
report.AppendLine($"<td>{userobj.Comment}</td>");
report.AppendLine("</tr>");
Expand Down
26 changes: 13 additions & 13 deletions roles/test/files/FWO.Test/ExportTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -551,7 +551,7 @@ public void ConnectionsGenerateHtml()
"<h4>Connections</h4><table>" +
"<tr><th>No.</th><th>Id</th><th>Name</th><th>Functional Reason</th><th>Source</th><th>Services</th><th>Destination</th></tr>" +
"<tr><td>1</td><td>101</td><td>Conn1</td><td></td>" +
"<td><span class=\"\">&nbsp;</span><a @onclick:stopPropagation=\"true\" href=\"#nwobj3\" target=\"_top\" style=\"\">AppServer1 (1.0.0.0)</a></td>" +
"<td><span class=\"\">&nbsp;</span><a @onclick:stopPropagation=\"true\" href=\"#nwobj2\" target=\"_top\" style=\"\">AppServer1 (1.0.0.0)</a></td>" +
"<td><span class=\"\">&nbsp;</span><a @onclick:stopPropagation=\"true\" href=\"#svc1\" target=\"_top\" style=\"\">ServiceGroup1</a><br>" +
"<span class=\"\">&nbsp;</span><a @onclick:stopPropagation=\"true\" href=\"#svc2\" target=\"_top\" style=\"\">Service1 (1234/TCP)</a></td>" +
"<td><span class=\"\">&nbsp;</span><a @onclick:stopPropagation=\"true\" href=\"#nwobj1\" target=\"_top\" style=\"\">AppRole1 ()</a></td></table><hr>" +
Expand All @@ -560,29 +560,29 @@ public void ConnectionsGenerateHtml()
"<tr><td>1</td><td>102</td><td>Inter2</td><td></td><td></td>" +
"<td><span class=\"\">&nbsp;</span><a @onclick:stopPropagation=\"true\" href=\"#svc3\" target=\"_top\" style=\"\"></a><br>" +
"<span class=\"\">&nbsp;</span><a @onclick:stopPropagation=\"true\" href=\"#svc4\" target=\"_top\" style=\"\">Service2 (2345/UDP)</a></td>" +
"<td><span class=\"\">&nbsp;</span><a @onclick:stopPropagation=\"true\" href=\"#nwobj2\" target=\"_top\" style=\"\"> ()</a><br>" +
"<td><span class=\"\">&nbsp;</span><a @onclick:stopPropagation=\"true\" href=\"#nwobj3\" target=\"_top\" style=\"\"> ()</a><br>" +
"<span class=\"\">&nbsp;</span><a @onclick:stopPropagation=\"true\" href=\"#nwobj4\" target=\"_top\" style=\"\">AppServer2 (2.0.0.0)</a></td></table><hr>" +
"<h4>Own Common Services</h4><table>" +
"<tr><th>No.</th><th>Id</th><th>Name</th><th>Functional Reason</th><th>Source</th><th>Services</th><th>Destination</th></tr>" +
"<tr><td>1</td><td>103</td><td>ComSvc3</td><td></td>" +
"<td><span class=\"\">&nbsp;</span><a @onclick:stopPropagation=\"true\" href=\"#nwobj3\" target=\"_top\" style=\"\">AppServer1 (1.0.0.0)</a></td>" +
"<td><span class=\"\">&nbsp;</span><a @onclick:stopPropagation=\"true\" href=\"#nwobj2\" target=\"_top\" style=\"\">AppServer1 (1.0.0.0)</a></td>" +
"<td><span class=\"\">&nbsp;</span><a @onclick:stopPropagation=\"true\" href=\"#svc3\" target=\"_top\" style=\"\"></a><br>" +
"<span class=\"\">&nbsp;</span><a @onclick:stopPropagation=\"true\" href=\"#svc4\" target=\"_top\" style=\"\">Service2 (2345/UDP)</a></td>" +
"<td><span class=\"\">&nbsp;</span><a @onclick:stopPropagation=\"true\" href=\"#nwobj4\" target=\"_top\" style=\"\">AppServer2 (2.0.0.0)</a></td></table><hr>" +

"<h4>Network Objects</h4>" +
"<table><tr><th>No.</th><th>Id</th><th>Name</th><th>Ip</th></tr>" +
"<tr><td>1</td><td>21</td><td><a name=nwobj1>AppRole1</a></td><td></td>" +
"<tr><td>2</td><td>0</td><td><a name=nwobj2></a></td><td></td>" +
"<tr><td>3</td><td>11</td><td><a name=nwobj3>AppServer1</a></td><td>1.0.0.0</td>" +
"<tr><td>4</td><td>12</td><td><a name=nwobj4>AppServer2</a></td><td>2.0.0.0</td>" +
"<table><tr><th>No.</th><th>Id</th><th>Name</th><th>Ip</th><th>Members</th></tr>" +
"<tr><td>1</td><td>21</td><td><a name=nwobj1>AppRole1</a></td><td></td><td>AppServer1</td>" +
"<tr><td>2</td><td>11</td><td><a name=nwobj2>AppServer1</a></td><td>1.0.0.0</td><td></td>" +
"<tr><td>3</td><td>0</td><td><a name=nwobj3></a></td><td></td><td></td>" +
"<tr><td>4</td><td>12</td><td><a name=nwobj4>AppServer2</a></td><td>2.0.0.0</td><td></td>" +
"</table><hr>" +
"<h4>Network Services</h4>" +
"<table><tr><th>No.</th><th>Id</th><th>Name</th><th>Protocol</th><th>Port</th></tr>" +
"<tr><td>1</td><td>41</td><td><a name=svc1>ServiceGroup1</a></td><td></td><td></td>" +
"<tr><td>2</td><td>31</td><td><a name=svc2>Service1</a></td><td>TCP</td><td>1234</td>" +
"<tr><td>3</td><td>0</td><td><a name=svc3></a></td><td></td><td></td>" +
"<tr><td>4</td><td>32</td><td><a name=svc4>Service2</a></td><td>UDP</td><td>2345</td>" +
"<table><tr><th>No.</th><th>Id</th><th>Name</th><th>Protocol</th><th>Port</th><th>Members</th></tr>" +
"<tr><td>1</td><td>41</td><td><a name=svc1>ServiceGroup1</a></td><td></td><td></td><td>Service1</td>" +
"<tr><td>2</td><td>31</td><td><a name=svc2>Service1</a></td><td>TCP</td><td>1234</td><td></td>" +
"<tr><td>3</td><td>0</td><td><a name=svc3></a></td><td></td><td></td><td></td>" +
"<tr><td>4</td><td>32</td><td><a name=svc4>Service2</a></td><td>UDP</td><td>2345</td><td></td>" +
"</table><hr>" +

"<h3>Global Common Services</h3><table>" +
Expand Down
Loading

0 comments on commit c9b6e9e

Please sign in to comment.