Код:
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.util.*;
import java.sql.*;
import java.util.*;
import java.util.regex.*;
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.phone.bean.*;
public void onEvent( event, setup, con, conSlave )
{
cid = event.getContractID();
contract = new ContractManager(con).getContractByID(cid);
print("status changed to contract "+cid+" to state: "+contract.getStatus() );
//contract.getStatus() == 2 - подключен
//contract.getStatus() == 0 - отключен
clItemManager = new ClientItemManager(con,1);
clPoints = clItemManager.getItemList(cid);
for(i=0; i< clPoints.size(); i++)
{
print(" point: "+clPoints.get(i));
}
switch(contract.getStatus())
{
case 0:
{
break;
}
case 2:
{
break;
}
}
}
этот код для каджого из договоров выводит поинты в таком формате: "?????(?) [номер_поинта_клиента] ?? Log AutoLoader". Как получить голые поинты безо всякого лишнего мусора? мне нужны только номера.
И почему когда я пытаюсь зяюзать регекспы мне вываливаются эксепшны:
Код:
EXCEPTIONS:
Typed variable declaration : Error in method invocation: Method matcher( bitel.billing.server.phone.bean.ClientItem ) not found in class'java.util.regex.Pattern' : at Line: 23 : in file: Function [id:2; title:??????????????? ???????? ?? ?????????????] : p .matcher ( clPoints .get ( i ) )
код в этом случае такой:
Код:
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.util.*;
import java.sql.*;
import java.util.*;
import java.util.regex.*;
import java.util.regex.Pattern.*;
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.phone.bean.*;
public void onEvent( event, setup, con, conSlave )
{
cid = event.getContractID();
contract = new ContractManager(con).getContractByID(cid);
print("status changed to contract "+cid+" to state: "+contract.getStatus() );
//contract.getStatus() == 2 - подключен
//contract.getStatus() == 0 - отключен
clItemManager = new ClientItemManager(con,1);
clPoints = clItemManager.getItemList(cid);
for(i=0; i< clPoints.size(); i++)
{
p = Pattern.compile("(\\d+)");
m = p.matcher(clPoints.get(i));
print(" point: "+m.group(0));
}
switch(contract.getStatus())
{
case 0:
{
break;
}
case 2:
{
break;
}
}
}
_________________
![Изображение](http://userbars.xternalx.com/img-nolka.png)
using billingClient.BGB 4.6;
using server.Ubuntu server 9.10;
using server.Java "1.6.0_15";
using client.Ubuntu 10.04;