Skip to content

Commit 00a3774

Browse files
committed
Namespace support.
All addins are loaded now in %APPDATA%\Roaming\Dover\Server-Database\addins\Namespace This now prevents naming conflicts. Previously the addin name was used as Key in a lot of places. Replaced all by Code. Created new tests to detect those errors. Feature of Changelog is not working so it was delected. It is now a missing feature and will be on my issues log.
1 parent f0fbae1 commit 00a3774

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+479
-412
lines changed

Application.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ namespace Dover.Framework
4848
/// Dover.Framework.Container.ContainerManager.
4949
///
5050
/// </summary>
51-
[AddIn(i18n="Dover.Framework.Messages.DoverName", Description="Dover Framework", Name="Framework")]
51+
[AddIn(i18n="Dover.Framework.Messages.DoverName", Description="Dover Framework", Name="Framework", Namespace="DOVER")]
5252
[ResourceBOM("Dover.Framework.DatabaseTables.xml", ResourceType.UserTable)]
5353
[ResourceBOM("Dover.Framework.DatabaseFields.xml", ResourceType.UserField)]
5454
public class Application : MarshalByRefObject, IApplication

DAO/AssemblyDAO.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ internal abstract class AssemblyDAO
3232

3333
internal abstract List<AssemblyInformation> GetAssembliesInformation(AssemblyType type);
3434

35-
internal abstract AssemblyInformation GetAssemblyInformation(string asmName, AssemblyType type);
35+
internal abstract AssemblyInformation GetAssemblyInformation(string asmCode);
3636

3737
internal abstract void SaveAssembly(AssemblyInformation currentAsm, byte[] asmBytes);
3838

@@ -55,5 +55,9 @@ internal abstract class AssemblyDAO
5555
internal abstract void DeleteOrphanDependency();
5656

5757
internal abstract List<AssemblyInformation> GetAllAssembliesInformation(AssemblyType assemblyType);
58+
59+
internal abstract AssemblyInformation GetCoreAssemblyInformation();
60+
61+
internal abstract string GetAssemblyCode(string addinName, string addinNamespace, AssemblyType type);
5862
}
5963
}

DAO/AssemblyDAOImpl.cs

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ public AssemblyDAOImpl(BusinessOneDAO b1DAO)
3535
this.b1DAO = b1DAO;
3636
}
3737

38-
internal override AssemblyInformation GetAssemblyInformation(string asmFile, AssemblyType type)
38+
internal override AssemblyInformation GetAssemblyInformation(string asmCode)
3939
{
40-
String sql = string.Format(this.GetSQL("GetAssemblyInformation.sql"), asmFile, AssemblyInformation.ConvertTypeToCode(type));
40+
String sql = string.Format(this.GetSQL("GetAssemblyInformation.sql"), asmCode);
4141
return b1DAO.ExecuteSqlForObject<AssemblyInformation>(sql);
4242
}
4343

@@ -89,7 +89,7 @@ internal override void SaveAssembly(AssemblyInformation asm, byte[] asmBytes)
8989
asm.Code = b1DAO.GetNextCode("DOVER_MODULES");
9090
sql = String.Format(this.GetSQL("SaveAssembly.sql"),
9191
asm.Code, asm.Code, asm.Name, asm.Description, asm.FileName, asm.Version, asm.MD5, asm.Date.ToString("yyyyMMdd"), asmBytes.Length,
92-
asm.TypeCode, installed);
92+
asm.TypeCode, installed, asm.Namespace);
9393
}
9494
else
9595
{
@@ -183,5 +183,17 @@ internal override void DeleteOrphanDependency()
183183
RemoveAssembly(code);
184184
}
185185
}
186+
187+
internal override AssemblyInformation GetCoreAssemblyInformation()
188+
{
189+
string asmCode = GetAssemblyCode("Framework", "DOVER", AssemblyType.Core);
190+
return GetAssemblyInformation(asmCode);
191+
}
192+
193+
internal override string GetAssemblyCode(string addinName, string addinNamespace, AssemblyType type)
194+
{
195+
return b1DAO.ExecuteSqlForObject<string>(string.Format(this.GetSQL("GetAssemblyCode.sql"),
196+
addinName, addinNamespace, AssemblyInformation.ConvertTypeToCode(type)));
197+
}
186198
}
187199
}

