Make HG map search consistent with new syntax for link-region, i.e. http://foo.org. Old syntax (foo.org) is still supported, but has surprising results when ppl search again, because internally the HG link names start with http.
parent
c18bcf3d8d
commit
8c0e156b4d
|
@ -102,7 +102,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
|
|||
GridRegion info = m_scene.GridService.GetRegionByName(m_scene.RegionInfo.ScopeID, mapName);
|
||||
if (info != null) regionInfos.Add(info);
|
||||
}
|
||||
m_log.DebugFormat("[MAPSEARCHMODULE]: search returned {0} regions", regionInfos.Count);
|
||||
m_log.DebugFormat("[MAPSEARCHMODULE]: search {0} returned {1} regions", mapName, regionInfos.Count);
|
||||
List<MapBlockData> blocks = new List<MapBlockData>();
|
||||
|
||||
MapBlockData data;
|
||||
|
|
|
@ -162,6 +162,7 @@ namespace OpenSim.Services.GridService
|
|||
|
||||
#region Link Region
|
||||
|
||||
// from map search
|
||||
public GridRegion LinkRegion(UUID scopeID, string regionDescriptor)
|
||||
{
|
||||
string reason = string.Empty;
|
||||
|
@ -171,7 +172,7 @@ namespace OpenSim.Services.GridService
|
|||
|
||||
private static Random random = new Random();
|
||||
|
||||
// From the command line link-region
|
||||
// From the command line link-region (obsolete) and the map
|
||||
public GridRegion TryLinkRegionToCoords(UUID scopeID, string mapName, int xloc, int yloc, out string reason)
|
||||
{
|
||||
return TryLinkRegionToCoords(scopeID, mapName, xloc, yloc, UUID.Zero, out reason);
|
||||
|
@ -180,45 +181,48 @@ namespace OpenSim.Services.GridService
|
|||
public GridRegion TryLinkRegionToCoords(UUID scopeID, string mapName, int xloc, int yloc, UUID ownerID, out string reason)
|
||||
{
|
||||
reason = string.Empty;
|
||||
string host = "127.0.0.1";
|
||||
string portstr;
|
||||
string regionName = "";
|
||||
uint port = 0;
|
||||
string[] parts = mapName.Split(new char[] { ':' });
|
||||
if (parts.Length >= 1)
|
||||
GridRegion regInfo = null;
|
||||
|
||||
if (!mapName.StartsWith("http"))
|
||||
{
|
||||
host = parts[0];
|
||||
string host = "127.0.0.1";
|
||||
string portstr;
|
||||
string regionName = "";
|
||||
uint port = 0;
|
||||
string[] parts = mapName.Split(new char[] { ':' });
|
||||
if (parts.Length >= 1)
|
||||
{
|
||||
host = parts[0];
|
||||
}
|
||||
if (parts.Length >= 2)
|
||||
{
|
||||
portstr = parts[1];
|
||||
//m_log.Debug("-- port = " + portstr);
|
||||
if (!UInt32.TryParse(portstr, out port))
|
||||
regionName = parts[1];
|
||||
}
|
||||
// always take the last one
|
||||
if (parts.Length >= 3)
|
||||
{
|
||||
regionName = parts[2];
|
||||
}
|
||||
|
||||
|
||||
bool success = TryCreateLink(scopeID, xloc, yloc, regionName, port, host, ownerID, out regInfo, out reason);
|
||||
if (success)
|
||||
{
|
||||
regInfo.RegionName = mapName;
|
||||
return regInfo;
|
||||
}
|
||||
}
|
||||
if (parts.Length >= 2)
|
||||
else
|
||||
{
|
||||
portstr = parts[1];
|
||||
//m_log.Debug("-- port = " + portstr);
|
||||
if (!UInt32.TryParse(portstr, out port))
|
||||
string[] parts = mapName.Split(new char[] {' '});
|
||||
string regionName = String.Empty;
|
||||
if (parts.Length > 1)
|
||||
regionName = parts[1];
|
||||
}
|
||||
// always take the last one
|
||||
if (parts.Length >= 3)
|
||||
{
|
||||
regionName = parts[2];
|
||||
}
|
||||
|
||||
//// Sanity check.
|
||||
//try
|
||||
//{
|
||||
// Util.GetHostFromDNS(host);
|
||||
//}
|
||||
//catch
|
||||
//{
|
||||
// reason = "Malformed hostname";
|
||||
// return null;
|
||||
//}
|
||||
|
||||
GridRegion regInfo;
|
||||
bool success = TryCreateLink(scopeID, xloc, yloc, regionName, port, host, ownerID, out regInfo, out reason);
|
||||
if (success)
|
||||
{
|
||||
regInfo.RegionName = mapName;
|
||||
return regInfo;
|
||||
if (TryCreateLink(scopeID, xloc, yloc, regionName, 0, null, parts[0], ownerID, out regInfo, out reason))
|
||||
return regInfo;
|
||||
}
|
||||
|
||||
return null;
|
||||
|
@ -231,7 +235,7 @@ namespace OpenSim.Services.GridService
|
|||
|
||||
public bool TryCreateLink(UUID scopeID, int xloc, int yloc, string remoteRegionName, uint externalPort, string externalHostName, string serverURI, UUID ownerID, out GridRegion regInfo, out string reason)
|
||||
{
|
||||
m_log.DebugFormat("[HYPERGRID LINKER]: Link to {0}:{1}, in {2}-{3}",
|
||||
m_log.DebugFormat("[HYPERGRID LINKER]: Link to {0} {1}, in {2}-{3}",
|
||||
((serverURI == null) ? (externalHostName + ":" + externalPort) : serverURI),
|
||||
remoteRegionName, xloc / Constants.RegionSize, yloc / Constants.RegionSize);
|
||||
|
||||
|
@ -324,7 +328,7 @@ namespace OpenSim.Services.GridService
|
|||
regInfo.TerrainImage = m_GatekeeperConnector.GetMapImage(regionID, imageURL, m_MapTileDirectory);
|
||||
|
||||
AddHyperlinkRegion(regInfo, handle);
|
||||
m_log.InfoFormat("[HYPERGRID LINKER]: Successfully linked to region_uuid {0} with image {1}", regInfo.RegionID, regInfo.TerrainImage);
|
||||
m_log.InfoFormat("[HYPERGRID LINKER]: Successfully linked to region {0} with image {1}", regInfo.RegionName, regInfo.TerrainImage);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue