private void HandleDelete(HttpRequest req, Map jsondata) { uint estateID; try { estateID = jsondata["id"].AsUInt; } catch { m_WebIF.ErrorResponse(req, AdminWebIfErrorResult.InvalidRequest); return; } if (m_EstateService.RegionMap[estateID].Count != 0) { m_WebIF.ErrorResponse(req, AdminWebIfErrorResult.InUse); return; } try { if (!m_EstateService.Remove(estateID)) { throw new InvalidDataException(); } } catch { m_WebIF.ErrorResponse(req, AdminWebIfErrorResult.NotPossible); return; } m_WebIF.SuccessResponse(req, new Map()); }
public void DeleteEstateCmd(List <string> args, Common.CmdIO.TTY io, UUID limitedToScene) { uint estateID; EstateInfo estateInfo; List <UUID> regions; if (limitedToScene != UUID.Zero) { io.WriteFormatted("delete estate not allowed from restricted console"); } else if (args[0] == "help" || args.Count < 3) { io.Write("delete estate <estateid>"); } else if (!uint.TryParse(args[2], out estateID)) { io.WriteFormatted("{0} is not a valid estate id.", estateID); } else if (!m_EstateService.TryGetValue(estateID, out estateInfo)) { io.WriteFormatted("Estate with id {0} does not exist.", estateID); } else { regions = m_EstateService.RegionMap[estateID]; if (m_EstateService.RegionMap[estateID].Count != 0) { var output = new StringBuilder("Please unlink regions from estate first.\n\nLinked Scene List:\n----------------------------------------------"); foreach (UUID rID in regions) { Types.Grid.RegionInfo rInfo; if (m_RegionStorage.TryGetValue(rID, out rInfo)) { Vector3 gridcoord = rInfo.Location; output.AppendFormat("\nRegion {0} [{1}]:\n Location={2} (grid coordinate {5})\n Size={3}\n Owner={4}\n", rInfo.Name, rInfo.ID, gridcoord.ToString(), rInfo.Size.ToString(), ResolveName(rInfo.Owner).FullName, gridcoord.X_String + "," + gridcoord.Y_String); } } io.Write(output.ToString()); } else { try { if (!m_EstateService.Remove(estateID)) { throw new InvalidOperationException(); } } catch (Exception e) { io.WriteFormatted("Could not delete estate {0}: {1}", estateID, e.Message); } } } }
public bool Run() { m_Log.Info("Creating estate"); EstateInfo info = new EstateInfo() { Name = "Test Estate", ID = 101, Owner = m_EstateOwner }; m_EstateService.Add(info); m_Log.Info("Testing non-existence of Estate Accessor 1"); if (m_EstateService.EstateAccess[info.ID, m_EstateAccessor1]) { return(false); } m_Log.Info("Testing non-existence of Estate Accessor 2"); if (m_EstateService.EstateAccess[info.ID, m_EstateAccessor2]) { return(false); } m_Log.Info("Testing returned entries to match"); if (m_EstateService.EstateAccess.All[info.ID].Count != 0) { return(false); } m_Log.Info("Enabling Estate Accessor 1"); m_EstateService.EstateAccess[info.ID, m_EstateAccessor1] = true; m_Log.Info("Testing existence of Estate Accessor 1"); if (!m_EstateService.EstateAccess[info.ID, m_EstateAccessor1]) { return(false); } m_Log.Info("Testing non-existence of Estate Accessor 2"); if (m_EstateService.EstateAccess[info.ID, m_EstateAccessor2]) { return(false); } m_Log.Info("Testing returned entries to match"); if (m_EstateService.EstateAccess.All[info.ID].Count != 1) { return(false); } m_Log.Info("Enabling Estate Accessor 2"); m_EstateService.EstateAccess[info.ID, m_EstateAccessor2] = true; m_Log.Info("Testing existence of Estate Accessor 1"); if (!m_EstateService.EstateAccess[info.ID, m_EstateAccessor1]) { return(false); } m_Log.Info("Testing existence of Estate Accessor 2"); if (!m_EstateService.EstateAccess[info.ID, m_EstateAccessor2]) { return(false); } m_Log.Info("Testing returned entries to match"); if (m_EstateService.EstateAccess.All[info.ID].Count != 2) { return(false); } m_Log.Info("Disabling Estate Accessor 1"); m_EstateService.EstateAccess[info.ID, m_EstateAccessor1] = false; m_Log.Info("Testing non-existence of Estate Accessor 1"); if (m_EstateService.EstateAccess[info.ID, m_EstateAccessor1]) { return(false); } m_Log.Info("Testing existence of Estate Accessor 2"); if (!m_EstateService.EstateAccess[info.ID, m_EstateAccessor2]) { return(false); } m_Log.Info("Testing returned entries to match"); if (m_EstateService.EstateAccess.All[info.ID].Count != 1) { return(false); } m_Log.Info("Disabling Estate Accessor 2"); m_EstateService.EstateAccess[info.ID, m_EstateAccessor2] = false; m_Log.Info("Testing non-existence of Estate Accessor 1"); if (m_EstateService.EstateAccess[info.ID, m_EstateAccessor1]) { return(false); } m_Log.Info("Testing non-existence of Estate Accessor 2"); if (m_EstateService.EstateAccess[info.ID, m_EstateAccessor2]) { return(false); } m_Log.Info("Testing returned entries to match"); if (m_EstateService.EstateAccess.All[info.ID].Count != 0) { return(false); } m_Log.Info("Testing deletion"); if (!m_EstateService.Remove(info.ID)) { return(false); } return(true); }
public bool Run() { m_Log.Info("Creating estates"); EstateInfo info1 = new EstateInfo() { Name = "Test Estate 1", ID = 101, Owner = m_EstateOwner1 }; m_EstateService.Add(info1); EstateInfo info2 = new EstateInfo() { Name = "Test Estate 2", ID = 102, Owner = m_EstateOwner2 }; m_EstateService.Add(info2); m_Log.Info("Adding regions"); m_EstateService.RegionMap[m_EstateRegion1] = 101; m_EstateService.RegionMap[m_EstateRegion2] = 102; m_Log.Info("Test that estate 101 has region 1 on list"); List <UUID> infoList1 = m_EstateService.RegionMap[101]; if (infoList1.Count != 1 || !infoList1.Contains(m_EstateRegion1)) { return(false); } m_Log.Info("Test that estate 101 has region 1 on explicit"); if (m_EstateService.RegionMap[m_EstateRegion1] != 101) { return(false); } m_Log.Info("Test that estate 102 has region 2"); List <UUID> infoList2 = m_EstateService.RegionMap[102]; if (infoList2.Count != 1 || !infoList2.Contains(m_EstateRegion2)) { return(false); } m_Log.Info("Test that estate 102 has region 2 on explicit"); if (m_EstateService.RegionMap[m_EstateRegion2] != 102) { return(false); } m_Log.Info("exchange regions between estates"); m_EstateService.RegionMap[m_EstateRegion1] = 102; m_EstateService.RegionMap[m_EstateRegion2] = 101; m_Log.Info("Test that estate 101 has region 2 on list"); infoList1 = m_EstateService.RegionMap[101]; if (infoList1.Count != 1 || !infoList1.Contains(m_EstateRegion2)) { return(false); } m_Log.Info("Test that estate 101 has region 2 on explicit"); if (m_EstateService.RegionMap[m_EstateRegion2] != 101) { return(false); } m_Log.Info("Test that estate 102 has region 1"); infoList2 = m_EstateService.RegionMap[102]; if (infoList2.Count != 1 || !infoList2.Contains(m_EstateRegion1)) { return(false); } m_Log.Info("Test that estate 102 has region 1 on explicit"); if (m_EstateService.RegionMap[m_EstateRegion2] != 101) { return(false); } m_Log.Info("Testing deletion"); if (!m_EstateService.Remove(info1.ID)) { return(false); } if (!m_EstateService.Remove(info2.ID)) { return(false); } return(true); }
public bool Run() { m_Log.Info("Creating estates"); EstateInfo info1 = new EstateInfo() { Name = "Test Estate 1", ID = 101, Owner = m_EstateOwner1 }; m_EstateService.Add(info1); EstateInfo info2 = new EstateInfo() { Name = "Test Estate 2", ID = 102, Owner = m_EstateOwner2 }; m_EstateService.Add(info2); m_Log.Info("Test that owner 1 has estate 101 on list"); List <uint> infoList1 = m_EstateService.EstateOwner[m_EstateOwner1]; if (infoList1.Count != 1 || !infoList1.Contains(101)) { return(false); } m_Log.Info("Test that owner 1 has estate 101 on explicit"); if (!m_EstateService.EstateOwner[info1.ID].EqualsGrid(m_EstateOwner1)) { return(false); } m_Log.Info("Test that owner 2 has estate 102"); List <uint> infoList2 = m_EstateService.EstateOwner[m_EstateOwner2]; if (infoList2.Count != 1 || !infoList2.Contains(102)) { return(false); } m_Log.Info("Test that owner 2 has estate 102 on explicit"); if (!m_EstateService.EstateOwner[info2.ID].EqualsGrid(m_EstateOwner2)) { return(false); } m_Log.Info("exchange estates between owners"); m_EstateService.EstateOwner[101] = m_EstateOwner2; m_EstateService.EstateOwner[102] = m_EstateOwner1; m_Log.Info("check that owner changes on EstateInfo"); if (!m_EstateService[101].Owner.EqualsGrid(m_EstateOwner2)) { return(false); } if (!m_EstateService[102].Owner.EqualsGrid(m_EstateOwner1)) { return(false); } m_Log.Info("Test that owner 1 has estate 102 on list"); infoList1 = m_EstateService.EstateOwner[m_EstateOwner1]; if (infoList1.Count != 1 || !infoList1.Contains(102)) { return(false); } m_Log.Info("Test that owner 1 has estate 102 on explicit"); if (!m_EstateService.EstateOwner[info2.ID].EqualsGrid(m_EstateOwner1)) { return(false); } m_Log.Info("Test that owner 2 has estate 101"); infoList2 = m_EstateService.EstateOwner[m_EstateOwner2]; if (infoList2.Count != 1 || !infoList2.Contains(101)) { return(false); } m_Log.Info("Test that owner 2 has estate 101 on explicit"); if (!m_EstateService.EstateOwner[info1.ID].EqualsGrid(m_EstateOwner2)) { return(false); } m_Log.Info("Testing deletion"); if (!m_EstateService.Remove(info1.ID)) { return(false); } if (!m_EstateService.Remove(info2.ID)) { return(false); } return(true); }
public bool Run() { string estateName = "Test Estate"; uint estateId = 100; UUID covenantId = UUID.Random; m_Log.Info("Testing non-existence of estate via name"); if (m_EstateService.ContainsKey(estateName)) { return(false); } m_Log.Info("Testing non-existence of estate via id"); if (m_EstateService.ContainsKey(estateId)) { return(false); } m_Log.Info("Creating estate"); EstateInfo info = new EstateInfo() { ID = estateId, Name = estateName, Owner = m_EstateOwner, CovenantID = covenantId, AbuseEmail = "*****@*****.**", Flags = RegionOptionFlags.AllowDirectTeleport, BillableFactor = 5, PricePerMeter = 2, ParentEstateID = 2 }; m_EstateService.Add(info); m_Log.Info("Testing existence of estate via name"); if (!m_EstateService.ContainsKey(estateName)) { return(false); } m_Log.Info("Testing existence of estate via id"); if (!m_EstateService.ContainsKey(estateId)) { return(false); } EstateInfo retrievedInfo; m_Log.Info("Testing retrieval via name"); if (!m_EstateService.TryGetValue(estateName, out retrievedInfo)) { return(false); } if (!CompareEstates(info, retrievedInfo)) { return(false); } m_Log.Info("Testing retrieval via id"); if (!m_EstateService.TryGetValue(estateId, out retrievedInfo)) { return(false); } if (!CompareEstates(info, retrievedInfo)) { return(false); } m_Log.Info("Testing update"); info.Name = "New Test Estate"; info.ParentEstateID = 3; estateName = info.Name; m_EstateService.Update(info); m_Log.Info("Testing retrieval via old name"); if (m_EstateService.TryGetValue("Test Estate", out retrievedInfo)) { return(false); } m_Log.Info("Testing retrieval via name"); if (!m_EstateService.TryGetValue(estateName, out retrievedInfo)) { return(false); } if (!CompareEstates(info, retrievedInfo)) { return(false); } m_Log.Info("Testing retrieval via id"); if (!m_EstateService.TryGetValue(estateId, out retrievedInfo)) { return(false); } if (!CompareEstates(info, retrievedInfo)) { return(false); } m_Log.Info("Testing deletion"); if (!m_EstateService.Remove(estateId)) { return(false); } m_Log.Info("Testing non-existence of estate via name"); if (m_EstateService.ContainsKey(estateName)) { return(false); } m_Log.Info("Testing non-existence of estate via id"); if (m_EstateService.ContainsKey(estateId)) { return(false); } return(true); }