refresh the iterator binding

Dear experts.

I created EO of mySQL database then simple VO (SELECT Sounds.idresources, Sounds.resourceaccess OF resources sounds). On site jspx, I joined VO tabular and created a button to INSERT a new row in table of mySQL directly via the command preparedStatement.

At the end of a method, I executed:

DCBindingContainer DCB = BindingContext.getCurrent () .getCurrentBindingsEntry () (DCBindingContainer);

DCIteratorBinding iter = DCB.findIteratorBinding ("VO_SOUNDS1Iterator");

iter.getViewObject () .clearCache ();

iter.executeQuery ();

iter.clearForRecreate ();

AdfFacesContext.getCurrentInstance () .addPartialTarget (this.getT1 ());

to update the table and see new inserted row. Unfortunately modifications are not visible. I have to navigate between the other pages to see a correct result.

Any help would be appreciated.

Kind regards.

Hello

I checked your application, the problem seems to be that the VO is using different transactions than the transaction used for insertion.

Quite simply, use AppModule commit to posting your changes instead of conn.Commit () in your method.

To do this, add Commit action binding to your pagedef and use this validation instead of Conn.Commit (); in your insertRecord method

or use the same transaction AppModule uses for insertion

Example Code:

    public void insertRecord(String tbl, String connStr) {
        String sql = "INSERT INTO " + tbl + "(col1,col2) VALUES(?,?)";
        PreparedStatement preparedStatement = null;
        DBTransaction trans = null;

        try {
            DCIteratorBinding iter =
                (DCIteratorBinding) BindingContext.getCurrent().getCurrentBindingsEntry().get("VO_mySQL1Iterator");

            DCDataControl dc = iter.getDataControl();
            ApplicationModuleImpl appModule = (ApplicationModuleImpl) dc.getDataProvider();

            trans = appModule.getDBTransaction();

            //Following section is needed only when you connect to different datasource other than the one defined in AppModule
            InitialContext ctx = new InitialContext();
            DataSource ds;
            ds = (DataSource) ctx.lookup("jdbc/mysqlDS");
            if(trans.isConnected())
            {
                trans.disconnect(true);
                trans.connectToDataSource(ds, false);
            }

            preparedStatement = appModule.getDBTransaction().createPreparedStatement(sql, DBTransaction.DEFAULT);
            preparedStatement.setString(1, "user");
            preparedStatement.setString(2, "name");
            preparedStatement.executeUpdate();

            trans.commit();
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            try {
                if(preparedStatement != null)
                    preparedStatement.close();
                if(trans != null)
                    trans.closeTransaction();
            } catch (SQLException sqle) {
                sqle.printStackTrace();
            }
        }
    }

Jean Lou

Tags: Java

