Package com.l2jfrozen.gameserver.handler

Source Code of com.l2jfrozen.gameserver.handler.AdminCommandHandler

/*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* http://www.gnu.org/copyleft/gpl.html
*/
package com.l2jfrozen.gameserver.handler;

import java.util.Arrays;
import java.util.logging.Level;
import java.util.logging.Logger;

import javolution.util.FastMap;

import com.l2jfrozen.Config;
import com.l2jfrozen.gameserver.datatables.sql.AdminCommandAccessRights;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminAdmin;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminAio;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminAnnouncements;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminBBS;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminBan;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminBookmark;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminBuffs;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminCTFEngine;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminCache;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminChangeAccessLevel;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminCharSupervision;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminChristmas;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminCreateItem;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminCursedWeapons;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminDMEngine;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminDelete;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminDonator;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminDoorControl;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminEditChar;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminEditNpc;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminEffects;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminEnchant;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminEventEngine;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminExpSp;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminFightCalculator;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminFortSiege;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminGeodata;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminGm;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminGmChat;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminHeal;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminHelpPage;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminInvul;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminKick;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminKill;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminLMS;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminLevel;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminLogin;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminMammon;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminManor;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminMassControl;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminMassRecall;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminMenu;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminMobGroup;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminMonsterRace;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminNoble;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminPForge;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminPetition;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminPledge;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminPolymorph;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminQuest;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminRaidEngine;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminReload;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminRepairChar;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminRes;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminRideWyvern;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminScript;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminShop;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminShutdown;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminSiege;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminSkill;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminSpawn;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminTarget;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminTeleport;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminTest;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminTownWar;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminTvTEngine;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminUnblockIp;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminVIPEngine;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminWho;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminZone;

/**
* This class ...
* @version $Revision: 1.1.4.5 $ $Date: 2005/03/27 15:30:09 $
*/
public class AdminCommandHandler
{
  protected static final Logger _log = Logger.getLogger(AdminCommandHandler.class.getName());
 
  private static AdminCommandHandler _instance;
 
  private FastMap<String, IAdminCommandHandler> _datatable;
 
  public static AdminCommandHandler getInstance()
  {
    if (_instance == null)
    {
      _instance = new AdminCommandHandler();
    }
    return _instance;
  }
 
