Skip to content

Commit a51acff

Browse files
committed
Added demo projects for connecting to HITS
Added a new demo project specifically for connecting to HITS. Moved HITS specific Consumers from the demo.au.consumer project to the demo.hits.consumer project. Added documentation for creating a Consumer for HITS connection. Updated AU data models to SIF AU 3.4 in demo projects. Removed SharedLibs/Sif.Framework 1.2.0 as that version was never released. Fixed issue whereby SharedLibs/Sif.Framework 2.0.0 incorrectly contained version 3.0.0 of the framework.
1 parent bec992e commit a51acff

36 files changed

Lines changed: 462 additions & 175 deletions

File tree

Code/Sif3Framework/Sif.Framework/Properties/AssemblyInfo.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
// set of attributes. Change these attribute values to modify the information
77
// associated with an assembly.
88
[assembly: AssemblyTitle("Sif.Framework")]
9-
[assembly: AssemblyDescription("Core library of the SIF 3 Framework.")]
9+
[assembly: AssemblyDescription("Core library of the SIF3 Framework based on SIF Infrastructure 3.2.")]
1010
[assembly: AssemblyConfiguration("")]
1111
[assembly: AssemblyCompany("Systemic Pty Ltd")]
1212
[assembly: AssemblyProduct("Sif.Framework")]

Code/Sif3Framework/Sif.Framework/Sif.Framework.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@
3030
<ErrorReport>prompt</ErrorReport>
3131
<WarningLevel>4</WarningLevel>
3232
</PropertyGroup>
33+
<PropertyGroup>
34+
<RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent>
35+
</PropertyGroup>
3336
<ItemGroup>
3437
<Reference Include="AutoMapper, Version=3.1.1.0, Culture=neutral, PublicKeyToken=be96cd2c38ef1005, processorArchitecture=MSIL">
3538
<SpecificVersion>False</SpecificVersion>

Code/Sif3FrameworkDemo/Sif.Framework.Demo.Au.Consumer/ConsumerApp.cs

Lines changed: 3 additions & 123 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616

1717
using log4net;
18+
using Sif.Framework.Demo.Au.Consumer.Consumers;
1819
using Sif.Framework.Demo.Au.Consumer.Models;
1920
using Sif.Framework.Demo.Au.Consumer.Utils;
2021
using Sif.Framework.Model.Query;
@@ -34,15 +35,6 @@ class ConsumerApp
3435
private static readonly ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
3536
private static Random random = new Random();
3637

37-
private List<SchoolInfo> CreateSchools()
38-
{
39-
SchoolInfo applecrossHigh = new SchoolInfo { SchoolName = "Applecross SHS" };
40-
SchoolInfo rossmoyneHigh = new SchoolInfo { SchoolName = "Rossmoyne SHS" };
41-
List<SchoolInfo> schoolCollection = new List<SchoolInfo> { applecrossHigh, rossmoyneHigh };
42-
43-
return schoolCollection;
44-
}
45-
4638
private static StudentPersonal CreateStudent()
4739
{
4840
NameOfRecordType name = new NameOfRecordType { Type = NameOfRecordTypeType.LGL, FamilyName = RandomNameGenerator.FamilyName, GivenName = RandomNameGenerator.GivenName };
@@ -64,112 +56,9 @@ private static List<StudentPersonal> CreateStudents(int count)
6456
return studentPersonalsCache;
6557
}
6658