Similar Questions

  • Understand the iterator binding relationship of the current page

    Dear all

    in my quest to understand the behavior of the ADF framework, I sometimes do some experimentation. When a result is unlike what I think, it suggests that there is something wrong with the understanding

    I belong to those who can not work if I do not receive an overview comprehesive of what I am working with (ADF)

    Here's a simple experiment that I could use some help to understand

    I created a simple application based on ADF BC and JSF (10.1.2)

    The model is simple EO based on the EMP table and updatable VO based on the entity

    I slipped and fell to the control of data collection in a page as a Table with record selector

    I created a button with the following code

    Public Sub commandButton_action(ActionEvent a)
    {
    Am is AppModule_rs (AppModule_rs) ADFFacesHelper.getAppplicationModule ("AppModule_rsDataControl");. / / This just a helper class to get AM name DC
    ViewObject vo1 = am.findViewObject("EmpView1");
    VO1. Next();
    VO1. Next();
    System.out.println (VO1. GetCurrentRow(). GetAttribute ("empno")); -Read the valur of the iterator of VO
    DCIteratorBinding bd = ADFFacesHelper.getIteratorBinding ("EmpView1Iterator");
    System.out.println (BD. GetCurrentRow(). GetAttribute ("empno")); -Read the value of the iterator binding
    }

    Just simple code for in-house advance lines of two pointer line and then see how this is reflected in the page. This test is just for me to understand how the iterator binding refers to the actual set of rows.

    Scenario (1)

    -Run the page, the first line on the page is selected - planned, VO rowselector points on the first line
    -Click on the commandbutton control, the code above is executed
    -the rowselector forward twice and should point to the third row on VO
    -on the page of the third row must be selected
    RESULT: Match perfect and both command Print print the same value
    -Press and hold the control button, line guard page selector advances two lines at a time... which is good

    Scenario (2)

    -Run the page, the first line on the page is selected - planned, VO rowselector points on the first line
    -use the mouse and select the fourth row on the screen (not pressed) - VO is always level 1, screen on set, iterator binding binds to the rowset VO is always the first row referenes
    -Press the button
    -the page maintains its fourth selected line, while the System.out.println (vo1.getCurrentRow ().getAttribute("Empno")); prints the 7521 value which is the third - row
    -I don't feel happy, the current iterator of VO is on the third row, visually, it's fourth, which means that the selection of the user on the Web page did not consider. And this goes against my intiution


    -Press again, I find that line of page selector is the sixth line (4 + 2), therefore the iterator to all VO lines (synchornized times)

    Scenario (3)

    Run the page, the first line on the page is selected - planned, VO rowselector points on the first line
    -use the mouse and select the fourth row on the screen (not pressed) - VO is always level 1, screen on set, iterator binding binds to the rowset VO is always the first row referenes
    -Press the button SUBMIT - 4th place is always selected as expected
    -Now press the order button, you will see that line on the screen selector forward two rows and print indicates that the VO has also progressed to the same value
    -Se TRANSLATE only after pressing send, the frame cought his breath and synchronized things

    Coming background FORMS, things of this nature never would have happened with Disk Manager.

    I tried to project what has happened to the lifecycle ADF to try to understand how the interaction of the user affects the selection of lines, but was unable to reach a unified solution. What follows as an attempt for scenario (2)

    The user moves the selection to the fourth line
    The command button is pressed.
    Life cycle JSF begins with the RESTORATION of the VIEW.
    Apply request values (I guess the lines selection made by the user to become an integral part of request values?)
    Prepare the model (this is a post (postback), property of refreshment has ifNeeded, Binidng is created again and VO is always first in the poinitng)
    Validation process (no validation as no data entry)
    Model update (don't know if at this point the update of the line VO iterator? if so it should point to the fourth line)-doesn't seem to be the case
    Invoke the application, the listener of the action is executed and the VO is forced to move twice under the command button code
    Prepare the Render: it is a step where the link needs to be updated and reflect the currernt VO (rank 6) line
    Render: The page where the sixth line is selected

    where I am wrong! appreciate your comments

    It's what makes the difficult framework, if it is not clearly documented so the flow is very well understood by developers in one day, the developer must spend days and days debugging problems. This sure beats the idea of using frames to increase productivity

    I have

    Quick question - is the button that you add code to the same area (the "select and" area) as the button submit table?
    I'm guessing that it isn't and that the explanation is that just by clicking on a specific record in the table is not actually indicate to the controller layer is a selected line.
    The Send button did this update.
    One solution might be to set the autosubmit to the selected component to be true.

  • How to refresh the iterator of 'detail' ADF liaison with up-to-date data?

    JPA EJB - ADF Databindings JDEV 12.1.3 Application

    I ve a (one to many) (many-to-one)- relationship

    A CGrupo contains a list of UsuarioGrupo

    Oracle JDeveloper 12c - Guardian.jws  Model.jpr  CJDevelopermyworkGuardianModelsrccombanorteaxxiguardianmodelentityCGrupo.java.jpg

    A UsuarioGrupo contains CGrupo

    Oracle JDeveloper 12c - Guardian.jws  Model.jpr  CJDevelopermyworkGuardianModelsrccombanorteaxxiguardianmodelentityUsuarioGrupo.ja.jpg

    I created a page with ADF databindings as follows:

    Note that there is a Master table - table in detail

    Oracle JDeveloper 12c - Guardian.jws  ViewController.jpr.jpg

    And the parameters of the iterator of detail (usuarioGrupoListIterator)

    CacheResults: false

    Refresh: always

    Oracle JDeveloper 12c - Guardian.jws  ViewController.jpr  CJDevelopermyworkGuardianViewControlleradfmsrccombanorteaxxiguardianview.jpg

    Then I run the project and the only recording is displayed correctly

    Oracle SQL Developer  CUsersBWE~1.GMICONTROLCAMBIOS.sql_2.jpg

    But if I delete the folder

    Oracle SQL Developer  CUsersBWE~1.GMICONTROLCAMBIOS.sql_3.jpg

    and then I re run the iterator, but there are no changes in the page


    Oracle SQL Developer  CUsersBWE~1.GMICONTROLCAMBIOS.sql_4.jpg


    Is there a solution for this problem?

    Thank you for your attention and help.

    Ok. If the data is modified by another application you will need to rerun the query on the master (and children collection of refreshment) database (assuming you have JPA caching enabled by default). There are number of ways to make your main EJB Session to use to query the objects method (for example, the query with @QueryHint (name = QueryHints.REFRESH, value = HintValues.TRUE); and FETCH JOINED on children). Then, children are automatically updated in the data control.

  • Reset the iterator binding

    Hello

    I displays a table based on an iterator binding executable. I click on a line, then a button located outside the table that positions the iterator at the end, add a new line and go to a new fragment:

        private void createRow(String iteratorName) {
            DCIteratorBinding binding = ADFUtils.findIterator(iteratorName);
            //access the underlying RowSetIterator
            RowSetIterator rsi = binding.getRowSetIterator();
            //get handle to the last row
            Row lastRow = rsi.last();
            //obtain the index of the last row
            int lastRowIndex = rsi.getRangeIndexOf(lastRow);
            //create a new row
            Row newRow = rsi.createRow();
            //initialize the row
            newRow.setNewRowState(Row.STATUS_INITIALIZED);
            //add row to last index + 1 so it becomes last in the range set
            rsi.insertRowAtRangeIndex(lastRowIndex + 1, newRow);
            //make row the current row so it is displayed correctly
            rsi.setCurrentRow(newRow);
        }
    

    On this fragment, I Cancel link that removes the added line and the value of the current row to a null value if no line is selected.


        private void cancelCreateRow(String iteratorName) {
            DCIteratorBinding binding = ADFUtils.findIterator(iteratorName);
            RowSetIterator rsi = binding.getRowSetIterator();
            Row currentRow = rsi.getCurrentRow();
            if (currentRow.getAttribute("Id") == null) {
                rsi.removeCurrentRow();
            }
            rsi.setCurrentRow(null);     
        }
    


    The problem is that the last row is always selected. What I am doing wrong?

    Hello

    the link layer has always a selected line. You can't without a current line

    Frank

  • How to add the iterator binding to a flow of the page?

    ADF/JDEV 11gR1PS1

    Hello

    I noticed in the example of Andrejus Baranovskis here
    http://andrejusb.blogspot.com/2008/09/JDeveloper-11g-CRUD-in-ADF-form.html

    that the flow of the page has an interator binding, allowing you to have an affair of create method in the workflow instead of via a bean.

    I tried to manually replicate what was in his project, but it does not work. I wonder how to do so, but also how to call a method of a workflow AM (I remember seeing that in the demo as well DOM). I can't explain either.

    Thank you.

    You should be able to drag just the method of control of data on the adfc - config.Xml. It must insert the necessary items.

    Timo

  • How to refresh the result iterator to uncommitted changes

    Hello

    JDev 11.1.2.4

    I have a VO with a VC. In my AM I exposed 2 VO:

    VO1 = VO without the VC

    VO2 = VO with the VC

    I have in my user interface:

    VO1-based array in which I can add, update, or delete rows.

    a button that shows a popup that contains a table based on VO2

    Scenario: update

    I make a modification on an existing line. The change is made on automatic transmission of true - field.

    I click on the button

    The table on the shortcut menu shows the changed value

    Ok

    Scenario 1: create

    I have create a new line. Fields to create the new line are all send auto = true

    I click on the button

    The table on the shortcut menu does not show the new line. It shows only the last State (original + changed lines lines)

    KO

    Scenario 1: remove

    I delete an existing line.

    I click on the button

    The table on the shortcut menu does not show the deleted row. It shows only the last State (original + changed lines lines)

    KO

    Q: what can I do, for the table on the shortcut menu shows the current status (non-validated data). I tried to refresh the iterator after a creation or deletion, but I still get the old data?

    DCIteratorBinding myIterator = ADFUtils.findIterator (iterator);
    myIterator.executeQuery ();
    myIterator.refresh (DCIteratorBinding.RANGESIZE_UNLIMITED);

    Thank you

    It depends on the vo and the Victoria Cross. The two vo must rest on the same area of occurrence. The Victoria Cross should have mode query so (memory and db) and the Victoria Cross on the second vo should be in a way that the new line would be part of the result set if given th could be read from db.

    Timo

  • Iterator binding: access the value of a column

    Hello

    Is there a way to access the value of a specific column from an af:table by EL, using the iterator binding? I know how to do this by adding an < attributeValues > affair in the pageDef file. But I'm just curious to know if it is possible without this 'thing '.

    For example, suppose we have a table, linked to a view object:
    <af:table id="t1" value="#{bindings.Employees1.collectionModel}" var="row" ...>
      <column headerText="Emp Id" id="c1" ...>
        <af:outputText value="#{row.EmployeeId}" id="ot1" .../>
      </column>
    </af:table>
    And below, a simple command button:
    <af:commandButton text="test button"/>
    Now, how can I set the disabled property of the CommandButton to be true, THAT when the selected row in the table has an EmployeeId of 200? So what I would do:
    <af:commandButton text="test button" 
    disabled="#{bindings.Employees1.collectionModel.currentRow.EmployeeId eq '200'}"/>
    But so far, I have not found the correct EL expression to do. I realize that it is quite an abstract example, but it is a concept that I need a lot, and I wonder what is the cleanest solution... :-)

    Thank you!

    Chris

    Published by: Chris Schryvers on December 1st, 2009 03:22

    Hi Chris,

    .... I use JDev 11.1.1.2.0...

    I have to do this:

    1. drag an EmployeeId (from your display in your dataControl) in the page as an outputText.
    2. make this false outputText visibility.
    3. in your Disabled property wirte commandButton control this EL:
    #{bindings. EmployeeId.inputValue is '200'}
    Or
    #{bindings. {EmployeeId.inputValue-eq ' 200'}.
    PartialTrigger 4-set of the outputText and the CommandButton with the table ID.

    your command button will be like this:


    ID = "cb1".
    Disabled = ' #{bindings. " EmployeeId.inputValue is '200'}'
    partialTriggers = "t1" / >

    Sameh Nassar

  • On the updating of the iterator

    Hello

    I have a view object that uses bind variables in its application (just for the record, the VO is based query not based on entities).

    For ex: select emp.code, emp.name Emplyee emp where emp.dept =: DEPT_BV

    This VO is displayed in a normal af:table in the page.

    I have a button on the page which, when clicked, should change the value of the DEPT_BV and update the table.

    Thus, in the action of this button, I'am changing the value of DEPT_BV and call the VO executeQuery(). It all works.

    The question is: am I obliged to manually call vo.executeQuery () after you have changed the value of the DEPT_BV?

    If we can set up the required iterator in the definition of the page (for ex by using the refresh to re-run automatically attribute)? I read in the documentation that refreshing the iterator does not necessarily mean her rerun the query.

    So is it possible to do it without manually call run query?

    Kind regards

    Elias.

    Yes, it's because you will add a new binding variable changed manually to the query.

    You must tell the framework that it's my new link variable has changed and now to search for documents on this basis.

    Thank you

  • value of autoHeightRows dynamic and iterator binding rangesize-1

    I have a page in which the user is authorized to determine the number of lines that are shown in the table. I have a bean support with an int memorizing the chosen user number and a drop-down list on the page that autosubmits its value and the value of autoHeightRows in the table is set to the value in the bean support. The fetchSize is assigned to the rangeSize of the iterator binding, which is the default value.

    I put the rangesize of the iterator stuck-1, that would mean "infinite" so that it doesn't bother us when for example the user said 'Give me 500 rows in this table', but somehow I never had more than 25 lines and a scroll bar on the thought. I changed it to 500 and voila, everything works exactly as I wanted it.

    My question is, what is the difference in behavior between - 1 and 500 rangeSize? The underlying viewobject said "extract all lines as needed", while the magic number of 25 whence?

    Hello

    11 g R1 25 is the default setting for rangeSize in the mandatory PageDef iterator, what happens if you

    -l'autoHeightRows the value 0
    -FetchSize to the managed bean
    -iterator binding-1

    I think that the table may be a problem with the size of the extraction in value a negative number

    Frank

  • Refresh the table after the creation of the new BO of Toplink

    Hello

    I have the following problem and I hope someone can help me. I use ADF11g/Taskflows with BOs TopLink-mapped (no ADF BC).

    Consider the Taskflow (s) following:

    the main activity is a (display) jsff page showing a table of BOs. From this point of view, two actions-defined results are called 'Edit' and 'create '. The edit action called an another Taskflow constisting of a pageFragment, showing the detailForm of the Soundtrack of data. This Taskflow has an input and output parameter (Soundtrack edit) and two are called "save" and "Cancel". Add Action calls a method called "createNewBO" first, and then calls the Taskflow mentioned also. Each Taskflow has ist own Bean managed in the pageFlowScope to work as a controller and DataControl to the TaskFlow and directly included views.

    The edit action works fine. The action also add except that the table of the default activity of the first taskflow does not update after return from the second Taskflow. I tried to put the property of refreshment in the PageDef of all possible values, in combination with the RefreshCondition, but no combination works. I can do a manual refresh or change the sort then the new Soundtrack is shown in the table.

    Is it possible to call a refresh of a jsff since a taskflow or I can force a refresh on entering the jsff?

    I am really stuck and appreciate any help ;)

    Friedrich

    You can try this:

    -on your taskflow diagram select the page that contains the table that you want to update, and add a Page parameter (from #{true} # {viewScope.refresh})
    -in pageDef page add an invokeAction in executable files and that it points to methodAction which fills the iterator to update
    -for newly created invokeAction, value refresh ifNeeded and condition of refreshment to #{viewScope.refresh}

    This should refresh the iterator each loading of the page (fragment).

    I hope this helps!

    Pedja

  • Bind variable: always related to the current attribute of the iterator line

    Hi, OTN,.
    Need some help with the variable binding query of the view object.

    I have a VO1 with: PARAM in a subquery in the WHERE clause.
    This: PARAM must always be equal to the current attribute of the iterator of VO2 line.

    VO1 and VO2 are not related, but their of1 and EO2 entities has an association.

    VO2 is exposed as an array on my page, so I did it with the table selection listener.
    He calls makeCurrent parameter named where clause param for VO1 and VO2.

    This method works, but the problem is selection listener is called only when a table row is explicitly selected.
    The current row of the iterator can be changed whithout table selection, such as sorting or the parent navigation of VO...

    Is there a world better, maybe a declarative method for this problem?
    Thank you.

    Example query VO1:
    SELECT ... FROM EO1
    WHERE ID != (SELECT ID FROM ... WHERE attr = :PARAM)
    JDeveloper 11.1.1.3, AD, BC

    I guess you try relationship master / detail (Table-based form)... you must see link
    Refer to this:
    http://download.Oracle.com/docs/CD/E14571_01/Web.1111/b31974/web_masterdetail.htm#ADFFD761
    Chapter 24 - master data display / detail

    Amit

  • $a_report to refresh a report, but it is not picking up the variable binding

    Hello

    APEX - Express 4.1.0 Application
    Browsers - all
    Database - 11g 2

    I have a tree on a page region. When a user clicks on a leaf of the tree, I want to be able to use the ID to refresh a report in a different region on the same page

    Code for when the user clicks on the map

    $('div.tree_li_a').click (function() {}

    node_id = $(this).parents('li:first').attr ('id');

    If (node_id.substr (0, node_id.indexOf('|')) == 'Y')
    {
    $s ('P4_SELECTED_VALUE', node_id.substr (node_id.indexOf('|') + 1));
    Alert ("value: ' + $v ('P4_SELECTED_VALUE')");
    $a_report ('28576803999973770 ',' 1','20 ', ' 20');
    $a_report ($v ('P4_REPORT_ID'), '1','20 ', ' 20');
    };
    });

    SQL statement

    SELECT *.
    PRODS p WHERE PROD_CODE =: P4_SELECTED_VALUE

    The problem I have is that when the report is run (I know it's refreshing) the P4_SELECTED_VALUE of the link variable is null.

    Pop alert contains the correct value, and when I do the visible P4_SELECTED_VALUE it also contains the value?

    Any help is very appreciated

    Rob

    Rob,

    You insert P4_SELECTED_VALUE value in the APEX session before refreshing the report.

    Add following the JS function in your page

    //insert value into session using JS
    
    function fnSetSessionState(pItem, pValue) {
        var vAjaxDummy = new htmldb_Get(null, $v('pFlowId'), null, 0);
        vAjaxDummy.add(pItem, pValue);
        var vDummy = vAjaxDummy.get();
        vAjaxDummy = null;
    }
    

    and your code...

    $('div.tree li a').click( function() {
    
    node_id = $(this).parents('li:first').attr('id');
    
    if (node_id.substr(0,node_id.indexOf('|')) == 'Y')
    {
    $s('P4_SELECTED_VALUE',node_id.substr(node_id.indexOf('|')+1));
    alert('Value Set: ' + $v('P4_SELECTED_VALUE'));
    fnSetSessionState('P4_SELECTED_VALUE',$v('P4_SELECTED_VALUE'));
    //$a_report('28576803999973770','1','20','20');
    $a_report($v('P4_REPORT_ID'),'1','20','20');
    };
    });
    

    That's how I used the version 3.2 or earlier. But now I prefer to use declarative dynamic actions...

    Kind regards
    Hari

  • use the anterior region iterator binding in the workflow

    Build JDEVADF_11.1.1.4.0_GENERIC_101227.1736.5923
    Hello

    I use a region with stubborn workflows. in my first area I use a query and an array of result. in my table is a link to us a flow of control in the detail area (jsff).
    I like to use next, previous navigation in the detail page, but how can I use the iterator from the first page of the operation (next, previous)?

    THX Thomas

    Thomas,

    Just use the iterator of the data control in the second jsff then.

    John

  • How to bind the iterator/vo model component?

    Hello

    I have a tree in my page template that must be accessible throughout the entire application.
    The application will have hundreds of pages, so it would be pretty boring if we have to redefine the iterator & vo in every single page def.

    Is there a way to tie the tree to the definition of the model of the page? Or maybe to other pages inherit def of the template?

    Thanks in advance,

    Charles.

    Charles,

    Enjoy the Fusion developer's Guide (I assume you are using 11g).

    18.2.1 article talks about how to use data links in a page template.

    John

  • How to refresh the arraylist on MAF UI

    Hello

    I'm developing an application of MAF with Jdev 12.1.3.0.0.

    I have a listView on my page of amx. This is value bound to an arraylist (ArrayList < String >) in the bean support. There is an event of action on the page, which adds items to the ArrayList instance.

    My problem is, I'm not able to update the display of the list on my user interface.

    Newspapers, I am able to see the event method called as well as a list of Board action is changed.

    But that updated the arraylist reflects not on my user interface.

    Here is my code snippets:

    ---------------------------

    the amx page:

    < amx:listView var = value ' row' = "#{TripsBacking.refreshtimelist}" showMoreStrategy = 'autoScroll' bufferStrategy "viewport" id = "listView1" = > "

    < amx:listItem id = "SDp" showLinkIcon = "false" >

    < amx:outputText value = "#{line}" id = "ot1" / >

    < amx:actionListener id = binding = "#{TripsBacking.pullToRefresh"al1"}" type = "swipeDown" / > "

    < / amx:listItem >

    < / amx:listView >

    ---------------------------

    Backing bean:

    public class TripsBacking {}

    ArrayList < String > refreshtimelist;

    Transitional public PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport (this);

    Transitional public ProviderChangeSupport providerChangeSupport = new ProviderChangeSupport (this);

    {} public void setRefreshtimelist (ArrayList < String > refreshtimelist)

    ArrayList < String > old_value = this.refreshtimelist;

    This.refreshtimelist = refreshtimelist;

    propertyChangeSupport.firePropertyChange (old_value, "refreshtimelist", refreshtimelist);

    providerChangeSupport.fireProviderRefresh ("refreshtimelist");

    }

    public ArrayList < String > getRefreshtimelist() {}

    Return refreshtimelist;

    }

    public TripsBacking() {}

    refreshtimelist = new ArrayList < String > ();

    refreshtimelist. Add (Calendar.GetInstance () .getTime (). ToString());

    }

    {} public void pullToRefresh (ActionEvent actionEvent)

    Calendar c = Calendar.GetInstance ();

    Date d = c.getTime ();

    ArrayList < String > templist = getRefreshtimelist ();

    System.out.println ("date:" + d);

    templist. Add (d.ToString ());

    setRefreshtimelist (templist);

    }

    {} public void addPropertyChangeListener (PropertyChangeListener l)

    propertyChangeSupport.addPropertyChangeListener (l);

    }

    {} public void removePropertyChangeListener (PropertyChangeListener l)

    propertyChangeSupport.removePropertyChangeListener (l);

    }

    }

    ------------------------------

    I will surely provide more information if necessary.

    Ask for your help to solve this problem. Thank you.

    Thank you

    Tejas desrousseaux

    Hi Tejas,

    you declare a variable of providerChangeSupport, but you need to add public methods to support:

        public void addProviderChangeListener(ProviderChangeListener l) {
            providerChangeSupport.addProviderChangeListener(l);
        }
    
        public void removeProviderChangeListener(ProviderChangeListener l) {
            providerChangeSupport.removeProviderChangeListener(l);
        }
    

    You must move the providerChangeSupport.fireProviderRefresh ("refreshtimelist"); calling the method "pullToRefresh" (after the call to the set method).

    If you trigger the refresh, the entire list is reloaded. If you want to refresh only new posts, you must use the method providerChangeSupport.fireProviderCreate (Oracle Fusion Middleware Java QAnywhere for Oracle Mobile Application Framework).

Maybe you are looking for