aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorUbitUmarov2016-08-13 23:41:57 +0100
committerUbitUmarov2016-08-13 23:41:57 +0100
commit1337f5f26e628dc7c5d038ffee5e957d95a72566 (patch)
treee022d04db0e0174ade41f0c497651f5ff2115c03
parent add some wiring to have GetUserAccounts for multiple IDs on a single request... (diff)
downloadopensim-SC_OLD-1337f5f26e628dc7c5d038ffee5e957d95a72566.zip
opensim-SC_OLD-1337f5f26e628dc7c5d038ffee5e957d95a72566.tar.gz
opensim-SC_OLD-1337f5f26e628dc7c5d038ffee5e957d95a72566.tar.bz2
opensim-SC_OLD-1337f5f26e628dc7c5d038ffee5e957d95a72566.tar.xz
remove a parameter for detection of grid fail to suport getting multiple user accounts per call and handle it where needed.
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/UserAccounts/LocalUserAccountServiceConnector.cs4
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/UserAccounts/RemoteUserAccountServiceConnector.cs8
-rw-r--r--OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs3
-rw-r--r--OpenSim/Services/Connectors/UserAccounts/UserAccountServicesConnector.cs22
-rw-r--r--OpenSim/Services/HypergridService/UserAccountCache.cs3
-rw-r--r--OpenSim/Services/Interfaces/IUserAccountService.cs2
-rw-r--r--OpenSim/Services/UserAccountService/UserAccountService.cs4
7 files changed, 31 insertions, 15 deletions
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/UserAccounts/LocalUserAccountServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/UserAccounts/LocalUserAccountServiceConnector.cs
index 1002b85..1bb4704 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/UserAccounts/LocalUserAccountServiceConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/UserAccounts/LocalUserAccountServiceConnector.cs
@@ -182,9 +182,9 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.UserAccounts
182 return UserAccountService.GetUserAccount(scopeID, Email); 182 return UserAccountService.GetUserAccount(scopeID, Email);
183 } 183 }
184 184
185 public List<UserAccount> GetUserAccounts(UUID scopeID, List<string> IDs, out bool suported) 185 public List<UserAccount> GetUserAccounts(UUID scopeID, List<string> IDs)
186 { 186 {
187 return UserAccountService.GetUserAccounts(scopeID, IDs, out suported); 187 return UserAccountService.GetUserAccounts(scopeID, IDs);
188 } 188 }
189 189
190 190
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/UserAccounts/RemoteUserAccountServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/UserAccounts/RemoteUserAccountServiceConnector.cs
index fb5fae1..ce1754f 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/UserAccounts/RemoteUserAccountServiceConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/UserAccounts/RemoteUserAccountServiceConnector.cs
@@ -160,9 +160,8 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.UserAccounts
160 return account; 160 return account;
161 } 161 }
162 162
163 public override List<UserAccount> GetUserAccounts(UUID scopeID, List<string> IDs, out bool suported) 163 public override List<UserAccount> GetUserAccounts(UUID scopeID, List<string> IDs)
164 { 164 {
165 suported = true;
166 List<UserAccount> accs = new List<UserAccount>(); 165 List<UserAccount> accs = new List<UserAccount>();
167 List<string> missing = new List<string>(); 166 List<string> missing = new List<string>();
168 167
@@ -184,15 +183,14 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.UserAccounts
184 183
185 if(missing.Count > 0) 184 if(missing.Count > 0)
186 { 185 {
187 List<UserAccount> ext = base.GetUserAccounts(scopeID, missing, out suported); 186 List<UserAccount> ext = base.GetUserAccounts(scopeID, missing);
188 if(suported && ext != null) 187 if(ext != null)
189 accs.AddRange(ext); 188 accs.AddRange(ext);
190 } 189 }
191 190
192 return accs; 191 return accs;
193 } 192 }
194 193
195
196 public override bool StoreUserAccount(UserAccount data) 194 public override bool StoreUserAccount(UserAccount data)
197 { 195 {
198 // This remote connector refuses to serve this method 196 // This remote connector refuses to serve this method
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs
index 1ef5ad2..6f613c1 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs
@@ -201,9 +201,8 @@ namespace OpenSim.Services.Connectors.SimianGrid
201 return null; 201 return null;
202 } 202 }
203 203
204 public List<UserAccount> GetUserAccounts(UUID scopeID, List<string> IDs, out bool suported) 204 public List<UserAccount> GetUserAccounts(UUID scopeID, List<string> IDs)
205 { 205 {
206 suported = false;
207 return null; 206 return null;
208 } 207 }
209 208
diff --git a/OpenSim/Services/Connectors/UserAccounts/UserAccountServicesConnector.cs b/OpenSim/Services/Connectors/UserAccounts/UserAccountServicesConnector.cs
index e625143..5bc7a1c 100644
--- a/OpenSim/Services/Connectors/UserAccounts/UserAccountServicesConnector.cs
+++ b/OpenSim/Services/Connectors/UserAccounts/UserAccountServicesConnector.cs
@@ -191,7 +191,27 @@ namespace OpenSim.Services.Connectors
191 return accounts; 191 return accounts;
192 } 192 }
193 193
194 public virtual List<UserAccount> GetUserAccounts(UUID scopeID, List<string> IDs, out bool suported) 194 public virtual List<UserAccount> GetUserAccounts(UUID scopeID, List<string> IDs)
195 {
196 List<UserAccount> accs = new List<UserAccount>();
197 bool multisuported = true;
198 accs = doGetMultiUserAccounts(scopeID, IDs, out multisuported);
199 if(multisuported)
200 return accs;
201
202 // service does not do multi accounts so need to do it one by one
203
204 UUID uuid = UUID.Zero;
205 foreach(string id in IDs)
206 {
207 if(UUID.TryParse(id, out uuid) && uuid != UUID.Zero)
208 accs.Add(GetUserAccount(scopeID,uuid));
209 }
210
211 return accs;
212 }
213
214 private List<UserAccount> doGetMultiUserAccounts(UUID scopeID, List<string> IDs, out bool suported)
195 { 215 {
196 suported = true; 216 suported = true;
197 Dictionary<string, object> sendData = new Dictionary<string, object>(); 217 Dictionary<string, object> sendData = new Dictionary<string, object>();
diff --git a/OpenSim/Services/HypergridService/UserAccountCache.cs b/OpenSim/Services/HypergridService/UserAccountCache.cs
index 618bd97..25ffb63 100644
--- a/OpenSim/Services/HypergridService/UserAccountCache.cs
+++ b/OpenSim/Services/HypergridService/UserAccountCache.cs
@@ -100,9 +100,8 @@ namespace OpenSim.Services.HypergridService
100 return null; 100 return null;
101 } 101 }
102 102
103 public List<UserAccount> GetUserAccounts(UUID scopeID, List<string> IDs, out bool suported) 103 public List<UserAccount> GetUserAccounts(UUID scopeID, List<string> IDs)
104 { 104 {
105 suported = false;
106 return null; 105 return null;
107 } 106 }
108 107
diff --git a/OpenSim/Services/Interfaces/IUserAccountService.cs b/OpenSim/Services/Interfaces/IUserAccountService.cs
index 1914040..c6f3ef3 100644
--- a/OpenSim/Services/Interfaces/IUserAccountService.cs
+++ b/OpenSim/Services/Interfaces/IUserAccountService.cs
@@ -187,7 +187,7 @@ namespace OpenSim.Services.Interfaces
187 /// <returns></returns> 187 /// <returns></returns>
188 List<UserAccount> GetUserAccounts(UUID scopeID, string query); 188 List<UserAccount> GetUserAccounts(UUID scopeID, string query);
189 List<UserAccount> GetUserAccountsWhere(UUID scopeID, string where); 189 List<UserAccount> GetUserAccountsWhere(UUID scopeID, string where);
190 List<UserAccount> GetUserAccounts(UUID scopeID, List<string> IDs, out bool suported); 190 List<UserAccount> GetUserAccounts(UUID scopeID, List<string> IDs);
191 191
192 /// <summary> 192 /// <summary>
193 /// Store the data given, wich replaces the stored data, therefore must be complete. 193 /// Store the data given, wich replaces the stored data, therefore must be complete.
diff --git a/OpenSim/Services/UserAccountService/UserAccountService.cs b/OpenSim/Services/UserAccountService/UserAccountService.cs
index fbe5e3b..668fe53 100644
--- a/OpenSim/Services/UserAccountService/UserAccountService.cs
+++ b/OpenSim/Services/UserAccountService/UserAccountService.cs
@@ -265,9 +265,9 @@ namespace OpenSim.Services.UserAccountService
265 return MakeUserAccount(d[0]); 265 return MakeUserAccount(d[0]);
266 } 266 }
267 267
268 public List<UserAccount> GetUserAccounts(UUID scopeID, List<string> IDs, out bool suported) 268 public List<UserAccount> GetUserAccounts(UUID scopeID, List<string> IDs)
269 { 269 {
270 suported = true; 270 // do it one at a time db access should be fast, so no need to break its api
271 List<UserAccount> accs = new List<UserAccount>(); 271 List<UserAccount> accs = new List<UserAccount>();
272 UUID uuid = UUID.Zero; 272 UUID uuid = UUID.Zero;
273 foreach(string id in IDs) 273 foreach(string id in IDs)