Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    WARN:Log:Cannot change configuration property 'dataURL' to http://127.0.0.1:8888/test/cusLogin/IDACall after the component has been created.

    Hi team,

    I am facing issue to set the dataURL in the below code can someone suggest me how to set the data url. Find the below code as well.

    public static DataSource getDataSource(String datasourceId) {

    if (datasourceId != null) {
    DataSource dataSource = DataSource.getDataSource(datasourceId, new RequestTransformer() {

    @Override
    protected Object transformRequest(DSRequest dsRequest) {
    Map params = dsRequest.getAttributeAsMap("params");

    if (params == null) {
    params = new LinkedHashMap<String, String>();
    }
    StringBuffer buf = new StringBuffer(dsRequest.getDataSource());

    if(dsRequest.getOperationType()!=null) {
    buf.append(dsRequest.getOperationType().getValue());
    }
    if(dsRequest.getOperationId()!=null) {
    buf.append(dsRequest.getOperationId());
    }



    User user = UserDetailService.getCurrentUser(false);





    if (user != null && (user.getDataSourceContextUrl() != null && !user.getDataSourceContextUrl().isEmpty())) {
    map.putAll(user.getDataSourceContextUrl());
    }
    //logger.info("**** ************* Crimson DataSource logger ::"+user);
    if ( user !=null && user.getJwtToken() != null) {
    Map authorizationToken = new HashMap<String, String>();
    authorizationToken.put(HEADER_STRING, TOKEN_PREFIX+token);
    dsRequest.setHttpHeaders(authorizationToken);
    }
    dsRequest.setParams(params);

    if("Y".equalsIgnoreCase(ClientConfigurations.getInProgressProperty())){
    dsRequest.setPromptDelay(0);
    dsRequest.setPromptStyle(PromptStyle.DIALOG);
    dsRequest.setPrompt("<img src='"+ Page.getAppDir() +"images/loader.gif' width='50' height='50'/>" + "<br/><p style='loading' align='center'>"+ UIResourceFactory.getTFBCoreResources().core_inprogress_loading_message() +"</p>");
    }
    return super.getDefaultTransformRequest(dsRequest);
    }
    }, null);


    String dataSourceURL = null;

    if ((map != null && !map.isEmpty() ) && map.get("dataSourceURL") != null){
    logger.info(":::dataSourceURL *****************************"+map.get("dataSourceURL"));
    dataSourceURL = map.get("dataSourceURL");
    }


    if ((datasourceId != null && !"".equals(datasourceId) ) && (map != null && "false".equals(map.get("packageTypeMonolithic")))) {

    boolean contains = map.containsKey(datasourceId);

    if(contains && dataSourceURL != null) {
    String urltmp = dataSource.getDataURL();
    String url = dataSourceURL+map.get(datasourceId);

    if (datasourceId.equals("airManifestCancel")) {
    dataSource.setDataURL(dataSourceURL+urltmp);
    }


    }
    }
    return dataSource;
    }
    return null;
    }

    Regards,
    Chandra

    #2
    This error message is correct, as documented and as designed. It does not make sense to change the dataURL on the DataSource on the fly, because what does that mean about requests that are already submitted or in-process?

    You can instead set the actionURL on the individual DSRequest, and this is allowed right up to the end of transformRequest.

    Comment

    Working...
    X