package com.atosorigin.vpn.webservice; import java.util.List; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService; import com.atosorigin.vpn.common.dto.BCRAccess; import com.atosorigin.vpn.common.dto.BCRRoute; import com.atosorigin.vpn.common.exception.FunctionalException; import com.atosorigin.vpn.common.exception.TechnicalException; import com.atosorigin.vpn.common.util.Util; import com.atosorigin.vpn.service.bcr.BCRService; @SuppressWarnings({"PMD.MethodArgumentCouldBeFinal","PMD.ExcessiveParameterList"}) @WebService(name = "BCR", serviceName = "BCR", targetNamespace = "http://webservice.vpn.atosorigin.com/") public class BCRWebServ { // NOPMD by ELE / A110626 a constructor for this WS class makes Axis2 return systematic error... avoid it ! private static final String WS_USER_NAME = "WebService"; private static final String WS_USER_LOGIN = "WebService"; /** * Create or update a BCR route identify by Origin, Product Type and * Destination Also processes checks against business rules for in * parameters. * @param Origin * @param ProductType * @param DestinationName * @param BCRAccessName_1 * @param BCRAccessName_2 * @param BCRAccessName_3 * @param BCRAccessName_4 * @param BCRAccessName_5 * @param BCRAccessName_6 * @param BCRAccessName_7 * @return return code * @throws TechnicalException * @throws FunctionalException */ @WebMethod @WebResult(name = "returnParameter") public int manageBCRRoute(@WebParam(name = "argOrigin") String Origin, @WebParam(name = "argProductType") String ProductType, @WebParam(name = "argDestination") String DestinationName, @WebParam(name = "argBcrAccessName1") String BCRAccessName_1, @WebParam(name = "argBcrAccessName2") String BCRAccessName_2, @WebParam(name = "argBcrAccessName3") String BCRAccessName_3, @WebParam(name = "argBcrAccessName4") String BCRAccessName_4, @WebParam(name = "argBcrAccessName5") String BCRAccessName_5, @WebParam(name = "argBcrAccessName6") String BCRAccessName_6, @WebParam(name = "argBcrAccessName7") String BCRAccessName_7) throws TechnicalException, FunctionalException { Util.fillMDC(WS_USER_LOGIN, WS_USER_NAME); final int returnCode = BCRService.manageBCRRoute(Origin, ProductType, DestinationName, BCRAccessName_1, BCRAccessName_2, BCRAccessName_3, BCRAccessName_4, BCRAccessName_5, BCRAccessName_6, BCRAccessName_7); Util.cleanMDC(); return returnCode; } /* * Create or update a BCR access identify by BCR access name */ @SuppressWarnings("PMD.LocalVariableCouldBeFinal") // WS interface may be sensitive about such things. @WebMethod @WebResult(name = "returnParameter") public int manageBCRAccess(@WebParam(name = "argAccessName") String BCRAccessName, @WebParam(name = "argC1C6") String C1C6, @WebParam(name = "argEquipementName") String EquipmentName) throws TechnicalException, FunctionalException { Util.fillMDC(WS_USER_LOGIN, WS_USER_NAME); int returnCode = BCRService.manageBCRAccess(BCRAccessName, C1C6, EquipmentName); Util.cleanMDC(); return returnCode; } /* * List all BCR routes, restricted by destination */ @WebMethod @WebResult(name = "returnList") public List getBCRRoutes(@WebParam(name = "argDestination") String DestinationName) throws TechnicalException, FunctionalException { Util.fillMDC(WS_USER_LOGIN, WS_USER_NAME); final List lList = BCRService.getBCRRoutes(DestinationName); Util.cleanMDC(); return lList; } /* * List all BCR accesses */ @WebMethod @WebResult(name = "returnList") public List getAllBCRAccesses() throws TechnicalException, FunctionalException { Util.fillMDC(WS_USER_LOGIN, WS_USER_NAME); final List lList = BCRService.getAllBCRAccesses(); Util.cleanMDC(); return lList; } }