forum.bitel.ru
http://forum.bitel.ru/

Варнинг в скрипте на мыло
http://forum.bitel.ru/viewtopic.php?f=22&t=6625
Страница 1 из 1

Автор:  max [ 29 мар 2012, 23:05 ]
Заголовок сообщения:  Варнинг в скрипте на мыло

Добрый день подскажите плиз кто шарит в яве, имеется вот такой скрипт:
Код:
import java.util.*;
import java.lang.*;
import java.text.*;
import java.util.regex.*;
import java.util.regex.*;
import bitel.billing.server.script.bean.*;
import bitel.billing.server.util.telnet.*;
import bitel.billing.server.phone.bean.*;
import bitel.billing.server.contract.bean.*;

import com.stalker.CGPro.*;
String ats_addr="xx.xx.xx.xx";
int ats_port=106;
String ats_login="xxxxxxxxxx";
String ats_password="xxxxxxxxxx";
CGProCLI cli;

Hashtable num_acc_table= new Hashtable();

public class NumNotFoundEx extends Exception{
   NumNotFoundEx(String message){
   super(message);
   }
}

public void setAccount(String phone,boolean state){
        cli=new CGProCLI(ats_addr,ats_port,ats_login,ats_password);
        String account=FindAccount(phone);
        String[ ] parts=account.split("@");
        String domain=parts[parts.length-1];

        //Create settings hashtable
        SimpleDateFormat formatter = new SimpleDateFormat("[dd/MM/yyyy HH:mm]");
        String date = formatter.format(new Date());
        Hashtable settings = new Hashtable(1);
        if (state)
           settings.put("Status","OPEN "+date + " by billing");
        else
          settings.put("Status","CLOSED "+date+ " by billing");

        //find groups
        String group = "group."+account;
        try {
           Hashtable GroupTable = cli.getGroup(group);
           Vector members=(Vector)GroupTable.get("Members");
           for(Enumeration e = members.elements(); e.hasMoreElements();) {
              String key=(String)e.nextElement();
              cli.updateAccountSettings(key+"@"+domain, settings);
              print("group: "+key+"@"+domain + settings);
           }
           if (state) {
              String account_wo_domain = account.replaceAll("@.*","");
              cli.sendCommand("updateAccountSignalRule "+account+" DELETE _CLOSED");
              print("updateAccountSignalRule "+account+" DELETE _CLOSED");
           }else {
              cli.sendCommand("updateAccountSignalRule "+account+" (100010,\"_CLOSED\",(),((\"Redirect to\",\"#block_play\")))");
              print("updateAccountSignalRule "+account+" (100010,\"_CLOSED\",(),((\"Redirect to\",\"#block_play\")))");
           }
         }catch(CGProException e) {
           cli.updateAccountSettings(account, settings);
           print(account + settings);
           if (state) {
              cli.sendCommand("updateAccountSignalRule "+account+" DELETE _CLOSED");
              print("updateAccountSignalRule "+account+" DELETE _CLOSED");
           } else {
              cli.sendCommand("updateAccountSignalRule "+account+" (100010,\"_CLOSED\",(),((\"Redirect to\",\"#block_play\")))");
              print("updateAccountSignalRule "+account+" (100010,\"_CLOSED\",(),((\"Redirect to\",\"#block_play\")))");

           }
        }

        cli.logout();
}

public FindAllAccount(){
   cli=new CGProCLI(ats_addr,ats_port,ats_login,ats_password);
   String target_accout= "null";
   String tel="";
   Vector domains=cli.listDomains();
   for(Iterator e = domains.iterator(); e.hasNext();) {
        String domain=(String)e.next();
        Hashtable accounts=cli.listAccounts(domain);
        Enumeration k = accounts.keys();
        while (k.hasMoreElements()) {
           String key = (String) k.nextElement();
           Vector telnums =cli.getAccountTelnums(key + "@" + domain);
           for(Iterator t = telnums.iterator(); t.hasNext();) {
               tel=(String)t.next();
               target_accout = key + "@" + domain;
               num_acc_table.put(tel,key + "@" + domain);
            }
        }
    }
   cli.logout();
}

public String FindAccount(String phonenumber){
   String target_accout= "null";
   Enumeration k = num_acc_table.keys();
   while (k.hasMoreElements()) {
      String tel=(String) k.nextElement();
      Pattern myPattern = Pattern.compile(phonenumber);
      Matcher myMatcher = myPattern.matcher(tel);
      if (myMatcher.find()) {
          target_accout = num_acc_table.get(tel);
          return target_accout;
      }
   }
    throw(new NumNotFoundEx("Phone numer not found: "+phonenumber));
}

public void onEvent(event,setup,con,conSlave){
 try {
   int cid=event.getContractID();
   int status=event.getStatus().getStatus();
   FindAllAccount();
   ClientItemManager clim = new ClientItemManager(con,14);
   List points = clim.getItemList(cid);
   for(Iterator it=points.iterator(); it.hasNext();){
     ClientItem point=it.next();
     List numbers=point.getClientNumbers();
     Calendar currentDate=Calendar.getInstance();
     Calendar beforeDate=point.getDate1();
     Calendar afterDate=point.getDate2();
     if (((beforeDate == null) || (currentDate.compareTo(beforeDate)>=0)) &&
         ((afterDate == null) || (currentDate.compareTo(afterDate)<=0))){
         num_it=numbers.iterator();
         while(num_it.hasNext()){
            try{
               if(status == 0)
                  setAccount(num_it.next(),true);
               else
                  setAccount(num_it.next(),false);

            }catch(NumNotFoundEx x){
               if(cli!=null)
                  cli.logout();
               error(x.getMessage());
            }
         }
     }
   }
 }catch(Exception x) {
    if(cli!=null)
       cli.logout();
    error(x.getMessage());
 }

   return;
}

И вот после пеерезда с 5.0 на 5.1 в почту стало валиться вот такие письма
Код:
ID события: bgbs.contract.script.error
Время регистрации события: 27.03.2012 12:21:06

Contract ТФ-11-0008-С
GENERATE_TIME: 27.03.12 12:20:31
EXECUTION_STOP_TIME: 27.03.12 12:21:06
PROCESS_TIME: 35326

OUT:
2220104@xxxxxxxxxx{Status=OPEN [27/03/2012 12:21] by billing}
updateAccountSignalRule 2220104@xxxxxxxxxx DELETE _CLOSED
2220108@xxxxxxxxxx{Status=OPEN [27/03/2012 12:21] by billing}
updateAccountSignalRule 2220108@xxxxxxxxxx DELETE _CLOSED


WARNINGS:
Function [id:14; title:Communigate]: using deprecated method [public int bitel.billing.server.script.bean.event.Event.getContractID()]

Собственно подскажите плиз как убрать варнинг?
Заранее спасибо.

Автор:  Phricker [ 29 мар 2012, 23:49 ]
Заголовок сообщения:  Re: Варнинг в скрипте на мыло

Код:
getContractId()

Маленькое d

и сразу причислился к шарящим в яве 8)

Автор:  max [ 30 мар 2012, 13:59 ]
Заголовок сообщения:  Re: Варнинг в скрипте на мыло

Спасибо, понял попробую...

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/