DAO/LicenseDAO.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@ internal interface LicenseDAO
3333

3434
DateTime GetDate();
3535

36-
DateTime GetAddInDueDate(string addin);
36+
DateTime GetAddInDueDate(string addinCode);
3737

3838
List<string> getAddinsByNamespace(string licenseNamespace);
3939

4040
void UpdateNamespaceDueDate(string licenseNamespace, DateTime dateTime);
4141

42-
void UpdateAddinDueDate(string addin, DateTime dueDate);
42+
void UpdateAddinDueDate(string addinCode, DateTime dueDate);
4343
}
4444
}

DAO/LicenseDAOImpl.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -140,9 +140,9 @@ private string convertoToString(byte[] input)
140140
}
141141
}
142142

143-
public DateTime GetAddInDueDate(string addin)
143+
public DateTime GetAddInDueDate(string addinCode)
144144
{
145-
return b1DAO.ExecuteSqlForObject<DateTime>(string.Format(this.GetSQL("GetAddinDueDate.sql"), addin));
145+
return b1DAO.ExecuteSqlForObject<DateTime>(string.Format(this.GetSQL("GetAddinDueDate.sql"), addinCode));
146146
}
147147

148148
public List<string> getAddinsByNamespace(string licenseNamespace)
@@ -162,15 +162,15 @@ public void UpdateNamespaceDueDate(string licenseNamespace, DateTime dueDate)
162162
}
163163
}
164164

165-
public void UpdateAddinDueDate(string addin, DateTime dueDate)
165+
public void UpdateAddinDueDate(string addinCode, DateTime dueDate)
166166
{
167167
if (dueDate == DateTime.MinValue)
168168
{
169-
b1DAO.ExecuteStatement(string.Format(this.GetSQL("ClearAddinDueDate.sql"), addin));
169+
b1DAO.ExecuteStatement(string.Format(this.GetSQL("ClearAddinDueDate.sql"), addinCode));
170170
}
171171
else
172172
{
173-
b1DAO.ExecuteStatement(string.Format(this.GetSQL("UpdateAddinDueDate.sql"), addin, dueDate.ToString("yyyyMMdd")));
173+
b1DAO.ExecuteStatement(string.Format(this.GetSQL("UpdateAddinDueDate.sql"), addinCode, dueDate.ToString("yyyyMMdd")));
174174
}
175175
}
176176
}

DAO/PermissionDAO.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,15 @@ namespace Dover.Framework.DAO
2828
{
2929
internal abstract class PermissionDAO
3030
{
31-
internal abstract Permission GetUserPermission(string addInName);
31+
internal abstract Permission GetUserPermission(string addinCode);
3232

33-
internal abstract Permission GetAddInPermission(string addInName);
33+
internal abstract Permission GetAddInPermission(string addinCode);
3434

35-
internal abstract void SaveAddInPermission(string addInName, Permission permission);
35+
internal abstract void SaveAddInPermission(string addinCode, Permission permission);
3636

37-
internal abstract string GetUserPermissionCode(string addInName, string userName);
37+
internal abstract string GetUserPermissionCode(string addinCode, string userName);
3838

39-
internal abstract void SaveAddInPermission(string addInName, string userName, Permission permission);
39+
internal abstract void SaveAddInPermission(string addinCode, string userName, Permission permission);
4040

4141
internal abstract void UpdateAddInPermission(string userPermissionCode, Permission permission);
4242
}

DAO/PermissionDAOSQLImpl.cs

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ public Permission Permission
5454
}
5555
}
5656
public string PermissionStr { get; set; }
57+
58+
public string AddinCode { get; set; }
5759
}
5860

5961
private BusinessOneDAO b1DAO;
@@ -68,7 +70,7 @@ public PermissionDAOSQLImpl(BusinessOneDAO b1DAO, ILogger Logger)
6870
this.GetSQL("GetModulePermission.sql"));
6971
foreach (var permission in addInPermission)
7072
{
71-
addInHash.Add(permission.AddInName, permission.Permission);
73+
addInHash.Add(permission.AddinCode, permission.Permission);
7274
Logger.Debug(DebugString.Format(Messages.AddInPermission, permission.AddInName, permission.Permission));
7375
}
7476
string currentUser = b1DAO.GetCurrentUser();
@@ -77,46 +79,42 @@ public PermissionDAOSQLImpl(BusinessOneDAO b1DAO, ILogger Logger)
7779
);
7880
foreach (var permission in addInPermission)
7981
{
80-
userAddInHash.Add(permission.AddInName, permission.Permission);
82+
userAddInHash.Add(permission.AddinCode, permission.Permission);
8183
Logger.Debug(DebugString.Format(Messages.AddInUserPermission, currentUser, permission.AddInName, permission.Permission));
8284
}
8385
}
8486

