work on previus 2 patchs
parent
999a068172
commit
31aef4e82b
|
@ -71,8 +71,6 @@ namespace OpenSim.Data
|
||||||
{
|
{
|
||||||
RegionData Get(UUID regionID, UUID ScopeID);
|
RegionData Get(UUID regionID, UUID ScopeID);
|
||||||
List<RegionData> Get(string regionName, UUID ScopeID);
|
List<RegionData> Get(string regionName, UUID ScopeID);
|
||||||
|
|
||||||
//BA MOD....
|
|
||||||
RegionData GetSpecific(string regionName, UUID ScopeID);
|
RegionData GetSpecific(string regionName, UUID ScopeID);
|
||||||
|
|
||||||
RegionData Get(int x, int y, UUID ScopeID);
|
RegionData Get(int x, int y, UUID ScopeID);
|
||||||
|
|
|
@ -81,15 +81,12 @@ namespace OpenSim.Data.MySQL
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//BA MOD....
|
|
||||||
public RegionData GetSpecific(string regionName, UUID scopeID)
|
public RegionData GetSpecific(string regionName, UUID scopeID)
|
||||||
{
|
{
|
||||||
string command = "select * from `" + m_Realm + "` where regionName = ?regionName";
|
string command = "select * from `" + m_Realm + "` where regionName = ?regionName";
|
||||||
if (scopeID != UUID.Zero)
|
if (scopeID != UUID.Zero)
|
||||||
command += " and ScopeID = ?scopeID";
|
command += " and ScopeID = ?scopeID";
|
||||||
|
|
||||||
//command += " order by regionName";
|
|
||||||
|
|
||||||
using (MySqlCommand cmd = new MySqlCommand(command))
|
using (MySqlCommand cmd = new MySqlCommand(command))
|
||||||
{
|
{
|
||||||
cmd.Parameters.AddWithValue("?regionName", regionName);
|
cmd.Parameters.AddWithValue("?regionName", regionName);
|
||||||
|
@ -104,27 +101,8 @@ namespace OpenSim.Data.MySQL
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public RegionData Get(int posX, int posY, UUID scopeID)
|
public RegionData Get(int posX, int posY, UUID scopeID)
|
||||||
{
|
{
|
||||||
/* fixed size regions
|
|
||||||
string command = "select * from `"+m_Realm+"` where locX = ?posX and locY = ?posY";
|
|
||||||
if (scopeID != UUID.Zero)
|
|
||||||
command += " and ScopeID = ?scopeID";
|
|
||||||
|
|
||||||
using (MySqlCommand cmd = new MySqlCommand(command))
|
|
||||||
{
|
|
||||||
cmd.Parameters.AddWithValue("?posX", posX.ToString());
|
|
||||||
cmd.Parameters.AddWithValue("?posY", posY.ToString());
|
|
||||||
cmd.Parameters.AddWithValue("?scopeID", scopeID.ToString());
|
|
||||||
|
|
||||||
List<RegionData> ret = RunCommand(cmd);
|
|
||||||
if (ret.Count == 0)
|
|
||||||
return null;
|
|
||||||
|
|
||||||
return ret[0];
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
// extend database search for maximum region size area
|
|
||||||
string command = "select * from `" + m_Realm + "` where locX between ?startX and ?endX and locY between ?startY and ?endY";
|
string command = "select * from `" + m_Realm + "` where locX between ?startX and ?endX and locY between ?startY and ?endY";
|
||||||
if (scopeID != UUID.Zero)
|
if (scopeID != UUID.Zero)
|
||||||
command += " and ScopeID = ?scopeID";
|
command += " and ScopeID = ?scopeID";
|
||||||
|
|
|
@ -68,12 +68,34 @@ namespace OpenSim.Data.Null
|
||||||
|
|
||||||
private delegate bool Matcher(string value);
|
private delegate bool Matcher(string value);
|
||||||
|
|
||||||
|
public RegionData GetSpecific(string regionName, UUID scopeID)
|
||||||
|
{
|
||||||
|
if (m_useStaticInstance && Instance != this)
|
||||||
|
return Instance.GetSpecific(regionName, scopeID);
|
||||||
|
|
||||||
|
string cleanName = regionName.ToLower();
|
||||||
|
Matcher queryMatch;
|
||||||
|
queryMatch = delegate (string s) { return s.Equals(cleanName); };
|
||||||
|
|
||||||
|
lock (m_regionData)
|
||||||
|
{
|
||||||
|
foreach (RegionData r in m_regionData.Values)
|
||||||
|
{
|
||||||
|
// m_log.DebugFormat("[NULL REGION DATA]: comparing {0} to {1}", cleanName, r.RegionName.ToLower());
|
||||||
|
if (queryMatch(r.RegionName.ToLower()))
|
||||||
|
return(r);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public List<RegionData> Get(string regionName, UUID scopeID)
|
public List<RegionData> Get(string regionName, UUID scopeID)
|
||||||
{
|
{
|
||||||
if (m_useStaticInstance && Instance != this)
|
if (m_useStaticInstance && Instance != this)
|
||||||
return Instance.Get(regionName, scopeID);
|
return Instance.Get(regionName, scopeID);
|
||||||
|
|
||||||
// m_log.DebugFormat("[NULL REGION DATA]: Getting region {0}, scope {1}", regionName, scopeID);
|
// m_log.DebugFormat("[NULL REGION DATA]: Getting region {0}, scope {1}", regionName, scopeID);
|
||||||
|
|
||||||
string cleanName = regionName.ToLower();
|
string cleanName = regionName.ToLower();
|
||||||
|
|
||||||
|
@ -166,13 +188,7 @@ namespace OpenSim.Data.Null
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
//BA MOD...
|
public List<RegionData> Get(int startX, int startY, int endX, int endY, UUID scopeID)
|
||||||
public RegionData GetSpecific(string regionName, UUID ScopeID)
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<RegionData> Get(int startX, int startY, int endX, int endY, UUID scopeID)
|
|
||||||
{
|
{
|
||||||
if (m_useStaticInstance && Instance != this)
|
if (m_useStaticInstance && Instance != this)
|
||||||
return Instance.Get(startX, startY, endX, endY, scopeID);
|
return Instance.Get(startX, startY, endX, endY, scopeID);
|
||||||
|
|
|
@ -114,7 +114,6 @@ namespace OpenSim.Data.PGSQL
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//BA MOD...
|
|
||||||
public RegionData GetSpecific(string regionName, UUID scopeID)
|
public RegionData GetSpecific(string regionName, UUID scopeID)
|
||||||
{
|
{
|
||||||
string sql = "select * from " + m_Realm + " where lower(\"regionName\") = lower(:regionName) ";
|
string sql = "select * from " + m_Realm + " where lower(\"regionName\") = lower(:regionName) ";
|
||||||
|
|
|
@ -240,12 +240,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
|
||||||
return rinfo;
|
return rinfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
public GridRegion GetRegionByNameSpecific(UUID scopeID, string regionName)
|
|
||||||
{
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public GridRegion GetRegionByName(UUID scopeID, string regionName)
|
public GridRegion GetRegionByName(UUID scopeID, string regionName)
|
||||||
{
|
{
|
||||||
bool inCache = false;
|
bool inCache = false;
|
||||||
|
|
|
@ -236,12 +236,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
|
||||||
return rinfo;
|
return rinfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
public GridRegion GetRegionByNameSpecific(UUID scopeID, string regionName)
|
|
||||||
{
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public GridRegion GetRegionByName(UUID scopeID, string name)
|
public GridRegion GetRegionByName(UUID scopeID, string name)
|
||||||
{
|
{
|
||||||
GridRegion rinfo = m_LocalGridService.GetRegionByName(scopeID, name);
|
GridRegion rinfo = m_LocalGridService.GetRegionByName(scopeID, name);
|
||||||
|
|
|
@ -132,13 +132,8 @@ namespace OpenSim.Server.Handlers.Login
|
||||||
|
|
||||||
//m_log.InfoFormat("[LOGIN]: XMLRPC Login Requested for {0} {1}, starting in {2}, using {3}", first, last, startLocation, clientVersion);
|
//m_log.InfoFormat("[LOGIN]: XMLRPC Login Requested for {0} {1}, starting in {2}, using {3}", first, last, startLocation, clientVersion);
|
||||||
|
|
||||||
|
|
||||||
bool LibOMVclient = false;
|
|
||||||
if (request.Params.Count > 4 && (string)request.Params[4] == "gridproxy")
|
|
||||||
LibOMVclient = true;
|
|
||||||
|
|
||||||
LoginResponse reply = null;
|
LoginResponse reply = null;
|
||||||
reply = m_LocalService.Login(first, last, passwd, startLocation, scopeID, clientVersion, channel, mac, id0, remoteClient, LibOMVclient);
|
reply = m_LocalService.Login(first, last, passwd, startLocation, scopeID, clientVersion, channel, mac, id0, remoteClient);
|
||||||
|
|
||||||
XmlRpcResponse response = new XmlRpcResponse();
|
XmlRpcResponse response = new XmlRpcResponse();
|
||||||
response.Value = reply.ToHashtable();
|
response.Value = reply.ToHashtable();
|
||||||
|
@ -221,7 +216,7 @@ namespace OpenSim.Server.Handlers.Login
|
||||||
|
|
||||||
LoginResponse reply = null;
|
LoginResponse reply = null;
|
||||||
reply = m_LocalService.Login(map["first"].AsString(), map["last"].AsString(), map["passwd"].AsString(), startLocation, scopeID,
|
reply = m_LocalService.Login(map["first"].AsString(), map["last"].AsString(), map["passwd"].AsString(), startLocation, scopeID,
|
||||||
map["version"].AsString(), map["channel"].AsString(), map["mac"].AsString(), map["id0"].AsString(), remoteClient,false);
|
map["version"].AsString(), map["channel"].AsString(), map["mac"].AsString(), map["id0"].AsString(), remoteClient);
|
||||||
return reply.ToOSDMap();
|
return reply.ToOSDMap();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -264,7 +259,7 @@ namespace OpenSim.Server.Handlers.Login
|
||||||
(sender as WebSocketHttpServerHandler).GetRemoteIPEndpoint();
|
(sender as WebSocketHttpServerHandler).GetRemoteIPEndpoint();
|
||||||
LoginResponse reply = null;
|
LoginResponse reply = null;
|
||||||
reply = m_LocalService.Login(first, last, passwd, start, scope, version,
|
reply = m_LocalService.Login(first, last, passwd, start, scope, version,
|
||||||
channel, mac, id0, endPoint,false);
|
channel, mac, id0, endPoint);
|
||||||
sock.SendMessage(OSDParser.SerializeJsonString(reply.ToOSDMap()));
|
sock.SendMessage(OSDParser.SerializeJsonString(reply.ToOSDMap()));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -330,12 +330,6 @@ namespace OpenSim.Services.Connectors
|
||||||
return rinfo;
|
return rinfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
public GridRegion GetRegionByNameSpecific(UUID scopeID, string regionName)
|
|
||||||
{
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public GridRegion GetRegionByName(UUID scopeID, string regionName)
|
public GridRegion GetRegionByName(UUID scopeID, string regionName)
|
||||||
{
|
{
|
||||||
Dictionary<string, object> sendData = new Dictionary<string, object>();
|
Dictionary<string, object> sendData = new Dictionary<string, object>();
|
||||||
|
|
|
@ -100,8 +100,6 @@ namespace OpenSim.Services.Connectors.SimianGrid
|
||||||
|
|
||||||
#region IGridService
|
#region IGridService
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public string RegisterRegion(UUID scopeID, GridRegion regionInfo)
|
public string RegisterRegion(UUID scopeID, GridRegion regionInfo)
|
||||||
{
|
{
|
||||||
IPEndPoint ext = regionInfo.ExternalEndPoint;
|
IPEndPoint ext = regionInfo.ExternalEndPoint;
|
||||||
|
|
|
@ -476,9 +476,9 @@ namespace OpenSim.Services.GridService
|
||||||
|
|
||||||
public GridRegion GetRegionByName(UUID scopeID, string name)
|
public GridRegion GetRegionByName(UUID scopeID, string name)
|
||||||
{
|
{
|
||||||
List<RegionData> rdatas = m_Database.Get(Util.EscapeForLike(name), scopeID);
|
RegionData rdata = m_Database.GetSpecific(name, scopeID);
|
||||||
if ((rdatas != null) && (rdatas.Count > 0))
|
if (rdata != null)
|
||||||
return RegionData2RegionInfo(rdatas[0]); // get the first
|
return RegionData2RegionInfo(rdata);
|
||||||
|
|
||||||
if (m_AllowHypergridMapSearch)
|
if (m_AllowHypergridMapSearch)
|
||||||
{
|
{
|
||||||
|
@ -490,18 +490,7 @@ namespace OpenSim.Services.GridService
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
//BA MOD....
|
public List<GridRegion> GetRegionsByName(UUID scopeID, string name, int maxNumber)
|
||||||
public GridRegion GetRegionByNameSpecific(UUID scopeID, string name)
|
|
||||||
{
|
|
||||||
RegionData rdata = m_Database.GetSpecific(name, scopeID);
|
|
||||||
if (rdata != null)
|
|
||||||
{
|
|
||||||
return RegionData2RegionInfo(rdata);
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<GridRegion> GetRegionsByName(UUID scopeID, string name, int maxNumber)
|
|
||||||
{
|
{
|
||||||
// m_log.DebugFormat("[GRID SERVICE]: GetRegionsByName {0}", name);
|
// m_log.DebugFormat("[GRID SERVICE]: GetRegionsByName {0}", name);
|
||||||
|
|
||||||
|
@ -510,7 +499,7 @@ namespace OpenSim.Services.GridService
|
||||||
int count = 0;
|
int count = 0;
|
||||||
List<GridRegion> rinfos = new List<GridRegion>();
|
List<GridRegion> rinfos = new List<GridRegion>();
|
||||||
|
|
||||||
if (count < maxNumber && m_AllowHypergridMapSearch && name.Contains("."))
|
if (m_AllowHypergridMapSearch && name.Contains("."))
|
||||||
{
|
{
|
||||||
string regionURI = "";
|
string regionURI = "";
|
||||||
string regionHost = "";
|
string regionHost = "";
|
||||||
|
@ -538,7 +527,7 @@ namespace OpenSim.Services.GridService
|
||||||
{
|
{
|
||||||
if (count++ < maxNumber)
|
if (count++ < maxNumber)
|
||||||
rinfos.Add(RegionData2RegionInfo(rdata));
|
rinfos.Add(RegionData2RegionInfo(rdata));
|
||||||
if(rdata.RegionName == mapname)
|
if(mapname.Equals(rdata.RegionName,StringComparison.InvariantCultureIgnoreCase))
|
||||||
{
|
{
|
||||||
haveMatch = true;
|
haveMatch = true;
|
||||||
if(count == maxNumber)
|
if(count == maxNumber)
|
||||||
|
@ -560,7 +549,7 @@ namespace OpenSim.Services.GridService
|
||||||
{
|
{
|
||||||
if (count++ < maxNumber)
|
if (count++ < maxNumber)
|
||||||
rinfos.Add(RegionData2RegionInfo(rdata));
|
rinfos.Add(RegionData2RegionInfo(rdata));
|
||||||
if(rdata.RegionName == mapname)
|
if (mapname.Equals(rdata.RegionName, StringComparison.InvariantCultureIgnoreCase))
|
||||||
{
|
{
|
||||||
haveMatch = true;
|
haveMatch = true;
|
||||||
if(count == maxNumber)
|
if(count == maxNumber)
|
||||||
|
@ -588,11 +577,20 @@ namespace OpenSim.Services.GridService
|
||||||
}
|
}
|
||||||
else if (rdatas != null && (rdatas.Count > 0))
|
else if (rdatas != null && (rdatas.Count > 0))
|
||||||
{
|
{
|
||||||
// m_log.DebugFormat("[GRID SERVICE]: Found {0} regions", rdatas.Count);
|
//m_log.DebugFormat("[GRID SERVICE]: Found {0} regions", rdatas.Count);
|
||||||
foreach (RegionData rdata in rdatas)
|
foreach (RegionData rdata in rdatas)
|
||||||
{
|
{
|
||||||
if (count++ < maxNumber)
|
if (count++ < maxNumber)
|
||||||
rinfos.Add(RegionData2RegionInfo(rdata));
|
rinfos.Add(RegionData2RegionInfo(rdata));
|
||||||
|
if (name.Equals(rdata.RegionName, StringComparison.InvariantCultureIgnoreCase))
|
||||||
|
{
|
||||||
|
if (count == maxNumber)
|
||||||
|
{
|
||||||
|
rinfos.RemoveAt(count - 1);
|
||||||
|
rinfos.Add(RegionData2RegionInfo(rdata));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -84,10 +84,6 @@ namespace OpenSim.Services.Interfaces
|
||||||
/// <returns>Returns the region information if the name matched. Null otherwise.</returns>
|
/// <returns>Returns the region information if the name matched. Null otherwise.</returns>
|
||||||
GridRegion GetRegionByName(UUID scopeID, string regionName);
|
GridRegion GetRegionByName(UUID scopeID, string regionName);
|
||||||
|
|
||||||
|
|
||||||
//BA MOD.....
|
|
||||||
GridRegion GetRegionByNameSpecific(UUID scopeID, string regionName);
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Get information about regions starting with the provided name.
|
/// Get information about regions starting with the provided name.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -48,7 +48,7 @@ namespace OpenSim.Services.Interfaces
|
||||||
public interface ILoginService
|
public interface ILoginService
|
||||||
{
|
{
|
||||||
LoginResponse Login(string firstName, string lastName, string passwd, string startLocation, UUID scopeID,
|
LoginResponse Login(string firstName, string lastName, string passwd, string startLocation, UUID scopeID,
|
||||||
string clientVersion, string channel, string mac, string id0, IPEndPoint clientIP, bool LibOMVclient);
|
string clientVersion, string channel, string mac, string id0, IPEndPoint clientIP);
|
||||||
Hashtable SetLevel(string firstName, string lastName, string passwd, int level, IPEndPoint clientIP);
|
Hashtable SetLevel(string firstName, string lastName, string passwd, int level, IPEndPoint clientIP);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -285,18 +285,15 @@ namespace OpenSim.Services.LLLoginService
|
||||||
}
|
}
|
||||||
|
|
||||||
public LoginResponse Login(string firstName, string lastName, string passwd, string startLocation, UUID scopeID,
|
public LoginResponse Login(string firstName, string lastName, string passwd, string startLocation, UUID scopeID,
|
||||||
string clientVersion, string channel, string mac, string id0, IPEndPoint clientIP, bool LibOMVclient)
|
string clientVersion, string channel, string mac, string id0, IPEndPoint clientIP)
|
||||||
{
|
{
|
||||||
bool success = false;
|
bool success = false;
|
||||||
UUID session = UUID.Random();
|
UUID session = UUID.Random();
|
||||||
|
|
||||||
string processedMessage;
|
string processedMessage;
|
||||||
|
|
||||||
if (clientVersion.Contains("Radegast"))
|
|
||||||
LibOMVclient = false;
|
|
||||||
|
|
||||||
m_log.InfoFormat("[LLOGIN SERVICE]: Login request for {0} {1} at {2} using viewer {3}, channel {4}, IP {5}, Mac {6}, Id0 {7}, Possible LibOMVGridProxy: {8} ",
|
m_log.InfoFormat("[LLOGIN SERVICE]: Login request for {0} {1} at {2} using viewer {3}, channel {4}, IP {5}, Mac {6}, Id0 {7}, Possible LibOMVGridProxy: {8} ",
|
||||||
firstName, lastName, startLocation, clientVersion, channel, clientIP.Address.ToString(), mac, id0, LibOMVclient.ToString());
|
firstName, lastName, startLocation, clientVersion, channel, clientIP.Address.ToString(), mac, id0);
|
||||||
|
|
||||||
string curMac = mac.ToString();
|
string curMac = mac.ToString();
|
||||||
|
|
||||||
|
@ -699,7 +696,6 @@ namespace OpenSim.Services.LLLoginService
|
||||||
where = "safe";
|
where = "safe";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -735,41 +731,32 @@ namespace OpenSim.Services.LLLoginService
|
||||||
{
|
{
|
||||||
if (!regionName.Contains("@"))
|
if (!regionName.Contains("@"))
|
||||||
{
|
{
|
||||||
List<GridRegion> regions = m_GridService.GetRegionsByName(scopeID, regionName, 1);
|
region = m_GridService.GetRegionByName (scopeID, regionName);
|
||||||
if ((regions == null) || (regions != null && regions.Count == 0))
|
if(region != null)
|
||||||
|
return region;
|
||||||
|
|
||||||
|
m_log.InfoFormat("[LLLOGIN SERVICE]: Got Custom Login URI {0}, can't locate region {1}. Trying defaults.", startLocation, regionName);
|
||||||
|
List<GridRegion> regions = m_GridService.GetDefaultRegions(scopeID);
|
||||||
|
if (regions != null && regions.Count > 0)
|
||||||
{
|
{
|
||||||
m_log.InfoFormat("[LLLOGIN SERVICE]: Got Custom Login URI {0}, can't locate region {1}. Trying defaults.", startLocation, regionName);
|
where = "safe";
|
||||||
regions = m_GridService.GetDefaultRegions(scopeID);
|
return regions[0];
|
||||||
if (regions != null && regions.Count > 0)
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_log.Info("[LLOGIN SERVICE]: Last Region Not Found Attempting to find random region");
|
||||||
|
region = FindAlternativeRegion(scopeID);
|
||||||
|
if (region != null)
|
||||||
{
|
{
|
||||||
where = "safe";
|
where = "safe";
|
||||||
return regions[0];
|
return region;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_log.Info("[LLOGIN SERVICE]: Last Region Not Found Attempting to find random region");
|
m_log.InfoFormat("[LLLOGIN SERVICE]: Got Custom Login URI {0}, Grid does not provide default regions and no alternative found.", startLocation);
|
||||||
region = FindAlternativeRegion(scopeID);
|
return null;
|
||||||
if (region != null)
|
|
||||||
{
|
|
||||||
where = "safe";
|
|
||||||
return region;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
m_log.InfoFormat("[LLLOGIN SERVICE]: Got Custom Login URI {0}, Grid does not provide default regions and no alternative found.", startLocation);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//find a exact match
|
|
||||||
foreach(GridRegion r in regions)
|
|
||||||
{
|
|
||||||
if(string.Equals(regionName, r.RegionName, StringComparison.InvariantCultureIgnoreCase))
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
// else, whatever
|
|
||||||
return regions[0];
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue