Добрый день,
помогите осилить для версии 5.1
Код:
package bitel.billing.server.contract;
import bitel.billing.server.admin.bean.User;
import bitel.billing.server.admin.bgsecure.bean.UserLoginModule.UserPrincipal;
import bitel.billing.server.contract.action.base.ActionBase;
import bitel.billing.server.contract.bean.ContractEmailParamValue;
import bitel.billing.server.contract.bean.ContractParameterManager;
import bitel.billing.server.script.bean.event.ContractParamBeforeChangeEvent;
import bitel.billing.server.script.bean.event.ContractParamChangedEvent;
import bitel.billing.server.script.bean.event.EventProcessor;
import org.w3c.dom.Element;
import ru.bitel.bgbilling.server.util.Setup;
import javax.security.auth.Subject;
import java.security.AccessController;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Iterator;
public class WebAction_AdditionalParams extends ActionBase
{
    @Override
    public void doAction()
            throws SQLException
    {
        // Object request holds all information about HTTP-request
        request.getSession();
        // Get customer ID
        Subject subject = Subject.getSubject( AccessController.getContext() );
        if( subject != null )
        {
            for( UserPrincipal userPrincipal : subject.getPrincipals( UserPrincipal.class ) )
            {
                User currentUser = userPrincipal.getUser();
                Integer cid = currentUser.getID();
            }
        }
        if( cid != 0 )
        {
            Setup setup = Setup.getSetup();
            ContractParameterManager cpm = new ContractParameterManager( con );
            Integer pid = 0;
            Integer reportIsNeeded = 0;
            Element report = createElement( rootNode, "report" );
            Element element;
            // Get parameter IDs and descriptions from BGBilling configuration
            HashMap<String,String> pids = (HashMap<String,String>) setup.getHashValuesWithPrefix( "my.pid." );
            HashMap<String,String> descriptions = (HashMap<String,String>) setup.getHashValuesWithPrefix( "my.desc." );
            // Cycle through parameters set
            Iterator iterator = pids.keySet().iterator();
            while( iterator. hasNext() )
            {
                String paramName = String.valueOf( iterator.next() );
                String paramDesc = descriptions.get( paramName );
                String paramValue = request.getParameter( paramName );
                String oldParamValue;
                String errorBefore = "";
                ContractEmailParamValue emailParam = null;
                ContractParamBeforeChangeEvent eventBefore = null;
                ContractParamChangedEvent event = null;
                // If value from POST-request exists
                if( paramValue != null )
                {
                    pid = Integer.parseInt( pids.get( paramName ));
                    // Get old value (email parameter needs special handling)
                    if( paramName.equals( "email" )) {
                        emailParam = cpm.getEmailParam( cid, pid );
                        oldParamValue = emailParam.getEmail();
                    } else {
                        oldParamValue = cpm.getStringParam( cid, pid );
                    }
                    // If value has been changed (from LK) then ...
                    if( !paramValue.equals( oldParamValue ))
                    {
                        // Prepare new value to parameter and set "before change" event (email parameter needs special handling)
                        if( paramName.equals( "email" )) {
                            emailParam.setEmail( paramValue );
                            emailParam.setEmailId( 1 );
                            eventBefore = new ContractParamBeforeChangeEvent( cid, pid, emailParam );
                        } else {
                            eventBefore = new ContractParamBeforeChangeEvent( cid, pid, paramValue );
                        }
                        if( eventBefore != null )
                        {
                            // Create "row" element for XML report
                            element = createElement( report, "row" );
                            element.setAttribute( "parameter", paramDesc );
                            // Throw "before change" event to handler (BGBilling server) and get error message
                            EventProcessor.getProcessor().processEvent( eventBefore );
                            errorBefore = eventBefore.getError();
                            if( errorBefore == null )
                            {
                                // If handler returns "ok" then set new parameter value and set "parameter changed" event
                                if( paramName.equals( "email" )) {
                                    cpm.setEmailParam( cid, pid, emailParam, false, 1 );
                                    event = new ContractParamChangedEvent( cid, pid, emailParam );
                                } else {
                                    cpm.setStringParam( cid, pid, paramValue, 1 );
                                    event = new ContractParamChangedEvent( cid, pid, paramValue );
                                }
                                if( event != null )
                                {
                                    // Throw "parameter changed" event and set attributes for XML report
                                    EventProcessor.getProcessor().addEvent( event );
                                    element.setAttribute( "status", "ok" );
                                    element.setAttribute( "value", String.valueOf( paramValue ));
                                    reportIsNeeded = 1;
                                }
                            } else {
                                // If handler returns error then set attributes for XML report only
                                element.setAttribute( "status", "error" );
                                element.setAttribute( "value", String.valueOf( errorBefore ));
                                reportIsNeeded = 1;
                            }
                        }
                    }
                }
            }
            // Renew XML element with contract parameters and set status variable for Web
            if( reportIsNeeded == 1 )
            {
                request.getSession().removeAttribute( "contract_data" );
                rootNode.setAttribute("status","ok");
            }
        }
    }
}
ругается на event = new ContractParamChangedEvent( cid, pid, emailParam ); и eventBefore = new ContractParamBeforeChangeEvent( cid, pid, paramValue ); в коде.
Код:
/srv/my_param.java:83: cannot find symbol
symbol  : constructor ContractParamBeforeChangeEvent(int,java.lang.Integer,bitel.billing.server.contract.bean.ContractEmailParamValue)
location: class bitel.billing.server.script.bean.event.ContractParamBeforeChangeEvent
                eventBefore = new ContractParamBeforeChangeEvent( cid, pid, emailParam );
                              ^
/srv/my_param.java:85: cannot find symbol
symbol  : constructor ContractParamBeforeChangeEvent(int,java.lang.Integer,java.lang.String)
location: class bitel.billing.server.script.bean.event.ContractParamBeforeChangeEvent
                eventBefore = new ContractParamBeforeChangeEvent( cid, pid, paramValue );
                              ^
/srv/my_param.java:103: cannot find symbol
symbol  : constructor ContractParamChangedEvent(int,java.lang.Integer,bitel.billing.server.contract.bean.ContractEmailParamValue)
location: class bitel.billing.server.script.bean.event.ContractParamChangedEvent
                    event = new ContractParamChangedEvent( cid, pid, emailParam );
                            ^
/srv/my_param.java:106: cannot find symbol
symbol  : constructor ContractParamChangedEvent(int,java.lang.Integer,java.lang.String)
location: class bitel.billing.server.script.bean.event.ContractParamChangedEvent
                    event = new ContractParamChangedEvent( cid, pid, paramValue );
                            ^
Note: /srv/my_param.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
4 errors