85-
internal override Permission GetUserPermission(string addInName)
87+
internal override Permission GetUserPermission(string addinCode)
8688
{
8789
Permission value;
88-
userAddInHash.TryGetValue(addInName, out value);
90+
userAddInHash.TryGetValue(addinCode, out value);
8991
return value;
9092
}
9193

92-
internal override Permission GetAddInPermission(string addInName)
94+
internal override Permission GetAddInPermission(string addinCode)
9395
{
9496
Permission value;
95-
addInHash.TryGetValue(addInName, out value);
97+
addInHash.TryGetValue(addinCode, out value);
9698
return value;
9799
}
98100

99101

100-
internal override void SaveAddInPermission(string addInName, Permission permission)
102+
internal override void SaveAddInPermission(string addinCode, Permission permission)
101103
{
102104
b1DAO.ExecuteStatement(string.Format(this.GetSQL("SaveAddinPermission.sql"),
103-
GetPermissionStr(permission), addInName));
105+
GetPermissionStr(permission), addinCode));
104106
}
105107

106-
internal override string GetUserPermissionCode(string addInName, string userName)
108+
internal override string GetUserPermissionCode(string addinCode, string userName)
107109
{
108-
var moduleCode = b1DAO.ExecuteSqlForObject<string>(string.Format(
109-
this.GetSQL("GetModuleCode.sql"), addInName));
110110
return b1DAO.ExecuteSqlForObject<string>(string.Format(
111-
this.GetSQL("GetUserPermissionCode.sql"), moduleCode, userName));
111+
this.GetSQL("GetUserPermissionCode.sql"), addinCode, userName));
112112
}
113113

114-
internal override void SaveAddInPermission(string addInName, string userName, Permission permission)
114+
internal override void SaveAddInPermission(string addinCode, string userName, Permission permission)
115115
{
116-
var moduleCode = b1DAO.ExecuteSqlForObject<string>(string.Format(
117-
this.GetSQL("GetModuleCode.sql"), addInName));
118116
var nextCode = b1DAO.GetNextCode("DOVER_MODULES_USER");
119-
b1DAO.ExecuteStatement(string.Format(this.GetSQL("SaveAddinUserPermission.sql"), nextCode, moduleCode, GetPermissionStr(permission), userName));
117+
b1DAO.ExecuteStatement(string.Format(this.GetSQL("SaveAddinUserPermission.sql"), nextCode, addinCode, GetPermissionStr(permission), userName));
120118
}
121119

122120
internal override void UpdateAddInPermission(string userPermissionCode, Permission permission)

DAO/hana/ClearAddinDueDate.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
UPDATE "@DOVER_MODULES" SET "U_DueDate" = '{1}' WHERE "U_Name" = null
1+
UPDATE "@DOVER_MODULES" SET "U_DueDate" = '{1}' WHERE "Code" = null

DAO/hana/GetAddinDueDate.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
SELECT U_DueDate FROM "@DOVER_MODULES" WHERE "U_Name" = '{0}'
1+
SELECT U_DueDate FROM "@DOVER_MODULES" WHERE "Code" = '{0}'
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
SELECT "Code", "U_Name" AS "Name", IFNULL("U_Description", "U_Name") AS "Description", "U_FileName" AS "FileName",
1+
SELECT "Code", "U_Namespace" AS "Namespace", "U_Name" AS "Name", IFNULL("U_Description", "U_Name") AS "Description", "U_FileName" AS "FileName",
22
"U_Version" AS "Version", U_MD5 AS "MD5", "U_Date" AS "Date", "U_Size" AS "Size", "U_Type" AS "TypeCode"
33
FROM "@DOVER_MODULES"
44
WHERE "U_Type" = '{0}'

0 commit comments

Comments
 (0)