  private AdminCommandHandler()
  {
    _datatable = new FastMap<String, IAdminCommandHandler>();
    registerAdminCommandHandler(new AdminAdmin());
    registerAdminCommandHandler(new AdminInvul());
    registerAdminCommandHandler(new AdminDelete());
    registerAdminCommandHandler(new AdminKill());
    registerAdminCommandHandler(new AdminTarget());
    registerAdminCommandHandler(new AdminShop());
    registerAdminCommandHandler(new AdminCTFEngine());
    registerAdminCommandHandler(new AdminVIPEngine());
    registerAdminCommandHandler(new AdminDMEngine());
    registerAdminCommandHandler(new AdminAnnouncements());
    registerAdminCommandHandler(new AdminCreateItem());
    registerAdminCommandHandler(new AdminHeal());
    registerAdminCommandHandler(new AdminHelpPage());
    registerAdminCommandHandler(new AdminShutdown());
    registerAdminCommandHandler(new AdminSpawn());
    registerAdminCommandHandler(new AdminSkill());
    registerAdminCommandHandler(new AdminScript());
    registerAdminCommandHandler(new AdminExpSp());
    registerAdminCommandHandler(new AdminEventEngine());
    registerAdminCommandHandler(new AdminGmChat());
    registerAdminCommandHandler(new AdminEditChar());
    registerAdminCommandHandler(new AdminGm());
    registerAdminCommandHandler(new AdminTeleport());
    registerAdminCommandHandler(new AdminRepairChar());
    registerAdminCommandHandler(new AdminChangeAccessLevel());
    registerAdminCommandHandler(new AdminChristmas());
    registerAdminCommandHandler(new AdminBan());
    registerAdminCommandHandler(new AdminPolymorph());
    // registerAdminCommandHandler(new AdminBanChat());
    registerAdminCommandHandler(new AdminReload());
    registerAdminCommandHandler(new AdminKick());
    registerAdminCommandHandler(new AdminMonsterRace());
    registerAdminCommandHandler(new AdminEditNpc());
    registerAdminCommandHandler(new AdminFightCalculator());
    registerAdminCommandHandler(new AdminLMS());
    registerAdminCommandHandler(new AdminMenu());
    registerAdminCommandHandler(new AdminSiege());
    registerAdminCommandHandler(new AdminFortSiege());
    registerAdminCommandHandler(new AdminPetition());
    registerAdminCommandHandler(new AdminPForge());
    registerAdminCommandHandler(new AdminBBS());
    registerAdminCommandHandler(new AdminEffects());
    registerAdminCommandHandler(new AdminDoorControl());
    registerAdminCommandHandler(new AdminTest());
    registerAdminCommandHandler(new AdminEnchant());
    registerAdminCommandHandler(new AdminMassRecall());
    registerAdminCommandHandler(new AdminMassControl());
    registerAdminCommandHandler(new AdminMobGroup());
    registerAdminCommandHandler(new AdminRes());
    registerAdminCommandHandler(new AdminMammon());
    registerAdminCommandHandler(new AdminUnblockIp());
    registerAdminCommandHandler(new AdminPledge());
    registerAdminCommandHandler(new AdminRideWyvern());
    registerAdminCommandHandler(new AdminLogin());
    registerAdminCommandHandler(new AdminCache());
    registerAdminCommandHandler(new AdminLevel());
    registerAdminCommandHandler(new AdminQuest());
    registerAdminCommandHandler(new AdminZone());
    registerAdminCommandHandler(new AdminCursedWeapons());
    registerAdminCommandHandler(new AdminGeodata());
    registerAdminCommandHandler(new AdminManor());
    registerAdminCommandHandler(new AdminTownWar());
    registerAdminCommandHandler(new AdminTvTEngine());
    registerAdminCommandHandler(new AdminDonator());
    registerAdminCommandHandler(new AdminNoble());
    registerAdminCommandHandler(new AdminBuffs());
    registerAdminCommandHandler(new AdminAio());
    registerAdminCommandHandler(new AdminCharSupervision());
    registerAdminCommandHandler(new AdminWho()); // L2OFF command
        registerAdminCommandHandler(new AdminRaidEngine());
        registerAdminCommandHandler(new AdminBookmark());// L2OFF command
    // ATTENTION: adding new command handlers, you have to change the
    // sql file containing the access levels rights
   
    _log.info("AdminCommandHandler: Loaded " + _datatable.size() + " handlers.");
   
    if (Config.DEBUG)
    {
      String[] commands = new String[_datatable.keySet().size()];
     
      commands = _datatable.keySet().toArray(commands);
     
      Arrays.sort(commands);
     
      for (String command : commands)
      {
        if (AdminCommandAccessRights.getInstance().accessRightForCommand(command) < 0)
        {
          _log.info("ATTENTION: admin command " + command + " has not an access right");
        }
      }
     
    }
   
  }
 
  public void registerAdminCommandHandler(IAdminCommandHandler handler)
  {
    String[] ids = handler.getAdminCommandList();
    for (String element : ids)
    {
      if (Config.DEBUG)
      {
        _log.info("Adding handler for command " + element);
      }
     
      if (_datatable.keySet().contains(new String(element)))
      {
        _log.log(Level.WARNING, "Duplicated command \"" + element + "\" definition in " + handler.getClass().getName() + ".");
      }
      else
      {
        _datatable.put(element, handler);
      }
    }
    ids = null;
  }
 
  public IAdminCommandHandler getAdminCommandHandler(String adminCommand)
  {
    String command = adminCommand;
   
    if (adminCommand.indexOf(" ") != -1)
    {
      command = adminCommand.substring(0, adminCommand.indexOf(" "));
    }
   
    if (Config.DEBUG)
    {
      _log.info("getting handler for command: " + command + " -> " + (_datatable.get(command) != null));
    }
   
    return _datatable.get(command);
  }
}
TOP

Related Classes of com.l2jfrozen.gameserver.handler.AdminCommandHandler

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.