67-
void RunSchoolInfoConsumer()
68-
{
69-
SchoolInfoConsumer schoolInfoConsumer = new SchoolInfoConsumer("HITS", null, "0EE41AE6-C43F-11E3-9050-E0F4DBD909AB", "HITS");
70-
schoolInfoConsumer.Register();
71-
72-
try
73-
{
74-
// Query all schools.
75-
IEnumerable<SchoolInfo> allSchools = schoolInfoConsumer.Query();
76-
77-
foreach (SchoolInfo school in allSchools)
78-
{
79-
if (log.IsInfoEnabled) log.Info("School " + school.SchoolName + " has a RefId of " + school.RefId + ".");
80-
}
81-
82-
if (log.IsInfoEnabled) log.Info("School count is " + allSchools.Count());
83-
84-
// Create multiple schools.
85-
MultipleCreateResponse createResponse = schoolInfoConsumer.Create(CreateSchools());
86-
87-
foreach (CreateStatus status in createResponse.StatusRecords)
88-
{
89-
SchoolInfo school = schoolInfoConsumer.Query(status.Id);
90-
if (log.IsInfoEnabled) log.Info("New school " + school.SchoolName + " has a RefId of " + school.RefId + ".");
91-
}
92-
93-
// Update multiple schools.
94-
List<SchoolInfo> schoolsToUpdate = new List<SchoolInfo>();
95-
96-
foreach (CreateStatus status in createResponse.StatusRecords)
97-
{
98-
SchoolInfo school = schoolInfoConsumer.Query(status.Id);
99-
school.SchoolName += "x";
100-
schoolsToUpdate.Add(school);
101-
}
102-
103-
MultipleUpdateResponse updateResponse = schoolInfoConsumer.Update(schoolsToUpdate);
104-
105-
foreach (UpdateStatus status in updateResponse.StatusRecords)
106-
{
107-
SchoolInfo school = schoolInfoConsumer.Query(status.Id);
108-
if (log.IsInfoEnabled) log.Info("Updated school " + school.SchoolName + " has a RefId of " + school.RefId + ".");
109-
}
110-
111-
// Delete multiple schools.
112-
ICollection<string> schoolsToDelete = new List<string>();
113-
114-
foreach (CreateStatus status in createResponse.StatusRecords)
115-
{
116-
schoolsToDelete.Add(status.Id);
117-
}
118-
119-
MultipleDeleteResponse deleteResponse = schoolInfoConsumer.Delete(schoolsToDelete);
120-
121-
foreach (DeleteStatus status in deleteResponse.StatusRecords)
122-
{
123-
SchoolInfo school = schoolInfoConsumer.Query(status.Id);
124-
125-
if (school == null)
126-
{
127-
if (log.IsInfoEnabled) log.Info("School with RefId of " + status.Id + " has been deleted.");
128-
}
129-
else
130-
{
131-
if (log.IsInfoEnabled) log.Info("School " + school.SchoolName + " with RefId of " + school.RefId + " FAILED deletion.");
132-
}
133-
134-
}
135-
136-
}
137-
finally
138-
{
139-
schoolInfoConsumer.Unregister();
140-
}
141-
142-
}
143-
144-
void RunStaffPersonalConsumer()
145-
{
146-
StaffPersonalConsumer staffPersonalConsumer = new StaffPersonalConsumer("HITS", null, "0EE41AE6-C43F-11E3-9050-E0F4DBD909AB", "HITS");
147-
staffPersonalConsumer.Register();
148-
149-
try
150-
{
151-
EqualCondition condition = new EqualCondition() { Left = "TeachingGroups", Right = "597ad3fe-47e7-4b2c-b919-a93c564d19d0" };
152-
IList<EqualCondition> conditions = new List<EqualCondition>();
153-
conditions.Add(condition);
154-
IEnumerable<StaffPersonal> staffPersonals = staffPersonalConsumer.QueryByServicePath(conditions);
155-
156-
foreach (StaffPersonal staffPersonal in staffPersonals)
157-
{
158-
if (log.IsInfoEnabled) log.Info("Staff name is " + staffPersonal.PersonInfo.Name.GivenName + " " + staffPersonal.PersonInfo.Name.FamilyName);
159-
}
160-
161-
if (log.IsInfoEnabled) log.Info("Staff count is " + staffPersonals.Count());
162-
}
163-
finally
164-
{
165-
staffPersonalConsumer.Unregister();
166-
}
167-
168-
}
169-
17059
void RunStudentPersonalConsumer()
17160
{
172-
StudentPersonalConsumer studentPersonalConsumer = new StudentPersonalConsumer("Sif3DemoApp");
61+
StudentPersonalConsumer studentPersonalConsumer = new StudentPersonalConsumer(SettingsManager.ConsumerSettings.ApplicationKey);
17362
studentPersonalConsumer.Register();
17463
if (log.IsInfoEnabled) log.Info("Registered the Consumer.");
17564

@@ -340,16 +229,7 @@ static void Main(string[] args)
340229

341230
try
342231
{
343-
if ("HITS".Equals(SettingsManager.ConsumerSettings.ApplicationKey))
344-
{
345-
app.RunSchoolInfoConsumer();
346-
app.RunStaffPersonalConsumer();
347-
}
348-
else if ("Sif3DemoApp".Equals(SettingsManager.ConsumerSettings.ApplicationKey))
349-
{
350-
app.RunStudentPersonalConsumer();
351-
}
352-
232+
app.RunStudentPersonalConsumer();
353233
}
354234
catch (Exception e)
355235
{

Code/Sif3FrameworkDemo/Sif.Framework.Demo.Au.Consumer/StudentPersonalConsumer.cs renamed to Code/Sif3FrameworkDemo/Sif.Framework.Demo.Au.Consumer/Consumers/StudentPersonalConsumer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
using Sif.Framework.Demo.Au.Consumer.Models;
1919
using Environment = Sif.Framework.Model.Infrastructure.Environment;
2020

21-
namespace Sif.Framework.Demo.Au.Consumer
21+
namespace Sif.Framework.Demo.Au.Consumer.Consumers
2222
{
2323

2424
class StudentPersonalConsumer : BasicConsumer<StudentPersonal>

Code/Sif3FrameworkDemo/Sif.Framework.Demo.Au.Consumer/Models/StudentPersonal.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
namespace Sif.Framework.Demo.Au.Consumer.Models
2222
{
2323

24-
[XmlRoot("StudentPersonal", Namespace = "http://www.sifassociation.org/au/datamodel/1.4", IsNullable = false)]
25-
[XmlType(Namespace = "http://www.sifassociation.org/au/datamodel/1.4")]
24+
[XmlRoot("StudentPersonal", Namespace = "http://www.sifassociation.org/au/datamodel/3.4", IsNullable = false)]
25+
[XmlType(Namespace = "http://www.sifassociation.org/au/datamodel/3.4")]
2626
public class StudentPersonal : StudentPersonalType, IDataModel
2727
{
2828
}

Code/Sif3FrameworkDemo/Sif.Framework.Demo.Au.Consumer/Sif.Framework.Demo.Au.Consumer.csproj

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,9 @@
6666
</ItemGroup>
6767
<ItemGroup>
6868
<Compile Include="ConsumerApp.cs" />
69-
<Compile Include="Models\SchoolInfo.cs" />
70-
<Compile Include="Models\StaffPersonal.cs" />
7169
<Compile Include="Models\StudentPersonal.cs" />
7270
<Compile Include="Properties\AssemblyInfo.cs" />
73-
<Compile Include="SchoolInfoConsumer.cs" />
74-
<Compile Include="StaffPersonalConsumer.cs" />
75-
<Compile Include="StudentPersonalConsumer.cs" />
71+
<Compile Include="Consumers\StudentPersonalConsumer.cs" />
7672
<Compile Include="Utils\RandomNameGenerator.cs" />
7773
</ItemGroup>
7874
<ItemGroup>

Code/Sif3FrameworkDemo/Sif.Framework.Demo.Au.Consumer/SifFramework.config

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,39 +6,21 @@
66
</sectionGroup>
77
</configSections>
88
<appSettings>
9-
109
<!-- Settings used to register this Consumer with the Sif3Framework EnvironmentProvider. -->
1110
<add key="consumer.environment.deleteOnUnregister" value="true"/>
1211
<add key="consumer.environment.sharedSecret" value="SecretDem0"/>
1312
<add key="consumer.environment.url" value="http://localhost:62921/api/environments/environment"/>
1413
<add key="consumer.environment.template.applicationKey" value="Sif3DemoApp"/>
1514
<add key="consumer.environment.template.authenticationMethod" value="Basic"/>
1615
<add key="consumer.environment.template.consumerName" value="DemoConsumer"/>
17-
<add key="consumer.environment.template.dataModelNamespace" value="http://www.sifassociation.org/au/datamodel/1.4"/>
18-
<add key="consumer.environment.template.supportedInfrastructureVersion" value="3.0.1"/>
16+
<add key="consumer.environment.template.dataModelNamespace" value="http://www.sifassociation.org/au/datamodel/3.4"/>
17+
<add key="consumer.environment.template.solutionId" value="Sif3Framework"/>
18+
<add key="consumer.environment.template.supportedInfrastructureVersion" value="3.2"/>
1919
<add key="consumer.paging.navigationPageSize" value="5"/>
20-
21-
<!-- Settings used to register this Consumer with the HITS EnvironmentProvider. -->
22-
<!--
23-
<add key="consumer.environment.deleteOnUnregister" value="false"/>
24-
<add key="consumer.environment.sharedSecret" value="hits@nsip"/>
25-
<add key="consumer.environment.url" value="http://hits.dev.nsip.edu.au/SIF3InfraREST/hits/environments/environment"/>
26-
<add key="consumer.environment.template.applicationKey" value="HITS"/>
27-
<add key="consumer.environment.template.authenticationMethod" value="Basic"/>
28-
<add key="consumer.environment.template.consumerName" value=""/>
29-
<add key="consumer.environment.template.dataModelNamespace" value="http://www.sifassociation.org/au/datamodel/1.4"/>
30-
<add key="consumer.environment.template.solutionId" value="HITS"/>
31-
<add key="consumer.environment.template.supportedInfrastructureVersion" value="3.0.1"/>
32-
<add key="consumer.environment.template.userToken" value="0EE41AE6-C43F-11E3-9050-E0F4DBD909AB"/>
33-
<add key="consumer.paging.navigationPageSize" value="5"/>
34-
-->
3520
</appSettings>
3621
<sifFramework>
3722
<consumer>
3823
<sessions>
39-
<!-- HITS pre-defined authorisation information required for Consumer requests. -->
40-
<session applicationKey="HITS" environmentUrl="http://hits.dev.nsip.edu.au/SIF3InfraREST/hits/environments/4482c242-7945-40e6-a436-7290b9830ad1"
41-
sessionToken="79623ef1-98c5-4dd0-802e-822589b78b81" solutionId="HITS" userToken="0EE41AE6-C43F-11E3-9050-E0F4DBD909AB" />
4224
</sessions>
4325
</consumer>
4426
</sifFramework>

Code/Sif3FrameworkDemo/Sif.Framework.Demo.Au.Provider/Models/SchoolInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
namespace Sif.Framework.Demo.Au.Provider.Models
2222
{
2323

24-
[XmlRoot("SchoolInfo", Namespace = "http://www.sifassociation.org/au/datamodel/1.4", IsNullable = false)]
25-
[XmlType(Namespace = "http://www.sifassociation.org/au/datamodel/1.4")]
24+
[XmlRoot("SchoolInfo", Namespace = "http://www.sifassociation.org/au/datamodel/3.4", IsNullable = false)]
25+
[XmlType(Namespace = "http://www.sifassociation.org/au/datamodel/3.4")]
2626
public class SchoolInfo : SchoolInfoType, IDataModel
2727
{
2828
}

Code/Sif3FrameworkDemo/Sif.Framework.Demo.Au.Provider/Models/StudentPersonal.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
namespace Sif.Framework.Demo.Au.Provider.Models
2222
{
2323

24-
[XmlRoot("StudentPersonal", Namespace = "http://www.sifassociation.org/au/datamodel/1.4", IsNullable = false)]
25-
[XmlType(Namespace = "http://www.sifassociation.org/au/datamodel/1.4")]
24+
[XmlRoot("StudentPersonal", Namespace = "http://www.sifassociation.org/au/datamodel/3.4", IsNullable = false)]
25+
[XmlType(Namespace = "http://www.sifassociation.org/au/datamodel/3.4")]
2626
public class StudentPersonal : StudentPersonalType, IDataModel
2727
{
2828
}

Code/Sif3FrameworkDemo/Sif.Framework.Demo.Au.Provider/SifFramework.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<add key="provider.environment.template.applicationKey" value="Sif3DemoApp"/>
1414
<add key="provider.environment.template.authenticationMethod" value="Basic"/>
1515
<add key="provider.environment.template.consumerName" value="DemoProvider"/>
16-
<add key="provider.environment.template.dataModelNamespace" value="http://www.sifassociation.org/au/datamodel/1.4"/>
16+
<add key="provider.environment.template.dataModelNamespace" value="http://www.sifassociation.org/au/datamodel/3.4"/>
1717
<add key="provider.environment.template.supportedInfrastructureVersion" value="3.2"/>
1818
</appSettings>
1919
<sifFramework>

0 commit comments

Comments
 (0)